diff --git a/.github/workflows/time-blocker.yml b/.github/workflows/time-blocker.yml deleted file mode 100644 index 337795520b8..00000000000 --- a/.github/workflows/time-blocker.yml +++ /dev/null @@ -1,16 +0,0 @@ -name: Block Merge During Daily Release -on: - pull_request: - branches: [ main ] - merge_group: - branches: [ main ] -jobs: - block: - runs-on: ubuntu-latest - steps: - - uses: yykamei/block-merge-based-on-time@v2.1.37 - with: - timezone: "UTC" - after: 18:00 - before: 20:00 - base-branches: "main" diff --git a/CMakeLists.txt b/CMakeLists.txt index e7ae9fa86c9..610bed7e403 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -67,6 +67,7 @@ if (LEGACY_BUILD) option(USE_TLS_V1_2 "Set http client to enforce TLS 1.2" ON) option(USE_TLS_V1_3 "Set http client to enforce TLS 1.3" OFF) option(ENABLE_SMOKE_TESTS "Enable smoke tests" OFF) + option(ENABLE_PROTOCOL_TESTS "Enable protocol tests" OFF) option(DISABLE_DNS_REQUIRED_TESTS "Disable unit tests that require DNS lookup to succeed, useful when using a http client that does not perform DNS lookup" OFF) @@ -267,7 +268,6 @@ if (LEGACY_BUILD) set_msvc_warnings() include(sdks) - include(utilities) if (ENABLE_OPENSSL_ENCRYPTION) @@ -338,6 +338,7 @@ if (LEGACY_BUILD) add_definitions("-DAWS_TEST_REGION=${AWS_TEST_REGION}") add_sdks() + include(tests) # for user friendly cmake usage include(setup_cmake_find_module) diff --git a/VERSION b/VERSION index 03b7e37e5ad..d3fe88ad81b 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.11.491 \ No newline at end of file +1.11.496 \ No newline at end of file diff --git a/cmake/tests.cmake b/cmake/tests.cmake new file mode 100644 index 00000000000..d66f5f6316a --- /dev/null +++ b/cmake/tests.cmake @@ -0,0 +1,35 @@ +# Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. +# SPDX-License-Identifier: Apache-2.0. +# + +function(add_protocol_tests) + set(PROTOCOL_TESTS_LOG "") + # Add test clients, which are just like a regular SDK client, but must not be installed. + file(GLOB subdirs LIST_DIRECTORIES true "${CMAKE_SOURCE_DIR}/generated/protocol-tests/test-clients/*") + foreach(subdir ${subdirs}) + if(EXISTS "${subdir}/CMakeLists.txt") + add_subdirectory(${subdir} EXCLUDE_FROM_ALL) + endif() + endforeach() + + # Add tests + file(GLOB protoTestTypes LIST_DIRECTORIES true "${CMAKE_SOURCE_DIR}/generated/protocol-tests/tests/*") + foreach(protoTestType ${protoTestTypes}) + file(GLOB subdirs LIST_DIRECTORIES true ${protoTestType}/*) + foreach(subdir ${subdirs}) + if(EXISTS "${subdir}/CMakeLists.txt") + add_subdirectory(${subdir}) + + get_filename_component(testGroup ${protoTestType} NAME) + get_filename_component(testName ${subdir} NAME) + list(APPEND PROTOCOL_TESTS_LOG "${testGroup}/${testName}") + endif() + endforeach() + endforeach() + + message(STATUS "Protocol tests: ${PROTOCOL_TESTS_LOG}") +endfunction() + +if (ENABLE_PROTOCOL_TESTS) + add_protocol_tests() +endif () \ No newline at end of file diff --git a/docs/MD5ChecksumFallback.md b/docs/MD5ChecksumFallback.md new file mode 100644 index 00000000000..c732c7c8598 --- /dev/null +++ b/docs/MD5ChecksumFallback.md @@ -0,0 +1,198 @@ +# MD5 Checksum Fallback for the AWS C++ SDK + +Recently the SDKs shipped a feature in the SDK that [changed default object integrity](https://github.com/aws/aws-sdk-cpp/discussions/3252) in S3. What this more or less boils down to is that [S3 supports several different wire checksums](https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html) and we now default to use `CRC64-NVME` to ensure object integrity. Previously we used `MD5 `checksums to ensure object integrity. Some 3rd party S3 compatible services currently do not support this and need time to catch up, or alternatively will not support this. If you wish to fallback to the old behavior of sending MD5 checksums there are three different scenarios that will have have to cover + +## An API that has checksum when supported and you wish to send no checksum at all with the request + +Some APIs like [Put Object](https://github.com/aws/aws-sdk-cpp/blob/main/tools/code-generation/api-descriptions/s3-2006-03-01.normal.json#L1286) are marked as `"requestChecksumRequired":false` which means that a checksum is not required for this endpoint but the SDK will send a CRC64-NVME checksum by default as it is supported. On operations like this you can completely disable checksums. + +```c++ +#include +#include +#include + +using namespace Aws; +using namespace Aws::S3; +using namespace Aws::S3::Model; + +namespace { + constexpr const char* LOG_TAG = "TestApplication"; + constexpr const char* BUCKET_NAME = "BUCKET_NAME"; + constexpr const char* KEY = "OBJECT_KEY"; +} + +auto main() -> int { + SDKOptions options; + options.loggingOptions.logLevel = Aws::Utils::Logging::LogLevel::Debug; + InitAPI(options); + { + S3ClientConfiguration configuration; + configuration.checksumConfig.requestChecksumCalculation = + Client::RequestChecksumCalculation::WHEN_REQUIRED; + S3Client client{configuration}; + auto request = PutObjectRequest().WithBucket(BUCKET_NAME).WithKey(KEY); + request.SetBody(body); + std::shared_ptr body = Aws::MakeShared(LOG_TAG, + "sample text stream"); + const auto response = client.PutObject(request); + assert(response.IsSuccess()); + } + ShutdownAPI(options); + return 0; +} +``` + +the resulting wire log will look something like + +```log +[DEBUG] 2025-01-29 16:11:11.280 CURL [0x2067ccf80] (HeaderOut) PUT /YOUR_KEY HTTP/1.1 +Host: YOUR_BUCKET.s3.us-east-1.amazonaws.com +Accept: */* +amz-sdk-invocation-id: invocation_uuid +amz-sdk-request: attempt=1 +authorization: your_signature +content-length: 18 +content-type: binary/octet-stream +user-agent:your user agent +x-amz-content-sha256: content_sha +x-amz-date: data +x-amz-security-token: security_token +``` + +Which will have no headers associated with checksums or any checksumming related information. This is not recommended because there is no object integrity checks, and data could be corrupted on the wire. + +## An API that has checksum when supported and you wish to send a MD5 but NOT a CRC64 checksum + +This is same scenario as the first case but instead of sending no checksum, we will be sending a content MD5 header alongside the request for object validation. This is the default behavior before the object integrity change. + +```c++ +#include +#include +#include +#include + +using namespace Aws; +using namespace Aws::Utils; +using namespace Aws::S3; +using namespace Aws::S3::Model; + +namespace { + constexpr const char* LOG_TAG = "TestApplication"; + constexpr const char* BUCKET_NAME = "BUCKET_NAME"; + constexpr const char* KEY = "OBJECT_KEY"; + constexpr const char* CONTENT_MD5_HEADER = "content-md5"; +} + +auto main() -> int { + SDKOptions options; + options.loggingOptions.logLevel = Logging::LogLevel::Debug; + InitAPI(options); + { + S3ClientConfiguration configuration; + configuration.checksumConfig.requestChecksumCalculation = + Client::RequestChecksumCalculation::WHEN_REQUIRED; + S3Client client{configuration}; + auto request = PutObjectRequest().WithBucket(BUCKET_NAME).WithKey(KEY); + std::shared_ptr body = Aws::MakeShared(LOG_TAG, + "sample text stream"); + request.SetAdditionalCustomHeaderValue(CONTENT_MD5_HEADER, + HashingUtils::Base64Encode(HashingUtils::CalculateMD5(*body))); + request.SetBody(body); + const auto response = client.PutObject(request); + assert(response.IsSuccess()); + } + ShutdownAPI(options); + return 0; +} +``` + +this will result in a log that looks like + +```log +DEBUG] 2025-01-29 16:31:01.666 CURL [0x2067ccf80] (HeaderOut) PUT /YOUR_KEY HTTP/1.1 +Host: YOUR_BUCKET.s3.us-east-1.amazonaws.com +Accept: */* +amz-sdk-invocation-id: invocation_uuid +amz-sdk-request: attempt=1 +authorization: your_signature +content-length: 18 +content-md5: rXaQ1aPgNd9/GVs6Fl3zuA== +content-type: binary/octet-stream +user-agent:your_user_agent +x-amz-content-sha256: content_sha +x-amz-date: data +x-amz-security-token: security_token +``` + +Which will include a MD5 header alongside your request for object integrity. This preserves backwards compatibility. + +## An API that has checksum when required and you wish to send a MD5 but NOT a CRC64 checksum + +Some APIs require checksums on requests, like [DeleteObjects](https://github.com/aws/aws-sdk-cpp/blob/main/tools/code-generation/api-descriptions/s3-2006-03-01.normal.json#L350). These APIs require a checksum to be sent alongside the api request. By default the SDK will send CRC64-NVME by default. To revert to the old behavior of only sending the MD5 header this will require overriding the method on the parent request to opt out of this. + +```c++ +#include +#include +#include +#include + +using namespace Aws; +using namespace Aws::Utils; +using namespace Aws::S3; +using namespace Aws::S3::Model; + +namespace { + constexpr const char* BUCKET_NAME = "BUCKET_NAME"; + constexpr const char* KEY = "OBJECT_KEY"; + constexpr const char* CONTENT_MD5_HEADER = "content-md5"; +} + +struct ChecksumOptOutDeleteObjects : public DeleteObjectsRequest { + inline bool RequestChecksumRequired() const override { + return false; + }; +}; + +auto main() -> int { + SDKOptions options; + options.loggingOptions.logLevel = Logging::LogLevel::Debug; + InitAPI(options); + { + S3ClientConfiguration configuration; + configuration.checksumConfig.requestChecksumCalculation = + Client::RequestChecksumCalculation::WHEN_REQUIRED; + S3Client client{configuration}; + auto request = ChecksumOptOutDeleteObjects(); + request.SetBucket(BUCKET_NAME); + request.SetDelete(S3::Model::Delete().WithObjects({ObjectIdentifier() + .WithKey(KEY)})); + auto payload = request.SerializePayload(); + request.SetAdditionalCustomHeaderValue(CONTENT_MD5_HEADER, + HashingUtils::Base64Encode(HashingUtils::CalculateMD5(payload))); + const auto response = client.DeleteObjects(request); + assert(response.IsSuccess()); + } + ShutdownAPI(options); + return 0; +} +``` + +This will override the need for the SDK to calculate a required checksum, allowing to skip the required checksum, and you can manually add a MD5 header for the serialized payload. + +The log should look something like + +```log +[DEBUG] 2025-01-29 18:07:08.164 CURL [0x2067ccf80] (HeaderOut) POST /?delete HTTP/1.1 +Host: YOUR_BUCKET.s3.us-east-1.amazonaws.com +Accept: */* +amz-sdk-invocation-id: invocation_uuid +amz-sdk-request: attempt=1 +authorization: your_signature +content-length: 144 +content-md5: kJL3pJJmVThrDq352SNTrw== +content-type: application/xml +user-agent: aws-sdk-cpp/1.11.493 ua/2.1 api/S3 os/Darwin#23.6.0 lang/c++#C++11 md/aws-crt#0.19.7 md/arch#arm64 md/Clang#15.0.0 m/Duser-agent:your user agent +x-amz-content-sha256: content_sha +x-amz-date: date +x-amz-security-token: security_token +``` diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/CMakeLists.txt b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/CMakeLists.txt new file mode 100644 index 00000000000..438df2f333f --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/CMakeLists.txt @@ -0,0 +1,76 @@ +add_project(aws-cpp-sdk-ec2-protocol "C++ SDK for the AWS ec2-protocol service" aws-cpp-sdk-core) + +file(GLOB AWS_EC2-PROTOCOL_HEADERS + "include/aws/ec2-protocol/*.h" +) + +file(GLOB AWS_EC2-PROTOCOL_MODEL_HEADERS + "include/aws/ec2-protocol/model/*.h" +) + +file(GLOB AWS_EC2-PROTOCOL_SOURCE + "source/*.cpp" +) + +file(GLOB AWS_EC2-PROTOCOL_MODEL_SOURCE + "source/model/*.cpp" +) + +file(GLOB EC2-PROTOCOL_UNIFIED_HEADERS + ${AWS_EC2-PROTOCOL_HEADERS} + ${AWS_EC2-PROTOCOL_MODEL_HEADERS} +) + +file(GLOB EC2-PROTOCOL_UNITY_SRC + ${AWS_EC2-PROTOCOL_SOURCE} + ${AWS_EC2-PROTOCOL_MODEL_SOURCE} +) + +if(ENABLE_UNITY_BUILD) + enable_unity_build("EC2-PROTOCOL" EC2-PROTOCOL_UNITY_SRC) +endif() + +file(GLOB EC2-PROTOCOL_SRC + ${EC2-PROTOCOL_UNIFIED_HEADERS} + ${EC2-PROTOCOL_UNITY_SRC} +) + +if(WIN32) + #if we are compiling for visual studio, create a sane directory tree. + if(MSVC) + source_group("Header Files\\aws\\ec2-protocol" FILES ${AWS_EC2-PROTOCOL_HEADERS}) + source_group("Header Files\\aws\\ec2-protocol\\model" FILES ${AWS_EC2-PROTOCOL_MODEL_HEADERS}) + source_group("Source Files" FILES ${AWS_EC2-PROTOCOL_SOURCE}) + source_group("Source Files\\model" FILES ${AWS_EC2-PROTOCOL_MODEL_SOURCE}) + endif(MSVC) +endif() + +set(EC2-PROTOCOL_INCLUDES + "${CMAKE_CURRENT_SOURCE_DIR}/include/" +) + +add_library(${PROJECT_NAME} ${EC2-PROTOCOL_SRC}) +add_library(AWS::${PROJECT_NAME} ALIAS ${PROJECT_NAME}) + +set_compiler_flags(${PROJECT_NAME}) +set_compiler_warnings(${PROJECT_NAME}) + +if(USE_WINDOWS_DLL_SEMANTICS AND BUILD_SHARED_LIBS) + target_compile_definitions(${PROJECT_NAME} PRIVATE "AWS_EC2PROTOCOL_EXPORTS") +endif() + +target_include_directories(${PROJECT_NAME} PUBLIC + $ + $) + +target_link_libraries(${PROJECT_NAME} PRIVATE ${PLATFORM_DEP_LIBS} ${PROJECT_LIBS}) + + +setup_install() + +install (FILES ${AWS_EC2-PROTOCOL_HEADERS} DESTINATION ${INCLUDE_DIRECTORY}/aws/ec2-protocol) +install (FILES ${AWS_EC2-PROTOCOL_MODEL_HEADERS} DESTINATION ${INCLUDE_DIRECTORY}/aws/ec2-protocol/model) + +do_packaging() + + diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/EC2ProtocolClient.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/EC2ProtocolClient.h new file mode 100644 index 00000000000..5efc946a51b --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/EC2ProtocolClient.h @@ -0,0 +1,720 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace EC2Protocol +{ + /** + *

An EC2 query service that sends query requests and XML responses.

+ */ + class AWS_EC2PROTOCOL_API EC2ProtocolClient : public Aws::Client::AWSXMLClient, public Aws::Client::ClientWithAsyncTemplateMethods + { + public: + typedef Aws::Client::AWSXMLClient BASECLASS; + static const char* GetServiceName(); + static const char* GetAllocationTag(); + + typedef EC2ProtocolClientConfiguration ClientConfigurationType; + typedef EC2ProtocolEndpointProvider EndpointProviderType; + + /** + * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client config + * is not specified, it will be initialized to default values. + */ + EC2ProtocolClient(const Aws::EC2Protocol::EC2ProtocolClientConfiguration& clientConfiguration = Aws::EC2Protocol::EC2ProtocolClientConfiguration(), + std::shared_ptr endpointProvider = nullptr); + + /** + * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config + * is not specified, it will be initialized to default values. + */ + EC2ProtocolClient(const Aws::Auth::AWSCredentials& credentials, + std::shared_ptr endpointProvider = nullptr, + const Aws::EC2Protocol::EC2ProtocolClientConfiguration& clientConfiguration = Aws::EC2Protocol::EC2ProtocolClientConfiguration()); + + /** + * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, + * the default http client factory will be used + */ + EC2ProtocolClient(const std::shared_ptr& credentialsProvider, + std::shared_ptr endpointProvider = nullptr, + const Aws::EC2Protocol::EC2ProtocolClientConfiguration& clientConfiguration = Aws::EC2Protocol::EC2ProtocolClientConfiguration()); + + + /* Legacy constructors due deprecation */ + /** + * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client config + * is not specified, it will be initialized to default values. + */ + EC2ProtocolClient(const Aws::Client::ClientConfiguration& clientConfiguration); + + /** + * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config + * is not specified, it will be initialized to default values. + */ + EC2ProtocolClient(const Aws::Auth::AWSCredentials& credentials, + const Aws::Client::ClientConfiguration& clientConfiguration); + + /** + * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, + * the default http client factory will be used + */ + EC2ProtocolClient(const std::shared_ptr& credentialsProvider, + const Aws::Client::ClientConfiguration& clientConfiguration); + + /* End of legacy constructors due deprecation */ + virtual ~EC2ProtocolClient(); + + + /** + * + */ + virtual Model::DatetimeOffsetsOutcome DatetimeOffsets(const Model::DatetimeOffsetsRequest& request = {}) const; + + /** + * A Callable wrapper for DatetimeOffsets that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::DatetimeOffsetsOutcomeCallable DatetimeOffsetsCallable(const DatetimeOffsetsRequestT& request = {}) const + { + return SubmitCallable(&EC2ProtocolClient::DatetimeOffsets, request); + } + + /** + * An Async wrapper for DatetimeOffsets that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void DatetimeOffsetsAsync(const DatetimeOffsetsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const DatetimeOffsetsRequestT& request = {}) const + { + return SubmitAsync(&EC2ProtocolClient::DatetimeOffsets, request, handler, context); + } + + /** + *

The example tests how requests and responses are serialized when there's no + * request or response members.

While this should be rare, code generators + * must support this.

See Also:

AWS + * API Reference

+ */ + virtual Model::EmptyInputAndEmptyOutputOutcome EmptyInputAndEmptyOutput(const Model::EmptyInputAndEmptyOutputRequest& request = {}) const; + + /** + * A Callable wrapper for EmptyInputAndEmptyOutput that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::EmptyInputAndEmptyOutputOutcomeCallable EmptyInputAndEmptyOutputCallable(const EmptyInputAndEmptyOutputRequestT& request = {}) const + { + return SubmitCallable(&EC2ProtocolClient::EmptyInputAndEmptyOutput, request); + } + + /** + * An Async wrapper for EmptyInputAndEmptyOutput that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void EmptyInputAndEmptyOutputAsync(const EmptyInputAndEmptyOutputResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const EmptyInputAndEmptyOutputRequestT& request = {}) const + { + return SubmitAsync(&EC2ProtocolClient::EmptyInputAndEmptyOutput, request, handler, context); + } + + /** + * + */ + virtual Model::EndpointOperationOutcome EndpointOperation(const Model::EndpointOperationRequest& request = {}) const; + + /** + * A Callable wrapper for EndpointOperation that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::EndpointOperationOutcomeCallable EndpointOperationCallable(const EndpointOperationRequestT& request = {}) const + { + return SubmitCallable(&EC2ProtocolClient::EndpointOperation, request); + } + + /** + * An Async wrapper for EndpointOperation that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void EndpointOperationAsync(const EndpointOperationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const EndpointOperationRequestT& request = {}) const + { + return SubmitAsync(&EC2ProtocolClient::EndpointOperation, request, handler, context); + } + + /** + * + */ + virtual Model::EndpointWithHostLabelOperationOutcome EndpointWithHostLabelOperation(const Model::EndpointWithHostLabelOperationRequest& request) const; + + /** + * A Callable wrapper for EndpointWithHostLabelOperation that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::EndpointWithHostLabelOperationOutcomeCallable EndpointWithHostLabelOperationCallable(const EndpointWithHostLabelOperationRequestT& request) const + { + return SubmitCallable(&EC2ProtocolClient::EndpointWithHostLabelOperation, request); + } + + /** + * An Async wrapper for EndpointWithHostLabelOperation that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void EndpointWithHostLabelOperationAsync(const EndpointWithHostLabelOperationRequestT& request, const EndpointWithHostLabelOperationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&EC2ProtocolClient::EndpointWithHostLabelOperation, request, handler, context); + } + + /** + * + */ + virtual Model::FractionalSecondsOutcome FractionalSeconds(const Model::FractionalSecondsRequest& request = {}) const; + + /** + * A Callable wrapper for FractionalSeconds that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::FractionalSecondsOutcomeCallable FractionalSecondsCallable(const FractionalSecondsRequestT& request = {}) const + { + return SubmitCallable(&EC2ProtocolClient::FractionalSeconds, request); + } + + /** + * An Async wrapper for FractionalSeconds that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void FractionalSecondsAsync(const FractionalSecondsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const FractionalSecondsRequestT& request = {}) const + { + return SubmitAsync(&EC2ProtocolClient::FractionalSeconds, request, handler, context); + } + + /** + *

This operation has three possible return values:

  1. A successful + * response in the form of GreetingWithErrorsOutput
  2. An InvalidGreeting + * error.
  3. A BadRequest error.

See Also:

AWS + * API Reference

+ */ + virtual Model::GreetingWithErrorsOutcome GreetingWithErrors(const Model::GreetingWithErrorsRequest& request = {}) const; + + /** + * A Callable wrapper for GreetingWithErrors that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::GreetingWithErrorsOutcomeCallable GreetingWithErrorsCallable(const GreetingWithErrorsRequestT& request = {}) const + { + return SubmitCallable(&EC2ProtocolClient::GreetingWithErrors, request); + } + + /** + * An Async wrapper for GreetingWithErrors that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void GreetingWithErrorsAsync(const GreetingWithErrorsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const GreetingWithErrorsRequestT& request = {}) const + { + return SubmitAsync(&EC2ProtocolClient::GreetingWithErrors, request, handler, context); + } + + /** + * + */ + virtual Model::HostWithPathOperationOutcome HostWithPathOperation(const Model::HostWithPathOperationRequest& request = {}) const; + + /** + * A Callable wrapper for HostWithPathOperation that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::HostWithPathOperationOutcomeCallable HostWithPathOperationCallable(const HostWithPathOperationRequestT& request = {}) const + { + return SubmitCallable(&EC2ProtocolClient::HostWithPathOperation, request); + } + + /** + * An Async wrapper for HostWithPathOperation that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void HostWithPathOperationAsync(const HostWithPathOperationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const HostWithPathOperationRequestT& request = {}) const + { + return SubmitAsync(&EC2ProtocolClient::HostWithPathOperation, request, handler, context); + } + + /** + *

The xmlName trait on the output structure is ignored in AWS Query.

The + * wrapping element is always operation name + "Response".

See + * Also:

AWS + * API Reference

+ */ + virtual Model::IgnoresWrappingXmlNameOutcome IgnoresWrappingXmlName(const Model::IgnoresWrappingXmlNameRequest& request = {}) const; + + /** + * A Callable wrapper for IgnoresWrappingXmlName that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::IgnoresWrappingXmlNameOutcomeCallable IgnoresWrappingXmlNameCallable(const IgnoresWrappingXmlNameRequestT& request = {}) const + { + return SubmitCallable(&EC2ProtocolClient::IgnoresWrappingXmlName, request); + } + + /** + * An Async wrapper for IgnoresWrappingXmlName that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void IgnoresWrappingXmlNameAsync(const IgnoresWrappingXmlNameResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const IgnoresWrappingXmlNameRequestT& request = {}) const + { + return SubmitAsync(&EC2ProtocolClient::IgnoresWrappingXmlName, request, handler, context); + } + + /** + *

This test serializes nested and recursive structure members.

See + * Also:

AWS + * API Reference

+ */ + virtual Model::NestedStructuresOutcome NestedStructures(const Model::NestedStructuresRequest& request = {}) const; + + /** + * A Callable wrapper for NestedStructures that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::NestedStructuresOutcomeCallable NestedStructuresCallable(const NestedStructuresRequestT& request = {}) const + { + return SubmitCallable(&EC2ProtocolClient::NestedStructures, request); + } + + /** + * An Async wrapper for NestedStructures that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void NestedStructuresAsync(const NestedStructuresResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const NestedStructuresRequestT& request = {}) const + { + return SubmitAsync(&EC2ProtocolClient::NestedStructures, request, handler, context); + } + + /** + *

The example tests how requests and responses are serialized when there's no + * request payload or response members.

While this should be rare, code + * generators must support this.

See Also:

AWS + * API Reference

+ */ + virtual Model::NoInputAndOutputOutcome NoInputAndOutput(const Model::NoInputAndOutputRequest& request = {}) const; + + /** + * A Callable wrapper for NoInputAndOutput that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::NoInputAndOutputOutcomeCallable NoInputAndOutputCallable(const NoInputAndOutputRequestT& request = {}) const + { + return SubmitCallable(&EC2ProtocolClient::NoInputAndOutput, request); + } + + /** + * An Async wrapper for NoInputAndOutput that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void NoInputAndOutputAsync(const NoInputAndOutputResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const NoInputAndOutputRequestT& request = {}) const + { + return SubmitAsync(&EC2ProtocolClient::NoInputAndOutput, request, handler, context); + } + + /** + * + */ + virtual Model::PutWithContentEncodingOutcome PutWithContentEncoding(const Model::PutWithContentEncodingRequest& request = {}) const; + + /** + * A Callable wrapper for PutWithContentEncoding that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::PutWithContentEncodingOutcomeCallable PutWithContentEncodingCallable(const PutWithContentEncodingRequestT& request = {}) const + { + return SubmitCallable(&EC2ProtocolClient::PutWithContentEncoding, request); + } + + /** + * An Async wrapper for PutWithContentEncoding that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void PutWithContentEncodingAsync(const PutWithContentEncodingResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const PutWithContentEncodingRequestT& request = {}) const + { + return SubmitAsync(&EC2ProtocolClient::PutWithContentEncoding, request, handler, context); + } + + /** + *

Automatically adds idempotency tokens.

See Also:

AWS + * API Reference

+ */ + virtual Model::QueryIdempotencyTokenAutoFillOutcome QueryIdempotencyTokenAutoFill(const Model::QueryIdempotencyTokenAutoFillRequest& request = {}) const; + + /** + * A Callable wrapper for QueryIdempotencyTokenAutoFill that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::QueryIdempotencyTokenAutoFillOutcomeCallable QueryIdempotencyTokenAutoFillCallable(const QueryIdempotencyTokenAutoFillRequestT& request = {}) const + { + return SubmitCallable(&EC2ProtocolClient::QueryIdempotencyTokenAutoFill, request); + } + + /** + * An Async wrapper for QueryIdempotencyTokenAutoFill that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void QueryIdempotencyTokenAutoFillAsync(const QueryIdempotencyTokenAutoFillResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const QueryIdempotencyTokenAutoFillRequestT& request = {}) const + { + return SubmitAsync(&EC2ProtocolClient::QueryIdempotencyTokenAutoFill, request, handler, context); + } + + /** + *

This test serializes simple and complex lists.

See Also:

AWS + * API Reference

+ */ + virtual Model::QueryListsOutcome QueryLists(const Model::QueryListsRequest& request = {}) const; + + /** + * A Callable wrapper for QueryLists that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::QueryListsOutcomeCallable QueryListsCallable(const QueryListsRequestT& request = {}) const + { + return SubmitCallable(&EC2ProtocolClient::QueryLists, request); + } + + /** + * An Async wrapper for QueryLists that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void QueryListsAsync(const QueryListsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const QueryListsRequestT& request = {}) const + { + return SubmitAsync(&EC2ProtocolClient::QueryLists, request, handler, context); + } + + /** + *

This test serializes timestamps.

  1. Timestamps are serialized as + * RFC 3339 date-time values by default.
  2. A timestampFormat trait on a + * member changes the format.
  3. A timestampFormat trait on the shape + * targeted by the member changes the format.

See Also:

AWS + * API Reference

+ */ + virtual Model::QueryTimestampsOutcome QueryTimestamps(const Model::QueryTimestampsRequest& request = {}) const; + + /** + * A Callable wrapper for QueryTimestamps that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::QueryTimestampsOutcomeCallable QueryTimestampsCallable(const QueryTimestampsRequestT& request = {}) const + { + return SubmitCallable(&EC2ProtocolClient::QueryTimestamps, request); + } + + /** + * An Async wrapper for QueryTimestamps that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void QueryTimestampsAsync(const QueryTimestampsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const QueryTimestampsRequestT& request = {}) const + { + return SubmitAsync(&EC2ProtocolClient::QueryTimestamps, request, handler, context); + } + + /** + *

Recursive shapes

See Also:

AWS + * API Reference

+ */ + virtual Model::RecursiveXmlShapesOutcome RecursiveXmlShapes(const Model::RecursiveXmlShapesRequest& request = {}) const; + + /** + * A Callable wrapper for RecursiveXmlShapes that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::RecursiveXmlShapesOutcomeCallable RecursiveXmlShapesCallable(const RecursiveXmlShapesRequestT& request = {}) const + { + return SubmitCallable(&EC2ProtocolClient::RecursiveXmlShapes, request); + } + + /** + * An Async wrapper for RecursiveXmlShapes that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void RecursiveXmlShapesAsync(const RecursiveXmlShapesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const RecursiveXmlShapesRequestT& request = {}) const + { + return SubmitAsync(&EC2ProtocolClient::RecursiveXmlShapes, request, handler, context); + } + + /** + *

This test serializes strings, numbers, and boolean values.

See + * Also:

AWS + * API Reference

+ */ + virtual Model::SimpleInputParamsOutcome SimpleInputParams(const Model::SimpleInputParamsRequest& request = {}) const; + + /** + * A Callable wrapper for SimpleInputParams that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::SimpleInputParamsOutcomeCallable SimpleInputParamsCallable(const SimpleInputParamsRequestT& request = {}) const + { + return SubmitCallable(&EC2ProtocolClient::SimpleInputParams, request); + } + + /** + * An Async wrapper for SimpleInputParams that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void SimpleInputParamsAsync(const SimpleInputParamsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const SimpleInputParamsRequestT& request = {}) const + { + return SubmitAsync(&EC2ProtocolClient::SimpleInputParams, request, handler, context); + } + + /** + * + */ + virtual Model::SimpleScalarXmlPropertiesOutcome SimpleScalarXmlProperties(const Model::SimpleScalarXmlPropertiesRequest& request = {}) const; + + /** + * A Callable wrapper for SimpleScalarXmlProperties that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::SimpleScalarXmlPropertiesOutcomeCallable SimpleScalarXmlPropertiesCallable(const SimpleScalarXmlPropertiesRequestT& request = {}) const + { + return SubmitCallable(&EC2ProtocolClient::SimpleScalarXmlProperties, request); + } + + /** + * An Async wrapper for SimpleScalarXmlProperties that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void SimpleScalarXmlPropertiesAsync(const SimpleScalarXmlPropertiesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const SimpleScalarXmlPropertiesRequestT& request = {}) const + { + return SubmitAsync(&EC2ProtocolClient::SimpleScalarXmlProperties, request, handler, context); + } + + /** + *

Blobs are base64 encoded

See Also:

AWS + * API Reference

+ */ + virtual Model::XmlBlobsOutcome XmlBlobs(const Model::XmlBlobsRequest& request = {}) const; + + /** + * A Callable wrapper for XmlBlobs that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::XmlBlobsOutcomeCallable XmlBlobsCallable(const XmlBlobsRequestT& request = {}) const + { + return SubmitCallable(&EC2ProtocolClient::XmlBlobs, request); + } + + /** + * An Async wrapper for XmlBlobs that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void XmlBlobsAsync(const XmlBlobsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const XmlBlobsRequestT& request = {}) const + { + return SubmitAsync(&EC2ProtocolClient::XmlBlobs, request, handler, context); + } + + /** + * + */ + virtual Model::XmlEmptyBlobsOutcome XmlEmptyBlobs(const Model::XmlEmptyBlobsRequest& request = {}) const; + + /** + * A Callable wrapper for XmlEmptyBlobs that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::XmlEmptyBlobsOutcomeCallable XmlEmptyBlobsCallable(const XmlEmptyBlobsRequestT& request = {}) const + { + return SubmitCallable(&EC2ProtocolClient::XmlEmptyBlobs, request); + } + + /** + * An Async wrapper for XmlEmptyBlobs that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void XmlEmptyBlobsAsync(const XmlEmptyBlobsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const XmlEmptyBlobsRequestT& request = {}) const + { + return SubmitAsync(&EC2ProtocolClient::XmlEmptyBlobs, request, handler, context); + } + + /** + * + */ + virtual Model::XmlEmptyListsOutcome XmlEmptyLists(const Model::XmlEmptyListsRequest& request = {}) const; + + /** + * A Callable wrapper for XmlEmptyLists that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::XmlEmptyListsOutcomeCallable XmlEmptyListsCallable(const XmlEmptyListsRequestT& request = {}) const + { + return SubmitCallable(&EC2ProtocolClient::XmlEmptyLists, request); + } + + /** + * An Async wrapper for XmlEmptyLists that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void XmlEmptyListsAsync(const XmlEmptyListsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const XmlEmptyListsRequestT& request = {}) const + { + return SubmitAsync(&EC2ProtocolClient::XmlEmptyLists, request, handler, context); + } + + /** + *

This example serializes enums as top level properties, in lists, sets, and + * maps.

See Also:

AWS + * API Reference

+ */ + virtual Model::XmlEnumsOutcome XmlEnums(const Model::XmlEnumsRequest& request = {}) const; + + /** + * A Callable wrapper for XmlEnums that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::XmlEnumsOutcomeCallable XmlEnumsCallable(const XmlEnumsRequestT& request = {}) const + { + return SubmitCallable(&EC2ProtocolClient::XmlEnums, request); + } + + /** + * An Async wrapper for XmlEnums that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void XmlEnumsAsync(const XmlEnumsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const XmlEnumsRequestT& request = {}) const + { + return SubmitAsync(&EC2ProtocolClient::XmlEnums, request, handler, context); + } + + /** + *

This example serializes intEnums as top level properties, in lists, sets, and + * maps.

See Also:

AWS + * API Reference

+ */ + virtual Model::XmlIntEnumsOutcome XmlIntEnums(const Model::XmlIntEnumsRequest& request = {}) const; + + /** + * A Callable wrapper for XmlIntEnums that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::XmlIntEnumsOutcomeCallable XmlIntEnumsCallable(const XmlIntEnumsRequestT& request = {}) const + { + return SubmitCallable(&EC2ProtocolClient::XmlIntEnums, request); + } + + /** + * An Async wrapper for XmlIntEnums that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void XmlIntEnumsAsync(const XmlIntEnumsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const XmlIntEnumsRequestT& request = {}) const + { + return SubmitAsync(&EC2ProtocolClient::XmlIntEnums, request, handler, context); + } + + /** + *

This test case serializes XML lists for the following cases for both input + * and output:

  1. Normal XML lists.
  2. Normal XML sets.
  3. + *
  4. XML lists of lists.
  5. XML lists with @xmlName on its members
  6. + *
  7. Flattened XML lists.
  8. Flattened XML lists with @xmlName.
  9. + *
  10. Flattened XML lists with @xmlNamespace.
  11. Lists of structures.
  12. + *

See Also:

AWS + * API Reference

+ */ + virtual Model::XmlListsOutcome XmlLists(const Model::XmlListsRequest& request = {}) const; + + /** + * A Callable wrapper for XmlLists that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::XmlListsOutcomeCallable XmlListsCallable(const XmlListsRequestT& request = {}) const + { + return SubmitCallable(&EC2ProtocolClient::XmlLists, request); + } + + /** + * An Async wrapper for XmlLists that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void XmlListsAsync(const XmlListsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const XmlListsRequestT& request = {}) const + { + return SubmitAsync(&EC2ProtocolClient::XmlLists, request, handler, context); + } + + /** + * + */ + virtual Model::XmlNamespacesOutcome XmlNamespaces(const Model::XmlNamespacesRequest& request = {}) const; + + /** + * A Callable wrapper for XmlNamespaces that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::XmlNamespacesOutcomeCallable XmlNamespacesCallable(const XmlNamespacesRequestT& request = {}) const + { + return SubmitCallable(&EC2ProtocolClient::XmlNamespaces, request); + } + + /** + * An Async wrapper for XmlNamespaces that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void XmlNamespacesAsync(const XmlNamespacesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const XmlNamespacesRequestT& request = {}) const + { + return SubmitAsync(&EC2ProtocolClient::XmlNamespaces, request, handler, context); + } + + /** + *

This tests how timestamps are serialized, including using the default format + * of date-time and various @timestampFormat trait values.

See Also:

+ * AWS + * API Reference

+ */ + virtual Model::XmlTimestampsOutcome XmlTimestamps(const Model::XmlTimestampsRequest& request = {}) const; + + /** + * A Callable wrapper for XmlTimestamps that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::XmlTimestampsOutcomeCallable XmlTimestampsCallable(const XmlTimestampsRequestT& request = {}) const + { + return SubmitCallable(&EC2ProtocolClient::XmlTimestamps, request); + } + + /** + * An Async wrapper for XmlTimestamps that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void XmlTimestampsAsync(const XmlTimestampsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const XmlTimestampsRequestT& request = {}) const + { + return SubmitAsync(&EC2ProtocolClient::XmlTimestamps, request, handler, context); + } + + + void OverrideEndpoint(const Aws::String& endpoint); + std::shared_ptr& accessEndpointProvider(); + private: + friend class Aws::Client::ClientWithAsyncTemplateMethods; + void init(const EC2ProtocolClientConfiguration& clientConfiguration); + + EC2ProtocolClientConfiguration m_clientConfiguration; + std::shared_ptr m_endpointProvider; + }; + +} // namespace EC2Protocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/EC2ProtocolEndpointProvider.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/EC2ProtocolEndpointProvider.h new file mode 100644 index 00000000000..e9ca7b77fa2 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/EC2ProtocolEndpointProvider.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +#include + + +namespace Aws +{ +namespace EC2Protocol +{ +namespace Endpoint +{ +using EndpointParameters = Aws::Endpoint::EndpointParameters; +using Aws::Endpoint::EndpointProviderBase; +using Aws::Endpoint::DefaultEndpointProvider; + +using EC2ProtocolClientContextParameters = Aws::Endpoint::ClientContextParameters; + +using EC2ProtocolClientConfiguration = Aws::Client::GenericClientConfiguration; +using EC2ProtocolBuiltInParameters = Aws::Endpoint::BuiltInParameters; + +/** + * The type for the EC2Protocol 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 EC2ProtocolEndpointProviderBase = + EndpointProviderBase; + +using EC2ProtocolDefaultEpProviderBase = + DefaultEndpointProvider; + +/** + * Default endpoint provider used for this service + */ +class AWS_EC2PROTOCOL_API EC2ProtocolEndpointProvider : public EC2ProtocolDefaultEpProviderBase +{ +public: + using EC2ProtocolResolveEndpointOutcome = Aws::Endpoint::ResolveEndpointOutcome; + + EC2ProtocolEndpointProvider() + : EC2ProtocolDefaultEpProviderBase(Aws::EC2Protocol::EC2ProtocolEndpointRules::GetRulesBlob(), Aws::EC2Protocol::EC2ProtocolEndpointRules::RulesBlobSize) + {} + + ~EC2ProtocolEndpointProvider() + { + } +}; +} // namespace Endpoint +} // namespace EC2Protocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/EC2ProtocolEndpointRules.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/EC2ProtocolEndpointRules.h new file mode 100644 index 00000000000..456344577aa --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/EC2ProtocolEndpointRules.h @@ -0,0 +1,23 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace EC2Protocol +{ +class EC2ProtocolEndpointRules +{ +public: + static const size_t RulesBlobStrLen; + static const size_t RulesBlobSize; + + static const char* GetRulesBlob(); +}; +} // namespace EC2Protocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/EC2ProtocolErrorMarshaller.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/EC2ProtocolErrorMarshaller.h new file mode 100644 index 00000000000..621dd57107e --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/EC2ProtocolErrorMarshaller.h @@ -0,0 +1,23 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws +{ +namespace Client +{ + +class AWS_EC2PROTOCOL_API EC2ProtocolErrorMarshaller : public Aws::Client::XmlErrorMarshaller +{ +public: + Aws::Client::AWSError FindErrorByName(const char* exceptionName) const override; +}; + +} // namespace Client +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/EC2ProtocolErrors.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/EC2ProtocolErrors.h new file mode 100644 index 00000000000..30b7a4c340d --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/EC2ProtocolErrors.h @@ -0,0 +1,246 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include +#include + +namespace Aws +{ +namespace EC2Protocol +{ +enum class EC2ProtocolErrors +{ + //From Core// + ////////////////////////////////////////////////////////////////////////////////////////// + INCOMPLETE_SIGNATURE = 0, + INTERNAL_FAILURE = 1, + INVALID_ACTION = 2, + INVALID_CLIENT_TOKEN_ID = 3, + INVALID_PARAMETER_COMBINATION = 4, + INVALID_QUERY_PARAMETER = 5, + INVALID_PARAMETER_VALUE = 6, + MISSING_ACTION = 7, // SDK should never allow + MISSING_AUTHENTICATION_TOKEN = 8, // SDK should never allow + MISSING_PARAMETER = 9, // SDK should never allow + OPT_IN_REQUIRED = 10, + REQUEST_EXPIRED = 11, + SERVICE_UNAVAILABLE = 12, + THROTTLING = 13, + VALIDATION = 14, + ACCESS_DENIED = 15, + RESOURCE_NOT_FOUND = 16, + UNRECOGNIZED_CLIENT = 17, + MALFORMED_QUERY_STRING = 18, + SLOW_DOWN = 19, + REQUEST_TIME_TOO_SKEWED = 20, + INVALID_SIGNATURE = 21, + SIGNATURE_DOES_NOT_MATCH = 22, + INVALID_ACCESS_KEY_ID = 23, + REQUEST_TIMEOUT = 24, + NETWORK_CONNECTION = 99, + + UNKNOWN = 100, + /////////////////////////////////////////////////////////////////////////////////////////// + + ACTIVE_VPC_PEERING_CONNECTION_PER_VPC_LIMIT_EXCEEDED= static_cast(Aws::Client::CoreErrors::SERVICE_EXTENSION_START_RANGE) + 1, + ADDRESS_LIMIT_EXCEEDED, + ATTACHMENT_LIMIT_EXCEEDED, + BUNDLING_IN_PROGRESS, + CANNOT_DELETE, + COMPLEX, + CONCURRENT_SNAPSHOT_LIMIT_EXCEEDED, + CONCURRENT_TAG_ACCESS, + CUSTOMER_GATEWAY_LIMIT_EXCEEDED, + DEPENDENCY_VIOLATION, + DISK_IMAGE_SIZE_TOO_LARGE, + DRY_RUN_OPERATION, + ENCRYPTED_VOLUMES_NOT_SUPPORTED, + FILTER_LIMIT_EXCEEDED, + FLOW_LOGS_LIMIT_EXCEEDED, + FLOW_LOG_ALREADY_EXISTS, + GATEWAY__NOT_ATTACHED, + INCORRECT_INSTANCE_STATE, + INCORRECT_STATE, + INSTANCE_ALREADY_LINKED, + INSTANCE_LIMIT_EXCEEDED, + INSUFFICIENT_FREE_ADDRESSES_IN_SUBNET, + INSUFFICIENT_RESERVED_INSTANCES_CAPACITY, + INTERNET_GATEWAY_LIMIT_EXCEEDED, + INVALID_ADDRESS_I_D__NOT_FOUND, + INVALID_ADDRESS__MALFORMED, + INVALID_ADDRESS__NOT_FOUND, + INVALID_ALLOCATION_I_D__NOT_FOUND, + INVALID_ASSOCIATION_I_D__NOT_FOUND, + INVALID_ATTACHMENT_I_D__NOT_FOUND, + INVALID_ATTACHMENT__NOT_FOUND, + INVALID_A_M_I_ATTRIBUTE_ITEM_VALUE, + INVALID_A_M_I_I_D__MALFORMED, + INVALID_A_M_I_I_D__NOT_FOUND, + INVALID_A_M_I_I_D__UNAVAILABLE, + INVALID_A_M_I_NAME__DUPLICATE, + INVALID_A_M_I_NAME__MALFORMED, + INVALID_BLOCK_DEVICE_MAPPING, + INVALID_BUNDLE_I_D__NOT_FOUND, + INVALID_CONVERSION_TASK_ID, + INVALID_CUSTOMER_GATEWAY_ID__MALFORMED, + INVALID_CUSTOMER_GATEWAY_I_D__NOT_FOUND, + INVALID_CUSTOMER_GATEWAY__DUPLICATE_IP_ADDRESS, + INVALID_DEVICE__IN_USE, + INVALID_DHCP_OPTIONS_ID__MALFORMED, + INVALID_DHCP_OPTIONS_I_D__NOT_FOUND, + INVALID_DHCP_OPTION_I_D__NOT_FOUND, + INVALID_EXPORT_TASK_I_D__NOT_FOUND, + INVALID_FILTER, + INVALID_FLOW_LOG_ID__NOT_FOUND, + INVALID_FORMAT, + INVALID_GATEWAY_I_D__NOT_FOUND, + INVALID_GREETING, + INVALID_GROUP_ID__MALFORMED, + INVALID_GROUP__DUPLICATE, + INVALID_GROUP__IN_USE, + INVALID_GROUP__NOT_FOUND, + INVALID_GROUP__RESERVED, + INVALID_INPUT, + INVALID_INSTANCE_ATTRIBUTE_VALUE, + INVALID_INSTANCE_I_D, + INVALID_INSTANCE_I_D__MALFORMED, + INVALID_INSTANCE_I_D__NOT_FOUND, + INVALID_INSTANCE_I_D__NOT_LINKABLE, + INVALID_INSTANCE_TYPE, + INVALID_INTERFACE__IP_ADDRESS_LIMIT_EXCEEDED, + INVALID_INTERNET_GATEWAY_I_D__NOT_FOUND, + INVALID_I_D, + INVALID_I_P_ADDRESS__IN_USE, + INVALID_KEY_PAIR__DUPLICATE, + INVALID_KEY_PAIR__FORMAT, + INVALID_KEY_PAIR__NOT_FOUND, + INVALID_KEY__FORMAT, + INVALID_MANIFEST, + INVALID_NETWORK_ACL_ENTRY__NOT_FOUND, + INVALID_NETWORK_ACL_I_D__NOT_FOUND, + INVALID_NETWORK_INTERFACE_ATTACHMENT_I_D__MALFORMED, + INVALID_NETWORK_INTERFACE_ID__MALFORMED, + INVALID_NETWORK_INTERFACE_I_D__NOT_FOUND, + INVALID_OPTION__CONFLICT, + INVALID_PERMISSION__DUPLICATE, + INVALID_PERMISSION__MALFORMED, + INVALID_PERMISSION__NOT_FOUND, + INVALID_PLACEMENT_GROUP__DUPLICATE, + INVALID_PLACEMENT_GROUP__IN_USE, + INVALID_PLACEMENT_GROUP__UNKNOWN, + INVALID_POLICY_DOCUMENT, + INVALID_PREFIX_LIST_ID__MALFORMED, + INVALID_PREFIX_LIST_ID__NOT_FOUND, + INVALID_REQUEST, + INVALID_RESERVATION_I_D__MALFORMED, + INVALID_RESERVATION_I_D__NOT_FOUND, + INVALID_RESERVED_INSTANCES_ID, + INVALID_RESERVED_INSTANCES_OFFERING_ID, + INVALID_ROUTE_TABLE_ID__MALFORMED, + INVALID_ROUTE_TABLE_I_D__NOT_FOUND, + INVALID_ROUTE__MALFORMED, + INVALID_ROUTE__NOT_FOUND, + INVALID_SECURITY_GROUP_I_D__NOT_FOUND, + INVALID_SECURITY__REQUEST_HAS_EXPIRED, + INVALID_SERVICE_NAME, + INVALID_SNAPSHOT_I_D__MALFORMED, + INVALID_SNAPSHOT__IN_USE, + INVALID_SNAPSHOT__NOT_FOUND, + INVALID_SPOT_DATAFEED__NOT_FOUND, + INVALID_SPOT_FLEET_REQUEST_CONFIG, + INVALID_SPOT_FLEET_REQUEST_ID__MALFORMED, + INVALID_SPOT_FLEET_REQUEST_ID__NOT_FOUND, + INVALID_SPOT_INSTANCE_REQUEST_I_D__MALFORMED, + INVALID_SPOT_INSTANCE_REQUEST_I_D__NOT_FOUND, + INVALID_STATE, + INVALID_STATE_TRANSITION, + INVALID_SUBNET_I_D__NOT_FOUND, + INVALID_SUBNET__CONFLICT, + INVALID_USER_I_D__MALFORMED, + INVALID_VOLUME_I_D__DUPLICATE, + INVALID_VOLUME_I_D__MALFORMED, + INVALID_VOLUME_I_D__ZONE_MISMATCH, + INVALID_VOLUME__NOT_FOUND, + INVALID_VOLUME__ZONE_MISMATCH, + INVALID_VPC_ENDPOINT_ID__MALFORMED, + INVALID_VPC_ENDPOINT_ID__NOT_FOUND, + INVALID_VPC_I_D__NOT_FOUND, + INVALID_VPC_PEERING_CONNECTION_ID__MALFORMED, + INVALID_VPC_PEERING_CONNECTION_I_D__NOT_FOUND, + INVALID_VPC_STATE, + INVALID_VPC__RANGE, + INVALID_VPN_CONNECTION_I_D, + INVALID_VPN_CONNECTION_I_D__NOT_FOUND, + INVALID_VPN_GATEWAY_ATTACHMENT__NOT_FOUND, + INVALID_VPN_GATEWAY_I_D__NOT_FOUND, + INVALID_ZONE__NOT_FOUND, + LEGACY_SECURITY_GROUP, + MAX_I_O_P_S_LIMIT_EXCEEDED, + MAX_SPOT_FLEET_REQUEST_COUNT_EXCEEDED, + MAX_SPOT_INSTANCE_COUNT_EXCEEDED, + NETWORK_ACL_ENTRY_ALREADY_EXISTS, + NETWORK_ACL_ENTRY_LIMIT_EXCEEDED, + NETWORK_ACL_LIMIT_EXCEEDED, + NON_E_B_S_INSTANCE, + NOT_EXPORTABLE, + OPERATION_NOT_PERMITTED, + OUTSTANDING_VPC_PEERING_CONNECTION_LIMIT_EXCEEDED, + PENDING_SNAPSHOT_LIMIT_EXCEEDED, + PRIVATE_IP_ADDRESS_LIMIT_EXCEEDED, + REQUEST_RESOURCE_COUNT_EXCEEDED, + RESERVED_INSTANCES_LIMIT_EXCEEDED, + RESOURCE_COUNT_EXCEEDED, + RESOURCE_LIMIT_EXCEEDED, + RESOURCE__ALREADY_ASSOCIATED, + ROUTE_ALREADY_EXISTS, + ROUTE_LIMIT_EXCEEDED, + ROUTE_TABLE_LIMIT_EXCEEDED, + RULES_PER_SECURITY_GROUP_LIMIT_EXCEEDED, + SECURITY_GROUPS_PER_INSTANCE_LIMIT_EXCEEDED, + SECURITY_GROUPS_PER_INTERFACE_LIMIT_EXCEEDED, + SECURITY_GROUP_LIMIT_EXCEEDED, + SNAPSHOT_LIMIT_EXCEEDED, + SUBNET_LIMIT_EXCEEDED, + TAG_LIMIT_EXCEEDED, + UNKNOWN_VOLUME_TYPE, + UNSUPPORTED, + UNSUPPORTED_OPERATION, + VOLUME_IN_USE, + VOLUME_LIMIT_EXCEEDED, + VOLUME_TYPE_NOT_AVAILABLE_IN_ZONE, + VPC_CIDR_CONFLICT, + VPC_ENDPOINT_LIMIT_EXCEEDED, + VPC_LIMIT_EXCEEDED, + VPC_PEERING_CONNECTION_ALREADY_EXISTS, + VPN_CONNECTION_LIMIT_EXCEEDED, + VPN_GATEWAY_ATTACHMENT_LIMIT_EXCEEDED, + VPN_GATEWAY_LIMIT_EXCEEDED, + V_P_C_ID_NOT_SPECIFIED, + V_P_C_RESOURCE_NOT_SPECIFIED +}; + +class AWS_EC2PROTOCOL_API EC2ProtocolError : public Aws::Client::AWSError +{ +public: + EC2ProtocolError() {} + EC2ProtocolError(const Aws::Client::AWSError& rhs) : Aws::Client::AWSError(rhs) {} + EC2ProtocolError(Aws::Client::AWSError&& rhs) : Aws::Client::AWSError(rhs) {} + EC2ProtocolError(const Aws::Client::AWSError& rhs) : Aws::Client::AWSError(rhs) {} + EC2ProtocolError(Aws::Client::AWSError&& rhs) : Aws::Client::AWSError(rhs) {} + + template + T GetModeledError(); +}; + +namespace EC2ProtocolErrorMapper +{ + AWS_EC2PROTOCOL_API Aws::Client::AWSError GetErrorForName(const char* errorName); +} + +} // namespace EC2Protocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/EC2ProtocolRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/EC2ProtocolRequest.h new file mode 100644 index 00000000000..1d45e7c23aa --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/EC2ProtocolRequest.h @@ -0,0 +1,46 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace EC2Protocol +{ + class AWS_EC2PROTOCOL_API EC2ProtocolRequest : public Aws::AmazonSerializableWebServiceRequest + { + public: + using EndpointParameter = Aws::Endpoint::EndpointParameter; + using EndpointParameters = Aws::Endpoint::EndpointParameters; + + virtual ~EC2ProtocolRequest () {} + + void AddParametersToRequest(Aws::Http::HttpRequest& httpRequest) const { AWS_UNREFERENCED_PARAM(httpRequest); } + + inline Aws::Http::HeaderValueCollection GetHeaders() const override + { + auto headers = GetRequestSpecificHeaders(); + + if(headers.size() == 0 || (headers.size() > 0 && headers.count(Aws::Http::CONTENT_TYPE_HEADER) == 0)) + { + headers.emplace(Aws::Http::HeaderValuePair(Aws::Http::CONTENT_TYPE_HEADER, Aws::FORM_CONTENT_TYPE )); + } + headers.emplace(Aws::Http::HeaderValuePair(Aws::Http::API_VERSION_HEADER, "2020-01-08")); + return headers; + } + + protected: + virtual Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const { return Aws::Http::HeaderValueCollection(); } + + }; + + +} // namespace EC2Protocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/EC2ProtocolServiceClientModel.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/EC2ProtocolServiceClientModel.h new file mode 100644 index 00000000000..50239e19992 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/EC2ProtocolServiceClientModel.h @@ -0,0 +1,216 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +/* Generic header includes */ +#include +#include +#include +#include +#include +#include +#include +#include +#include +/* End of generic header includes */ + +/* Service model headers required in EC2ProtocolClient header */ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +/* End of service model headers required in EC2ProtocolClient header */ + +namespace Aws +{ + namespace Http + { + class HttpClient; + class HttpClientFactory; + } // namespace Http + + namespace Utils + { + template< typename R, typename E> class Outcome; + + namespace Threading + { + class Executor; + } // namespace Threading + } // namespace Utils + + namespace Auth + { + class AWSCredentials; + class AWSCredentialsProvider; + } // namespace Auth + + namespace Client + { + class RetryStrategy; + } // namespace Client + + namespace EC2Protocol + { + using EC2ProtocolClientConfiguration = Aws::Client::GenericClientConfiguration; + using EC2ProtocolEndpointProviderBase = Aws::EC2Protocol::Endpoint::EC2ProtocolEndpointProviderBase; + using EC2ProtocolEndpointProvider = Aws::EC2Protocol::Endpoint::EC2ProtocolEndpointProvider; + + namespace Model + { + /* Service model forward declarations required in EC2ProtocolClient header */ + class DatetimeOffsetsRequest; + class EmptyInputAndEmptyOutputRequest; + class EndpointOperationRequest; + class EndpointWithHostLabelOperationRequest; + class FractionalSecondsRequest; + class GreetingWithErrorsRequest; + class HostWithPathOperationRequest; + class IgnoresWrappingXmlNameRequest; + class NestedStructuresRequest; + class NoInputAndOutputRequest; + class PutWithContentEncodingRequest; + class QueryIdempotencyTokenAutoFillRequest; + class QueryListsRequest; + class QueryTimestampsRequest; + class RecursiveXmlShapesRequest; + class SimpleInputParamsRequest; + class SimpleScalarXmlPropertiesRequest; + class XmlBlobsRequest; + class XmlEmptyBlobsRequest; + class XmlEmptyListsRequest; + class XmlEnumsRequest; + class XmlIntEnumsRequest; + class XmlListsRequest; + class XmlNamespacesRequest; + class XmlTimestampsRequest; + /* End of service model forward declarations required in EC2ProtocolClient header */ + + /* Service model Outcome class definitions */ + typedef Aws::Utils::Outcome DatetimeOffsetsOutcome; + typedef Aws::Utils::Outcome EmptyInputAndEmptyOutputOutcome; + typedef Aws::Utils::Outcome EndpointOperationOutcome; + typedef Aws::Utils::Outcome EndpointWithHostLabelOperationOutcome; + typedef Aws::Utils::Outcome FractionalSecondsOutcome; + typedef Aws::Utils::Outcome GreetingWithErrorsOutcome; + typedef Aws::Utils::Outcome HostWithPathOperationOutcome; + typedef Aws::Utils::Outcome IgnoresWrappingXmlNameOutcome; + typedef Aws::Utils::Outcome NestedStructuresOutcome; + typedef Aws::Utils::Outcome NoInputAndOutputOutcome; + typedef Aws::Utils::Outcome PutWithContentEncodingOutcome; + typedef Aws::Utils::Outcome QueryIdempotencyTokenAutoFillOutcome; + typedef Aws::Utils::Outcome QueryListsOutcome; + typedef Aws::Utils::Outcome QueryTimestampsOutcome; + typedef Aws::Utils::Outcome RecursiveXmlShapesOutcome; + typedef Aws::Utils::Outcome SimpleInputParamsOutcome; + typedef Aws::Utils::Outcome SimpleScalarXmlPropertiesOutcome; + typedef Aws::Utils::Outcome XmlBlobsOutcome; + typedef Aws::Utils::Outcome XmlEmptyBlobsOutcome; + typedef Aws::Utils::Outcome XmlEmptyListsOutcome; + typedef Aws::Utils::Outcome XmlEnumsOutcome; + typedef Aws::Utils::Outcome XmlIntEnumsOutcome; + typedef Aws::Utils::Outcome XmlListsOutcome; + typedef Aws::Utils::Outcome XmlNamespacesOutcome; + typedef Aws::Utils::Outcome XmlTimestampsOutcome; + /* End of service model Outcome class definitions */ + + /* Service model Outcome callable definitions */ + typedef std::future DatetimeOffsetsOutcomeCallable; + typedef std::future EmptyInputAndEmptyOutputOutcomeCallable; + typedef std::future EndpointOperationOutcomeCallable; + typedef std::future EndpointWithHostLabelOperationOutcomeCallable; + typedef std::future FractionalSecondsOutcomeCallable; + typedef std::future GreetingWithErrorsOutcomeCallable; + typedef std::future HostWithPathOperationOutcomeCallable; + typedef std::future IgnoresWrappingXmlNameOutcomeCallable; + typedef std::future NestedStructuresOutcomeCallable; + typedef std::future NoInputAndOutputOutcomeCallable; + typedef std::future PutWithContentEncodingOutcomeCallable; + typedef std::future QueryIdempotencyTokenAutoFillOutcomeCallable; + typedef std::future QueryListsOutcomeCallable; + typedef std::future QueryTimestampsOutcomeCallable; + typedef std::future RecursiveXmlShapesOutcomeCallable; + typedef std::future SimpleInputParamsOutcomeCallable; + typedef std::future SimpleScalarXmlPropertiesOutcomeCallable; + typedef std::future XmlBlobsOutcomeCallable; + typedef std::future XmlEmptyBlobsOutcomeCallable; + typedef std::future XmlEmptyListsOutcomeCallable; + typedef std::future XmlEnumsOutcomeCallable; + typedef std::future XmlIntEnumsOutcomeCallable; + typedef std::future XmlListsOutcomeCallable; + typedef std::future XmlNamespacesOutcomeCallable; + typedef std::future XmlTimestampsOutcomeCallable; + /* End of service model Outcome callable definitions */ + } // namespace Model + + class EC2ProtocolClient; + + /* Service model async handlers definitions */ + typedef std::function&) > DatetimeOffsetsResponseReceivedHandler; + typedef std::function&) > EmptyInputAndEmptyOutputResponseReceivedHandler; + typedef std::function&) > EndpointOperationResponseReceivedHandler; + typedef std::function&) > EndpointWithHostLabelOperationResponseReceivedHandler; + typedef std::function&) > FractionalSecondsResponseReceivedHandler; + typedef std::function&) > GreetingWithErrorsResponseReceivedHandler; + typedef std::function&) > HostWithPathOperationResponseReceivedHandler; + typedef std::function&) > IgnoresWrappingXmlNameResponseReceivedHandler; + typedef std::function&) > NestedStructuresResponseReceivedHandler; + typedef std::function&) > NoInputAndOutputResponseReceivedHandler; + typedef std::function&) > PutWithContentEncodingResponseReceivedHandler; + typedef std::function&) > QueryIdempotencyTokenAutoFillResponseReceivedHandler; + typedef std::function&) > QueryListsResponseReceivedHandler; + typedef std::function&) > QueryTimestampsResponseReceivedHandler; + typedef std::function&) > RecursiveXmlShapesResponseReceivedHandler; + typedef std::function&) > SimpleInputParamsResponseReceivedHandler; + typedef std::function&) > SimpleScalarXmlPropertiesResponseReceivedHandler; + typedef std::function&) > XmlBlobsResponseReceivedHandler; + typedef std::function&) > XmlEmptyBlobsResponseReceivedHandler; + typedef std::function&) > XmlEmptyListsResponseReceivedHandler; + typedef std::function&) > XmlEnumsResponseReceivedHandler; + typedef std::function&) > XmlIntEnumsResponseReceivedHandler; + typedef std::function&) > XmlListsResponseReceivedHandler; + typedef std::function&) > XmlNamespacesResponseReceivedHandler; + typedef std::function&) > XmlTimestampsResponseReceivedHandler; + /* End of service model async handlers definitions */ + } // namespace EC2Protocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/EC2Protocol_EXPORTS.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/EC2Protocol_EXPORTS.h new file mode 100644 index 00000000000..92fcdf6c51f --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/EC2Protocol_EXPORTS.h @@ -0,0 +1,32 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#ifdef _MSC_VER + //disable windows complaining about max template size. + #pragma warning (disable : 4503) +#endif // _MSC_VER + +#if defined (USE_WINDOWS_DLL_SEMANTICS) || defined (_WIN32) + #ifdef _MSC_VER + #pragma warning(disable : 4251) + #endif // _MSC_VER + + #ifdef USE_IMPORT_EXPORT + #ifdef AWS_EC2PROTOCOL_EXPORTS + #define AWS_EC2PROTOCOL_API __declspec(dllexport) + #else + #define AWS_EC2PROTOCOL_API __declspec(dllimport) + #endif /* AWS_EC2PROTOCOL_EXPORTS */ + #define AWS_EC2PROTOCOL_EXTERN + #else + #define AWS_EC2PROTOCOL_API + #define AWS_EC2PROTOCOL_EXTERN extern + #endif // USE_IMPORT_EXPORT +#else // defined (USE_WINDOWS_DLL_SEMANTICS) || defined (WIN32) + #define AWS_EC2PROTOCOL_API + #define AWS_EC2PROTOCOL_EXTERN extern +#endif // defined (USE_WINDOWS_DLL_SEMANTICS) || defined (WIN32) diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/ComplexError.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/ComplexError.h new file mode 100644 index 00000000000..671f79496ef --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/ComplexError.h @@ -0,0 +1,75 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace EC2Protocol +{ +namespace Model +{ + + /** + *

This error is thrown when a request is invalid.

See Also:

AWS + * API Reference

+ */ + class ComplexError + { + public: + AWS_EC2PROTOCOL_API ComplexError(); + AWS_EC2PROTOCOL_API ComplexError(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_EC2PROTOCOL_API ComplexError& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + AWS_EC2PROTOCOL_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const; + AWS_EC2PROTOCOL_API void OutputToStream(Aws::OStream& oStream, const char* location) const; + + + ///@{ + + inline const Aws::String& GetTopLevel() const{ return m_topLevel; } + inline bool TopLevelHasBeenSet() const { return m_topLevelHasBeenSet; } + inline void SetTopLevel(const Aws::String& value) { m_topLevelHasBeenSet = true; m_topLevel = value; } + inline void SetTopLevel(Aws::String&& value) { m_topLevelHasBeenSet = true; m_topLevel = std::move(value); } + inline void SetTopLevel(const char* value) { m_topLevelHasBeenSet = true; m_topLevel.assign(value); } + inline ComplexError& WithTopLevel(const Aws::String& value) { SetTopLevel(value); return *this;} + inline ComplexError& WithTopLevel(Aws::String&& value) { SetTopLevel(std::move(value)); return *this;} + inline ComplexError& WithTopLevel(const char* value) { SetTopLevel(value); return *this;} + ///@} + + ///@{ + + inline const ComplexNestedErrorData& GetNested() const{ return m_nested; } + inline bool NestedHasBeenSet() const { return m_nestedHasBeenSet; } + inline void SetNested(const ComplexNestedErrorData& value) { m_nestedHasBeenSet = true; m_nested = value; } + inline void SetNested(ComplexNestedErrorData&& value) { m_nestedHasBeenSet = true; m_nested = std::move(value); } + inline ComplexError& WithNested(const ComplexNestedErrorData& value) { SetNested(value); return *this;} + inline ComplexError& WithNested(ComplexNestedErrorData&& value) { SetNested(std::move(value)); return *this;} + ///@} + private: + + Aws::String m_topLevel; + bool m_topLevelHasBeenSet = false; + + ComplexNestedErrorData m_nested; + bool m_nestedHasBeenSet = false; + }; + +} // namespace Model +} // namespace EC2Protocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/ComplexNestedErrorData.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/ComplexNestedErrorData.h new file mode 100644 index 00000000000..d3615a0e94e --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/ComplexNestedErrorData.h @@ -0,0 +1,56 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace EC2Protocol +{ +namespace Model +{ + + class ComplexNestedErrorData + { + public: + AWS_EC2PROTOCOL_API ComplexNestedErrorData(); + AWS_EC2PROTOCOL_API ComplexNestedErrorData(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_EC2PROTOCOL_API ComplexNestedErrorData& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + AWS_EC2PROTOCOL_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const; + AWS_EC2PROTOCOL_API void OutputToStream(Aws::OStream& oStream, const char* location) const; + + + ///@{ + + inline const Aws::String& GetFoo() const{ return m_foo; } + inline bool FooHasBeenSet() const { return m_fooHasBeenSet; } + inline void SetFoo(const Aws::String& value) { m_fooHasBeenSet = true; m_foo = value; } + inline void SetFoo(Aws::String&& value) { m_fooHasBeenSet = true; m_foo = std::move(value); } + inline void SetFoo(const char* value) { m_fooHasBeenSet = true; m_foo.assign(value); } + inline ComplexNestedErrorData& WithFoo(const Aws::String& value) { SetFoo(value); return *this;} + inline ComplexNestedErrorData& WithFoo(Aws::String&& value) { SetFoo(std::move(value)); return *this;} + inline ComplexNestedErrorData& WithFoo(const char* value) { SetFoo(value); return *this;} + ///@} + private: + + Aws::String m_foo; + bool m_fooHasBeenSet = false; + }; + +} // namespace Model +} // namespace EC2Protocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/DatetimeOffsetsRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/DatetimeOffsetsRequest.h new file mode 100644 index 00000000000..94725df231a --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/DatetimeOffsetsRequest.h @@ -0,0 +1,40 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace EC2Protocol +{ +namespace Model +{ + + /** + */ + class DatetimeOffsetsRequest : public EC2ProtocolRequest + { + public: + AWS_EC2PROTOCOL_API DatetimeOffsetsRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "DatetimeOffsets"; } + + AWS_EC2PROTOCOL_API Aws::String SerializePayload() const override; + + protected: + AWS_EC2PROTOCOL_API void DumpBodyToUrl(Aws::Http::URI& uri ) const override; + + public: + }; + +} // namespace Model +} // namespace EC2Protocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/DatetimeOffsetsResponse.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/DatetimeOffsetsResponse.h new file mode 100644 index 00000000000..c228b9bfd45 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/DatetimeOffsetsResponse.h @@ -0,0 +1,62 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace EC2Protocol +{ +namespace Model +{ + class DatetimeOffsetsResponse + { + public: + AWS_EC2PROTOCOL_API DatetimeOffsetsResponse(); + AWS_EC2PROTOCOL_API DatetimeOffsetsResponse(const Aws::AmazonWebServiceResult& result); + AWS_EC2PROTOCOL_API DatetimeOffsetsResponse& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::Utils::DateTime& GetDatetime() const{ return m_datetime; } + inline void SetDatetime(const Aws::Utils::DateTime& value) { m_datetime = value; } + inline void SetDatetime(Aws::Utils::DateTime&& value) { m_datetime = std::move(value); } + inline DatetimeOffsetsResponse& WithDatetime(const Aws::Utils::DateTime& value) { SetDatetime(value); return *this;} + inline DatetimeOffsetsResponse& WithDatetime(Aws::Utils::DateTime&& value) { SetDatetime(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const ResponseMetadata& GetResponseMetadata() const{ return m_responseMetadata; } + inline void SetResponseMetadata(const ResponseMetadata& value) { m_responseMetadata = value; } + inline void SetResponseMetadata(ResponseMetadata&& value) { m_responseMetadata = std::move(value); } + inline DatetimeOffsetsResponse& WithResponseMetadata(const ResponseMetadata& value) { SetResponseMetadata(value); return *this;} + inline DatetimeOffsetsResponse& WithResponseMetadata(ResponseMetadata&& value) { SetResponseMetadata(std::move(value)); return *this;} + ///@} + private: + + Aws::Utils::DateTime m_datetime; + + ResponseMetadata m_responseMetadata; + }; + +} // namespace Model +} // namespace EC2Protocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/EmptyInputAndEmptyOutputRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/EmptyInputAndEmptyOutputRequest.h new file mode 100644 index 00000000000..d70a12fd616 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/EmptyInputAndEmptyOutputRequest.h @@ -0,0 +1,40 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace EC2Protocol +{ +namespace Model +{ + + /** + */ + class EmptyInputAndEmptyOutputRequest : public EC2ProtocolRequest + { + public: + AWS_EC2PROTOCOL_API EmptyInputAndEmptyOutputRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "EmptyInputAndEmptyOutput"; } + + AWS_EC2PROTOCOL_API Aws::String SerializePayload() const override; + + protected: + AWS_EC2PROTOCOL_API void DumpBodyToUrl(Aws::Http::URI& uri ) const override; + + public: + }; + +} // namespace Model +} // namespace EC2Protocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/EmptyInputAndEmptyOutputResponse.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/EmptyInputAndEmptyOutputResponse.h new file mode 100644 index 00000000000..e14d0ec2d80 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/EmptyInputAndEmptyOutputResponse.h @@ -0,0 +1,50 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace EC2Protocol +{ +namespace Model +{ + class EmptyInputAndEmptyOutputResponse + { + public: + AWS_EC2PROTOCOL_API EmptyInputAndEmptyOutputResponse(); + AWS_EC2PROTOCOL_API EmptyInputAndEmptyOutputResponse(const Aws::AmazonWebServiceResult& result); + AWS_EC2PROTOCOL_API EmptyInputAndEmptyOutputResponse& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const ResponseMetadata& GetResponseMetadata() const{ return m_responseMetadata; } + inline void SetResponseMetadata(const ResponseMetadata& value) { m_responseMetadata = value; } + inline void SetResponseMetadata(ResponseMetadata&& value) { m_responseMetadata = std::move(value); } + inline EmptyInputAndEmptyOutputResponse& WithResponseMetadata(const ResponseMetadata& value) { SetResponseMetadata(value); return *this;} + inline EmptyInputAndEmptyOutputResponse& WithResponseMetadata(ResponseMetadata&& value) { SetResponseMetadata(std::move(value)); return *this;} + ///@} + private: + + ResponseMetadata m_responseMetadata; + }; + +} // namespace Model +} // namespace EC2Protocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/EndpointOperationRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/EndpointOperationRequest.h new file mode 100644 index 00000000000..71b2ece138c --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/EndpointOperationRequest.h @@ -0,0 +1,40 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace EC2Protocol +{ +namespace Model +{ + + /** + */ + class EndpointOperationRequest : public EC2ProtocolRequest + { + public: + AWS_EC2PROTOCOL_API EndpointOperationRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "EndpointOperation"; } + + AWS_EC2PROTOCOL_API Aws::String SerializePayload() const override; + + protected: + AWS_EC2PROTOCOL_API void DumpBodyToUrl(Aws::Http::URI& uri ) const override; + + public: + }; + +} // namespace Model +} // namespace EC2Protocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/EndpointWithHostLabelOperationRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/EndpointWithHostLabelOperationRequest.h new file mode 100644 index 00000000000..0037d212dbf --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/EndpointWithHostLabelOperationRequest.h @@ -0,0 +1,58 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace EC2Protocol +{ +namespace Model +{ + + /** + */ + class EndpointWithHostLabelOperationRequest : public EC2ProtocolRequest + { + public: + AWS_EC2PROTOCOL_API EndpointWithHostLabelOperationRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "EndpointWithHostLabelOperation"; } + + AWS_EC2PROTOCOL_API Aws::String SerializePayload() const override; + + protected: + AWS_EC2PROTOCOL_API void DumpBodyToUrl(Aws::Http::URI& uri ) const override; + + public: + + ///@{ + + inline const Aws::String& GetLabel() const{ return m_label; } + inline bool LabelHasBeenSet() const { return m_labelHasBeenSet; } + inline void SetLabel(const Aws::String& value) { m_labelHasBeenSet = true; m_label = value; } + inline void SetLabel(Aws::String&& value) { m_labelHasBeenSet = true; m_label = std::move(value); } + inline void SetLabel(const char* value) { m_labelHasBeenSet = true; m_label.assign(value); } + inline EndpointWithHostLabelOperationRequest& WithLabel(const Aws::String& value) { SetLabel(value); return *this;} + inline EndpointWithHostLabelOperationRequest& WithLabel(Aws::String&& value) { SetLabel(std::move(value)); return *this;} + inline EndpointWithHostLabelOperationRequest& WithLabel(const char* value) { SetLabel(value); return *this;} + ///@} + private: + + Aws::String m_label; + bool m_labelHasBeenSet = false; + }; + +} // namespace Model +} // namespace EC2Protocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/FooEnum.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/FooEnum.h new file mode 100644 index 00000000000..11da6e9c890 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/FooEnum.h @@ -0,0 +1,34 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace EC2Protocol +{ +namespace Model +{ + enum class FooEnum + { + NOT_SET, + Foo, + Baz, + Bar, + _1, + _0 + }; + +namespace FooEnumMapper +{ +AWS_EC2PROTOCOL_API FooEnum GetFooEnumForName(const Aws::String& name); + +AWS_EC2PROTOCOL_API Aws::String GetNameForFooEnum(FooEnum value); +} // namespace FooEnumMapper +} // namespace Model +} // namespace EC2Protocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/FractionalSecondsRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/FractionalSecondsRequest.h new file mode 100644 index 00000000000..ebd86c6b281 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/FractionalSecondsRequest.h @@ -0,0 +1,40 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace EC2Protocol +{ +namespace Model +{ + + /** + */ + class FractionalSecondsRequest : public EC2ProtocolRequest + { + public: + AWS_EC2PROTOCOL_API FractionalSecondsRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "FractionalSeconds"; } + + AWS_EC2PROTOCOL_API Aws::String SerializePayload() const override; + + protected: + AWS_EC2PROTOCOL_API void DumpBodyToUrl(Aws::Http::URI& uri ) const override; + + public: + }; + +} // namespace Model +} // namespace EC2Protocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/FractionalSecondsResponse.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/FractionalSecondsResponse.h new file mode 100644 index 00000000000..54d72239afe --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/FractionalSecondsResponse.h @@ -0,0 +1,62 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace EC2Protocol +{ +namespace Model +{ + class FractionalSecondsResponse + { + public: + AWS_EC2PROTOCOL_API FractionalSecondsResponse(); + AWS_EC2PROTOCOL_API FractionalSecondsResponse(const Aws::AmazonWebServiceResult& result); + AWS_EC2PROTOCOL_API FractionalSecondsResponse& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::Utils::DateTime& GetDatetime() const{ return m_datetime; } + inline void SetDatetime(const Aws::Utils::DateTime& value) { m_datetime = value; } + inline void SetDatetime(Aws::Utils::DateTime&& value) { m_datetime = std::move(value); } + inline FractionalSecondsResponse& WithDatetime(const Aws::Utils::DateTime& value) { SetDatetime(value); return *this;} + inline FractionalSecondsResponse& WithDatetime(Aws::Utils::DateTime&& value) { SetDatetime(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const ResponseMetadata& GetResponseMetadata() const{ return m_responseMetadata; } + inline void SetResponseMetadata(const ResponseMetadata& value) { m_responseMetadata = value; } + inline void SetResponseMetadata(ResponseMetadata&& value) { m_responseMetadata = std::move(value); } + inline FractionalSecondsResponse& WithResponseMetadata(const ResponseMetadata& value) { SetResponseMetadata(value); return *this;} + inline FractionalSecondsResponse& WithResponseMetadata(ResponseMetadata&& value) { SetResponseMetadata(std::move(value)); return *this;} + ///@} + private: + + Aws::Utils::DateTime m_datetime; + + ResponseMetadata m_responseMetadata; + }; + +} // namespace Model +} // namespace EC2Protocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/GreetingStruct.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/GreetingStruct.h new file mode 100644 index 00000000000..e27adeb2b7b --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/GreetingStruct.h @@ -0,0 +1,56 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace EC2Protocol +{ +namespace Model +{ + + class GreetingStruct + { + public: + AWS_EC2PROTOCOL_API GreetingStruct(); + AWS_EC2PROTOCOL_API GreetingStruct(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_EC2PROTOCOL_API GreetingStruct& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + AWS_EC2PROTOCOL_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const; + AWS_EC2PROTOCOL_API void OutputToStream(Aws::OStream& oStream, const char* location) const; + + + ///@{ + + inline const Aws::String& GetHi() const{ return m_hi; } + inline bool HiHasBeenSet() const { return m_hiHasBeenSet; } + inline void SetHi(const Aws::String& value) { m_hiHasBeenSet = true; m_hi = value; } + inline void SetHi(Aws::String&& value) { m_hiHasBeenSet = true; m_hi = std::move(value); } + inline void SetHi(const char* value) { m_hiHasBeenSet = true; m_hi.assign(value); } + inline GreetingStruct& WithHi(const Aws::String& value) { SetHi(value); return *this;} + inline GreetingStruct& WithHi(Aws::String&& value) { SetHi(std::move(value)); return *this;} + inline GreetingStruct& WithHi(const char* value) { SetHi(value); return *this;} + ///@} + private: + + Aws::String m_hi; + bool m_hiHasBeenSet = false; + }; + +} // namespace Model +} // namespace EC2Protocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/GreetingWithErrorsRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/GreetingWithErrorsRequest.h new file mode 100644 index 00000000000..95cf85ab30c --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/GreetingWithErrorsRequest.h @@ -0,0 +1,40 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace EC2Protocol +{ +namespace Model +{ + + /** + */ + class GreetingWithErrorsRequest : public EC2ProtocolRequest + { + public: + AWS_EC2PROTOCOL_API GreetingWithErrorsRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "GreetingWithErrors"; } + + AWS_EC2PROTOCOL_API Aws::String SerializePayload() const override; + + protected: + AWS_EC2PROTOCOL_API void DumpBodyToUrl(Aws::Http::URI& uri ) const override; + + public: + }; + +} // namespace Model +} // namespace EC2Protocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/GreetingWithErrorsResponse.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/GreetingWithErrorsResponse.h new file mode 100644 index 00000000000..38dc02e8e3d --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/GreetingWithErrorsResponse.h @@ -0,0 +1,64 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace EC2Protocol +{ +namespace Model +{ + class GreetingWithErrorsResponse + { + public: + AWS_EC2PROTOCOL_API GreetingWithErrorsResponse(); + AWS_EC2PROTOCOL_API GreetingWithErrorsResponse(const Aws::AmazonWebServiceResult& result); + AWS_EC2PROTOCOL_API GreetingWithErrorsResponse& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::String& GetGreeting() const{ return m_greeting; } + inline void SetGreeting(const Aws::String& value) { m_greeting = value; } + inline void SetGreeting(Aws::String&& value) { m_greeting = std::move(value); } + inline void SetGreeting(const char* value) { m_greeting.assign(value); } + inline GreetingWithErrorsResponse& WithGreeting(const Aws::String& value) { SetGreeting(value); return *this;} + inline GreetingWithErrorsResponse& WithGreeting(Aws::String&& value) { SetGreeting(std::move(value)); return *this;} + inline GreetingWithErrorsResponse& WithGreeting(const char* value) { SetGreeting(value); return *this;} + ///@} + + ///@{ + + inline const ResponseMetadata& GetResponseMetadata() const{ return m_responseMetadata; } + inline void SetResponseMetadata(const ResponseMetadata& value) { m_responseMetadata = value; } + inline void SetResponseMetadata(ResponseMetadata&& value) { m_responseMetadata = std::move(value); } + inline GreetingWithErrorsResponse& WithResponseMetadata(const ResponseMetadata& value) { SetResponseMetadata(value); return *this;} + inline GreetingWithErrorsResponse& WithResponseMetadata(ResponseMetadata&& value) { SetResponseMetadata(std::move(value)); return *this;} + ///@} + private: + + Aws::String m_greeting; + + ResponseMetadata m_responseMetadata; + }; + +} // namespace Model +} // namespace EC2Protocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/HostWithPathOperationRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/HostWithPathOperationRequest.h new file mode 100644 index 00000000000..867c091c37e --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/HostWithPathOperationRequest.h @@ -0,0 +1,40 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace EC2Protocol +{ +namespace Model +{ + + /** + */ + class HostWithPathOperationRequest : public EC2ProtocolRequest + { + public: + AWS_EC2PROTOCOL_API HostWithPathOperationRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "HostWithPathOperation"; } + + AWS_EC2PROTOCOL_API Aws::String SerializePayload() const override; + + protected: + AWS_EC2PROTOCOL_API void DumpBodyToUrl(Aws::Http::URI& uri ) const override; + + public: + }; + +} // namespace Model +} // namespace EC2Protocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/IgnoresWrappingXmlNameRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/IgnoresWrappingXmlNameRequest.h new file mode 100644 index 00000000000..7079f3de5f1 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/IgnoresWrappingXmlNameRequest.h @@ -0,0 +1,40 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace EC2Protocol +{ +namespace Model +{ + + /** + */ + class IgnoresWrappingXmlNameRequest : public EC2ProtocolRequest + { + public: + AWS_EC2PROTOCOL_API IgnoresWrappingXmlNameRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "IgnoresWrappingXmlName"; } + + AWS_EC2PROTOCOL_API Aws::String SerializePayload() const override; + + protected: + AWS_EC2PROTOCOL_API void DumpBodyToUrl(Aws::Http::URI& uri ) const override; + + public: + }; + +} // namespace Model +} // namespace EC2Protocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/IgnoresWrappingXmlNameResponse.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/IgnoresWrappingXmlNameResponse.h new file mode 100644 index 00000000000..63a897b26e4 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/IgnoresWrappingXmlNameResponse.h @@ -0,0 +1,64 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace EC2Protocol +{ +namespace Model +{ + class IgnoresWrappingXmlNameResponse + { + public: + AWS_EC2PROTOCOL_API IgnoresWrappingXmlNameResponse(); + AWS_EC2PROTOCOL_API IgnoresWrappingXmlNameResponse(const Aws::AmazonWebServiceResult& result); + AWS_EC2PROTOCOL_API IgnoresWrappingXmlNameResponse& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::String& GetFoo() const{ return m_foo; } + inline void SetFoo(const Aws::String& value) { m_foo = value; } + inline void SetFoo(Aws::String&& value) { m_foo = std::move(value); } + inline void SetFoo(const char* value) { m_foo.assign(value); } + inline IgnoresWrappingXmlNameResponse& WithFoo(const Aws::String& value) { SetFoo(value); return *this;} + inline IgnoresWrappingXmlNameResponse& WithFoo(Aws::String&& value) { SetFoo(std::move(value)); return *this;} + inline IgnoresWrappingXmlNameResponse& WithFoo(const char* value) { SetFoo(value); return *this;} + ///@} + + ///@{ + + inline const ResponseMetadata& GetResponseMetadata() const{ return m_responseMetadata; } + inline void SetResponseMetadata(const ResponseMetadata& value) { m_responseMetadata = value; } + inline void SetResponseMetadata(ResponseMetadata&& value) { m_responseMetadata = std::move(value); } + inline IgnoresWrappingXmlNameResponse& WithResponseMetadata(const ResponseMetadata& value) { SetResponseMetadata(value); return *this;} + inline IgnoresWrappingXmlNameResponse& WithResponseMetadata(ResponseMetadata&& value) { SetResponseMetadata(std::move(value)); return *this;} + ///@} + private: + + Aws::String m_foo; + + ResponseMetadata m_responseMetadata; + }; + +} // namespace Model +} // namespace EC2Protocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/NestedStructWithList.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/NestedStructWithList.h new file mode 100644 index 00000000000..46ed22a3e05 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/NestedStructWithList.h @@ -0,0 +1,58 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace EC2Protocol +{ +namespace Model +{ + + class NestedStructWithList + { + public: + AWS_EC2PROTOCOL_API NestedStructWithList(); + AWS_EC2PROTOCOL_API NestedStructWithList(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_EC2PROTOCOL_API NestedStructWithList& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + AWS_EC2PROTOCOL_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const; + AWS_EC2PROTOCOL_API void OutputToStream(Aws::OStream& oStream, const char* location) const; + + + ///@{ + + inline const Aws::Vector& GetListArg() const{ return m_listArg; } + inline bool ListArgHasBeenSet() const { return m_listArgHasBeenSet; } + inline void SetListArg(const Aws::Vector& value) { m_listArgHasBeenSet = true; m_listArg = value; } + inline void SetListArg(Aws::Vector&& value) { m_listArgHasBeenSet = true; m_listArg = std::move(value); } + inline NestedStructWithList& WithListArg(const Aws::Vector& value) { SetListArg(value); return *this;} + inline NestedStructWithList& WithListArg(Aws::Vector&& value) { SetListArg(std::move(value)); return *this;} + inline NestedStructWithList& AddListArg(const Aws::String& value) { m_listArgHasBeenSet = true; m_listArg.push_back(value); return *this; } + inline NestedStructWithList& AddListArg(Aws::String&& value) { m_listArgHasBeenSet = true; m_listArg.push_back(std::move(value)); return *this; } + inline NestedStructWithList& AddListArg(const char* value) { m_listArgHasBeenSet = true; m_listArg.push_back(value); return *this; } + ///@} + private: + + Aws::Vector m_listArg; + bool m_listArgHasBeenSet = false; + }; + +} // namespace Model +} // namespace EC2Protocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/NestedStructuresRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/NestedStructuresRequest.h new file mode 100644 index 00000000000..6b1f5d059d6 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/NestedStructuresRequest.h @@ -0,0 +1,56 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace EC2Protocol +{ +namespace Model +{ + + /** + */ + class NestedStructuresRequest : public EC2ProtocolRequest + { + public: + AWS_EC2PROTOCOL_API NestedStructuresRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "NestedStructures"; } + + AWS_EC2PROTOCOL_API Aws::String SerializePayload() const override; + + protected: + AWS_EC2PROTOCOL_API void DumpBodyToUrl(Aws::Http::URI& uri ) const override; + + public: + + ///@{ + + inline const StructArg& GetNested() const{ return m_nested; } + inline bool NestedHasBeenSet() const { return m_nestedHasBeenSet; } + inline void SetNested(const StructArg& value) { m_nestedHasBeenSet = true; m_nested = value; } + inline void SetNested(StructArg&& value) { m_nestedHasBeenSet = true; m_nested = std::move(value); } + inline NestedStructuresRequest& WithNested(const StructArg& value) { SetNested(value); return *this;} + inline NestedStructuresRequest& WithNested(StructArg&& value) { SetNested(std::move(value)); return *this;} + ///@} + private: + + StructArg m_nested; + bool m_nestedHasBeenSet = false; + }; + +} // namespace Model +} // namespace EC2Protocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/NoInputAndOutputRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/NoInputAndOutputRequest.h new file mode 100644 index 00000000000..ea36a851a2b --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/NoInputAndOutputRequest.h @@ -0,0 +1,40 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace EC2Protocol +{ +namespace Model +{ + + /** + */ + class NoInputAndOutputRequest : public EC2ProtocolRequest + { + public: + AWS_EC2PROTOCOL_API NoInputAndOutputRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "NoInputAndOutput"; } + + AWS_EC2PROTOCOL_API Aws::String SerializePayload() const override; + + protected: + AWS_EC2PROTOCOL_API void DumpBodyToUrl(Aws::Http::URI& uri ) const override; + + public: + }; + +} // namespace Model +} // namespace EC2Protocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/NoInputAndOutputResponse.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/NoInputAndOutputResponse.h new file mode 100644 index 00000000000..b7b6281d5f8 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/NoInputAndOutputResponse.h @@ -0,0 +1,50 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace EC2Protocol +{ +namespace Model +{ + class NoInputAndOutputResponse + { + public: + AWS_EC2PROTOCOL_API NoInputAndOutputResponse(); + AWS_EC2PROTOCOL_API NoInputAndOutputResponse(const Aws::AmazonWebServiceResult& result); + AWS_EC2PROTOCOL_API NoInputAndOutputResponse& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const ResponseMetadata& GetResponseMetadata() const{ return m_responseMetadata; } + inline void SetResponseMetadata(const ResponseMetadata& value) { m_responseMetadata = value; } + inline void SetResponseMetadata(ResponseMetadata&& value) { m_responseMetadata = std::move(value); } + inline NoInputAndOutputResponse& WithResponseMetadata(const ResponseMetadata& value) { SetResponseMetadata(value); return *this;} + inline NoInputAndOutputResponse& WithResponseMetadata(ResponseMetadata&& value) { SetResponseMetadata(std::move(value)); return *this;} + ///@} + private: + + ResponseMetadata m_responseMetadata; + }; + +} // namespace Model +} // namespace EC2Protocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/PutWithContentEncodingRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/PutWithContentEncodingRequest.h new file mode 100644 index 00000000000..24759b0bea5 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/PutWithContentEncodingRequest.h @@ -0,0 +1,78 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace EC2Protocol +{ +namespace Model +{ + + /** + */ + class PutWithContentEncodingRequest : public EC2ProtocolRequest + { + public: + AWS_EC2PROTOCOL_API PutWithContentEncodingRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "PutWithContentEncoding"; } + + AWS_EC2PROTOCOL_API Aws::String SerializePayload() const override; + +#ifdef ENABLED_ZLIB_REQUEST_COMPRESSION + virtual Aws::Client::CompressionAlgorithm + GetSelectedCompressionAlgorithm(Aws::Client::RequestCompressionConfig config) const override; +#endif + + protected: + AWS_EC2PROTOCOL_API void DumpBodyToUrl(Aws::Http::URI& uri ) const override; + + public: + + ///@{ + + inline const Aws::String& GetEncoding() const{ return m_encoding; } + inline bool EncodingHasBeenSet() const { return m_encodingHasBeenSet; } + inline void SetEncoding(const Aws::String& value) { m_encodingHasBeenSet = true; m_encoding = value; } + inline void SetEncoding(Aws::String&& value) { m_encodingHasBeenSet = true; m_encoding = std::move(value); } + inline void SetEncoding(const char* value) { m_encodingHasBeenSet = true; m_encoding.assign(value); } + inline PutWithContentEncodingRequest& WithEncoding(const Aws::String& value) { SetEncoding(value); return *this;} + inline PutWithContentEncodingRequest& WithEncoding(Aws::String&& value) { SetEncoding(std::move(value)); return *this;} + inline PutWithContentEncodingRequest& WithEncoding(const char* value) { SetEncoding(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetData() const{ return m_data; } + inline bool DataHasBeenSet() const { return m_dataHasBeenSet; } + inline void SetData(const Aws::String& value) { m_dataHasBeenSet = true; m_data = value; } + inline void SetData(Aws::String&& value) { m_dataHasBeenSet = true; m_data = std::move(value); } + inline void SetData(const char* value) { m_dataHasBeenSet = true; m_data.assign(value); } + inline PutWithContentEncodingRequest& WithData(const Aws::String& value) { SetData(value); return *this;} + inline PutWithContentEncodingRequest& WithData(Aws::String&& value) { SetData(std::move(value)); return *this;} + inline PutWithContentEncodingRequest& WithData(const char* value) { SetData(value); return *this;} + ///@} + private: + + Aws::String m_encoding; + bool m_encodingHasBeenSet = false; + + Aws::String m_data; + bool m_dataHasBeenSet = false; + }; + +} // namespace Model +} // namespace EC2Protocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/QueryIdempotencyTokenAutoFillRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/QueryIdempotencyTokenAutoFillRequest.h new file mode 100644 index 00000000000..82108d9c5f3 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/QueryIdempotencyTokenAutoFillRequest.h @@ -0,0 +1,59 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace EC2Protocol +{ +namespace Model +{ + + /** + */ + class QueryIdempotencyTokenAutoFillRequest : public EC2ProtocolRequest + { + public: + AWS_EC2PROTOCOL_API QueryIdempotencyTokenAutoFillRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "QueryIdempotencyTokenAutoFill"; } + + AWS_EC2PROTOCOL_API Aws::String SerializePayload() const override; + + protected: + AWS_EC2PROTOCOL_API void DumpBodyToUrl(Aws::Http::URI& uri ) const override; + + public: + + ///@{ + + inline const Aws::String& GetToken() const{ return m_token; } + inline bool TokenHasBeenSet() const { return m_tokenHasBeenSet; } + inline void SetToken(const Aws::String& value) { m_tokenHasBeenSet = true; m_token = value; } + inline void SetToken(Aws::String&& value) { m_tokenHasBeenSet = true; m_token = std::move(value); } + inline void SetToken(const char* value) { m_tokenHasBeenSet = true; m_token.assign(value); } + inline QueryIdempotencyTokenAutoFillRequest& WithToken(const Aws::String& value) { SetToken(value); return *this;} + inline QueryIdempotencyTokenAutoFillRequest& WithToken(Aws::String&& value) { SetToken(std::move(value)); return *this;} + inline QueryIdempotencyTokenAutoFillRequest& WithToken(const char* value) { SetToken(value); return *this;} + ///@} + private: + + Aws::String m_token; + bool m_tokenHasBeenSet = false; + }; + +} // namespace Model +} // namespace EC2Protocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/QueryListsRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/QueryListsRequest.h new file mode 100644 index 00000000000..02c8fde1a28 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/QueryListsRequest.h @@ -0,0 +1,122 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace EC2Protocol +{ +namespace Model +{ + + /** + */ + class QueryListsRequest : public EC2ProtocolRequest + { + public: + AWS_EC2PROTOCOL_API QueryListsRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "QueryLists"; } + + AWS_EC2PROTOCOL_API Aws::String SerializePayload() const override; + + protected: + AWS_EC2PROTOCOL_API void DumpBodyToUrl(Aws::Http::URI& uri ) const override; + + public: + + ///@{ + + inline const Aws::Vector& GetListArg() const{ return m_listArg; } + inline bool ListArgHasBeenSet() const { return m_listArgHasBeenSet; } + inline void SetListArg(const Aws::Vector& value) { m_listArgHasBeenSet = true; m_listArg = value; } + inline void SetListArg(Aws::Vector&& value) { m_listArgHasBeenSet = true; m_listArg = std::move(value); } + inline QueryListsRequest& WithListArg(const Aws::Vector& value) { SetListArg(value); return *this;} + inline QueryListsRequest& WithListArg(Aws::Vector&& value) { SetListArg(std::move(value)); return *this;} + inline QueryListsRequest& AddListArg(const Aws::String& value) { m_listArgHasBeenSet = true; m_listArg.push_back(value); return *this; } + inline QueryListsRequest& AddListArg(Aws::String&& value) { m_listArgHasBeenSet = true; m_listArg.push_back(std::move(value)); return *this; } + inline QueryListsRequest& AddListArg(const char* value) { m_listArgHasBeenSet = true; m_listArg.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetComplexListArg() const{ return m_complexListArg; } + inline bool ComplexListArgHasBeenSet() const { return m_complexListArgHasBeenSet; } + inline void SetComplexListArg(const Aws::Vector& value) { m_complexListArgHasBeenSet = true; m_complexListArg = value; } + inline void SetComplexListArg(Aws::Vector&& value) { m_complexListArgHasBeenSet = true; m_complexListArg = std::move(value); } + inline QueryListsRequest& WithComplexListArg(const Aws::Vector& value) { SetComplexListArg(value); return *this;} + inline QueryListsRequest& WithComplexListArg(Aws::Vector&& value) { SetComplexListArg(std::move(value)); return *this;} + inline QueryListsRequest& AddComplexListArg(const GreetingStruct& value) { m_complexListArgHasBeenSet = true; m_complexListArg.push_back(value); return *this; } + inline QueryListsRequest& AddComplexListArg(GreetingStruct&& value) { m_complexListArgHasBeenSet = true; m_complexListArg.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetListArgWithXmlNameMember() const{ return m_listArgWithXmlNameMember; } + inline bool ListArgWithXmlNameMemberHasBeenSet() const { return m_listArgWithXmlNameMemberHasBeenSet; } + inline void SetListArgWithXmlNameMember(const Aws::Vector& value) { m_listArgWithXmlNameMemberHasBeenSet = true; m_listArgWithXmlNameMember = value; } + inline void SetListArgWithXmlNameMember(Aws::Vector&& value) { m_listArgWithXmlNameMemberHasBeenSet = true; m_listArgWithXmlNameMember = std::move(value); } + inline QueryListsRequest& WithListArgWithXmlNameMember(const Aws::Vector& value) { SetListArgWithXmlNameMember(value); return *this;} + inline QueryListsRequest& WithListArgWithXmlNameMember(Aws::Vector&& value) { SetListArgWithXmlNameMember(std::move(value)); return *this;} + inline QueryListsRequest& AddListArgWithXmlNameMember(const Aws::String& value) { m_listArgWithXmlNameMemberHasBeenSet = true; m_listArgWithXmlNameMember.push_back(value); return *this; } + inline QueryListsRequest& AddListArgWithXmlNameMember(Aws::String&& value) { m_listArgWithXmlNameMemberHasBeenSet = true; m_listArgWithXmlNameMember.push_back(std::move(value)); return *this; } + inline QueryListsRequest& AddListArgWithXmlNameMember(const char* value) { m_listArgWithXmlNameMemberHasBeenSet = true; m_listArgWithXmlNameMember.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetListArgWithXmlName() const{ return m_listArgWithXmlName; } + inline bool ListArgWithXmlNameHasBeenSet() const { return m_listArgWithXmlNameHasBeenSet; } + inline void SetListArgWithXmlName(const Aws::Vector& value) { m_listArgWithXmlNameHasBeenSet = true; m_listArgWithXmlName = value; } + inline void SetListArgWithXmlName(Aws::Vector&& value) { m_listArgWithXmlNameHasBeenSet = true; m_listArgWithXmlName = std::move(value); } + inline QueryListsRequest& WithListArgWithXmlName(const Aws::Vector& value) { SetListArgWithXmlName(value); return *this;} + inline QueryListsRequest& WithListArgWithXmlName(Aws::Vector&& value) { SetListArgWithXmlName(std::move(value)); return *this;} + inline QueryListsRequest& AddListArgWithXmlName(const Aws::String& value) { m_listArgWithXmlNameHasBeenSet = true; m_listArgWithXmlName.push_back(value); return *this; } + inline QueryListsRequest& AddListArgWithXmlName(Aws::String&& value) { m_listArgWithXmlNameHasBeenSet = true; m_listArgWithXmlName.push_back(std::move(value)); return *this; } + inline QueryListsRequest& AddListArgWithXmlName(const char* value) { m_listArgWithXmlNameHasBeenSet = true; m_listArgWithXmlName.push_back(value); return *this; } + ///@} + + ///@{ + + inline const NestedStructWithList& GetNestedWithList() const{ return m_nestedWithList; } + inline bool NestedWithListHasBeenSet() const { return m_nestedWithListHasBeenSet; } + inline void SetNestedWithList(const NestedStructWithList& value) { m_nestedWithListHasBeenSet = true; m_nestedWithList = value; } + inline void SetNestedWithList(NestedStructWithList&& value) { m_nestedWithListHasBeenSet = true; m_nestedWithList = std::move(value); } + inline QueryListsRequest& WithNestedWithList(const NestedStructWithList& value) { SetNestedWithList(value); return *this;} + inline QueryListsRequest& WithNestedWithList(NestedStructWithList&& value) { SetNestedWithList(std::move(value)); return *this;} + ///@} + private: + + Aws::Vector m_listArg; + bool m_listArgHasBeenSet = false; + + Aws::Vector m_complexListArg; + bool m_complexListArgHasBeenSet = false; + + Aws::Vector m_listArgWithXmlNameMember; + bool m_listArgWithXmlNameMemberHasBeenSet = false; + + Aws::Vector m_listArgWithXmlName; + bool m_listArgWithXmlNameHasBeenSet = false; + + NestedStructWithList m_nestedWithList; + bool m_nestedWithListHasBeenSet = false; + }; + +} // namespace Model +} // namespace EC2Protocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/QueryTimestampsRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/QueryTimestampsRequest.h new file mode 100644 index 00000000000..9e3be432ce9 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/QueryTimestampsRequest.h @@ -0,0 +1,82 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace EC2Protocol +{ +namespace Model +{ + + /** + */ + class QueryTimestampsRequest : public EC2ProtocolRequest + { + public: + AWS_EC2PROTOCOL_API QueryTimestampsRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "QueryTimestamps"; } + + AWS_EC2PROTOCOL_API Aws::String SerializePayload() const override; + + protected: + AWS_EC2PROTOCOL_API void DumpBodyToUrl(Aws::Http::URI& uri ) const override; + + public: + + ///@{ + + inline const Aws::Utils::DateTime& GetNormalFormat() const{ return m_normalFormat; } + inline bool NormalFormatHasBeenSet() const { return m_normalFormatHasBeenSet; } + inline void SetNormalFormat(const Aws::Utils::DateTime& value) { m_normalFormatHasBeenSet = true; m_normalFormat = value; } + inline void SetNormalFormat(Aws::Utils::DateTime&& value) { m_normalFormatHasBeenSet = true; m_normalFormat = std::move(value); } + inline QueryTimestampsRequest& WithNormalFormat(const Aws::Utils::DateTime& value) { SetNormalFormat(value); return *this;} + inline QueryTimestampsRequest& WithNormalFormat(Aws::Utils::DateTime&& value) { SetNormalFormat(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::Utils::DateTime& GetEpochMember() const{ return m_epochMember; } + inline bool EpochMemberHasBeenSet() const { return m_epochMemberHasBeenSet; } + inline void SetEpochMember(const Aws::Utils::DateTime& value) { m_epochMemberHasBeenSet = true; m_epochMember = value; } + inline void SetEpochMember(Aws::Utils::DateTime&& value) { m_epochMemberHasBeenSet = true; m_epochMember = std::move(value); } + inline QueryTimestampsRequest& WithEpochMember(const Aws::Utils::DateTime& value) { SetEpochMember(value); return *this;} + inline QueryTimestampsRequest& WithEpochMember(Aws::Utils::DateTime&& value) { SetEpochMember(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::Utils::DateTime& GetEpochTarget() const{ return m_epochTarget; } + inline bool EpochTargetHasBeenSet() const { return m_epochTargetHasBeenSet; } + inline void SetEpochTarget(const Aws::Utils::DateTime& value) { m_epochTargetHasBeenSet = true; m_epochTarget = value; } + inline void SetEpochTarget(Aws::Utils::DateTime&& value) { m_epochTargetHasBeenSet = true; m_epochTarget = std::move(value); } + inline QueryTimestampsRequest& WithEpochTarget(const Aws::Utils::DateTime& value) { SetEpochTarget(value); return *this;} + inline QueryTimestampsRequest& WithEpochTarget(Aws::Utils::DateTime&& value) { SetEpochTarget(std::move(value)); return *this;} + ///@} + private: + + Aws::Utils::DateTime m_normalFormat; + bool m_normalFormatHasBeenSet = false; + + Aws::Utils::DateTime m_epochMember; + bool m_epochMemberHasBeenSet = false; + + Aws::Utils::DateTime m_epochTarget; + bool m_epochTargetHasBeenSet = false; + }; + +} // namespace Model +} // namespace EC2Protocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/RecursiveXmlShapesOutputNested1.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/RecursiveXmlShapesOutputNested1.h new file mode 100644 index 00000000000..1428be1bcc0 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/RecursiveXmlShapesOutputNested1.h @@ -0,0 +1,71 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace EC2Protocol +{ +namespace Model +{ + class RecursiveXmlShapesOutputNested2; + + class RecursiveXmlShapesOutputNested1 + { + public: + AWS_EC2PROTOCOL_API RecursiveXmlShapesOutputNested1(); + AWS_EC2PROTOCOL_API RecursiveXmlShapesOutputNested1(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_EC2PROTOCOL_API RecursiveXmlShapesOutputNested1& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + AWS_EC2PROTOCOL_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const; + AWS_EC2PROTOCOL_API void OutputToStream(Aws::OStream& oStream, const char* location) const; + + + ///@{ + + inline const Aws::String& GetFoo() const{ return m_foo; } + inline bool FooHasBeenSet() const { return m_fooHasBeenSet; } + inline void SetFoo(const Aws::String& value) { m_fooHasBeenSet = true; m_foo = value; } + inline void SetFoo(Aws::String&& value) { m_fooHasBeenSet = true; m_foo = std::move(value); } + inline void SetFoo(const char* value) { m_fooHasBeenSet = true; m_foo.assign(value); } + inline RecursiveXmlShapesOutputNested1& WithFoo(const Aws::String& value) { SetFoo(value); return *this;} + inline RecursiveXmlShapesOutputNested1& WithFoo(Aws::String&& value) { SetFoo(std::move(value)); return *this;} + inline RecursiveXmlShapesOutputNested1& WithFoo(const char* value) { SetFoo(value); return *this;} + ///@} + + ///@{ + + AWS_EC2PROTOCOL_API const RecursiveXmlShapesOutputNested2& GetNested() const; + AWS_EC2PROTOCOL_API bool NestedHasBeenSet() const; + AWS_EC2PROTOCOL_API void SetNested(const RecursiveXmlShapesOutputNested2& value); + AWS_EC2PROTOCOL_API void SetNested(RecursiveXmlShapesOutputNested2&& value); + AWS_EC2PROTOCOL_API RecursiveXmlShapesOutputNested1& WithNested(const RecursiveXmlShapesOutputNested2& value); + AWS_EC2PROTOCOL_API RecursiveXmlShapesOutputNested1& WithNested(RecursiveXmlShapesOutputNested2&& value); + ///@} + private: + + Aws::String m_foo; + bool m_fooHasBeenSet = false; + + std::shared_ptr m_nested; + bool m_nestedHasBeenSet = false; + }; + +} // namespace Model +} // namespace EC2Protocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/RecursiveXmlShapesOutputNested2.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/RecursiveXmlShapesOutputNested2.h new file mode 100644 index 00000000000..7532421c47c --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/RecursiveXmlShapesOutputNested2.h @@ -0,0 +1,71 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace EC2Protocol +{ +namespace Model +{ + class RecursiveXmlShapesOutputNested1; + + class RecursiveXmlShapesOutputNested2 + { + public: + AWS_EC2PROTOCOL_API RecursiveXmlShapesOutputNested2(); + AWS_EC2PROTOCOL_API RecursiveXmlShapesOutputNested2(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_EC2PROTOCOL_API RecursiveXmlShapesOutputNested2& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + AWS_EC2PROTOCOL_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const; + AWS_EC2PROTOCOL_API void OutputToStream(Aws::OStream& oStream, const char* location) const; + + + ///@{ + + inline const Aws::String& GetBar() const{ return m_bar; } + inline bool BarHasBeenSet() const { return m_barHasBeenSet; } + inline void SetBar(const Aws::String& value) { m_barHasBeenSet = true; m_bar = value; } + inline void SetBar(Aws::String&& value) { m_barHasBeenSet = true; m_bar = std::move(value); } + inline void SetBar(const char* value) { m_barHasBeenSet = true; m_bar.assign(value); } + inline RecursiveXmlShapesOutputNested2& WithBar(const Aws::String& value) { SetBar(value); return *this;} + inline RecursiveXmlShapesOutputNested2& WithBar(Aws::String&& value) { SetBar(std::move(value)); return *this;} + inline RecursiveXmlShapesOutputNested2& WithBar(const char* value) { SetBar(value); return *this;} + ///@} + + ///@{ + + AWS_EC2PROTOCOL_API const RecursiveXmlShapesOutputNested1& GetRecursiveMember() const; + AWS_EC2PROTOCOL_API bool RecursiveMemberHasBeenSet() const; + AWS_EC2PROTOCOL_API void SetRecursiveMember(const RecursiveXmlShapesOutputNested1& value); + AWS_EC2PROTOCOL_API void SetRecursiveMember(RecursiveXmlShapesOutputNested1&& value); + AWS_EC2PROTOCOL_API RecursiveXmlShapesOutputNested2& WithRecursiveMember(const RecursiveXmlShapesOutputNested1& value); + AWS_EC2PROTOCOL_API RecursiveXmlShapesOutputNested2& WithRecursiveMember(RecursiveXmlShapesOutputNested1&& value); + ///@} + private: + + Aws::String m_bar; + bool m_barHasBeenSet = false; + + std::shared_ptr m_recursiveMember; + bool m_recursiveMemberHasBeenSet = false; + }; + +} // namespace Model +} // namespace EC2Protocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/RecursiveXmlShapesRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/RecursiveXmlShapesRequest.h new file mode 100644 index 00000000000..7f607a4ca9b --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/RecursiveXmlShapesRequest.h @@ -0,0 +1,40 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace EC2Protocol +{ +namespace Model +{ + + /** + */ + class RecursiveXmlShapesRequest : public EC2ProtocolRequest + { + public: + AWS_EC2PROTOCOL_API RecursiveXmlShapesRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "RecursiveXmlShapes"; } + + AWS_EC2PROTOCOL_API Aws::String SerializePayload() const override; + + protected: + AWS_EC2PROTOCOL_API void DumpBodyToUrl(Aws::Http::URI& uri ) const override; + + public: + }; + +} // namespace Model +} // namespace EC2Protocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/RecursiveXmlShapesResponse.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/RecursiveXmlShapesResponse.h new file mode 100644 index 00000000000..3cad75ec261 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/RecursiveXmlShapesResponse.h @@ -0,0 +1,62 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace EC2Protocol +{ +namespace Model +{ + class RecursiveXmlShapesResponse + { + public: + AWS_EC2PROTOCOL_API RecursiveXmlShapesResponse(); + AWS_EC2PROTOCOL_API RecursiveXmlShapesResponse(const Aws::AmazonWebServiceResult& result); + AWS_EC2PROTOCOL_API RecursiveXmlShapesResponse& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const RecursiveXmlShapesOutputNested1& GetNested() const{ return m_nested; } + inline void SetNested(const RecursiveXmlShapesOutputNested1& value) { m_nested = value; } + inline void SetNested(RecursiveXmlShapesOutputNested1&& value) { m_nested = std::move(value); } + inline RecursiveXmlShapesResponse& WithNested(const RecursiveXmlShapesOutputNested1& value) { SetNested(value); return *this;} + inline RecursiveXmlShapesResponse& WithNested(RecursiveXmlShapesOutputNested1&& value) { SetNested(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const ResponseMetadata& GetResponseMetadata() const{ return m_responseMetadata; } + inline void SetResponseMetadata(const ResponseMetadata& value) { m_responseMetadata = value; } + inline void SetResponseMetadata(ResponseMetadata&& value) { m_responseMetadata = std::move(value); } + inline RecursiveXmlShapesResponse& WithResponseMetadata(const ResponseMetadata& value) { SetResponseMetadata(value); return *this;} + inline RecursiveXmlShapesResponse& WithResponseMetadata(ResponseMetadata&& value) { SetResponseMetadata(std::move(value)); return *this;} + ///@} + private: + + RecursiveXmlShapesOutputNested1 m_nested; + + ResponseMetadata m_responseMetadata; + }; + +} // namespace Model +} // namespace EC2Protocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/ResponseMetadata.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/ResponseMetadata.h new file mode 100644 index 00000000000..aafb3cc9b37 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/ResponseMetadata.h @@ -0,0 +1,56 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace EC2Protocol +{ +namespace Model +{ + + class ResponseMetadata + { + public: + AWS_EC2PROTOCOL_API ResponseMetadata(); + AWS_EC2PROTOCOL_API ResponseMetadata(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_EC2PROTOCOL_API ResponseMetadata& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + AWS_EC2PROTOCOL_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const; + AWS_EC2PROTOCOL_API void OutputToStream(Aws::OStream& oStream, const char* location) const; + + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline bool RequestIdHasBeenSet() const { return m_requestIdHasBeenSet; } + inline void SetRequestId(const Aws::String& value) { m_requestIdHasBeenSet = true; m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestIdHasBeenSet = true; m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestIdHasBeenSet = true; m_requestId.assign(value); } + inline ResponseMetadata& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline ResponseMetadata& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline ResponseMetadata& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace EC2Protocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/SimpleInputParamsRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/SimpleInputParamsRequest.h new file mode 100644 index 00000000000..9af12c98822 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/SimpleInputParamsRequest.h @@ -0,0 +1,190 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace EC2Protocol +{ +namespace Model +{ + + /** + */ + class SimpleInputParamsRequest : public EC2ProtocolRequest + { + public: + AWS_EC2PROTOCOL_API SimpleInputParamsRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "SimpleInputParams"; } + + AWS_EC2PROTOCOL_API Aws::String SerializePayload() const override; + + protected: + AWS_EC2PROTOCOL_API void DumpBodyToUrl(Aws::Http::URI& uri ) const override; + + public: + + ///@{ + + inline const Aws::String& GetFoo() const{ return m_foo; } + inline bool FooHasBeenSet() const { return m_fooHasBeenSet; } + inline void SetFoo(const Aws::String& value) { m_fooHasBeenSet = true; m_foo = value; } + inline void SetFoo(Aws::String&& value) { m_fooHasBeenSet = true; m_foo = std::move(value); } + inline void SetFoo(const char* value) { m_fooHasBeenSet = true; m_foo.assign(value); } + inline SimpleInputParamsRequest& WithFoo(const Aws::String& value) { SetFoo(value); return *this;} + inline SimpleInputParamsRequest& WithFoo(Aws::String&& value) { SetFoo(std::move(value)); return *this;} + inline SimpleInputParamsRequest& WithFoo(const char* value) { SetFoo(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetBar() const{ return m_bar; } + inline bool BarHasBeenSet() const { return m_barHasBeenSet; } + inline void SetBar(const Aws::String& value) { m_barHasBeenSet = true; m_bar = value; } + inline void SetBar(Aws::String&& value) { m_barHasBeenSet = true; m_bar = std::move(value); } + inline void SetBar(const char* value) { m_barHasBeenSet = true; m_bar.assign(value); } + inline SimpleInputParamsRequest& WithBar(const Aws::String& value) { SetBar(value); return *this;} + inline SimpleInputParamsRequest& WithBar(Aws::String&& value) { SetBar(std::move(value)); return *this;} + inline SimpleInputParamsRequest& WithBar(const char* value) { SetBar(value); return *this;} + ///@} + + ///@{ + + inline bool GetBaz() const{ return m_baz; } + inline bool BazHasBeenSet() const { return m_bazHasBeenSet; } + inline void SetBaz(bool value) { m_bazHasBeenSet = true; m_baz = value; } + inline SimpleInputParamsRequest& WithBaz(bool value) { SetBaz(value); return *this;} + ///@} + + ///@{ + + inline int GetBam() const{ return m_bam; } + inline bool BamHasBeenSet() const { return m_bamHasBeenSet; } + inline void SetBam(int value) { m_bamHasBeenSet = true; m_bam = value; } + inline SimpleInputParamsRequest& WithBam(int value) { SetBam(value); return *this;} + ///@} + + ///@{ + + inline double GetFloatValue() const{ return m_floatValue; } + inline bool FloatValueHasBeenSet() const { return m_floatValueHasBeenSet; } + inline void SetFloatValue(double value) { m_floatValueHasBeenSet = true; m_floatValue = value; } + inline SimpleInputParamsRequest& WithFloatValue(double value) { SetFloatValue(value); return *this;} + ///@} + + ///@{ + + inline double GetBoo() const{ return m_boo; } + inline bool BooHasBeenSet() const { return m_booHasBeenSet; } + inline void SetBoo(double value) { m_booHasBeenSet = true; m_boo = value; } + inline SimpleInputParamsRequest& WithBoo(double value) { SetBoo(value); return *this;} + ///@} + + ///@{ + + inline const Aws::Utils::ByteBuffer& GetQux() const{ return m_qux; } + inline bool QuxHasBeenSet() const { return m_quxHasBeenSet; } + inline void SetQux(const Aws::Utils::ByteBuffer& value) { m_quxHasBeenSet = true; m_qux = value; } + inline void SetQux(Aws::Utils::ByteBuffer&& value) { m_quxHasBeenSet = true; m_qux = std::move(value); } + inline SimpleInputParamsRequest& WithQux(const Aws::Utils::ByteBuffer& value) { SetQux(value); return *this;} + inline SimpleInputParamsRequest& WithQux(Aws::Utils::ByteBuffer&& value) { SetQux(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const FooEnum& GetFooEnum() const{ return m_fooEnum; } + inline bool FooEnumHasBeenSet() const { return m_fooEnumHasBeenSet; } + inline void SetFooEnum(const FooEnum& value) { m_fooEnumHasBeenSet = true; m_fooEnum = value; } + inline void SetFooEnum(FooEnum&& value) { m_fooEnumHasBeenSet = true; m_fooEnum = std::move(value); } + inline SimpleInputParamsRequest& WithFooEnum(const FooEnum& value) { SetFooEnum(value); return *this;} + inline SimpleInputParamsRequest& WithFooEnum(FooEnum&& value) { SetFooEnum(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetHasQueryName() const{ return m_hasQueryName; } + inline bool HasQueryNameHasBeenSet() const { return m_hasQueryNameHasBeenSet; } + inline void SetHasQueryName(const Aws::String& value) { m_hasQueryNameHasBeenSet = true; m_hasQueryName = value; } + inline void SetHasQueryName(Aws::String&& value) { m_hasQueryNameHasBeenSet = true; m_hasQueryName = std::move(value); } + inline void SetHasQueryName(const char* value) { m_hasQueryNameHasBeenSet = true; m_hasQueryName.assign(value); } + inline SimpleInputParamsRequest& WithHasQueryName(const Aws::String& value) { SetHasQueryName(value); return *this;} + inline SimpleInputParamsRequest& WithHasQueryName(Aws::String&& value) { SetHasQueryName(std::move(value)); return *this;} + inline SimpleInputParamsRequest& WithHasQueryName(const char* value) { SetHasQueryName(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetHasQueryAndXmlName() const{ return m_hasQueryAndXmlName; } + inline bool HasQueryAndXmlNameHasBeenSet() const { return m_hasQueryAndXmlNameHasBeenSet; } + inline void SetHasQueryAndXmlName(const Aws::String& value) { m_hasQueryAndXmlNameHasBeenSet = true; m_hasQueryAndXmlName = value; } + inline void SetHasQueryAndXmlName(Aws::String&& value) { m_hasQueryAndXmlNameHasBeenSet = true; m_hasQueryAndXmlName = std::move(value); } + inline void SetHasQueryAndXmlName(const char* value) { m_hasQueryAndXmlNameHasBeenSet = true; m_hasQueryAndXmlName.assign(value); } + inline SimpleInputParamsRequest& WithHasQueryAndXmlName(const Aws::String& value) { SetHasQueryAndXmlName(value); return *this;} + inline SimpleInputParamsRequest& WithHasQueryAndXmlName(Aws::String&& value) { SetHasQueryAndXmlName(std::move(value)); return *this;} + inline SimpleInputParamsRequest& WithHasQueryAndXmlName(const char* value) { SetHasQueryAndXmlName(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetUsesXmlName() const{ return m_usesXmlName; } + inline bool UsesXmlNameHasBeenSet() const { return m_usesXmlNameHasBeenSet; } + inline void SetUsesXmlName(const Aws::String& value) { m_usesXmlNameHasBeenSet = true; m_usesXmlName = value; } + inline void SetUsesXmlName(Aws::String&& value) { m_usesXmlNameHasBeenSet = true; m_usesXmlName = std::move(value); } + inline void SetUsesXmlName(const char* value) { m_usesXmlNameHasBeenSet = true; m_usesXmlName.assign(value); } + inline SimpleInputParamsRequest& WithUsesXmlName(const Aws::String& value) { SetUsesXmlName(value); return *this;} + inline SimpleInputParamsRequest& WithUsesXmlName(Aws::String&& value) { SetUsesXmlName(std::move(value)); return *this;} + inline SimpleInputParamsRequest& WithUsesXmlName(const char* value) { SetUsesXmlName(value); return *this;} + ///@} + private: + + Aws::String m_foo; + bool m_fooHasBeenSet = false; + + Aws::String m_bar; + bool m_barHasBeenSet = false; + + bool m_baz; + bool m_bazHasBeenSet = false; + + int m_bam; + bool m_bamHasBeenSet = false; + + double m_floatValue; + bool m_floatValueHasBeenSet = false; + + double m_boo; + bool m_booHasBeenSet = false; + + Aws::Utils::ByteBuffer m_qux; + bool m_quxHasBeenSet = false; + + FooEnum m_fooEnum; + bool m_fooEnumHasBeenSet = false; + + Aws::String m_hasQueryName; + bool m_hasQueryNameHasBeenSet = false; + + Aws::String m_hasQueryAndXmlName; + bool m_hasQueryAndXmlNameHasBeenSet = false; + + Aws::String m_usesXmlName; + bool m_usesXmlNameHasBeenSet = false; + }; + +} // namespace Model +} // namespace EC2Protocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/SimpleScalarXmlPropertiesRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/SimpleScalarXmlPropertiesRequest.h new file mode 100644 index 00000000000..47e7bec7a12 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/SimpleScalarXmlPropertiesRequest.h @@ -0,0 +1,40 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace EC2Protocol +{ +namespace Model +{ + + /** + */ + class SimpleScalarXmlPropertiesRequest : public EC2ProtocolRequest + { + public: + AWS_EC2PROTOCOL_API SimpleScalarXmlPropertiesRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "SimpleScalarXmlProperties"; } + + AWS_EC2PROTOCOL_API Aws::String SerializePayload() const override; + + protected: + AWS_EC2PROTOCOL_API void DumpBodyToUrl(Aws::Http::URI& uri ) const override; + + public: + }; + +} // namespace Model +} // namespace EC2Protocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/SimpleScalarXmlPropertiesResponse.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/SimpleScalarXmlPropertiesResponse.h new file mode 100644 index 00000000000..5520494d91f --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/SimpleScalarXmlPropertiesResponse.h @@ -0,0 +1,149 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace EC2Protocol +{ +namespace Model +{ + class SimpleScalarXmlPropertiesResponse + { + public: + AWS_EC2PROTOCOL_API SimpleScalarXmlPropertiesResponse(); + AWS_EC2PROTOCOL_API SimpleScalarXmlPropertiesResponse(const Aws::AmazonWebServiceResult& result); + AWS_EC2PROTOCOL_API SimpleScalarXmlPropertiesResponse& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::String& GetStringValue() const{ return m_stringValue; } + inline void SetStringValue(const Aws::String& value) { m_stringValue = value; } + inline void SetStringValue(Aws::String&& value) { m_stringValue = std::move(value); } + inline void SetStringValue(const char* value) { m_stringValue.assign(value); } + inline SimpleScalarXmlPropertiesResponse& WithStringValue(const Aws::String& value) { SetStringValue(value); return *this;} + inline SimpleScalarXmlPropertiesResponse& WithStringValue(Aws::String&& value) { SetStringValue(std::move(value)); return *this;} + inline SimpleScalarXmlPropertiesResponse& WithStringValue(const char* value) { SetStringValue(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetEmptyStringValue() const{ return m_emptyStringValue; } + inline void SetEmptyStringValue(const Aws::String& value) { m_emptyStringValue = value; } + inline void SetEmptyStringValue(Aws::String&& value) { m_emptyStringValue = std::move(value); } + inline void SetEmptyStringValue(const char* value) { m_emptyStringValue.assign(value); } + inline SimpleScalarXmlPropertiesResponse& WithEmptyStringValue(const Aws::String& value) { SetEmptyStringValue(value); return *this;} + inline SimpleScalarXmlPropertiesResponse& WithEmptyStringValue(Aws::String&& value) { SetEmptyStringValue(std::move(value)); return *this;} + inline SimpleScalarXmlPropertiesResponse& WithEmptyStringValue(const char* value) { SetEmptyStringValue(value); return *this;} + ///@} + + ///@{ + + inline bool GetTrueBooleanValue() const{ return m_trueBooleanValue; } + inline void SetTrueBooleanValue(bool value) { m_trueBooleanValue = value; } + inline SimpleScalarXmlPropertiesResponse& WithTrueBooleanValue(bool value) { SetTrueBooleanValue(value); return *this;} + ///@} + + ///@{ + + inline bool GetFalseBooleanValue() const{ return m_falseBooleanValue; } + inline void SetFalseBooleanValue(bool value) { m_falseBooleanValue = value; } + inline SimpleScalarXmlPropertiesResponse& WithFalseBooleanValue(bool value) { SetFalseBooleanValue(value); return *this;} + ///@} + + ///@{ + + inline int GetByteValue() const{ return m_byteValue; } + inline void SetByteValue(int value) { m_byteValue = value; } + inline SimpleScalarXmlPropertiesResponse& WithByteValue(int value) { SetByteValue(value); return *this;} + ///@} + + ///@{ + + inline int GetShortValue() const{ return m_shortValue; } + inline void SetShortValue(int value) { m_shortValue = value; } + inline SimpleScalarXmlPropertiesResponse& WithShortValue(int value) { SetShortValue(value); return *this;} + ///@} + + ///@{ + + inline int GetIntegerValue() const{ return m_integerValue; } + inline void SetIntegerValue(int value) { m_integerValue = value; } + inline SimpleScalarXmlPropertiesResponse& WithIntegerValue(int value) { SetIntegerValue(value); return *this;} + ///@} + + ///@{ + + inline long long GetLongValue() const{ return m_longValue; } + inline void SetLongValue(long long value) { m_longValue = value; } + inline SimpleScalarXmlPropertiesResponse& WithLongValue(long long value) { SetLongValue(value); return *this;} + ///@} + + ///@{ + + inline double GetFloatValue() const{ return m_floatValue; } + inline void SetFloatValue(double value) { m_floatValue = value; } + inline SimpleScalarXmlPropertiesResponse& WithFloatValue(double value) { SetFloatValue(value); return *this;} + ///@} + + ///@{ + + inline double GetDoubleValue() const{ return m_doubleValue; } + inline void SetDoubleValue(double value) { m_doubleValue = value; } + inline SimpleScalarXmlPropertiesResponse& WithDoubleValue(double value) { SetDoubleValue(value); return *this;} + ///@} + + ///@{ + + inline const ResponseMetadata& GetResponseMetadata() const{ return m_responseMetadata; } + inline void SetResponseMetadata(const ResponseMetadata& value) { m_responseMetadata = value; } + inline void SetResponseMetadata(ResponseMetadata&& value) { m_responseMetadata = std::move(value); } + inline SimpleScalarXmlPropertiesResponse& WithResponseMetadata(const ResponseMetadata& value) { SetResponseMetadata(value); return *this;} + inline SimpleScalarXmlPropertiesResponse& WithResponseMetadata(ResponseMetadata&& value) { SetResponseMetadata(std::move(value)); return *this;} + ///@} + private: + + Aws::String m_stringValue; + + Aws::String m_emptyStringValue; + + bool m_trueBooleanValue; + + bool m_falseBooleanValue; + + int m_byteValue; + + int m_shortValue; + + int m_integerValue; + + long long m_longValue; + + double m_floatValue; + + double m_doubleValue; + + ResponseMetadata m_responseMetadata; + }; + +} // namespace Model +} // namespace EC2Protocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/StructArg.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/StructArg.h new file mode 100644 index 00000000000..e8f3976de77 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/StructArg.h @@ -0,0 +1,80 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace EC2Protocol +{ +namespace Model +{ + + class StructArg + { + public: + AWS_EC2PROTOCOL_API StructArg(); + AWS_EC2PROTOCOL_API StructArg(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_EC2PROTOCOL_API StructArg& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + AWS_EC2PROTOCOL_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const; + AWS_EC2PROTOCOL_API void OutputToStream(Aws::OStream& oStream, const char* location) const; + + + ///@{ + + inline const Aws::String& GetStringArg() const{ return m_stringArg; } + inline bool StringArgHasBeenSet() const { return m_stringArgHasBeenSet; } + inline void SetStringArg(const Aws::String& value) { m_stringArgHasBeenSet = true; m_stringArg = value; } + inline void SetStringArg(Aws::String&& value) { m_stringArgHasBeenSet = true; m_stringArg = std::move(value); } + inline void SetStringArg(const char* value) { m_stringArgHasBeenSet = true; m_stringArg.assign(value); } + inline StructArg& WithStringArg(const Aws::String& value) { SetStringArg(value); return *this;} + inline StructArg& WithStringArg(Aws::String&& value) { SetStringArg(std::move(value)); return *this;} + inline StructArg& WithStringArg(const char* value) { SetStringArg(value); return *this;} + ///@} + + ///@{ + + inline bool GetOtherArg() const{ return m_otherArg; } + inline bool OtherArgHasBeenSet() const { return m_otherArgHasBeenSet; } + inline void SetOtherArg(bool value) { m_otherArgHasBeenSet = true; m_otherArg = value; } + inline StructArg& WithOtherArg(bool value) { SetOtherArg(value); return *this;} + ///@} + + ///@{ + + AWS_EC2PROTOCOL_API const StructArg& GetRecursiveArg() const; + AWS_EC2PROTOCOL_API bool RecursiveArgHasBeenSet() const; + AWS_EC2PROTOCOL_API void SetRecursiveArg(const StructArg& value); + AWS_EC2PROTOCOL_API void SetRecursiveArg(StructArg&& value); + AWS_EC2PROTOCOL_API StructArg& WithRecursiveArg(const StructArg& value); + AWS_EC2PROTOCOL_API StructArg& WithRecursiveArg(StructArg&& value); + ///@} + private: + + Aws::String m_stringArg; + bool m_stringArgHasBeenSet = false; + + bool m_otherArg; + bool m_otherArgHasBeenSet = false; + + std::shared_ptr m_recursiveArg; + bool m_recursiveArgHasBeenSet = false; + }; + +} // namespace Model +} // namespace EC2Protocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/StructureListMember.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/StructureListMember.h new file mode 100644 index 00000000000..5d956de48b0 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/StructureListMember.h @@ -0,0 +1,71 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace EC2Protocol +{ +namespace Model +{ + + class StructureListMember + { + public: + AWS_EC2PROTOCOL_API StructureListMember(); + AWS_EC2PROTOCOL_API StructureListMember(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_EC2PROTOCOL_API StructureListMember& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + AWS_EC2PROTOCOL_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const; + AWS_EC2PROTOCOL_API void OutputToStream(Aws::OStream& oStream, const char* location) const; + + + ///@{ + + inline const Aws::String& GetA() const{ return m_a; } + inline bool AHasBeenSet() const { return m_aHasBeenSet; } + inline void SetA(const Aws::String& value) { m_aHasBeenSet = true; m_a = value; } + inline void SetA(Aws::String&& value) { m_aHasBeenSet = true; m_a = std::move(value); } + inline void SetA(const char* value) { m_aHasBeenSet = true; m_a.assign(value); } + inline StructureListMember& WithA(const Aws::String& value) { SetA(value); return *this;} + inline StructureListMember& WithA(Aws::String&& value) { SetA(std::move(value)); return *this;} + inline StructureListMember& WithA(const char* value) { SetA(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetB() const{ return m_b; } + inline bool BHasBeenSet() const { return m_bHasBeenSet; } + inline void SetB(const Aws::String& value) { m_bHasBeenSet = true; m_b = value; } + inline void SetB(Aws::String&& value) { m_bHasBeenSet = true; m_b = std::move(value); } + inline void SetB(const char* value) { m_bHasBeenSet = true; m_b.assign(value); } + inline StructureListMember& WithB(const Aws::String& value) { SetB(value); return *this;} + inline StructureListMember& WithB(Aws::String&& value) { SetB(std::move(value)); return *this;} + inline StructureListMember& WithB(const char* value) { SetB(value); return *this;} + ///@} + private: + + Aws::String m_a; + bool m_aHasBeenSet = false; + + Aws::String m_b; + bool m_bHasBeenSet = false; + }; + +} // namespace Model +} // namespace EC2Protocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/XmlBlobsRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/XmlBlobsRequest.h new file mode 100644 index 00000000000..9faa84b689c --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/XmlBlobsRequest.h @@ -0,0 +1,40 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace EC2Protocol +{ +namespace Model +{ + + /** + */ + class XmlBlobsRequest : public EC2ProtocolRequest + { + public: + AWS_EC2PROTOCOL_API XmlBlobsRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "XmlBlobs"; } + + AWS_EC2PROTOCOL_API Aws::String SerializePayload() const override; + + protected: + AWS_EC2PROTOCOL_API void DumpBodyToUrl(Aws::Http::URI& uri ) const override; + + public: + }; + +} // namespace Model +} // namespace EC2Protocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/XmlBlobsResponse.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/XmlBlobsResponse.h new file mode 100644 index 00000000000..4e4ba706b97 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/XmlBlobsResponse.h @@ -0,0 +1,62 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace EC2Protocol +{ +namespace Model +{ + class XmlBlobsResponse + { + public: + AWS_EC2PROTOCOL_API XmlBlobsResponse(); + AWS_EC2PROTOCOL_API XmlBlobsResponse(const Aws::AmazonWebServiceResult& result); + AWS_EC2PROTOCOL_API XmlBlobsResponse& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::Utils::ByteBuffer& GetData() const{ return m_data; } + inline void SetData(const Aws::Utils::ByteBuffer& value) { m_data = value; } + inline void SetData(Aws::Utils::ByteBuffer&& value) { m_data = std::move(value); } + inline XmlBlobsResponse& WithData(const Aws::Utils::ByteBuffer& value) { SetData(value); return *this;} + inline XmlBlobsResponse& WithData(Aws::Utils::ByteBuffer&& value) { SetData(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const ResponseMetadata& GetResponseMetadata() const{ return m_responseMetadata; } + inline void SetResponseMetadata(const ResponseMetadata& value) { m_responseMetadata = value; } + inline void SetResponseMetadata(ResponseMetadata&& value) { m_responseMetadata = std::move(value); } + inline XmlBlobsResponse& WithResponseMetadata(const ResponseMetadata& value) { SetResponseMetadata(value); return *this;} + inline XmlBlobsResponse& WithResponseMetadata(ResponseMetadata&& value) { SetResponseMetadata(std::move(value)); return *this;} + ///@} + private: + + Aws::Utils::ByteBuffer m_data; + + ResponseMetadata m_responseMetadata; + }; + +} // namespace Model +} // namespace EC2Protocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/XmlEmptyBlobsRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/XmlEmptyBlobsRequest.h new file mode 100644 index 00000000000..2d6198f53b6 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/XmlEmptyBlobsRequest.h @@ -0,0 +1,40 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace EC2Protocol +{ +namespace Model +{ + + /** + */ + class XmlEmptyBlobsRequest : public EC2ProtocolRequest + { + public: + AWS_EC2PROTOCOL_API XmlEmptyBlobsRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "XmlEmptyBlobs"; } + + AWS_EC2PROTOCOL_API Aws::String SerializePayload() const override; + + protected: + AWS_EC2PROTOCOL_API void DumpBodyToUrl(Aws::Http::URI& uri ) const override; + + public: + }; + +} // namespace Model +} // namespace EC2Protocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/XmlEmptyBlobsResponse.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/XmlEmptyBlobsResponse.h new file mode 100644 index 00000000000..ed855ff7040 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/XmlEmptyBlobsResponse.h @@ -0,0 +1,62 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace EC2Protocol +{ +namespace Model +{ + class XmlEmptyBlobsResponse + { + public: + AWS_EC2PROTOCOL_API XmlEmptyBlobsResponse(); + AWS_EC2PROTOCOL_API XmlEmptyBlobsResponse(const Aws::AmazonWebServiceResult& result); + AWS_EC2PROTOCOL_API XmlEmptyBlobsResponse& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::Utils::ByteBuffer& GetData() const{ return m_data; } + inline void SetData(const Aws::Utils::ByteBuffer& value) { m_data = value; } + inline void SetData(Aws::Utils::ByteBuffer&& value) { m_data = std::move(value); } + inline XmlEmptyBlobsResponse& WithData(const Aws::Utils::ByteBuffer& value) { SetData(value); return *this;} + inline XmlEmptyBlobsResponse& WithData(Aws::Utils::ByteBuffer&& value) { SetData(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const ResponseMetadata& GetResponseMetadata() const{ return m_responseMetadata; } + inline void SetResponseMetadata(const ResponseMetadata& value) { m_responseMetadata = value; } + inline void SetResponseMetadata(ResponseMetadata&& value) { m_responseMetadata = std::move(value); } + inline XmlEmptyBlobsResponse& WithResponseMetadata(const ResponseMetadata& value) { SetResponseMetadata(value); return *this;} + inline XmlEmptyBlobsResponse& WithResponseMetadata(ResponseMetadata&& value) { SetResponseMetadata(std::move(value)); return *this;} + ///@} + private: + + Aws::Utils::ByteBuffer m_data; + + ResponseMetadata m_responseMetadata; + }; + +} // namespace Model +} // namespace EC2Protocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/XmlEmptyListsRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/XmlEmptyListsRequest.h new file mode 100644 index 00000000000..484f7e81e00 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/XmlEmptyListsRequest.h @@ -0,0 +1,40 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace EC2Protocol +{ +namespace Model +{ + + /** + */ + class XmlEmptyListsRequest : public EC2ProtocolRequest + { + public: + AWS_EC2PROTOCOL_API XmlEmptyListsRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "XmlEmptyLists"; } + + AWS_EC2PROTOCOL_API Aws::String SerializePayload() const override; + + protected: + AWS_EC2PROTOCOL_API void DumpBodyToUrl(Aws::Http::URI& uri ) const override; + + public: + }; + +} // namespace Model +} // namespace EC2Protocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/XmlEmptyListsResponse.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/XmlEmptyListsResponse.h new file mode 100644 index 00000000000..59ce2efdd84 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/XmlEmptyListsResponse.h @@ -0,0 +1,241 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace EC2Protocol +{ +namespace Model +{ + class XmlEmptyListsResponse + { + public: + AWS_EC2PROTOCOL_API XmlEmptyListsResponse(); + AWS_EC2PROTOCOL_API XmlEmptyListsResponse(const Aws::AmazonWebServiceResult& result); + AWS_EC2PROTOCOL_API XmlEmptyListsResponse& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::Vector& GetStringList() const{ return m_stringList; } + inline void SetStringList(const Aws::Vector& value) { m_stringList = value; } + inline void SetStringList(Aws::Vector&& value) { m_stringList = std::move(value); } + inline XmlEmptyListsResponse& WithStringList(const Aws::Vector& value) { SetStringList(value); return *this;} + inline XmlEmptyListsResponse& WithStringList(Aws::Vector&& value) { SetStringList(std::move(value)); return *this;} + inline XmlEmptyListsResponse& AddStringList(const Aws::String& value) { m_stringList.push_back(value); return *this; } + inline XmlEmptyListsResponse& AddStringList(Aws::String&& value) { m_stringList.push_back(std::move(value)); return *this; } + inline XmlEmptyListsResponse& AddStringList(const char* value) { m_stringList.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetStringSet() const{ return m_stringSet; } + inline void SetStringSet(const Aws::Vector& value) { m_stringSet = value; } + inline void SetStringSet(Aws::Vector&& value) { m_stringSet = std::move(value); } + inline XmlEmptyListsResponse& WithStringSet(const Aws::Vector& value) { SetStringSet(value); return *this;} + inline XmlEmptyListsResponse& WithStringSet(Aws::Vector&& value) { SetStringSet(std::move(value)); return *this;} + inline XmlEmptyListsResponse& AddStringSet(const Aws::String& value) { m_stringSet.push_back(value); return *this; } + inline XmlEmptyListsResponse& AddStringSet(Aws::String&& value) { m_stringSet.push_back(std::move(value)); return *this; } + inline XmlEmptyListsResponse& AddStringSet(const char* value) { m_stringSet.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetIntegerList() const{ return m_integerList; } + inline void SetIntegerList(const Aws::Vector& value) { m_integerList = value; } + inline void SetIntegerList(Aws::Vector&& value) { m_integerList = std::move(value); } + inline XmlEmptyListsResponse& WithIntegerList(const Aws::Vector& value) { SetIntegerList(value); return *this;} + inline XmlEmptyListsResponse& WithIntegerList(Aws::Vector&& value) { SetIntegerList(std::move(value)); return *this;} + inline XmlEmptyListsResponse& AddIntegerList(int value) { m_integerList.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetBooleanList() const{ return m_booleanList; } + inline void SetBooleanList(const Aws::Vector& value) { m_booleanList = value; } + inline void SetBooleanList(Aws::Vector&& value) { m_booleanList = std::move(value); } + inline XmlEmptyListsResponse& WithBooleanList(const Aws::Vector& value) { SetBooleanList(value); return *this;} + inline XmlEmptyListsResponse& WithBooleanList(Aws::Vector&& value) { SetBooleanList(std::move(value)); return *this;} + inline XmlEmptyListsResponse& AddBooleanList(bool value) { m_booleanList.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetTimestampList() const{ return m_timestampList; } + inline void SetTimestampList(const Aws::Vector& value) { m_timestampList = value; } + inline void SetTimestampList(Aws::Vector&& value) { m_timestampList = std::move(value); } + inline XmlEmptyListsResponse& WithTimestampList(const Aws::Vector& value) { SetTimestampList(value); return *this;} + inline XmlEmptyListsResponse& WithTimestampList(Aws::Vector&& value) { SetTimestampList(std::move(value)); return *this;} + inline XmlEmptyListsResponse& AddTimestampList(const Aws::Utils::DateTime& value) { m_timestampList.push_back(value); return *this; } + inline XmlEmptyListsResponse& AddTimestampList(Aws::Utils::DateTime&& value) { m_timestampList.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetEnumList() const{ return m_enumList; } + inline void SetEnumList(const Aws::Vector& value) { m_enumList = value; } + inline void SetEnumList(Aws::Vector&& value) { m_enumList = std::move(value); } + inline XmlEmptyListsResponse& WithEnumList(const Aws::Vector& value) { SetEnumList(value); return *this;} + inline XmlEmptyListsResponse& WithEnumList(Aws::Vector&& value) { SetEnumList(std::move(value)); return *this;} + inline XmlEmptyListsResponse& AddEnumList(const FooEnum& value) { m_enumList.push_back(value); return *this; } + inline XmlEmptyListsResponse& AddEnumList(FooEnum&& value) { m_enumList.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetIntEnumList() const{ return m_intEnumList; } + inline void SetIntEnumList(const Aws::Vector& value) { m_intEnumList = value; } + inline void SetIntEnumList(Aws::Vector&& value) { m_intEnumList = std::move(value); } + inline XmlEmptyListsResponse& WithIntEnumList(const Aws::Vector& value) { SetIntEnumList(value); return *this;} + inline XmlEmptyListsResponse& WithIntEnumList(Aws::Vector&& value) { SetIntEnumList(std::move(value)); return *this;} + inline XmlEmptyListsResponse& AddIntEnumList(int value) { m_intEnumList.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector>& GetNestedStringList() const{ return m_nestedStringList; } + inline void SetNestedStringList(const Aws::Vector>& value) { m_nestedStringList = value; } + inline void SetNestedStringList(Aws::Vector>&& value) { m_nestedStringList = std::move(value); } + inline XmlEmptyListsResponse& WithNestedStringList(const Aws::Vector>& value) { SetNestedStringList(value); return *this;} + inline XmlEmptyListsResponse& WithNestedStringList(Aws::Vector>&& value) { SetNestedStringList(std::move(value)); return *this;} + inline XmlEmptyListsResponse& AddNestedStringList(const Aws::Vector& value) { m_nestedStringList.push_back(value); return *this; } + inline XmlEmptyListsResponse& AddNestedStringList(Aws::Vector&& value) { m_nestedStringList.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetRenamedListMembers() const{ return m_renamedListMembers; } + inline void SetRenamedListMembers(const Aws::Vector& value) { m_renamedListMembers = value; } + inline void SetRenamedListMembers(Aws::Vector&& value) { m_renamedListMembers = std::move(value); } + inline XmlEmptyListsResponse& WithRenamedListMembers(const Aws::Vector& value) { SetRenamedListMembers(value); return *this;} + inline XmlEmptyListsResponse& WithRenamedListMembers(Aws::Vector&& value) { SetRenamedListMembers(std::move(value)); return *this;} + inline XmlEmptyListsResponse& AddRenamedListMembers(const Aws::String& value) { m_renamedListMembers.push_back(value); return *this; } + inline XmlEmptyListsResponse& AddRenamedListMembers(Aws::String&& value) { m_renamedListMembers.push_back(std::move(value)); return *this; } + inline XmlEmptyListsResponse& AddRenamedListMembers(const char* value) { m_renamedListMembers.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetFlattenedList() const{ return m_flattenedList; } + inline void SetFlattenedList(const Aws::Vector& value) { m_flattenedList = value; } + inline void SetFlattenedList(Aws::Vector&& value) { m_flattenedList = std::move(value); } + inline XmlEmptyListsResponse& WithFlattenedList(const Aws::Vector& value) { SetFlattenedList(value); return *this;} + inline XmlEmptyListsResponse& WithFlattenedList(Aws::Vector&& value) { SetFlattenedList(std::move(value)); return *this;} + inline XmlEmptyListsResponse& AddFlattenedList(const Aws::String& value) { m_flattenedList.push_back(value); return *this; } + inline XmlEmptyListsResponse& AddFlattenedList(Aws::String&& value) { m_flattenedList.push_back(std::move(value)); return *this; } + inline XmlEmptyListsResponse& AddFlattenedList(const char* value) { m_flattenedList.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetFlattenedList2() const{ return m_flattenedList2; } + inline void SetFlattenedList2(const Aws::Vector& value) { m_flattenedList2 = value; } + inline void SetFlattenedList2(Aws::Vector&& value) { m_flattenedList2 = std::move(value); } + inline XmlEmptyListsResponse& WithFlattenedList2(const Aws::Vector& value) { SetFlattenedList2(value); return *this;} + inline XmlEmptyListsResponse& WithFlattenedList2(Aws::Vector&& value) { SetFlattenedList2(std::move(value)); return *this;} + inline XmlEmptyListsResponse& AddFlattenedList2(const Aws::String& value) { m_flattenedList2.push_back(value); return *this; } + inline XmlEmptyListsResponse& AddFlattenedList2(Aws::String&& value) { m_flattenedList2.push_back(std::move(value)); return *this; } + inline XmlEmptyListsResponse& AddFlattenedList2(const char* value) { m_flattenedList2.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetFlattenedListWithMemberNamespace() const{ return m_flattenedListWithMemberNamespace; } + inline void SetFlattenedListWithMemberNamespace(const Aws::Vector& value) { m_flattenedListWithMemberNamespace = value; } + inline void SetFlattenedListWithMemberNamespace(Aws::Vector&& value) { m_flattenedListWithMemberNamespace = std::move(value); } + inline XmlEmptyListsResponse& WithFlattenedListWithMemberNamespace(const Aws::Vector& value) { SetFlattenedListWithMemberNamespace(value); return *this;} + inline XmlEmptyListsResponse& WithFlattenedListWithMemberNamespace(Aws::Vector&& value) { SetFlattenedListWithMemberNamespace(std::move(value)); return *this;} + inline XmlEmptyListsResponse& AddFlattenedListWithMemberNamespace(const Aws::String& value) { m_flattenedListWithMemberNamespace.push_back(value); return *this; } + inline XmlEmptyListsResponse& AddFlattenedListWithMemberNamespace(Aws::String&& value) { m_flattenedListWithMemberNamespace.push_back(std::move(value)); return *this; } + inline XmlEmptyListsResponse& AddFlattenedListWithMemberNamespace(const char* value) { m_flattenedListWithMemberNamespace.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetFlattenedListWithNamespace() const{ return m_flattenedListWithNamespace; } + inline void SetFlattenedListWithNamespace(const Aws::Vector& value) { m_flattenedListWithNamespace = value; } + inline void SetFlattenedListWithNamespace(Aws::Vector&& value) { m_flattenedListWithNamespace = std::move(value); } + inline XmlEmptyListsResponse& WithFlattenedListWithNamespace(const Aws::Vector& value) { SetFlattenedListWithNamespace(value); return *this;} + inline XmlEmptyListsResponse& WithFlattenedListWithNamespace(Aws::Vector&& value) { SetFlattenedListWithNamespace(std::move(value)); return *this;} + inline XmlEmptyListsResponse& AddFlattenedListWithNamespace(const Aws::String& value) { m_flattenedListWithNamespace.push_back(value); return *this; } + inline XmlEmptyListsResponse& AddFlattenedListWithNamespace(Aws::String&& value) { m_flattenedListWithNamespace.push_back(std::move(value)); return *this; } + inline XmlEmptyListsResponse& AddFlattenedListWithNamespace(const char* value) { m_flattenedListWithNamespace.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetStructureList() const{ return m_structureList; } + inline void SetStructureList(const Aws::Vector& value) { m_structureList = value; } + inline void SetStructureList(Aws::Vector&& value) { m_structureList = std::move(value); } + inline XmlEmptyListsResponse& WithStructureList(const Aws::Vector& value) { SetStructureList(value); return *this;} + inline XmlEmptyListsResponse& WithStructureList(Aws::Vector&& value) { SetStructureList(std::move(value)); return *this;} + inline XmlEmptyListsResponse& AddStructureList(const StructureListMember& value) { m_structureList.push_back(value); return *this; } + inline XmlEmptyListsResponse& AddStructureList(StructureListMember&& value) { m_structureList.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + + inline const ResponseMetadata& GetResponseMetadata() const{ return m_responseMetadata; } + inline void SetResponseMetadata(const ResponseMetadata& value) { m_responseMetadata = value; } + inline void SetResponseMetadata(ResponseMetadata&& value) { m_responseMetadata = std::move(value); } + inline XmlEmptyListsResponse& WithResponseMetadata(const ResponseMetadata& value) { SetResponseMetadata(value); return *this;} + inline XmlEmptyListsResponse& WithResponseMetadata(ResponseMetadata&& value) { SetResponseMetadata(std::move(value)); return *this;} + ///@} + private: + + Aws::Vector m_stringList; + + Aws::Vector m_stringSet; + + Aws::Vector m_integerList; + + Aws::Vector m_booleanList; + + Aws::Vector m_timestampList; + + Aws::Vector m_enumList; + + Aws::Vector m_intEnumList; + + Aws::Vector> m_nestedStringList; + + Aws::Vector m_renamedListMembers; + + Aws::Vector m_flattenedList; + + Aws::Vector m_flattenedList2; + + Aws::Vector m_flattenedListWithMemberNamespace; + + Aws::Vector m_flattenedListWithNamespace; + + Aws::Vector m_structureList; + + ResponseMetadata m_responseMetadata; + }; + +} // namespace Model +} // namespace EC2Protocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/XmlEnumsRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/XmlEnumsRequest.h new file mode 100644 index 00000000000..170e674b2b6 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/XmlEnumsRequest.h @@ -0,0 +1,40 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace EC2Protocol +{ +namespace Model +{ + + /** + */ + class XmlEnumsRequest : public EC2ProtocolRequest + { + public: + AWS_EC2PROTOCOL_API XmlEnumsRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "XmlEnums"; } + + AWS_EC2PROTOCOL_API Aws::String SerializePayload() const override; + + protected: + AWS_EC2PROTOCOL_API void DumpBodyToUrl(Aws::Http::URI& uri ) const override; + + public: + }; + +} // namespace Model +} // namespace EC2Protocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/XmlEnumsResponse.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/XmlEnumsResponse.h new file mode 100644 index 00000000000..0bd66a873fa --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/XmlEnumsResponse.h @@ -0,0 +1,130 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace EC2Protocol +{ +namespace Model +{ + class XmlEnumsResponse + { + public: + AWS_EC2PROTOCOL_API XmlEnumsResponse(); + AWS_EC2PROTOCOL_API XmlEnumsResponse(const Aws::AmazonWebServiceResult& result); + AWS_EC2PROTOCOL_API XmlEnumsResponse& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const FooEnum& GetFooEnum1() const{ return m_fooEnum1; } + inline void SetFooEnum1(const FooEnum& value) { m_fooEnum1 = value; } + inline void SetFooEnum1(FooEnum&& value) { m_fooEnum1 = std::move(value); } + inline XmlEnumsResponse& WithFooEnum1(const FooEnum& value) { SetFooEnum1(value); return *this;} + inline XmlEnumsResponse& WithFooEnum1(FooEnum&& value) { SetFooEnum1(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const FooEnum& GetFooEnum2() const{ return m_fooEnum2; } + inline void SetFooEnum2(const FooEnum& value) { m_fooEnum2 = value; } + inline void SetFooEnum2(FooEnum&& value) { m_fooEnum2 = std::move(value); } + inline XmlEnumsResponse& WithFooEnum2(const FooEnum& value) { SetFooEnum2(value); return *this;} + inline XmlEnumsResponse& WithFooEnum2(FooEnum&& value) { SetFooEnum2(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const FooEnum& GetFooEnum3() const{ return m_fooEnum3; } + inline void SetFooEnum3(const FooEnum& value) { m_fooEnum3 = value; } + inline void SetFooEnum3(FooEnum&& value) { m_fooEnum3 = std::move(value); } + inline XmlEnumsResponse& WithFooEnum3(const FooEnum& value) { SetFooEnum3(value); return *this;} + inline XmlEnumsResponse& WithFooEnum3(FooEnum&& value) { SetFooEnum3(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::Vector& GetFooEnumList() const{ return m_fooEnumList; } + inline void SetFooEnumList(const Aws::Vector& value) { m_fooEnumList = value; } + inline void SetFooEnumList(Aws::Vector&& value) { m_fooEnumList = std::move(value); } + inline XmlEnumsResponse& WithFooEnumList(const Aws::Vector& value) { SetFooEnumList(value); return *this;} + inline XmlEnumsResponse& WithFooEnumList(Aws::Vector&& value) { SetFooEnumList(std::move(value)); return *this;} + inline XmlEnumsResponse& AddFooEnumList(const FooEnum& value) { m_fooEnumList.push_back(value); return *this; } + inline XmlEnumsResponse& AddFooEnumList(FooEnum&& value) { m_fooEnumList.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetFooEnumSet() const{ return m_fooEnumSet; } + inline void SetFooEnumSet(const Aws::Vector& value) { m_fooEnumSet = value; } + inline void SetFooEnumSet(Aws::Vector&& value) { m_fooEnumSet = std::move(value); } + inline XmlEnumsResponse& WithFooEnumSet(const Aws::Vector& value) { SetFooEnumSet(value); return *this;} + inline XmlEnumsResponse& WithFooEnumSet(Aws::Vector&& value) { SetFooEnumSet(std::move(value)); return *this;} + inline XmlEnumsResponse& AddFooEnumSet(const FooEnum& value) { m_fooEnumSet.push_back(value); return *this; } + inline XmlEnumsResponse& AddFooEnumSet(FooEnum&& value) { m_fooEnumSet.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + + inline const Aws::Map& GetFooEnumMap() const{ return m_fooEnumMap; } + inline void SetFooEnumMap(const Aws::Map& value) { m_fooEnumMap = value; } + inline void SetFooEnumMap(Aws::Map&& value) { m_fooEnumMap = std::move(value); } + inline XmlEnumsResponse& WithFooEnumMap(const Aws::Map& value) { SetFooEnumMap(value); return *this;} + inline XmlEnumsResponse& WithFooEnumMap(Aws::Map&& value) { SetFooEnumMap(std::move(value)); return *this;} + inline XmlEnumsResponse& AddFooEnumMap(const Aws::String& key, const FooEnum& value) { m_fooEnumMap.emplace(key, value); return *this; } + inline XmlEnumsResponse& AddFooEnumMap(Aws::String&& key, const FooEnum& value) { m_fooEnumMap.emplace(std::move(key), value); return *this; } + inline XmlEnumsResponse& AddFooEnumMap(const Aws::String& key, FooEnum&& value) { m_fooEnumMap.emplace(key, std::move(value)); return *this; } + inline XmlEnumsResponse& AddFooEnumMap(Aws::String&& key, FooEnum&& value) { m_fooEnumMap.emplace(std::move(key), std::move(value)); return *this; } + inline XmlEnumsResponse& AddFooEnumMap(const char* key, FooEnum&& value) { m_fooEnumMap.emplace(key, std::move(value)); return *this; } + inline XmlEnumsResponse& AddFooEnumMap(const char* key, const FooEnum& value) { m_fooEnumMap.emplace(key, value); return *this; } + ///@} + + ///@{ + + inline const ResponseMetadata& GetResponseMetadata() const{ return m_responseMetadata; } + inline void SetResponseMetadata(const ResponseMetadata& value) { m_responseMetadata = value; } + inline void SetResponseMetadata(ResponseMetadata&& value) { m_responseMetadata = std::move(value); } + inline XmlEnumsResponse& WithResponseMetadata(const ResponseMetadata& value) { SetResponseMetadata(value); return *this;} + inline XmlEnumsResponse& WithResponseMetadata(ResponseMetadata&& value) { SetResponseMetadata(std::move(value)); return *this;} + ///@} + private: + + FooEnum m_fooEnum1; + + FooEnum m_fooEnum2; + + FooEnum m_fooEnum3; + + Aws::Vector m_fooEnumList; + + Aws::Vector m_fooEnumSet; + + Aws::Map m_fooEnumMap; + + ResponseMetadata m_responseMetadata; + }; + +} // namespace Model +} // namespace EC2Protocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/XmlIntEnumsRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/XmlIntEnumsRequest.h new file mode 100644 index 00000000000..a342c8d3c3f --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/XmlIntEnumsRequest.h @@ -0,0 +1,40 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace EC2Protocol +{ +namespace Model +{ + + /** + */ + class XmlIntEnumsRequest : public EC2ProtocolRequest + { + public: + AWS_EC2PROTOCOL_API XmlIntEnumsRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "XmlIntEnums"; } + + AWS_EC2PROTOCOL_API Aws::String SerializePayload() const override; + + protected: + AWS_EC2PROTOCOL_API void DumpBodyToUrl(Aws::Http::URI& uri ) const override; + + public: + }; + +} // namespace Model +} // namespace EC2Protocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/XmlIntEnumsResponse.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/XmlIntEnumsResponse.h new file mode 100644 index 00000000000..a49dbaa9d52 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/XmlIntEnumsResponse.h @@ -0,0 +1,118 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace EC2Protocol +{ +namespace Model +{ + class XmlIntEnumsResponse + { + public: + AWS_EC2PROTOCOL_API XmlIntEnumsResponse(); + AWS_EC2PROTOCOL_API XmlIntEnumsResponse(const Aws::AmazonWebServiceResult& result); + AWS_EC2PROTOCOL_API XmlIntEnumsResponse& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline int GetIntEnum1() const{ return m_intEnum1; } + inline void SetIntEnum1(int value) { m_intEnum1 = value; } + inline XmlIntEnumsResponse& WithIntEnum1(int value) { SetIntEnum1(value); return *this;} + ///@} + + ///@{ + + inline int GetIntEnum2() const{ return m_intEnum2; } + inline void SetIntEnum2(int value) { m_intEnum2 = value; } + inline XmlIntEnumsResponse& WithIntEnum2(int value) { SetIntEnum2(value); return *this;} + ///@} + + ///@{ + + inline int GetIntEnum3() const{ return m_intEnum3; } + inline void SetIntEnum3(int value) { m_intEnum3 = value; } + inline XmlIntEnumsResponse& WithIntEnum3(int value) { SetIntEnum3(value); return *this;} + ///@} + + ///@{ + + inline const Aws::Vector& GetIntEnumList() const{ return m_intEnumList; } + inline void SetIntEnumList(const Aws::Vector& value) { m_intEnumList = value; } + inline void SetIntEnumList(Aws::Vector&& value) { m_intEnumList = std::move(value); } + inline XmlIntEnumsResponse& WithIntEnumList(const Aws::Vector& value) { SetIntEnumList(value); return *this;} + inline XmlIntEnumsResponse& WithIntEnumList(Aws::Vector&& value) { SetIntEnumList(std::move(value)); return *this;} + inline XmlIntEnumsResponse& AddIntEnumList(int value) { m_intEnumList.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetIntEnumSet() const{ return m_intEnumSet; } + inline void SetIntEnumSet(const Aws::Vector& value) { m_intEnumSet = value; } + inline void SetIntEnumSet(Aws::Vector&& value) { m_intEnumSet = std::move(value); } + inline XmlIntEnumsResponse& WithIntEnumSet(const Aws::Vector& value) { SetIntEnumSet(value); return *this;} + inline XmlIntEnumsResponse& WithIntEnumSet(Aws::Vector&& value) { SetIntEnumSet(std::move(value)); return *this;} + inline XmlIntEnumsResponse& AddIntEnumSet(int value) { m_intEnumSet.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::Map& GetIntEnumMap() const{ return m_intEnumMap; } + inline void SetIntEnumMap(const Aws::Map& value) { m_intEnumMap = value; } + inline void SetIntEnumMap(Aws::Map&& value) { m_intEnumMap = std::move(value); } + inline XmlIntEnumsResponse& WithIntEnumMap(const Aws::Map& value) { SetIntEnumMap(value); return *this;} + inline XmlIntEnumsResponse& WithIntEnumMap(Aws::Map&& value) { SetIntEnumMap(std::move(value)); return *this;} + inline XmlIntEnumsResponse& AddIntEnumMap(const Aws::String& key, int value) { m_intEnumMap.emplace(key, value); return *this; } + inline XmlIntEnumsResponse& AddIntEnumMap(Aws::String&& key, int value) { m_intEnumMap.emplace(std::move(key), value); return *this; } + inline XmlIntEnumsResponse& AddIntEnumMap(const char* key, int value) { m_intEnumMap.emplace(key, value); return *this; } + ///@} + + ///@{ + + inline const ResponseMetadata& GetResponseMetadata() const{ return m_responseMetadata; } + inline void SetResponseMetadata(const ResponseMetadata& value) { m_responseMetadata = value; } + inline void SetResponseMetadata(ResponseMetadata&& value) { m_responseMetadata = std::move(value); } + inline XmlIntEnumsResponse& WithResponseMetadata(const ResponseMetadata& value) { SetResponseMetadata(value); return *this;} + inline XmlIntEnumsResponse& WithResponseMetadata(ResponseMetadata&& value) { SetResponseMetadata(std::move(value)); return *this;} + ///@} + private: + + int m_intEnum1; + + int m_intEnum2; + + int m_intEnum3; + + Aws::Vector m_intEnumList; + + Aws::Vector m_intEnumSet; + + Aws::Map m_intEnumMap; + + ResponseMetadata m_responseMetadata; + }; + +} // namespace Model +} // namespace EC2Protocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/XmlListsRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/XmlListsRequest.h new file mode 100644 index 00000000000..4b9d77fd8af --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/XmlListsRequest.h @@ -0,0 +1,40 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace EC2Protocol +{ +namespace Model +{ + + /** + */ + class XmlListsRequest : public EC2ProtocolRequest + { + public: + AWS_EC2PROTOCOL_API XmlListsRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "XmlLists"; } + + AWS_EC2PROTOCOL_API Aws::String SerializePayload() const override; + + protected: + AWS_EC2PROTOCOL_API void DumpBodyToUrl(Aws::Http::URI& uri ) const override; + + public: + }; + +} // namespace Model +} // namespace EC2Protocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/XmlListsResponse.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/XmlListsResponse.h new file mode 100644 index 00000000000..11305a10dc2 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/XmlListsResponse.h @@ -0,0 +1,241 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace EC2Protocol +{ +namespace Model +{ + class XmlListsResponse + { + public: + AWS_EC2PROTOCOL_API XmlListsResponse(); + AWS_EC2PROTOCOL_API XmlListsResponse(const Aws::AmazonWebServiceResult& result); + AWS_EC2PROTOCOL_API XmlListsResponse& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::Vector& GetStringList() const{ return m_stringList; } + inline void SetStringList(const Aws::Vector& value) { m_stringList = value; } + inline void SetStringList(Aws::Vector&& value) { m_stringList = std::move(value); } + inline XmlListsResponse& WithStringList(const Aws::Vector& value) { SetStringList(value); return *this;} + inline XmlListsResponse& WithStringList(Aws::Vector&& value) { SetStringList(std::move(value)); return *this;} + inline XmlListsResponse& AddStringList(const Aws::String& value) { m_stringList.push_back(value); return *this; } + inline XmlListsResponse& AddStringList(Aws::String&& value) { m_stringList.push_back(std::move(value)); return *this; } + inline XmlListsResponse& AddStringList(const char* value) { m_stringList.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetStringSet() const{ return m_stringSet; } + inline void SetStringSet(const Aws::Vector& value) { m_stringSet = value; } + inline void SetStringSet(Aws::Vector&& value) { m_stringSet = std::move(value); } + inline XmlListsResponse& WithStringSet(const Aws::Vector& value) { SetStringSet(value); return *this;} + inline XmlListsResponse& WithStringSet(Aws::Vector&& value) { SetStringSet(std::move(value)); return *this;} + inline XmlListsResponse& AddStringSet(const Aws::String& value) { m_stringSet.push_back(value); return *this; } + inline XmlListsResponse& AddStringSet(Aws::String&& value) { m_stringSet.push_back(std::move(value)); return *this; } + inline XmlListsResponse& AddStringSet(const char* value) { m_stringSet.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetIntegerList() const{ return m_integerList; } + inline void SetIntegerList(const Aws::Vector& value) { m_integerList = value; } + inline void SetIntegerList(Aws::Vector&& value) { m_integerList = std::move(value); } + inline XmlListsResponse& WithIntegerList(const Aws::Vector& value) { SetIntegerList(value); return *this;} + inline XmlListsResponse& WithIntegerList(Aws::Vector&& value) { SetIntegerList(std::move(value)); return *this;} + inline XmlListsResponse& AddIntegerList(int value) { m_integerList.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetBooleanList() const{ return m_booleanList; } + inline void SetBooleanList(const Aws::Vector& value) { m_booleanList = value; } + inline void SetBooleanList(Aws::Vector&& value) { m_booleanList = std::move(value); } + inline XmlListsResponse& WithBooleanList(const Aws::Vector& value) { SetBooleanList(value); return *this;} + inline XmlListsResponse& WithBooleanList(Aws::Vector&& value) { SetBooleanList(std::move(value)); return *this;} + inline XmlListsResponse& AddBooleanList(bool value) { m_booleanList.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetTimestampList() const{ return m_timestampList; } + inline void SetTimestampList(const Aws::Vector& value) { m_timestampList = value; } + inline void SetTimestampList(Aws::Vector&& value) { m_timestampList = std::move(value); } + inline XmlListsResponse& WithTimestampList(const Aws::Vector& value) { SetTimestampList(value); return *this;} + inline XmlListsResponse& WithTimestampList(Aws::Vector&& value) { SetTimestampList(std::move(value)); return *this;} + inline XmlListsResponse& AddTimestampList(const Aws::Utils::DateTime& value) { m_timestampList.push_back(value); return *this; } + inline XmlListsResponse& AddTimestampList(Aws::Utils::DateTime&& value) { m_timestampList.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetEnumList() const{ return m_enumList; } + inline void SetEnumList(const Aws::Vector& value) { m_enumList = value; } + inline void SetEnumList(Aws::Vector&& value) { m_enumList = std::move(value); } + inline XmlListsResponse& WithEnumList(const Aws::Vector& value) { SetEnumList(value); return *this;} + inline XmlListsResponse& WithEnumList(Aws::Vector&& value) { SetEnumList(std::move(value)); return *this;} + inline XmlListsResponse& AddEnumList(const FooEnum& value) { m_enumList.push_back(value); return *this; } + inline XmlListsResponse& AddEnumList(FooEnum&& value) { m_enumList.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetIntEnumList() const{ return m_intEnumList; } + inline void SetIntEnumList(const Aws::Vector& value) { m_intEnumList = value; } + inline void SetIntEnumList(Aws::Vector&& value) { m_intEnumList = std::move(value); } + inline XmlListsResponse& WithIntEnumList(const Aws::Vector& value) { SetIntEnumList(value); return *this;} + inline XmlListsResponse& WithIntEnumList(Aws::Vector&& value) { SetIntEnumList(std::move(value)); return *this;} + inline XmlListsResponse& AddIntEnumList(int value) { m_intEnumList.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector>& GetNestedStringList() const{ return m_nestedStringList; } + inline void SetNestedStringList(const Aws::Vector>& value) { m_nestedStringList = value; } + inline void SetNestedStringList(Aws::Vector>&& value) { m_nestedStringList = std::move(value); } + inline XmlListsResponse& WithNestedStringList(const Aws::Vector>& value) { SetNestedStringList(value); return *this;} + inline XmlListsResponse& WithNestedStringList(Aws::Vector>&& value) { SetNestedStringList(std::move(value)); return *this;} + inline XmlListsResponse& AddNestedStringList(const Aws::Vector& value) { m_nestedStringList.push_back(value); return *this; } + inline XmlListsResponse& AddNestedStringList(Aws::Vector&& value) { m_nestedStringList.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetRenamedListMembers() const{ return m_renamedListMembers; } + inline void SetRenamedListMembers(const Aws::Vector& value) { m_renamedListMembers = value; } + inline void SetRenamedListMembers(Aws::Vector&& value) { m_renamedListMembers = std::move(value); } + inline XmlListsResponse& WithRenamedListMembers(const Aws::Vector& value) { SetRenamedListMembers(value); return *this;} + inline XmlListsResponse& WithRenamedListMembers(Aws::Vector&& value) { SetRenamedListMembers(std::move(value)); return *this;} + inline XmlListsResponse& AddRenamedListMembers(const Aws::String& value) { m_renamedListMembers.push_back(value); return *this; } + inline XmlListsResponse& AddRenamedListMembers(Aws::String&& value) { m_renamedListMembers.push_back(std::move(value)); return *this; } + inline XmlListsResponse& AddRenamedListMembers(const char* value) { m_renamedListMembers.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetFlattenedList() const{ return m_flattenedList; } + inline void SetFlattenedList(const Aws::Vector& value) { m_flattenedList = value; } + inline void SetFlattenedList(Aws::Vector&& value) { m_flattenedList = std::move(value); } + inline XmlListsResponse& WithFlattenedList(const Aws::Vector& value) { SetFlattenedList(value); return *this;} + inline XmlListsResponse& WithFlattenedList(Aws::Vector&& value) { SetFlattenedList(std::move(value)); return *this;} + inline XmlListsResponse& AddFlattenedList(const Aws::String& value) { m_flattenedList.push_back(value); return *this; } + inline XmlListsResponse& AddFlattenedList(Aws::String&& value) { m_flattenedList.push_back(std::move(value)); return *this; } + inline XmlListsResponse& AddFlattenedList(const char* value) { m_flattenedList.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetFlattenedList2() const{ return m_flattenedList2; } + inline void SetFlattenedList2(const Aws::Vector& value) { m_flattenedList2 = value; } + inline void SetFlattenedList2(Aws::Vector&& value) { m_flattenedList2 = std::move(value); } + inline XmlListsResponse& WithFlattenedList2(const Aws::Vector& value) { SetFlattenedList2(value); return *this;} + inline XmlListsResponse& WithFlattenedList2(Aws::Vector&& value) { SetFlattenedList2(std::move(value)); return *this;} + inline XmlListsResponse& AddFlattenedList2(const Aws::String& value) { m_flattenedList2.push_back(value); return *this; } + inline XmlListsResponse& AddFlattenedList2(Aws::String&& value) { m_flattenedList2.push_back(std::move(value)); return *this; } + inline XmlListsResponse& AddFlattenedList2(const char* value) { m_flattenedList2.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetFlattenedListWithMemberNamespace() const{ return m_flattenedListWithMemberNamespace; } + inline void SetFlattenedListWithMemberNamespace(const Aws::Vector& value) { m_flattenedListWithMemberNamespace = value; } + inline void SetFlattenedListWithMemberNamespace(Aws::Vector&& value) { m_flattenedListWithMemberNamespace = std::move(value); } + inline XmlListsResponse& WithFlattenedListWithMemberNamespace(const Aws::Vector& value) { SetFlattenedListWithMemberNamespace(value); return *this;} + inline XmlListsResponse& WithFlattenedListWithMemberNamespace(Aws::Vector&& value) { SetFlattenedListWithMemberNamespace(std::move(value)); return *this;} + inline XmlListsResponse& AddFlattenedListWithMemberNamespace(const Aws::String& value) { m_flattenedListWithMemberNamespace.push_back(value); return *this; } + inline XmlListsResponse& AddFlattenedListWithMemberNamespace(Aws::String&& value) { m_flattenedListWithMemberNamespace.push_back(std::move(value)); return *this; } + inline XmlListsResponse& AddFlattenedListWithMemberNamespace(const char* value) { m_flattenedListWithMemberNamespace.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetFlattenedListWithNamespace() const{ return m_flattenedListWithNamespace; } + inline void SetFlattenedListWithNamespace(const Aws::Vector& value) { m_flattenedListWithNamespace = value; } + inline void SetFlattenedListWithNamespace(Aws::Vector&& value) { m_flattenedListWithNamespace = std::move(value); } + inline XmlListsResponse& WithFlattenedListWithNamespace(const Aws::Vector& value) { SetFlattenedListWithNamespace(value); return *this;} + inline XmlListsResponse& WithFlattenedListWithNamespace(Aws::Vector&& value) { SetFlattenedListWithNamespace(std::move(value)); return *this;} + inline XmlListsResponse& AddFlattenedListWithNamespace(const Aws::String& value) { m_flattenedListWithNamespace.push_back(value); return *this; } + inline XmlListsResponse& AddFlattenedListWithNamespace(Aws::String&& value) { m_flattenedListWithNamespace.push_back(std::move(value)); return *this; } + inline XmlListsResponse& AddFlattenedListWithNamespace(const char* value) { m_flattenedListWithNamespace.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetStructureList() const{ return m_structureList; } + inline void SetStructureList(const Aws::Vector& value) { m_structureList = value; } + inline void SetStructureList(Aws::Vector&& value) { m_structureList = std::move(value); } + inline XmlListsResponse& WithStructureList(const Aws::Vector& value) { SetStructureList(value); return *this;} + inline XmlListsResponse& WithStructureList(Aws::Vector&& value) { SetStructureList(std::move(value)); return *this;} + inline XmlListsResponse& AddStructureList(const StructureListMember& value) { m_structureList.push_back(value); return *this; } + inline XmlListsResponse& AddStructureList(StructureListMember&& value) { m_structureList.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + + inline const ResponseMetadata& GetResponseMetadata() const{ return m_responseMetadata; } + inline void SetResponseMetadata(const ResponseMetadata& value) { m_responseMetadata = value; } + inline void SetResponseMetadata(ResponseMetadata&& value) { m_responseMetadata = std::move(value); } + inline XmlListsResponse& WithResponseMetadata(const ResponseMetadata& value) { SetResponseMetadata(value); return *this;} + inline XmlListsResponse& WithResponseMetadata(ResponseMetadata&& value) { SetResponseMetadata(std::move(value)); return *this;} + ///@} + private: + + Aws::Vector m_stringList; + + Aws::Vector m_stringSet; + + Aws::Vector m_integerList; + + Aws::Vector m_booleanList; + + Aws::Vector m_timestampList; + + Aws::Vector m_enumList; + + Aws::Vector m_intEnumList; + + Aws::Vector> m_nestedStringList; + + Aws::Vector m_renamedListMembers; + + Aws::Vector m_flattenedList; + + Aws::Vector m_flattenedList2; + + Aws::Vector m_flattenedListWithMemberNamespace; + + Aws::Vector m_flattenedListWithNamespace; + + Aws::Vector m_structureList; + + ResponseMetadata m_responseMetadata; + }; + +} // namespace Model +} // namespace EC2Protocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/XmlNamespaceNested.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/XmlNamespaceNested.h new file mode 100644 index 00000000000..b9b0988696e --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/XmlNamespaceNested.h @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace EC2Protocol +{ +namespace Model +{ + + class XmlNamespaceNested + { + public: + AWS_EC2PROTOCOL_API XmlNamespaceNested(); + AWS_EC2PROTOCOL_API XmlNamespaceNested(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_EC2PROTOCOL_API XmlNamespaceNested& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + AWS_EC2PROTOCOL_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const; + AWS_EC2PROTOCOL_API void OutputToStream(Aws::OStream& oStream, const char* location) const; + + + ///@{ + + inline const Aws::String& GetFoo() const{ return m_foo; } + inline bool FooHasBeenSet() const { return m_fooHasBeenSet; } + inline void SetFoo(const Aws::String& value) { m_fooHasBeenSet = true; m_foo = value; } + inline void SetFoo(Aws::String&& value) { m_fooHasBeenSet = true; m_foo = std::move(value); } + inline void SetFoo(const char* value) { m_fooHasBeenSet = true; m_foo.assign(value); } + inline XmlNamespaceNested& WithFoo(const Aws::String& value) { SetFoo(value); return *this;} + inline XmlNamespaceNested& WithFoo(Aws::String&& value) { SetFoo(std::move(value)); return *this;} + inline XmlNamespaceNested& WithFoo(const char* value) { SetFoo(value); return *this;} + ///@} + + ///@{ + + inline const Aws::Vector& GetValues() const{ return m_values; } + inline bool ValuesHasBeenSet() const { return m_valuesHasBeenSet; } + inline void SetValues(const Aws::Vector& value) { m_valuesHasBeenSet = true; m_values = value; } + inline void SetValues(Aws::Vector&& value) { m_valuesHasBeenSet = true; m_values = std::move(value); } + inline XmlNamespaceNested& WithValues(const Aws::Vector& value) { SetValues(value); return *this;} + inline XmlNamespaceNested& WithValues(Aws::Vector&& value) { SetValues(std::move(value)); return *this;} + inline XmlNamespaceNested& AddValues(const Aws::String& value) { m_valuesHasBeenSet = true; m_values.push_back(value); return *this; } + inline XmlNamespaceNested& AddValues(Aws::String&& value) { m_valuesHasBeenSet = true; m_values.push_back(std::move(value)); return *this; } + inline XmlNamespaceNested& AddValues(const char* value) { m_valuesHasBeenSet = true; m_values.push_back(value); return *this; } + ///@} + private: + + Aws::String m_foo; + bool m_fooHasBeenSet = false; + + Aws::Vector m_values; + bool m_valuesHasBeenSet = false; + }; + +} // namespace Model +} // namespace EC2Protocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/XmlNamespacesRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/XmlNamespacesRequest.h new file mode 100644 index 00000000000..261cb4cac19 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/XmlNamespacesRequest.h @@ -0,0 +1,40 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace EC2Protocol +{ +namespace Model +{ + + /** + */ + class XmlNamespacesRequest : public EC2ProtocolRequest + { + public: + AWS_EC2PROTOCOL_API XmlNamespacesRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "XmlNamespaces"; } + + AWS_EC2PROTOCOL_API Aws::String SerializePayload() const override; + + protected: + AWS_EC2PROTOCOL_API void DumpBodyToUrl(Aws::Http::URI& uri ) const override; + + public: + }; + +} // namespace Model +} // namespace EC2Protocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/XmlNamespacesResponse.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/XmlNamespacesResponse.h new file mode 100644 index 00000000000..99dfabfb065 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/XmlNamespacesResponse.h @@ -0,0 +1,62 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace EC2Protocol +{ +namespace Model +{ + class XmlNamespacesResponse + { + public: + AWS_EC2PROTOCOL_API XmlNamespacesResponse(); + AWS_EC2PROTOCOL_API XmlNamespacesResponse(const Aws::AmazonWebServiceResult& result); + AWS_EC2PROTOCOL_API XmlNamespacesResponse& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const XmlNamespaceNested& GetNested() const{ return m_nested; } + inline void SetNested(const XmlNamespaceNested& value) { m_nested = value; } + inline void SetNested(XmlNamespaceNested&& value) { m_nested = std::move(value); } + inline XmlNamespacesResponse& WithNested(const XmlNamespaceNested& value) { SetNested(value); return *this;} + inline XmlNamespacesResponse& WithNested(XmlNamespaceNested&& value) { SetNested(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const ResponseMetadata& GetResponseMetadata() const{ return m_responseMetadata; } + inline void SetResponseMetadata(const ResponseMetadata& value) { m_responseMetadata = value; } + inline void SetResponseMetadata(ResponseMetadata&& value) { m_responseMetadata = std::move(value); } + inline XmlNamespacesResponse& WithResponseMetadata(const ResponseMetadata& value) { SetResponseMetadata(value); return *this;} + inline XmlNamespacesResponse& WithResponseMetadata(ResponseMetadata&& value) { SetResponseMetadata(std::move(value)); return *this;} + ///@} + private: + + XmlNamespaceNested m_nested; + + ResponseMetadata m_responseMetadata; + }; + +} // namespace Model +} // namespace EC2Protocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/XmlTimestampsRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/XmlTimestampsRequest.h new file mode 100644 index 00000000000..1c6f9c32020 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/XmlTimestampsRequest.h @@ -0,0 +1,40 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace EC2Protocol +{ +namespace Model +{ + + /** + */ + class XmlTimestampsRequest : public EC2ProtocolRequest + { + public: + AWS_EC2PROTOCOL_API XmlTimestampsRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "XmlTimestamps"; } + + AWS_EC2PROTOCOL_API Aws::String SerializePayload() const override; + + protected: + AWS_EC2PROTOCOL_API void DumpBodyToUrl(Aws::Http::URI& uri ) const override; + + public: + }; + +} // namespace Model +} // namespace EC2Protocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/XmlTimestampsResponse.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/XmlTimestampsResponse.h new file mode 100644 index 00000000000..1ebe54f3ae1 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/model/XmlTimestampsResponse.h @@ -0,0 +1,128 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace EC2Protocol +{ +namespace Model +{ + class XmlTimestampsResponse + { + public: + AWS_EC2PROTOCOL_API XmlTimestampsResponse(); + AWS_EC2PROTOCOL_API XmlTimestampsResponse(const Aws::AmazonWebServiceResult& result); + AWS_EC2PROTOCOL_API XmlTimestampsResponse& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::Utils::DateTime& GetNormal() const{ return m_normal; } + inline void SetNormal(const Aws::Utils::DateTime& value) { m_normal = value; } + inline void SetNormal(Aws::Utils::DateTime&& value) { m_normal = std::move(value); } + inline XmlTimestampsResponse& WithNormal(const Aws::Utils::DateTime& value) { SetNormal(value); return *this;} + inline XmlTimestampsResponse& WithNormal(Aws::Utils::DateTime&& value) { SetNormal(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::Utils::DateTime& GetDateTime() const{ return m_dateTime; } + inline void SetDateTime(const Aws::Utils::DateTime& value) { m_dateTime = value; } + inline void SetDateTime(Aws::Utils::DateTime&& value) { m_dateTime = std::move(value); } + inline XmlTimestampsResponse& WithDateTime(const Aws::Utils::DateTime& value) { SetDateTime(value); return *this;} + inline XmlTimestampsResponse& WithDateTime(Aws::Utils::DateTime&& value) { SetDateTime(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::Utils::DateTime& GetDateTimeOnTarget() const{ return m_dateTimeOnTarget; } + inline void SetDateTimeOnTarget(const Aws::Utils::DateTime& value) { m_dateTimeOnTarget = value; } + inline void SetDateTimeOnTarget(Aws::Utils::DateTime&& value) { m_dateTimeOnTarget = std::move(value); } + inline XmlTimestampsResponse& WithDateTimeOnTarget(const Aws::Utils::DateTime& value) { SetDateTimeOnTarget(value); return *this;} + inline XmlTimestampsResponse& WithDateTimeOnTarget(Aws::Utils::DateTime&& value) { SetDateTimeOnTarget(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::Utils::DateTime& GetEpochSeconds() const{ return m_epochSeconds; } + inline void SetEpochSeconds(const Aws::Utils::DateTime& value) { m_epochSeconds = value; } + inline void SetEpochSeconds(Aws::Utils::DateTime&& value) { m_epochSeconds = std::move(value); } + inline XmlTimestampsResponse& WithEpochSeconds(const Aws::Utils::DateTime& value) { SetEpochSeconds(value); return *this;} + inline XmlTimestampsResponse& WithEpochSeconds(Aws::Utils::DateTime&& value) { SetEpochSeconds(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::Utils::DateTime& GetEpochSecondsOnTarget() const{ return m_epochSecondsOnTarget; } + inline void SetEpochSecondsOnTarget(const Aws::Utils::DateTime& value) { m_epochSecondsOnTarget = value; } + inline void SetEpochSecondsOnTarget(Aws::Utils::DateTime&& value) { m_epochSecondsOnTarget = std::move(value); } + inline XmlTimestampsResponse& WithEpochSecondsOnTarget(const Aws::Utils::DateTime& value) { SetEpochSecondsOnTarget(value); return *this;} + inline XmlTimestampsResponse& WithEpochSecondsOnTarget(Aws::Utils::DateTime&& value) { SetEpochSecondsOnTarget(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::Utils::DateTime& GetHttpDate() const{ return m_httpDate; } + inline void SetHttpDate(const Aws::Utils::DateTime& value) { m_httpDate = value; } + inline void SetHttpDate(Aws::Utils::DateTime&& value) { m_httpDate = std::move(value); } + inline XmlTimestampsResponse& WithHttpDate(const Aws::Utils::DateTime& value) { SetHttpDate(value); return *this;} + inline XmlTimestampsResponse& WithHttpDate(Aws::Utils::DateTime&& value) { SetHttpDate(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::Utils::DateTime& GetHttpDateOnTarget() const{ return m_httpDateOnTarget; } + inline void SetHttpDateOnTarget(const Aws::Utils::DateTime& value) { m_httpDateOnTarget = value; } + inline void SetHttpDateOnTarget(Aws::Utils::DateTime&& value) { m_httpDateOnTarget = std::move(value); } + inline XmlTimestampsResponse& WithHttpDateOnTarget(const Aws::Utils::DateTime& value) { SetHttpDateOnTarget(value); return *this;} + inline XmlTimestampsResponse& WithHttpDateOnTarget(Aws::Utils::DateTime&& value) { SetHttpDateOnTarget(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const ResponseMetadata& GetResponseMetadata() const{ return m_responseMetadata; } + inline void SetResponseMetadata(const ResponseMetadata& value) { m_responseMetadata = value; } + inline void SetResponseMetadata(ResponseMetadata&& value) { m_responseMetadata = std::move(value); } + inline XmlTimestampsResponse& WithResponseMetadata(const ResponseMetadata& value) { SetResponseMetadata(value); return *this;} + inline XmlTimestampsResponse& WithResponseMetadata(ResponseMetadata&& value) { SetResponseMetadata(std::move(value)); return *this;} + ///@} + private: + + Aws::Utils::DateTime m_normal; + + Aws::Utils::DateTime m_dateTime; + + Aws::Utils::DateTime m_dateTimeOnTarget; + + Aws::Utils::DateTime m_epochSeconds; + + Aws::Utils::DateTime m_epochSecondsOnTarget; + + Aws::Utils::DateTime m_httpDate; + + Aws::Utils::DateTime m_httpDateOnTarget; + + ResponseMetadata m_responseMetadata; + }; + +} // namespace Model +} // namespace EC2Protocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/EC2ProtocolClient.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/EC2ProtocolClient.cpp new file mode 100644 index 00000000000..583dfceeb9a --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/EC2ProtocolClient.cpp @@ -0,0 +1,846 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include + + +using namespace Aws; +using namespace Aws::Auth; +using namespace Aws::Client; +using namespace Aws::EC2Protocol; +using namespace Aws::EC2Protocol::Model; +using namespace Aws::Http; +using namespace Aws::Utils::Xml; +using namespace smithy::components::tracing; +using ResolveEndpointOutcome = Aws::Endpoint::ResolveEndpointOutcome; + + +namespace Aws +{ + namespace EC2Protocol + { + const char SERVICE_NAME[] = "ec2query"; + const char ALLOCATION_TAG[] = "EC2ProtocolClient"; + } +} +const char* EC2ProtocolClient::GetServiceName() {return SERVICE_NAME;} +const char* EC2ProtocolClient::GetAllocationTag() {return ALLOCATION_TAG;} + +EC2ProtocolClient::EC2ProtocolClient(const EC2Protocol::EC2ProtocolClientConfiguration& clientConfiguration, + std::shared_ptr endpointProvider) : + BASECLASS(clientConfiguration, + Aws::MakeShared(ALLOCATION_TAG, + Aws::MakeShared(ALLOCATION_TAG), + SERVICE_NAME, + Aws::Region::ComputeSignerRegion(clientConfiguration.region)), + Aws::MakeShared(ALLOCATION_TAG)), + m_clientConfiguration(clientConfiguration), + m_endpointProvider(endpointProvider ? std::move(endpointProvider) : Aws::MakeShared(ALLOCATION_TAG)) +{ + init(m_clientConfiguration); +} + +EC2ProtocolClient::EC2ProtocolClient(const AWSCredentials& credentials, + std::shared_ptr endpointProvider, + const EC2Protocol::EC2ProtocolClientConfiguration& clientConfiguration) : + BASECLASS(clientConfiguration, + Aws::MakeShared(ALLOCATION_TAG, + Aws::MakeShared(ALLOCATION_TAG, credentials), + SERVICE_NAME, + Aws::Region::ComputeSignerRegion(clientConfiguration.region)), + Aws::MakeShared(ALLOCATION_TAG)), + m_clientConfiguration(clientConfiguration), + m_endpointProvider(endpointProvider ? std::move(endpointProvider) : Aws::MakeShared(ALLOCATION_TAG)) +{ + init(m_clientConfiguration); +} + +EC2ProtocolClient::EC2ProtocolClient(const std::shared_ptr& credentialsProvider, + std::shared_ptr endpointProvider, + const EC2Protocol::EC2ProtocolClientConfiguration& clientConfiguration) : + BASECLASS(clientConfiguration, + Aws::MakeShared(ALLOCATION_TAG, + credentialsProvider, + SERVICE_NAME, + Aws::Region::ComputeSignerRegion(clientConfiguration.region)), + Aws::MakeShared(ALLOCATION_TAG)), + m_clientConfiguration(clientConfiguration), + m_endpointProvider(endpointProvider ? std::move(endpointProvider) : Aws::MakeShared(ALLOCATION_TAG)) +{ + init(m_clientConfiguration); +} + + /* Legacy constructors due deprecation */ + EC2ProtocolClient::EC2ProtocolClient(const Client::ClientConfiguration& clientConfiguration) : + BASECLASS(clientConfiguration, + Aws::MakeShared(ALLOCATION_TAG, + Aws::MakeShared(ALLOCATION_TAG), + SERVICE_NAME, + Aws::Region::ComputeSignerRegion(clientConfiguration.region)), + Aws::MakeShared(ALLOCATION_TAG)), + m_clientConfiguration(clientConfiguration), + m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) +{ + init(m_clientConfiguration); +} + +EC2ProtocolClient::EC2ProtocolClient(const AWSCredentials& credentials, + const Client::ClientConfiguration& clientConfiguration) : + BASECLASS(clientConfiguration, + Aws::MakeShared(ALLOCATION_TAG, + Aws::MakeShared(ALLOCATION_TAG, credentials), + SERVICE_NAME, + Aws::Region::ComputeSignerRegion(clientConfiguration.region)), + Aws::MakeShared(ALLOCATION_TAG)), + m_clientConfiguration(clientConfiguration), + m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) +{ + init(m_clientConfiguration); +} + +EC2ProtocolClient::EC2ProtocolClient(const std::shared_ptr& credentialsProvider, + const Client::ClientConfiguration& clientConfiguration) : + BASECLASS(clientConfiguration, + Aws::MakeShared(ALLOCATION_TAG, + credentialsProvider, + SERVICE_NAME, + Aws::Region::ComputeSignerRegion(clientConfiguration.region)), + Aws::MakeShared(ALLOCATION_TAG)), + m_clientConfiguration(clientConfiguration), + m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) +{ + init(m_clientConfiguration); +} + + /* End of legacy constructors due deprecation */ +EC2ProtocolClient::~EC2ProtocolClient() +{ + ShutdownSdkClient(this, -1); +} + +std::shared_ptr& EC2ProtocolClient::accessEndpointProvider() +{ + return m_endpointProvider; +} + +void EC2ProtocolClient::init(const EC2Protocol::EC2ProtocolClientConfiguration& config) +{ + AWSClient::SetServiceClientName("EC2 Protocol"); + if (!m_clientConfiguration.executor) { + if (!m_clientConfiguration.configFactories.executorCreateFn()) { + AWS_LOGSTREAM_FATAL(ALLOCATION_TAG, "Failed to initialize client: config is missing Executor or executorCreateFn"); + m_isInitialized = false; + return; + } + m_clientConfiguration.executor = m_clientConfiguration.configFactories.executorCreateFn(); + } + AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); + m_endpointProvider->InitBuiltInParameters(config); +} + +void EC2ProtocolClient::OverrideEndpoint(const Aws::String& endpoint) +{ + AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); + m_endpointProvider->OverrideEndpoint(endpoint); +} + +DatetimeOffsetsOutcome EC2ProtocolClient::DatetimeOffsets(const DatetimeOffsetsRequest& request) const +{ + AWS_OPERATION_GUARD(DatetimeOffsets); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, DatetimeOffsets, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, DatetimeOffsets, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, DatetimeOffsets, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> DatetimeOffsetsOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, DatetimeOffsets, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return DatetimeOffsetsOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +EmptyInputAndEmptyOutputOutcome EC2ProtocolClient::EmptyInputAndEmptyOutput(const EmptyInputAndEmptyOutputRequest& request) const +{ + AWS_OPERATION_GUARD(EmptyInputAndEmptyOutput); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, EmptyInputAndEmptyOutput, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, EmptyInputAndEmptyOutput, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, EmptyInputAndEmptyOutput, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> EmptyInputAndEmptyOutputOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, EmptyInputAndEmptyOutput, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return EmptyInputAndEmptyOutputOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +EndpointOperationOutcome EC2ProtocolClient::EndpointOperation(const EndpointOperationRequest& request) const +{ + AWS_OPERATION_GUARD(EndpointOperation); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, EndpointOperation, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, EndpointOperation, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, EndpointOperation, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> EndpointOperationOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, EndpointOperation, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + auto addPrefixErr = endpointResolutionOutcome.GetResult().AddPrefixIfMissing("foo."); + AWS_CHECK(SERVICE_NAME, !addPrefixErr, addPrefixErr->GetMessage(), EndpointOperationOutcome(addPrefixErr.value())); + return EndpointOperationOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +EndpointWithHostLabelOperationOutcome EC2ProtocolClient::EndpointWithHostLabelOperation(const EndpointWithHostLabelOperationRequest& request) const +{ + AWS_OPERATION_GUARD(EndpointWithHostLabelOperation); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, EndpointWithHostLabelOperation, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, EndpointWithHostLabelOperation, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, EndpointWithHostLabelOperation, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> EndpointWithHostLabelOperationOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, EndpointWithHostLabelOperation, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + auto addPrefixErr = endpointResolutionOutcome.GetResult().AddPrefixIfMissing("foo." + request.GetLabel() + "."); + AWS_CHECK(SERVICE_NAME, !addPrefixErr, addPrefixErr->GetMessage(), EndpointWithHostLabelOperationOutcome(addPrefixErr.value())); + return EndpointWithHostLabelOperationOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +FractionalSecondsOutcome EC2ProtocolClient::FractionalSeconds(const FractionalSecondsRequest& request) const +{ + AWS_OPERATION_GUARD(FractionalSeconds); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, FractionalSeconds, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, FractionalSeconds, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, FractionalSeconds, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> FractionalSecondsOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, FractionalSeconds, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return FractionalSecondsOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +GreetingWithErrorsOutcome EC2ProtocolClient::GreetingWithErrors(const GreetingWithErrorsRequest& request) const +{ + AWS_OPERATION_GUARD(GreetingWithErrors); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GreetingWithErrors, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, GreetingWithErrors, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, GreetingWithErrors, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> GreetingWithErrorsOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, GreetingWithErrors, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return GreetingWithErrorsOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +HostWithPathOperationOutcome EC2ProtocolClient::HostWithPathOperation(const HostWithPathOperationRequest& request) const +{ + AWS_OPERATION_GUARD(HostWithPathOperation); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, HostWithPathOperation, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, HostWithPathOperation, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, HostWithPathOperation, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> HostWithPathOperationOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, HostWithPathOperation, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return HostWithPathOperationOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +IgnoresWrappingXmlNameOutcome EC2ProtocolClient::IgnoresWrappingXmlName(const IgnoresWrappingXmlNameRequest& request) const +{ + AWS_OPERATION_GUARD(IgnoresWrappingXmlName); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, IgnoresWrappingXmlName, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, IgnoresWrappingXmlName, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, IgnoresWrappingXmlName, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> IgnoresWrappingXmlNameOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, IgnoresWrappingXmlName, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return IgnoresWrappingXmlNameOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +NestedStructuresOutcome EC2ProtocolClient::NestedStructures(const NestedStructuresRequest& request) const +{ + AWS_OPERATION_GUARD(NestedStructures); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, NestedStructures, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, NestedStructures, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, NestedStructures, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> NestedStructuresOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, NestedStructures, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return NestedStructuresOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +NoInputAndOutputOutcome EC2ProtocolClient::NoInputAndOutput(const NoInputAndOutputRequest& request) const +{ + AWS_OPERATION_GUARD(NoInputAndOutput); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, NoInputAndOutput, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, NoInputAndOutput, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, NoInputAndOutput, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> NoInputAndOutputOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, NoInputAndOutput, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return NoInputAndOutputOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +PutWithContentEncodingOutcome EC2ProtocolClient::PutWithContentEncoding(const PutWithContentEncodingRequest& request) const +{ + AWS_OPERATION_GUARD(PutWithContentEncoding); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, PutWithContentEncoding, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, PutWithContentEncoding, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, PutWithContentEncoding, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> PutWithContentEncodingOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, PutWithContentEncoding, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return PutWithContentEncodingOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +QueryIdempotencyTokenAutoFillOutcome EC2ProtocolClient::QueryIdempotencyTokenAutoFill(const QueryIdempotencyTokenAutoFillRequest& request) const +{ + AWS_OPERATION_GUARD(QueryIdempotencyTokenAutoFill); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, QueryIdempotencyTokenAutoFill, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, QueryIdempotencyTokenAutoFill, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, QueryIdempotencyTokenAutoFill, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> QueryIdempotencyTokenAutoFillOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, QueryIdempotencyTokenAutoFill, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return QueryIdempotencyTokenAutoFillOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +QueryListsOutcome EC2ProtocolClient::QueryLists(const QueryListsRequest& request) const +{ + AWS_OPERATION_GUARD(QueryLists); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, QueryLists, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, QueryLists, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, QueryLists, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> QueryListsOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, QueryLists, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return QueryListsOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +QueryTimestampsOutcome EC2ProtocolClient::QueryTimestamps(const QueryTimestampsRequest& request) const +{ + AWS_OPERATION_GUARD(QueryTimestamps); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, QueryTimestamps, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, QueryTimestamps, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, QueryTimestamps, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> QueryTimestampsOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, QueryTimestamps, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return QueryTimestampsOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +RecursiveXmlShapesOutcome EC2ProtocolClient::RecursiveXmlShapes(const RecursiveXmlShapesRequest& request) const +{ + AWS_OPERATION_GUARD(RecursiveXmlShapes); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, RecursiveXmlShapes, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, RecursiveXmlShapes, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, RecursiveXmlShapes, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> RecursiveXmlShapesOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, RecursiveXmlShapes, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return RecursiveXmlShapesOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +SimpleInputParamsOutcome EC2ProtocolClient::SimpleInputParams(const SimpleInputParamsRequest& request) const +{ + AWS_OPERATION_GUARD(SimpleInputParams); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, SimpleInputParams, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, SimpleInputParams, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, SimpleInputParams, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> SimpleInputParamsOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, SimpleInputParams, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return SimpleInputParamsOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +SimpleScalarXmlPropertiesOutcome EC2ProtocolClient::SimpleScalarXmlProperties(const SimpleScalarXmlPropertiesRequest& request) const +{ + AWS_OPERATION_GUARD(SimpleScalarXmlProperties); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, SimpleScalarXmlProperties, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, SimpleScalarXmlProperties, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, SimpleScalarXmlProperties, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> SimpleScalarXmlPropertiesOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, SimpleScalarXmlProperties, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return SimpleScalarXmlPropertiesOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +XmlBlobsOutcome EC2ProtocolClient::XmlBlobs(const XmlBlobsRequest& request) const +{ + AWS_OPERATION_GUARD(XmlBlobs); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, XmlBlobs, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, XmlBlobs, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, XmlBlobs, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> XmlBlobsOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, XmlBlobs, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return XmlBlobsOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +XmlEmptyBlobsOutcome EC2ProtocolClient::XmlEmptyBlobs(const XmlEmptyBlobsRequest& request) const +{ + AWS_OPERATION_GUARD(XmlEmptyBlobs); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, XmlEmptyBlobs, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, XmlEmptyBlobs, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, XmlEmptyBlobs, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> XmlEmptyBlobsOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, XmlEmptyBlobs, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return XmlEmptyBlobsOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +XmlEmptyListsOutcome EC2ProtocolClient::XmlEmptyLists(const XmlEmptyListsRequest& request) const +{ + AWS_OPERATION_GUARD(XmlEmptyLists); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, XmlEmptyLists, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, XmlEmptyLists, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, XmlEmptyLists, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> XmlEmptyListsOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, XmlEmptyLists, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return XmlEmptyListsOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +XmlEnumsOutcome EC2ProtocolClient::XmlEnums(const XmlEnumsRequest& request) const +{ + AWS_OPERATION_GUARD(XmlEnums); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, XmlEnums, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, XmlEnums, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, XmlEnums, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> XmlEnumsOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, XmlEnums, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return XmlEnumsOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +XmlIntEnumsOutcome EC2ProtocolClient::XmlIntEnums(const XmlIntEnumsRequest& request) const +{ + AWS_OPERATION_GUARD(XmlIntEnums); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, XmlIntEnums, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, XmlIntEnums, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, XmlIntEnums, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> XmlIntEnumsOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, XmlIntEnums, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return XmlIntEnumsOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +XmlListsOutcome EC2ProtocolClient::XmlLists(const XmlListsRequest& request) const +{ + AWS_OPERATION_GUARD(XmlLists); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, XmlLists, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, XmlLists, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, XmlLists, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> XmlListsOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, XmlLists, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return XmlListsOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +XmlNamespacesOutcome EC2ProtocolClient::XmlNamespaces(const XmlNamespacesRequest& request) const +{ + AWS_OPERATION_GUARD(XmlNamespaces); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, XmlNamespaces, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, XmlNamespaces, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, XmlNamespaces, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> XmlNamespacesOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, XmlNamespaces, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return XmlNamespacesOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +XmlTimestampsOutcome EC2ProtocolClient::XmlTimestamps(const XmlTimestampsRequest& request) const +{ + AWS_OPERATION_GUARD(XmlTimestamps); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, XmlTimestamps, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, XmlTimestamps, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, XmlTimestamps, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> XmlTimestampsOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, XmlTimestamps, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return XmlTimestampsOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/EC2ProtocolEndpointProvider.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/EC2ProtocolEndpointProvider.cpp new file mode 100644 index 00000000000..4b5bc7d6cf1 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/EC2ProtocolEndpointProvider.cpp @@ -0,0 +1,16 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws +{ +namespace EC2Protocol +{ +namespace Endpoint +{ +} // namespace Endpoint +} // namespace EC2Protocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/EC2ProtocolEndpointRules.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/EC2ProtocolEndpointRules.cpp new file mode 100644 index 00000000000..0d0a6fe82f3 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/EC2ProtocolEndpointRules.cpp @@ -0,0 +1,70 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +namespace Aws +{ +namespace EC2Protocol +{ +const size_t EC2ProtocolEndpointRules::RulesBlobStrLen = 1086; +const size_t EC2ProtocolEndpointRules::RulesBlobSize = 1087; + +using RulesBlobT = Aws::Array; +static constexpr RulesBlobT RulesBlob = {{ +'{','"','v','e','r','s','i','o','n','"',':','"','1','.','3','"',',','"','p','a','r','a','m','e','t', +'e','r','s','"',':','{','"','R','e','g','i','o','n','"',':','{','"','b','u','i','l','t','I','n','"', +':','"','A','W','S',':',':','R','e','g','i','o','n','"',',','"','r','e','q','u','i','r','e','d','"', +':','t','r','u','e',',','"','d','o','c','u','m','e','n','t','a','t','i','o','n','"',':','"','T','h', +'e',' ','A','W','S',' ','r','e','g','i','o','n',' ','u','s','e','d',' ','t','o',' ','d','i','s','p', +'a','t','c','h',' ','t','h','e',' ','r','e','q','u','e','s','t','.','"',',','"','t','y','p','e','"', +':','"','S','t','r','i','n','g','"','}',',','"','U','s','e','D','u','a','l','S','t','a','c','k','"', +':','{','"','b','u','i','l','t','I','n','"',':','"','A','W','S',':',':','U','s','e','D','u','a','l', +'S','t','a','c','k','"',',','"','r','e','q','u','i','r','e','d','"',':','t','r','u','e',',','"','d', +'e','f','a','u','l','t','"',':','f','a','l','s','e',',','"','d','o','c','u','m','e','n','t','a','t', +'i','o','n','"',':','"','W','h','e','n',' ','t','r','u','e',',',' ','u','s','e',' ','t','h','e',' ', +'d','u','a','l','-','s','t','a','c','k',' ','e','n','d','p','o','i','n','t','.',' ','I','f',' ','t', +'h','e',' ','c','o','n','f','i','g','u','r','e','d',' ','e','n','d','p','o','i','n','t',' ','d','o', +'e','s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ','d','u','a','l','-','s','t','a','c','k', +',',' ','d','i','s','p','a','t','c','h','i','n','g',' ','t','h','e',' ','r','e','q','u','e','s','t', +' ','M','A','Y',' ','r','e','t','u','r','n',' ','a','n',' ','e','r','r','o','r','.','"',',','"','t', +'y','p','e','"',':','"','B','o','o','l','e','a','n','"','}',',','"','U','s','e','F','I','P','S','"', +':','{','"','b','u','i','l','t','I','n','"',':','"','A','W','S',':',':','U','s','e','F','I','P','S', +'"',',','"','r','e','q','u','i','r','e','d','"',':','t','r','u','e',',','"','d','e','f','a','u','l', +'t','"',':','f','a','l','s','e',',','"','d','o','c','u','m','e','n','t','a','t','i','o','n','"',':', +'"','W','h','e','n',' ','t','r','u','e',',',' ','s','e','n','d',' ','t','h','i','s',' ','r','e','q', +'u','e','s','t',' ','t','o',' ','t','h','e',' ','F','I','P','S','-','c','o','m','p','l','i','a','n', +'t',' ','r','e','g','i','o','n','a','l',' ','e','n','d','p','o','i','n','t','.',' ','I','f',' ','t', +'h','e',' ','c','o','n','f','i','g','u','r','e','d',' ','e','n','d','p','o','i','n','t',' ','d','o', +'e','s',' ','n','o','t',' ','h','a','v','e',' ','a',' ','F','I','P','S',' ','c','o','m','p','l','i', +'a','n','t',' ','e','n','d','p','o','i','n','t',',',' ','d','i','s','p','a','t','c','h','i','n','g', +' ','t','h','e',' ','r','e','q','u','e','s','t',' ','w','i','l','l',' ','r','e','t','u','r','n',' ', +'a','n',' ','e','r','r','o','r','.','"',',','"','t','y','p','e','"',':','"','B','o','o','l','e','a', +'n','"','}',',','"','E','n','d','p','o','i','n','t','"',':','{','"','b','u','i','l','t','I','n','"', +':','"','S','D','K',':',':','E','n','d','p','o','i','n','t','"',',','"','r','e','q','u','i','r','e', +'d','"',':','f','a','l','s','e',',','"','d','o','c','u','m','e','n','t','a','t','i','o','n','"',':', +'"','O','v','e','r','r','i','d','e',' ','t','h','e',' ','e','n','d','p','o','i','n','t',' ','u','s', +'e','d',' ','t','o',' ','s','e','n','d',' ','t','h','i','s',' ','r','e','q','u','e','s','t','"',',', +'"','t','y','p','e','"',':','"','S','t','r','i','n','g','"','}','}',',','"','r','u','l','e','s','"', +':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','t','y','p','e','"', +':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t', +'i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l', +'"',':','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',',','"','p','r','o', +'p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[', +'{','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','R', +'e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"',',','"','s','i','g','n','i','n', +'g','N','a','m','e','"',':','"','t','e','s','t','-','s','e','r','v','i','c','e','"','}',']','}',',', +'"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d', +'p','o','i','n','t','"','}',']','}',']','}','\0' +}}; + +const char* EC2ProtocolEndpointRules::GetRulesBlob() +{ + return RulesBlob.data(); +} + +} // namespace EC2Protocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/EC2ProtocolErrorMarshaller.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/EC2ProtocolErrorMarshaller.cpp new file mode 100644 index 00000000000..535afe2da3f --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/EC2ProtocolErrorMarshaller.cpp @@ -0,0 +1,22 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include + +using namespace Aws::Client; +using namespace Aws::EC2Protocol; + +AWSError EC2ProtocolErrorMarshaller::FindErrorByName(const char* errorName) const +{ + AWSError error = EC2ProtocolErrorMapper::GetErrorForName(errorName); + if(error.GetErrorType() != CoreErrors::UNKNOWN) + { + return error; + } + + return AWSErrorMarshaller::FindErrorByName(errorName); +} \ No newline at end of file diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/EC2ProtocolErrors.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/EC2ProtocolErrors.cpp new file mode 100644 index 00000000000..108eb424b7f --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/EC2ProtocolErrors.cpp @@ -0,0 +1,1114 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Client; +using namespace Aws::Utils; +using namespace Aws::EC2Protocol; +using namespace Aws::EC2Protocol::Model; + +namespace Aws +{ +namespace EC2Protocol +{ +template<> AWS_EC2PROTOCOL_API ComplexError EC2ProtocolError::GetModeledError() +{ + assert(this->GetErrorType() == EC2ProtocolErrors::COMPLEX); + return ComplexError(this->GetXmlPayload().GetRootElement()); +} + +namespace EC2ProtocolErrorMapper +{ + +static const int DRY_RUN_OPERATION_HASH = HashingUtils::HashString("DryRunOperation"); +static const int INVALID_VPN_CONNECTION_I_D__NOT_FOUND_HASH = HashingUtils::HashString("InvalidVpnConnectionID.NotFound"); +static const int VOLUME_LIMIT_EXCEEDED_HASH = HashingUtils::HashString("VolumeLimitExceeded"); +static const int INVALID_SNAPSHOT__NOT_FOUND_HASH = HashingUtils::HashString("InvalidSnapshot.NotFound"); +static const int RESERVED_INSTANCES_LIMIT_EXCEEDED_HASH = HashingUtils::HashString("ReservedInstancesLimitExceeded"); +static const int INVALID_VPC_ENDPOINT_ID__NOT_FOUND_HASH = HashingUtils::HashString("InvalidVpcEndpointId.NotFound"); +static const int INVALID_ZONE__NOT_FOUND_HASH = HashingUtils::HashString("InvalidZone.NotFound"); +static const int INVALID_ROUTE__NOT_FOUND_HASH = HashingUtils::HashString("InvalidRoute.NotFound"); +static const int INVALID_NETWORK_INTERFACE_ID__MALFORMED_HASH = HashingUtils::HashString("InvalidNetworkInterfaceId.Malformed"); +static const int INVALID_VPC__RANGE_HASH = HashingUtils::HashString("InvalidVpc.Range"); +static const int NON_E_B_S_INSTANCE_HASH = HashingUtils::HashString("NonEBSInstance"); +static const int INVALID_A_M_I_I_D__NOT_FOUND_HASH = HashingUtils::HashString("InvalidAMIID.NotFound"); +static const int INVALID_KEY_PAIR__NOT_FOUND_HASH = HashingUtils::HashString("InvalidKeyPair.NotFound"); +static const int VPC_PEERING_CONNECTION_ALREADY_EXISTS_HASH = HashingUtils::HashString("VpcPeeringConnectionAlreadyExists"); +static const int INVALID_VPC_ENDPOINT_ID__MALFORMED_HASH = HashingUtils::HashString("InvalidVpcEndpointId.Malformed"); +static const int INVALID_VOLUME_I_D__MALFORMED_HASH = HashingUtils::HashString("InvalidVolumeID.Malformed"); +static const int INVALID_RESERVED_INSTANCES_OFFERING_ID_HASH = HashingUtils::HashString("InvalidReservedInstancesOfferingId"); +static const int INVALID_BLOCK_DEVICE_MAPPING_HASH = HashingUtils::HashString("InvalidBlockDeviceMapping"); +static const int INVALID_VOLUME_I_D__ZONE_MISMATCH_HASH = HashingUtils::HashString("InvalidVolumeID.ZoneMismatch"); +static const int UNSUPPORTED_HASH = HashingUtils::HashString("Unsupported"); +static const int INVALID_KEY__FORMAT_HASH = HashingUtils::HashString("InvalidKey.Format"); +static const int INVALID_SPOT_FLEET_REQUEST_ID__MALFORMED_HASH = HashingUtils::HashString("InvalidSpotFleetRequestId.Malformed"); +static const int INVALID_ADDRESS_I_D__NOT_FOUND_HASH = HashingUtils::HashString("InvalidAddressID.NotFound"); +static const int ROUTE_ALREADY_EXISTS_HASH = HashingUtils::HashString("RouteAlreadyExists"); +static const int INVALID_A_M_I_I_D__MALFORMED_HASH = HashingUtils::HashString("InvalidAMIID.Malformed"); +static const int INVALID_KEY_PAIR__FORMAT_HASH = HashingUtils::HashString("InvalidKeyPair.Format"); +static const int VPC_CIDR_CONFLICT_HASH = HashingUtils::HashString("VpcCidrConflict"); +static const int INVALID_GROUP__RESERVED_HASH = HashingUtils::HashString("InvalidGroup.Reserved"); +static const int LEGACY_SECURITY_GROUP_HASH = HashingUtils::HashString("LegacySecurityGroup"); +static const int CANNOT_DELETE_HASH = HashingUtils::HashString("CannotDelete"); +static const int INVALID_I_P_ADDRESS__IN_USE_HASH = HashingUtils::HashString("InvalidIPAddress.InUse"); +static const int INVALID_A_M_I_I_D__UNAVAILABLE_HASH = HashingUtils::HashString("InvalidAMIID.Unavailable"); +static const int INVALID_FORMAT_HASH = HashingUtils::HashString("InvalidFormat"); +static const int INVALID_GROUP_ID__MALFORMED_HASH = HashingUtils::HashString("InvalidGroupId.Malformed"); +static const int BUNDLING_IN_PROGRESS_HASH = HashingUtils::HashString("BundlingInProgress"); +static const int INVALID_INSTANCE_TYPE_HASH = HashingUtils::HashString("InvalidInstanceType"); +static const int INVALID_PERMISSION__NOT_FOUND_HASH = HashingUtils::HashString("InvalidPermission.NotFound"); +static const int INVALID_ROUTE__MALFORMED_HASH = HashingUtils::HashString("InvalidRoute.Malformed"); +static const int INVALID_RESERVATION_I_D__MALFORMED_HASH = HashingUtils::HashString("InvalidReservationID.Malformed"); +static const int INVALID_KEY_PAIR__DUPLICATE_HASH = HashingUtils::HashString("InvalidKeyPair.Duplicate"); +static const int ROUTE_LIMIT_EXCEEDED_HASH = HashingUtils::HashString("RouteLimitExceeded"); +static const int INVALID_SECURITY__REQUEST_HAS_EXPIRED_HASH = HashingUtils::HashString("InvalidSecurity.RequestHasExpired"); +static const int INVALID_SPOT_INSTANCE_REQUEST_I_D__MALFORMED_HASH = HashingUtils::HashString("InvalidSpotInstanceRequestID.Malformed"); +static const int INVALID_VPC_I_D__NOT_FOUND_HASH = HashingUtils::HashString("InvalidVpcID.NotFound"); +static const int ROUTE_TABLE_LIMIT_EXCEEDED_HASH = HashingUtils::HashString("RouteTableLimitExceeded"); +static const int INVALID_ATTACHMENT_I_D__NOT_FOUND_HASH = HashingUtils::HashString("InvalidAttachmentID.NotFound"); +static const int INVALID_PERMISSION__MALFORMED_HASH = HashingUtils::HashString("InvalidPermission.Malformed"); +static const int VOLUME_IN_USE_HASH = HashingUtils::HashString("VolumeInUse"); +static const int ACTIVE_VPC_PEERING_CONNECTION_PER_VPC_LIMIT_EXCEEDED_HASH = HashingUtils::HashString("ActiveVpcPeeringConnectionPerVpcLimitExceeded"); +static const int INVALID_VOLUME__ZONE_MISMATCH_HASH = HashingUtils::HashString("InvalidVolume.ZoneMismatch"); +static const int INVALID_DHCP_OPTION_I_D__NOT_FOUND_HASH = HashingUtils::HashString("InvalidDhcpOptionID.NotFound"); +static const int PENDING_SNAPSHOT_LIMIT_EXCEEDED_HASH = HashingUtils::HashString("PendingSnapshotLimitExceeded"); +static const int INVALID_PREFIX_LIST_ID__MALFORMED_HASH = HashingUtils::HashString("InvalidPrefixListId.Malformed"); +static const int INVALID_VPN_CONNECTION_I_D_HASH = HashingUtils::HashString("InvalidVpnConnectionID"); +static const int INVALID_USER_I_D__MALFORMED_HASH = HashingUtils::HashString("InvalidUserID.Malformed"); +static const int ADDRESS_LIMIT_EXCEEDED_HASH = HashingUtils::HashString("AddressLimitExceeded"); +static const int INVALID_GROUP__NOT_FOUND_HASH = HashingUtils::HashString("InvalidGroup.NotFound"); +static const int INVALID_I_D_HASH = HashingUtils::HashString("InvalidID"); +static const int VOLUME_TYPE_NOT_AVAILABLE_IN_ZONE_HASH = HashingUtils::HashString("VolumeTypeNotAvailableInZone"); +static const int INSUFFICIENT_FREE_ADDRESSES_IN_SUBNET_HASH = HashingUtils::HashString("InsufficientFreeAddressesInSubnet"); +static const int DISK_IMAGE_SIZE_TOO_LARGE_HASH = HashingUtils::HashString("DiskImageSizeTooLarge"); +static const int INVALID_A_M_I_ATTRIBUTE_ITEM_VALUE_HASH = HashingUtils::HashString("InvalidAMIAttributeItemValue"); +static const int INVALID_GROUP__IN_USE_HASH = HashingUtils::HashString("InvalidGroup.InUse"); +static const int INVALID_SPOT_DATAFEED__NOT_FOUND_HASH = HashingUtils::HashString("InvalidSpotDatafeed.NotFound"); +static const int INSUFFICIENT_RESERVED_INSTANCES_CAPACITY_HASH = HashingUtils::HashString("InsufficientReservedInstancesCapacity"); +static const int MAX_I_O_P_S_LIMIT_EXCEEDED_HASH = HashingUtils::HashString("MaxIOPSLimitExceeded"); +static const int RESOURCE_COUNT_EXCEEDED_HASH = HashingUtils::HashString("ResourceCountExceeded"); +static const int INCORRECT_STATE_HASH = HashingUtils::HashString("IncorrectState"); +static const int NETWORK_ACL_LIMIT_EXCEEDED_HASH = HashingUtils::HashString("NetworkAclLimitExceeded"); +static const int INVALID_GREETING_HASH = HashingUtils::HashString("InvalidGreeting"); +static const int INVALID_RESERVED_INSTANCES_ID_HASH = HashingUtils::HashString("InvalidReservedInstancesId"); +static const int UNSUPPORTED_OPERATION_HASH = HashingUtils::HashString("UnsupportedOperation"); +static const int INVALID_REQUEST_HASH = HashingUtils::HashString("InvalidRequest"); +static const int VPC_ENDPOINT_LIMIT_EXCEEDED_HASH = HashingUtils::HashString("VpcEndpointLimitExceeded"); +static const int INVALID_ROUTE_TABLE_ID__MALFORMED_HASH = HashingUtils::HashString("InvalidRouteTableId.Malformed"); +static const int INVALID_STATE_TRANSITION_HASH = HashingUtils::HashString("InvalidStateTransition"); +static const int INVALID_VPC_PEERING_CONNECTION_ID__MALFORMED_HASH = HashingUtils::HashString("InvalidVpcPeeringConnectionId.Malformed"); +static const int PRIVATE_IP_ADDRESS_LIMIT_EXCEEDED_HASH = HashingUtils::HashString("PrivateIpAddressLimitExceeded"); +static const int VPC_LIMIT_EXCEEDED_HASH = HashingUtils::HashString("VpcLimitExceeded"); +static const int INVALID_PERMISSION__DUPLICATE_HASH = HashingUtils::HashString("InvalidPermission.Duplicate"); +static const int CUSTOMER_GATEWAY_LIMIT_EXCEEDED_HASH = HashingUtils::HashString("CustomerGatewayLimitExceeded"); +static const int INSTANCE_LIMIT_EXCEEDED_HASH = HashingUtils::HashString("InstanceLimitExceeded"); +static const int INTERNET_GATEWAY_LIMIT_EXCEEDED_HASH = HashingUtils::HashString("InternetGatewayLimitExceeded"); +static const int CONCURRENT_SNAPSHOT_LIMIT_EXCEEDED_HASH = HashingUtils::HashString("ConcurrentSnapshotLimitExceeded"); +static const int SECURITY_GROUPS_PER_INSTANCE_LIMIT_EXCEEDED_HASH = HashingUtils::HashString("SecurityGroupsPerInstanceLimitExceeded"); +static const int V_P_C_RESOURCE_NOT_SPECIFIED_HASH = HashingUtils::HashString("VPCResourceNotSpecified"); +static const int INVALID_SNAPSHOT__IN_USE_HASH = HashingUtils::HashString("InvalidSnapshot.InUse"); +static const int UNKNOWN_VOLUME_TYPE_HASH = HashingUtils::HashString("UnknownVolumeType"); +static const int SECURITY_GROUP_LIMIT_EXCEEDED_HASH = HashingUtils::HashString("SecurityGroupLimitExceeded"); +static const int INVALID_SUBNET_I_D__NOT_FOUND_HASH = HashingUtils::HashString("InvalidSubnetID.NotFound"); +static const int GATEWAY__NOT_ATTACHED_HASH = HashingUtils::HashString("Gateway.NotAttached"); +static const int INVALID_GROUP__DUPLICATE_HASH = HashingUtils::HashString("InvalidGroup.Duplicate"); +static const int ENCRYPTED_VOLUMES_NOT_SUPPORTED_HASH = HashingUtils::HashString("EncryptedVolumesNotSupported"); +static const int INVALID_ROUTE_TABLE_I_D__NOT_FOUND_HASH = HashingUtils::HashString("InvalidRouteTableID.NotFound"); +static const int INVALID_SECURITY_GROUP_I_D__NOT_FOUND_HASH = HashingUtils::HashString("InvalidSecurityGroupID.NotFound"); +static const int INVALID_PLACEMENT_GROUP__UNKNOWN_HASH = HashingUtils::HashString("InvalidPlacementGroup.Unknown"); +static const int INVALID_INSTANCE_I_D__MALFORMED_HASH = HashingUtils::HashString("InvalidInstanceID.Malformed"); +static const int INSTANCE_ALREADY_LINKED_HASH = HashingUtils::HashString("InstanceAlreadyLinked"); +static const int INVALID_ATTACHMENT__NOT_FOUND_HASH = HashingUtils::HashString("InvalidAttachment.NotFound"); +static const int INVALID_CUSTOMER_GATEWAY__DUPLICATE_IP_ADDRESS_HASH = HashingUtils::HashString("InvalidCustomerGateway.DuplicateIpAddress"); +static const int INVALID_SUBNET__CONFLICT_HASH = HashingUtils::HashString("InvalidSubnet.Conflict"); +static const int INVALID_INPUT_HASH = HashingUtils::HashString("InvalidInput"); +static const int INVALID_INSTANCE_ATTRIBUTE_VALUE_HASH = HashingUtils::HashString("InvalidInstanceAttributeValue"); +static const int REQUEST_RESOURCE_COUNT_EXCEEDED_HASH = HashingUtils::HashString("RequestResourceCountExceeded"); +static const int INVALID_ASSOCIATION_I_D__NOT_FOUND_HASH = HashingUtils::HashString("InvalidAssociationID.NotFound"); +static const int INVALID_DEVICE__IN_USE_HASH = HashingUtils::HashString("InvalidDevice.InUse"); +static const int INVALID_CONVERSION_TASK_ID_HASH = HashingUtils::HashString("InvalidConversionTaskId"); +static const int MAX_SPOT_FLEET_REQUEST_COUNT_EXCEEDED_HASH = HashingUtils::HashString("MaxSpotFleetRequestCountExceeded"); +static const int INVALID_ALLOCATION_I_D__NOT_FOUND_HASH = HashingUtils::HashString("InvalidAllocationID.NotFound"); +static const int INVALID_CUSTOMER_GATEWAY_I_D__NOT_FOUND_HASH = HashingUtils::HashString("InvalidCustomerGatewayID.NotFound"); +static const int INVALID_POLICY_DOCUMENT_HASH = HashingUtils::HashString("InvalidPolicyDocument"); +static const int INVALID_SPOT_FLEET_REQUEST_ID__NOT_FOUND_HASH = HashingUtils::HashString("InvalidSpotFleetRequestId.NotFound"); +static const int INVALID_FLOW_LOG_ID__NOT_FOUND_HASH = HashingUtils::HashString("InvalidFlowLogId.NotFound"); +static const int VPN_GATEWAY_ATTACHMENT_LIMIT_EXCEEDED_HASH = HashingUtils::HashString("VpnGatewayAttachmentLimitExceeded"); +static const int FILTER_LIMIT_EXCEEDED_HASH = HashingUtils::HashString("FilterLimitExceeded"); +static const int INVALID_SNAPSHOT_I_D__MALFORMED_HASH = HashingUtils::HashString("InvalidSnapshotID.Malformed"); +static const int INVALID_SPOT_FLEET_REQUEST_CONFIG_HASH = HashingUtils::HashString("InvalidSpotFleetRequestConfig"); +static const int SNAPSHOT_LIMIT_EXCEEDED_HASH = HashingUtils::HashString("SnapshotLimitExceeded"); +static const int INVALID_VPC_STATE_HASH = HashingUtils::HashString("InvalidVpcState"); +static const int INVALID_GATEWAY_I_D__NOT_FOUND_HASH = HashingUtils::HashString("InvalidGatewayID.NotFound"); +static const int SECURITY_GROUPS_PER_INTERFACE_LIMIT_EXCEEDED_HASH = HashingUtils::HashString("SecurityGroupsPerInterfaceLimitExceeded"); +static const int MAX_SPOT_INSTANCE_COUNT_EXCEEDED_HASH = HashingUtils::HashString("MaxSpotInstanceCountExceeded"); +static const int INVALID_ADDRESS__MALFORMED_HASH = HashingUtils::HashString("InvalidAddress.Malformed"); +static const int INVALID_DHCP_OPTIONS_ID__MALFORMED_HASH = HashingUtils::HashString("InvalidDhcpOptionsId.Malformed"); +static const int NETWORK_ACL_ENTRY_ALREADY_EXISTS_HASH = HashingUtils::HashString("NetworkAclEntryAlreadyExists"); +static const int VPN_GATEWAY_LIMIT_EXCEEDED_HASH = HashingUtils::HashString("VpnGatewayLimitExceeded"); +static const int INVALID_PREFIX_LIST_ID__NOT_FOUND_HASH = HashingUtils::HashString("InvalidPrefixListId.NotFound"); +static const int INVALID_INSTANCE_I_D_HASH = HashingUtils::HashString("InvalidInstanceID"); +static const int INVALID_STATE_HASH = HashingUtils::HashString("InvalidState"); +static const int FLOW_LOGS_LIMIT_EXCEEDED_HASH = HashingUtils::HashString("FlowLogsLimitExceeded"); +static const int INVALID_ADDRESS__NOT_FOUND_HASH = HashingUtils::HashString("InvalidAddress.NotFound"); +static const int V_P_C_ID_NOT_SPECIFIED_HASH = HashingUtils::HashString("VPCIdNotSpecified"); +static const int RESOURCE__ALREADY_ASSOCIATED_HASH = HashingUtils::HashString("Resource.AlreadyAssociated"); +static const int NOT_EXPORTABLE_HASH = HashingUtils::HashString("NotExportable"); +static const int INVALID_DHCP_OPTIONS_I_D__NOT_FOUND_HASH = HashingUtils::HashString("InvalidDhcpOptionsID.NotFound"); +static const int NETWORK_ACL_ENTRY_LIMIT_EXCEEDED_HASH = HashingUtils::HashString("NetworkAclEntryLimitExceeded"); +static const int TAG_LIMIT_EXCEEDED_HASH = HashingUtils::HashString("TagLimitExceeded"); +static const int INVALID_NETWORK_INTERFACE_I_D__NOT_FOUND_HASH = HashingUtils::HashString("InvalidNetworkInterfaceID.NotFound"); +static const int INVALID_VPN_GATEWAY_I_D__NOT_FOUND_HASH = HashingUtils::HashString("InvalidVpnGatewayID.NotFound"); +static const int INVALID_SPOT_INSTANCE_REQUEST_I_D__NOT_FOUND_HASH = HashingUtils::HashString("InvalidSpotInstanceRequestID.NotFound"); +static const int RULES_PER_SECURITY_GROUP_LIMIT_EXCEEDED_HASH = HashingUtils::HashString("RulesPerSecurityGroupLimitExceeded"); +static const int INVALID_PLACEMENT_GROUP__DUPLICATE_HASH = HashingUtils::HashString("InvalidPlacementGroup.Duplicate"); +static const int OPERATION_NOT_PERMITTED_HASH = HashingUtils::HashString("OperationNotPermitted"); +static const int INVALID_EXPORT_TASK_I_D__NOT_FOUND_HASH = HashingUtils::HashString("InvalidExportTaskID.NotFound"); +static const int VPN_CONNECTION_LIMIT_EXCEEDED_HASH = HashingUtils::HashString("VpnConnectionLimitExceeded"); +static const int INCORRECT_INSTANCE_STATE_HASH = HashingUtils::HashString("IncorrectInstanceState"); +static const int INVALID_NETWORK_ACL_ENTRY__NOT_FOUND_HASH = HashingUtils::HashString("InvalidNetworkAclEntry.NotFound"); +static const int INVALID_VPC_PEERING_CONNECTION_I_D__NOT_FOUND_HASH = HashingUtils::HashString("InvalidVpcPeeringConnectionID.NotFound"); +static const int SUBNET_LIMIT_EXCEEDED_HASH = HashingUtils::HashString("SubnetLimitExceeded"); +static const int INVALID_VOLUME_I_D__DUPLICATE_HASH = HashingUtils::HashString("InvalidVolumeID.Duplicate"); +static const int INVALID_OPTION__CONFLICT_HASH = HashingUtils::HashString("InvalidOption.Conflict"); +static const int INVALID_BUNDLE_I_D__NOT_FOUND_HASH = HashingUtils::HashString("InvalidBundleID.NotFound"); +static const int ATTACHMENT_LIMIT_EXCEEDED_HASH = HashingUtils::HashString("AttachmentLimitExceeded"); +static const int FLOW_LOG_ALREADY_EXISTS_HASH = HashingUtils::HashString("FlowLogAlreadyExists"); +static const int INVALID_INSTANCE_I_D__NOT_LINKABLE_HASH = HashingUtils::HashString("InvalidInstanceID.NotLinkable"); +static const int INVALID_PLACEMENT_GROUP__IN_USE_HASH = HashingUtils::HashString("InvalidPlacementGroup.InUse"); +static const int INVALID_SERVICE_NAME_HASH = HashingUtils::HashString("InvalidServiceName"); +static const int INVALID_INTERNET_GATEWAY_I_D__NOT_FOUND_HASH = HashingUtils::HashString("InvalidInternetGatewayID.NotFound"); +static const int INVALID_INSTANCE_I_D__NOT_FOUND_HASH = HashingUtils::HashString("InvalidInstanceID.NotFound"); +static const int INVALID_NETWORK_INTERFACE_ATTACHMENT_I_D__MALFORMED_HASH = HashingUtils::HashString("InvalidNetworkInterfaceAttachmentID.Malformed"); +static const int INVALID_A_M_I_NAME__DUPLICATE_HASH = HashingUtils::HashString("InvalidAMIName.Duplicate"); +static const int INVALID_VOLUME__NOT_FOUND_HASH = HashingUtils::HashString("InvalidVolume.NotFound"); +static const int COMPLEX_HASH = HashingUtils::HashString("ComplexError"); +static const int INVALID_FILTER_HASH = HashingUtils::HashString("InvalidFilter"); +static const int INVALID_MANIFEST_HASH = HashingUtils::HashString("InvalidManifest"); +static const int INVALID_VPN_GATEWAY_ATTACHMENT__NOT_FOUND_HASH = HashingUtils::HashString("InvalidVpnGatewayAttachment.NotFound"); +static const int OUTSTANDING_VPC_PEERING_CONNECTION_LIMIT_EXCEEDED_HASH = HashingUtils::HashString("OutstandingVpcPeeringConnectionLimitExceeded"); +static const int INVALID_CUSTOMER_GATEWAY_ID__MALFORMED_HASH = HashingUtils::HashString("InvalidCustomerGatewayId.Malformed"); +static const int CONCURRENT_TAG_ACCESS_HASH = HashingUtils::HashString("ConcurrentTagAccess"); +static const int INVALID_INTERFACE__IP_ADDRESS_LIMIT_EXCEEDED_HASH = HashingUtils::HashString("InvalidInterface.IpAddressLimitExceeded"); +static const int INVALID_NETWORK_ACL_I_D__NOT_FOUND_HASH = HashingUtils::HashString("InvalidNetworkAclID.NotFound"); +static const int INVALID_A_M_I_NAME__MALFORMED_HASH = HashingUtils::HashString("InvalidAMIName.Malformed"); +static const int INVALID_RESERVATION_I_D__NOT_FOUND_HASH = HashingUtils::HashString("InvalidReservationID.NotFound"); +static const int DEPENDENCY_VIOLATION_HASH = HashingUtils::HashString("DependencyViolation"); +static const int RESOURCE_LIMIT_EXCEEDED_HASH = HashingUtils::HashString("ResourceLimitExceeded"); + + +/* +The if-else chains in this file are converted into a jump table by the compiler, +which allows constant time lookup. The chain has been broken into helper functions +because MSVC has a maximum of 122 chained if-else blocks. +*/ + +static bool GetErrorForNameHelper0(int hashCode, AWSError& error) +{ + if (hashCode == DRY_RUN_OPERATION_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::DRY_RUN_OPERATION), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == INVALID_VPN_CONNECTION_I_D__NOT_FOUND_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::INVALID_VPN_CONNECTION_I_D__NOT_FOUND), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == VOLUME_LIMIT_EXCEEDED_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::VOLUME_LIMIT_EXCEEDED), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == INVALID_SNAPSHOT__NOT_FOUND_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::INVALID_SNAPSHOT__NOT_FOUND), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == RESERVED_INSTANCES_LIMIT_EXCEEDED_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::RESERVED_INSTANCES_LIMIT_EXCEEDED), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == INVALID_VPC_ENDPOINT_ID__NOT_FOUND_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::INVALID_VPC_ENDPOINT_ID__NOT_FOUND), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == INVALID_ZONE__NOT_FOUND_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::INVALID_ZONE__NOT_FOUND), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == INVALID_ROUTE__NOT_FOUND_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::INVALID_ROUTE__NOT_FOUND), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == INVALID_NETWORK_INTERFACE_ID__MALFORMED_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::INVALID_NETWORK_INTERFACE_ID__MALFORMED), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == INVALID_VPC__RANGE_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::INVALID_VPC__RANGE), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == NON_E_B_S_INSTANCE_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::NON_E_B_S_INSTANCE), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == INVALID_A_M_I_I_D__NOT_FOUND_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::INVALID_A_M_I_I_D__NOT_FOUND), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == INVALID_KEY_PAIR__NOT_FOUND_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::INVALID_KEY_PAIR__NOT_FOUND), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == VPC_PEERING_CONNECTION_ALREADY_EXISTS_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::VPC_PEERING_CONNECTION_ALREADY_EXISTS), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == INVALID_VPC_ENDPOINT_ID__MALFORMED_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::INVALID_VPC_ENDPOINT_ID__MALFORMED), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == INVALID_VOLUME_I_D__MALFORMED_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::INVALID_VOLUME_I_D__MALFORMED), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == INVALID_RESERVED_INSTANCES_OFFERING_ID_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::INVALID_RESERVED_INSTANCES_OFFERING_ID), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == INVALID_BLOCK_DEVICE_MAPPING_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::INVALID_BLOCK_DEVICE_MAPPING), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == INVALID_VOLUME_I_D__ZONE_MISMATCH_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::INVALID_VOLUME_I_D__ZONE_MISMATCH), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == UNSUPPORTED_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::UNSUPPORTED), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == INVALID_KEY__FORMAT_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::INVALID_KEY__FORMAT), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == INVALID_SPOT_FLEET_REQUEST_ID__MALFORMED_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::INVALID_SPOT_FLEET_REQUEST_ID__MALFORMED), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == INVALID_ADDRESS_I_D__NOT_FOUND_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::INVALID_ADDRESS_I_D__NOT_FOUND), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == ROUTE_ALREADY_EXISTS_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::ROUTE_ALREADY_EXISTS), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == INVALID_A_M_I_I_D__MALFORMED_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::INVALID_A_M_I_I_D__MALFORMED), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == INVALID_KEY_PAIR__FORMAT_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::INVALID_KEY_PAIR__FORMAT), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == VPC_CIDR_CONFLICT_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::VPC_CIDR_CONFLICT), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == INVALID_GROUP__RESERVED_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::INVALID_GROUP__RESERVED), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == LEGACY_SECURITY_GROUP_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::LEGACY_SECURITY_GROUP), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == CANNOT_DELETE_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::CANNOT_DELETE), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == INVALID_I_P_ADDRESS__IN_USE_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::INVALID_I_P_ADDRESS__IN_USE), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == INVALID_A_M_I_I_D__UNAVAILABLE_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::INVALID_A_M_I_I_D__UNAVAILABLE), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == INVALID_FORMAT_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::INVALID_FORMAT), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == INVALID_GROUP_ID__MALFORMED_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::INVALID_GROUP_ID__MALFORMED), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == BUNDLING_IN_PROGRESS_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::BUNDLING_IN_PROGRESS), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == INVALID_INSTANCE_TYPE_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::INVALID_INSTANCE_TYPE), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == INVALID_PERMISSION__NOT_FOUND_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::INVALID_PERMISSION__NOT_FOUND), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == INVALID_ROUTE__MALFORMED_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::INVALID_ROUTE__MALFORMED), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == INVALID_RESERVATION_I_D__MALFORMED_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::INVALID_RESERVATION_I_D__MALFORMED), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == INVALID_KEY_PAIR__DUPLICATE_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::INVALID_KEY_PAIR__DUPLICATE), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == ROUTE_LIMIT_EXCEEDED_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::ROUTE_LIMIT_EXCEEDED), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == INVALID_SECURITY__REQUEST_HAS_EXPIRED_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::INVALID_SECURITY__REQUEST_HAS_EXPIRED), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == INVALID_SPOT_INSTANCE_REQUEST_I_D__MALFORMED_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::INVALID_SPOT_INSTANCE_REQUEST_I_D__MALFORMED), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == INVALID_VPC_I_D__NOT_FOUND_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::INVALID_VPC_I_D__NOT_FOUND), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == ROUTE_TABLE_LIMIT_EXCEEDED_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::ROUTE_TABLE_LIMIT_EXCEEDED), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == INVALID_ATTACHMENT_I_D__NOT_FOUND_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::INVALID_ATTACHMENT_I_D__NOT_FOUND), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == INVALID_PERMISSION__MALFORMED_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::INVALID_PERMISSION__MALFORMED), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == VOLUME_IN_USE_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::VOLUME_IN_USE), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == ACTIVE_VPC_PEERING_CONNECTION_PER_VPC_LIMIT_EXCEEDED_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::ACTIVE_VPC_PEERING_CONNECTION_PER_VPC_LIMIT_EXCEEDED), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == INVALID_VOLUME__ZONE_MISMATCH_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::INVALID_VOLUME__ZONE_MISMATCH), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == INVALID_DHCP_OPTION_I_D__NOT_FOUND_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::INVALID_DHCP_OPTION_I_D__NOT_FOUND), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == PENDING_SNAPSHOT_LIMIT_EXCEEDED_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::PENDING_SNAPSHOT_LIMIT_EXCEEDED), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == INVALID_PREFIX_LIST_ID__MALFORMED_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::INVALID_PREFIX_LIST_ID__MALFORMED), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == INVALID_VPN_CONNECTION_I_D_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::INVALID_VPN_CONNECTION_I_D), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == INVALID_USER_I_D__MALFORMED_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::INVALID_USER_I_D__MALFORMED), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == ADDRESS_LIMIT_EXCEEDED_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::ADDRESS_LIMIT_EXCEEDED), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == INVALID_GROUP__NOT_FOUND_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::INVALID_GROUP__NOT_FOUND), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == INVALID_I_D_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::INVALID_I_D), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == VOLUME_TYPE_NOT_AVAILABLE_IN_ZONE_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::VOLUME_TYPE_NOT_AVAILABLE_IN_ZONE), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == INSUFFICIENT_FREE_ADDRESSES_IN_SUBNET_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::INSUFFICIENT_FREE_ADDRESSES_IN_SUBNET), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == DISK_IMAGE_SIZE_TOO_LARGE_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::DISK_IMAGE_SIZE_TOO_LARGE), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == INVALID_A_M_I_ATTRIBUTE_ITEM_VALUE_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::INVALID_A_M_I_ATTRIBUTE_ITEM_VALUE), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == INVALID_GROUP__IN_USE_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::INVALID_GROUP__IN_USE), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == INVALID_SPOT_DATAFEED__NOT_FOUND_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::INVALID_SPOT_DATAFEED__NOT_FOUND), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == INSUFFICIENT_RESERVED_INSTANCES_CAPACITY_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::INSUFFICIENT_RESERVED_INSTANCES_CAPACITY), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == MAX_I_O_P_S_LIMIT_EXCEEDED_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::MAX_I_O_P_S_LIMIT_EXCEEDED), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == RESOURCE_COUNT_EXCEEDED_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::RESOURCE_COUNT_EXCEEDED), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == INCORRECT_STATE_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::INCORRECT_STATE), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == NETWORK_ACL_LIMIT_EXCEEDED_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::NETWORK_ACL_LIMIT_EXCEEDED), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == INVALID_GREETING_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::INVALID_GREETING), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == INVALID_RESERVED_INSTANCES_ID_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::INVALID_RESERVED_INSTANCES_ID), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == UNSUPPORTED_OPERATION_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::UNSUPPORTED_OPERATION), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == INVALID_REQUEST_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::INVALID_REQUEST), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == VPC_ENDPOINT_LIMIT_EXCEEDED_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::VPC_ENDPOINT_LIMIT_EXCEEDED), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == INVALID_ROUTE_TABLE_ID__MALFORMED_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::INVALID_ROUTE_TABLE_ID__MALFORMED), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == INVALID_STATE_TRANSITION_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::INVALID_STATE_TRANSITION), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == INVALID_VPC_PEERING_CONNECTION_ID__MALFORMED_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::INVALID_VPC_PEERING_CONNECTION_ID__MALFORMED), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == PRIVATE_IP_ADDRESS_LIMIT_EXCEEDED_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::PRIVATE_IP_ADDRESS_LIMIT_EXCEEDED), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == VPC_LIMIT_EXCEEDED_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::VPC_LIMIT_EXCEEDED), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == INVALID_PERMISSION__DUPLICATE_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::INVALID_PERMISSION__DUPLICATE), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == CUSTOMER_GATEWAY_LIMIT_EXCEEDED_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::CUSTOMER_GATEWAY_LIMIT_EXCEEDED), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == INSTANCE_LIMIT_EXCEEDED_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::INSTANCE_LIMIT_EXCEEDED), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == INTERNET_GATEWAY_LIMIT_EXCEEDED_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::INTERNET_GATEWAY_LIMIT_EXCEEDED), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == CONCURRENT_SNAPSHOT_LIMIT_EXCEEDED_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::CONCURRENT_SNAPSHOT_LIMIT_EXCEEDED), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == SECURITY_GROUPS_PER_INSTANCE_LIMIT_EXCEEDED_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::SECURITY_GROUPS_PER_INSTANCE_LIMIT_EXCEEDED), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == V_P_C_RESOURCE_NOT_SPECIFIED_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::V_P_C_RESOURCE_NOT_SPECIFIED), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == INVALID_SNAPSHOT__IN_USE_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::INVALID_SNAPSHOT__IN_USE), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == UNKNOWN_VOLUME_TYPE_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::UNKNOWN_VOLUME_TYPE), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == SECURITY_GROUP_LIMIT_EXCEEDED_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::SECURITY_GROUP_LIMIT_EXCEEDED), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == INVALID_SUBNET_I_D__NOT_FOUND_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::INVALID_SUBNET_I_D__NOT_FOUND), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == GATEWAY__NOT_ATTACHED_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::GATEWAY__NOT_ATTACHED), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == INVALID_GROUP__DUPLICATE_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::INVALID_GROUP__DUPLICATE), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == ENCRYPTED_VOLUMES_NOT_SUPPORTED_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::ENCRYPTED_VOLUMES_NOT_SUPPORTED), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == INVALID_ROUTE_TABLE_I_D__NOT_FOUND_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::INVALID_ROUTE_TABLE_I_D__NOT_FOUND), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == INVALID_SECURITY_GROUP_I_D__NOT_FOUND_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::INVALID_SECURITY_GROUP_I_D__NOT_FOUND), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == INVALID_PLACEMENT_GROUP__UNKNOWN_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::INVALID_PLACEMENT_GROUP__UNKNOWN), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == INVALID_INSTANCE_I_D__MALFORMED_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::INVALID_INSTANCE_I_D__MALFORMED), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == INSTANCE_ALREADY_LINKED_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::INSTANCE_ALREADY_LINKED), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == INVALID_ATTACHMENT__NOT_FOUND_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::INVALID_ATTACHMENT__NOT_FOUND), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == INVALID_CUSTOMER_GATEWAY__DUPLICATE_IP_ADDRESS_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::INVALID_CUSTOMER_GATEWAY__DUPLICATE_IP_ADDRESS), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == INVALID_SUBNET__CONFLICT_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::INVALID_SUBNET__CONFLICT), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == INVALID_INPUT_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::INVALID_INPUT), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == INVALID_INSTANCE_ATTRIBUTE_VALUE_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::INVALID_INSTANCE_ATTRIBUTE_VALUE), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == REQUEST_RESOURCE_COUNT_EXCEEDED_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::REQUEST_RESOURCE_COUNT_EXCEEDED), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == INVALID_ASSOCIATION_I_D__NOT_FOUND_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::INVALID_ASSOCIATION_I_D__NOT_FOUND), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == INVALID_DEVICE__IN_USE_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::INVALID_DEVICE__IN_USE), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == INVALID_CONVERSION_TASK_ID_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::INVALID_CONVERSION_TASK_ID), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == MAX_SPOT_FLEET_REQUEST_COUNT_EXCEEDED_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::MAX_SPOT_FLEET_REQUEST_COUNT_EXCEEDED), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == INVALID_ALLOCATION_I_D__NOT_FOUND_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::INVALID_ALLOCATION_I_D__NOT_FOUND), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == INVALID_CUSTOMER_GATEWAY_I_D__NOT_FOUND_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::INVALID_CUSTOMER_GATEWAY_I_D__NOT_FOUND), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == INVALID_POLICY_DOCUMENT_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::INVALID_POLICY_DOCUMENT), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == INVALID_SPOT_FLEET_REQUEST_ID__NOT_FOUND_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::INVALID_SPOT_FLEET_REQUEST_ID__NOT_FOUND), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == INVALID_FLOW_LOG_ID__NOT_FOUND_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::INVALID_FLOW_LOG_ID__NOT_FOUND), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == VPN_GATEWAY_ATTACHMENT_LIMIT_EXCEEDED_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::VPN_GATEWAY_ATTACHMENT_LIMIT_EXCEEDED), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == FILTER_LIMIT_EXCEEDED_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::FILTER_LIMIT_EXCEEDED), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == INVALID_SNAPSHOT_I_D__MALFORMED_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::INVALID_SNAPSHOT_I_D__MALFORMED), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == INVALID_SPOT_FLEET_REQUEST_CONFIG_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::INVALID_SPOT_FLEET_REQUEST_CONFIG), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == SNAPSHOT_LIMIT_EXCEEDED_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::SNAPSHOT_LIMIT_EXCEEDED), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == INVALID_VPC_STATE_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::INVALID_VPC_STATE), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == INVALID_GATEWAY_I_D__NOT_FOUND_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::INVALID_GATEWAY_I_D__NOT_FOUND), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == SECURITY_GROUPS_PER_INTERFACE_LIMIT_EXCEEDED_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::SECURITY_GROUPS_PER_INTERFACE_LIMIT_EXCEEDED), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == MAX_SPOT_INSTANCE_COUNT_EXCEEDED_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::MAX_SPOT_INSTANCE_COUNT_EXCEEDED), RetryableType::NOT_RETRYABLE); + return true; + } + return false; +} + +static bool GetErrorForNameHelper1(int hashCode, AWSError& error) +{ + if (hashCode == INVALID_ADDRESS__MALFORMED_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::INVALID_ADDRESS__MALFORMED), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == INVALID_DHCP_OPTIONS_ID__MALFORMED_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::INVALID_DHCP_OPTIONS_ID__MALFORMED), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == NETWORK_ACL_ENTRY_ALREADY_EXISTS_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::NETWORK_ACL_ENTRY_ALREADY_EXISTS), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == VPN_GATEWAY_LIMIT_EXCEEDED_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::VPN_GATEWAY_LIMIT_EXCEEDED), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == INVALID_PREFIX_LIST_ID__NOT_FOUND_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::INVALID_PREFIX_LIST_ID__NOT_FOUND), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == INVALID_INSTANCE_I_D_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::INVALID_INSTANCE_I_D), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == INVALID_STATE_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::INVALID_STATE), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == FLOW_LOGS_LIMIT_EXCEEDED_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::FLOW_LOGS_LIMIT_EXCEEDED), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == INVALID_ADDRESS__NOT_FOUND_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::INVALID_ADDRESS__NOT_FOUND), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == V_P_C_ID_NOT_SPECIFIED_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::V_P_C_ID_NOT_SPECIFIED), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == RESOURCE__ALREADY_ASSOCIATED_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::RESOURCE__ALREADY_ASSOCIATED), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == NOT_EXPORTABLE_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::NOT_EXPORTABLE), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == INVALID_DHCP_OPTIONS_I_D__NOT_FOUND_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::INVALID_DHCP_OPTIONS_I_D__NOT_FOUND), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == NETWORK_ACL_ENTRY_LIMIT_EXCEEDED_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::NETWORK_ACL_ENTRY_LIMIT_EXCEEDED), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == TAG_LIMIT_EXCEEDED_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::TAG_LIMIT_EXCEEDED), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == INVALID_NETWORK_INTERFACE_I_D__NOT_FOUND_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::INVALID_NETWORK_INTERFACE_I_D__NOT_FOUND), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == INVALID_VPN_GATEWAY_I_D__NOT_FOUND_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::INVALID_VPN_GATEWAY_I_D__NOT_FOUND), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == INVALID_SPOT_INSTANCE_REQUEST_I_D__NOT_FOUND_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::INVALID_SPOT_INSTANCE_REQUEST_I_D__NOT_FOUND), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == RULES_PER_SECURITY_GROUP_LIMIT_EXCEEDED_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::RULES_PER_SECURITY_GROUP_LIMIT_EXCEEDED), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == INVALID_PLACEMENT_GROUP__DUPLICATE_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::INVALID_PLACEMENT_GROUP__DUPLICATE), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == OPERATION_NOT_PERMITTED_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::OPERATION_NOT_PERMITTED), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == INVALID_EXPORT_TASK_I_D__NOT_FOUND_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::INVALID_EXPORT_TASK_I_D__NOT_FOUND), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == VPN_CONNECTION_LIMIT_EXCEEDED_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::VPN_CONNECTION_LIMIT_EXCEEDED), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == INCORRECT_INSTANCE_STATE_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::INCORRECT_INSTANCE_STATE), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == INVALID_NETWORK_ACL_ENTRY__NOT_FOUND_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::INVALID_NETWORK_ACL_ENTRY__NOT_FOUND), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == INVALID_VPC_PEERING_CONNECTION_I_D__NOT_FOUND_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::INVALID_VPC_PEERING_CONNECTION_I_D__NOT_FOUND), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == SUBNET_LIMIT_EXCEEDED_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::SUBNET_LIMIT_EXCEEDED), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == INVALID_VOLUME_I_D__DUPLICATE_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::INVALID_VOLUME_I_D__DUPLICATE), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == INVALID_OPTION__CONFLICT_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::INVALID_OPTION__CONFLICT), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == INVALID_BUNDLE_I_D__NOT_FOUND_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::INVALID_BUNDLE_I_D__NOT_FOUND), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == ATTACHMENT_LIMIT_EXCEEDED_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::ATTACHMENT_LIMIT_EXCEEDED), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == FLOW_LOG_ALREADY_EXISTS_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::FLOW_LOG_ALREADY_EXISTS), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == INVALID_INSTANCE_I_D__NOT_LINKABLE_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::INVALID_INSTANCE_I_D__NOT_LINKABLE), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == INVALID_PLACEMENT_GROUP__IN_USE_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::INVALID_PLACEMENT_GROUP__IN_USE), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == INVALID_SERVICE_NAME_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::INVALID_SERVICE_NAME), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == INVALID_INTERNET_GATEWAY_I_D__NOT_FOUND_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::INVALID_INTERNET_GATEWAY_I_D__NOT_FOUND), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == INVALID_INSTANCE_I_D__NOT_FOUND_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::INVALID_INSTANCE_I_D__NOT_FOUND), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == INVALID_NETWORK_INTERFACE_ATTACHMENT_I_D__MALFORMED_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::INVALID_NETWORK_INTERFACE_ATTACHMENT_I_D__MALFORMED), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == INVALID_A_M_I_NAME__DUPLICATE_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::INVALID_A_M_I_NAME__DUPLICATE), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == INVALID_VOLUME__NOT_FOUND_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::INVALID_VOLUME__NOT_FOUND), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == COMPLEX_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::COMPLEX), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == INVALID_FILTER_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::INVALID_FILTER), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == INVALID_MANIFEST_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::INVALID_MANIFEST), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == INVALID_VPN_GATEWAY_ATTACHMENT__NOT_FOUND_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::INVALID_VPN_GATEWAY_ATTACHMENT__NOT_FOUND), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == OUTSTANDING_VPC_PEERING_CONNECTION_LIMIT_EXCEEDED_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::OUTSTANDING_VPC_PEERING_CONNECTION_LIMIT_EXCEEDED), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == INVALID_CUSTOMER_GATEWAY_ID__MALFORMED_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::INVALID_CUSTOMER_GATEWAY_ID__MALFORMED), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == CONCURRENT_TAG_ACCESS_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::CONCURRENT_TAG_ACCESS), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == INVALID_INTERFACE__IP_ADDRESS_LIMIT_EXCEEDED_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::INVALID_INTERFACE__IP_ADDRESS_LIMIT_EXCEEDED), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == INVALID_NETWORK_ACL_I_D__NOT_FOUND_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::INVALID_NETWORK_ACL_I_D__NOT_FOUND), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == INVALID_A_M_I_NAME__MALFORMED_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::INVALID_A_M_I_NAME__MALFORMED), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == INVALID_RESERVATION_I_D__NOT_FOUND_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::INVALID_RESERVATION_I_D__NOT_FOUND), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == DEPENDENCY_VIOLATION_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::DEPENDENCY_VIOLATION), RetryableType::NOT_RETRYABLE); + return true; + } + else if (hashCode == RESOURCE_LIMIT_EXCEEDED_HASH) + { + error = AWSError(static_cast(EC2ProtocolErrors::RESOURCE_LIMIT_EXCEEDED), RetryableType::NOT_RETRYABLE); + return true; + } + return false; +} + +AWSError GetErrorForName(const char* errorName) +{ + int hashCode = HashingUtils::HashString(errorName); + AWSError error; + if (GetErrorForNameHelper0(hashCode, error)) + { + return error; + } + else if (GetErrorForNameHelper1(hashCode, error)) + { + return error; + } + return AWSError(CoreErrors::UNKNOWN, false); +} + +} // namespace EC2ProtocolErrorMapper +} // namespace EC2Protocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/EC2ProtocolRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/EC2ProtocolRequest.cpp new file mode 100644 index 00000000000..5172de4242e --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/EC2ProtocolRequest.cpp @@ -0,0 +1,14 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + + +#include + +namespace Aws +{ +namespace EC2Protocol +{ +} // namespace EC2Protocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/ComplexError.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/ComplexError.cpp new file mode 100644 index 00000000000..56e90133a7e --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/ComplexError.cpp @@ -0,0 +1,90 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; + +namespace Aws +{ +namespace EC2Protocol +{ +namespace Model +{ + +ComplexError::ComplexError() : + m_topLevelHasBeenSet(false), + m_nestedHasBeenSet(false) +{ +} + +ComplexError::ComplexError(const XmlNode& xmlNode) + : ComplexError() +{ + *this = xmlNode; +} + +ComplexError& ComplexError::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode topLevelNode = resultNode.FirstChild("TopLevel"); + if(!topLevelNode.IsNull()) + { + m_topLevel = Aws::Utils::Xml::DecodeEscapedXmlText(topLevelNode.GetText()); + m_topLevelHasBeenSet = true; + } + XmlNode nestedNode = resultNode.FirstChild("Nested"); + if(!nestedNode.IsNull()) + { + m_nested = nestedNode; + m_nestedHasBeenSet = true; + } + } + + return *this; +} + +void ComplexError::OutputToStream(Aws::OStream& oStream, const char* location, unsigned index, const char* locationValue) const +{ + if(m_topLevelHasBeenSet) + { + oStream << location << index << locationValue << ".TopLevel=" << StringUtils::URLEncode(m_topLevel.c_str()) << "&"; + } + + if(m_nestedHasBeenSet) + { + Aws::StringStream nestedLocationAndMemberSs; + nestedLocationAndMemberSs << location << index << locationValue << ".Nested"; + m_nested.OutputToStream(oStream, nestedLocationAndMemberSs.str().c_str()); + } + +} + +void ComplexError::OutputToStream(Aws::OStream& oStream, const char* location) const +{ + if(m_topLevelHasBeenSet) + { + oStream << location << ".TopLevel=" << StringUtils::URLEncode(m_topLevel.c_str()) << "&"; + } + if(m_nestedHasBeenSet) + { + Aws::String nestedLocationAndMember(location); + nestedLocationAndMember += ".Nested"; + m_nested.OutputToStream(oStream, nestedLocationAndMember.c_str()); + } +} + +} // namespace Model +} // namespace EC2Protocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/ComplexNestedErrorData.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/ComplexNestedErrorData.cpp new file mode 100644 index 00000000000..e5482f3bf91 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/ComplexNestedErrorData.cpp @@ -0,0 +1,70 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; + +namespace Aws +{ +namespace EC2Protocol +{ +namespace Model +{ + +ComplexNestedErrorData::ComplexNestedErrorData() : + m_fooHasBeenSet(false) +{ +} + +ComplexNestedErrorData::ComplexNestedErrorData(const XmlNode& xmlNode) + : ComplexNestedErrorData() +{ + *this = xmlNode; +} + +ComplexNestedErrorData& ComplexNestedErrorData::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode fooNode = resultNode.FirstChild("Foo"); + if(!fooNode.IsNull()) + { + m_foo = Aws::Utils::Xml::DecodeEscapedXmlText(fooNode.GetText()); + m_fooHasBeenSet = true; + } + } + + return *this; +} + +void ComplexNestedErrorData::OutputToStream(Aws::OStream& oStream, const char* location, unsigned index, const char* locationValue) const +{ + if(m_fooHasBeenSet) + { + oStream << location << index << locationValue << ".Foo=" << StringUtils::URLEncode(m_foo.c_str()) << "&"; + } + +} + +void ComplexNestedErrorData::OutputToStream(Aws::OStream& oStream, const char* location) const +{ + if(m_fooHasBeenSet) + { + oStream << location << ".Foo=" << StringUtils::URLEncode(m_foo.c_str()) << "&"; + } +} + +} // namespace Model +} // namespace EC2Protocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/DatetimeOffsetsRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/DatetimeOffsetsRequest.cpp new file mode 100644 index 00000000000..e0afe61e3d5 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/DatetimeOffsetsRequest.cpp @@ -0,0 +1,29 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include + +using namespace Aws::EC2Protocol::Model; +using namespace Aws::Utils; + +DatetimeOffsetsRequest::DatetimeOffsetsRequest() +{ +} + +Aws::String DatetimeOffsetsRequest::SerializePayload() const +{ + Aws::StringStream ss; + ss << "Action=DatetimeOffsets&"; + ss << "Version=2020-01-08"; + return ss.str(); +} + + +void DatetimeOffsetsRequest::DumpBodyToUrl(Aws::Http::URI& uri ) const +{ + uri.SetQueryString(SerializePayload()); +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/DatetimeOffsetsResponse.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/DatetimeOffsetsResponse.cpp new file mode 100644 index 00000000000..2d2f3dfbb55 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/DatetimeOffsetsResponse.cpp @@ -0,0 +1,57 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +#include + +using namespace Aws::EC2Protocol::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils::Logging; +using namespace Aws::Utils; +using namespace Aws; + +DatetimeOffsetsResponse::DatetimeOffsetsResponse() +{ +} + +DatetimeOffsetsResponse::DatetimeOffsetsResponse(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +DatetimeOffsetsResponse& DatetimeOffsetsResponse::operator =(const Aws::AmazonWebServiceResult& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode rootNode = xmlDocument.GetRootElement(); + XmlNode resultNode = rootNode; + if (!rootNode.IsNull() && (rootNode.GetName() != "DatetimeOffsetsResponse")) + { + resultNode = rootNode.FirstChild("DatetimeOffsetsResponse"); + } + + if(!resultNode.IsNull()) + { + XmlNode datetimeNode = resultNode.FirstChild("datetime"); + if(!datetimeNode.IsNull()) + { + m_datetime = DateTime(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(datetimeNode.GetText()).c_str()).c_str(), Aws::Utils::DateFormat::ISO_8601); + } + } + + if (!rootNode.IsNull()) { + XmlNode requestIdNode = rootNode.FirstChild("requestId"); + if (!requestIdNode.IsNull()) + { + m_responseMetadata.SetRequestId(StringUtils::Trim(requestIdNode.GetText().c_str())); + } + AWS_LOGSTREAM_DEBUG("Aws::EC2Protocol::Model::DatetimeOffsetsResponse", "x-amzn-request-id: " << m_responseMetadata.GetRequestId() ); + } + return *this; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/EmptyInputAndEmptyOutputRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/EmptyInputAndEmptyOutputRequest.cpp new file mode 100644 index 00000000000..784e52fde44 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/EmptyInputAndEmptyOutputRequest.cpp @@ -0,0 +1,29 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include + +using namespace Aws::EC2Protocol::Model; +using namespace Aws::Utils; + +EmptyInputAndEmptyOutputRequest::EmptyInputAndEmptyOutputRequest() +{ +} + +Aws::String EmptyInputAndEmptyOutputRequest::SerializePayload() const +{ + Aws::StringStream ss; + ss << "Action=EmptyInputAndEmptyOutput&"; + ss << "Version=2020-01-08"; + return ss.str(); +} + + +void EmptyInputAndEmptyOutputRequest::DumpBodyToUrl(Aws::Http::URI& uri ) const +{ + uri.SetQueryString(SerializePayload()); +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/EmptyInputAndEmptyOutputResponse.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/EmptyInputAndEmptyOutputResponse.cpp new file mode 100644 index 00000000000..b4bde75792a --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/EmptyInputAndEmptyOutputResponse.cpp @@ -0,0 +1,52 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +#include + +using namespace Aws::EC2Protocol::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils::Logging; +using namespace Aws::Utils; +using namespace Aws; + +EmptyInputAndEmptyOutputResponse::EmptyInputAndEmptyOutputResponse() +{ +} + +EmptyInputAndEmptyOutputResponse::EmptyInputAndEmptyOutputResponse(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +EmptyInputAndEmptyOutputResponse& EmptyInputAndEmptyOutputResponse::operator =(const Aws::AmazonWebServiceResult& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode rootNode = xmlDocument.GetRootElement(); + XmlNode resultNode = rootNode; + if (!rootNode.IsNull() && (rootNode.GetName() != "EmptyInputAndEmptyOutputResponse")) + { + resultNode = rootNode.FirstChild("EmptyInputAndEmptyOutputResponse"); + } + + if(!resultNode.IsNull()) + { + } + + if (!rootNode.IsNull()) { + XmlNode requestIdNode = rootNode.FirstChild("requestId"); + if (!requestIdNode.IsNull()) + { + m_responseMetadata.SetRequestId(StringUtils::Trim(requestIdNode.GetText().c_str())); + } + AWS_LOGSTREAM_DEBUG("Aws::EC2Protocol::Model::EmptyInputAndEmptyOutputResponse", "x-amzn-request-id: " << m_responseMetadata.GetRequestId() ); + } + return *this; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/EndpointOperationRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/EndpointOperationRequest.cpp new file mode 100644 index 00000000000..9412b7720a9 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/EndpointOperationRequest.cpp @@ -0,0 +1,29 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include + +using namespace Aws::EC2Protocol::Model; +using namespace Aws::Utils; + +EndpointOperationRequest::EndpointOperationRequest() +{ +} + +Aws::String EndpointOperationRequest::SerializePayload() const +{ + Aws::StringStream ss; + ss << "Action=EndpointOperation&"; + ss << "Version=2020-01-08"; + return ss.str(); +} + + +void EndpointOperationRequest::DumpBodyToUrl(Aws::Http::URI& uri ) const +{ + uri.SetQueryString(SerializePayload()); +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/EndpointWithHostLabelOperationRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/EndpointWithHostLabelOperationRequest.cpp new file mode 100644 index 00000000000..b3c0aa7f83c --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/EndpointWithHostLabelOperationRequest.cpp @@ -0,0 +1,35 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include + +using namespace Aws::EC2Protocol::Model; +using namespace Aws::Utils; + +EndpointWithHostLabelOperationRequest::EndpointWithHostLabelOperationRequest() : + m_labelHasBeenSet(false) +{ +} + +Aws::String EndpointWithHostLabelOperationRequest::SerializePayload() const +{ + Aws::StringStream ss; + ss << "Action=EndpointWithHostLabelOperation&"; + if(m_labelHasBeenSet) + { + ss << "label=" << StringUtils::URLEncode(m_label.c_str()) << "&"; + } + + ss << "Version=2020-01-08"; + return ss.str(); +} + + +void EndpointWithHostLabelOperationRequest::DumpBodyToUrl(Aws::Http::URI& uri ) const +{ + uri.SetQueryString(SerializePayload()); +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/FooEnum.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/FooEnum.cpp new file mode 100644 index 00000000000..fc4f858d26d --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/FooEnum.cpp @@ -0,0 +1,93 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace EC2Protocol + { + namespace Model + { + namespace FooEnumMapper + { + + static const int Foo_HASH = HashingUtils::HashString("Foo"); + static const int Baz_HASH = HashingUtils::HashString("Baz"); + static const int Bar_HASH = HashingUtils::HashString("Bar"); + static const int _1_HASH = HashingUtils::HashString("1"); + static const int _0_HASH = HashingUtils::HashString("0"); + + + FooEnum GetFooEnumForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == Foo_HASH) + { + return FooEnum::Foo; + } + else if (hashCode == Baz_HASH) + { + return FooEnum::Baz; + } + else if (hashCode == Bar_HASH) + { + return FooEnum::Bar; + } + else if (hashCode == _1_HASH) + { + return FooEnum::_1; + } + else if (hashCode == _0_HASH) + { + return FooEnum::_0; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return FooEnum::NOT_SET; + } + + Aws::String GetNameForFooEnum(FooEnum enumValue) + { + switch(enumValue) + { + case FooEnum::NOT_SET: + return {}; + case FooEnum::Foo: + return "Foo"; + case FooEnum::Baz: + return "Baz"; + case FooEnum::Bar: + return "Bar"; + case FooEnum::_1: + return "1"; + case FooEnum::_0: + return "0"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace FooEnumMapper + } // namespace Model + } // namespace EC2Protocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/FractionalSecondsRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/FractionalSecondsRequest.cpp new file mode 100644 index 00000000000..65da524d94e --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/FractionalSecondsRequest.cpp @@ -0,0 +1,29 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include + +using namespace Aws::EC2Protocol::Model; +using namespace Aws::Utils; + +FractionalSecondsRequest::FractionalSecondsRequest() +{ +} + +Aws::String FractionalSecondsRequest::SerializePayload() const +{ + Aws::StringStream ss; + ss << "Action=FractionalSeconds&"; + ss << "Version=2020-01-08"; + return ss.str(); +} + + +void FractionalSecondsRequest::DumpBodyToUrl(Aws::Http::URI& uri ) const +{ + uri.SetQueryString(SerializePayload()); +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/FractionalSecondsResponse.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/FractionalSecondsResponse.cpp new file mode 100644 index 00000000000..e737c9eed2e --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/FractionalSecondsResponse.cpp @@ -0,0 +1,57 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +#include + +using namespace Aws::EC2Protocol::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils::Logging; +using namespace Aws::Utils; +using namespace Aws; + +FractionalSecondsResponse::FractionalSecondsResponse() +{ +} + +FractionalSecondsResponse::FractionalSecondsResponse(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +FractionalSecondsResponse& FractionalSecondsResponse::operator =(const Aws::AmazonWebServiceResult& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode rootNode = xmlDocument.GetRootElement(); + XmlNode resultNode = rootNode; + if (!rootNode.IsNull() && (rootNode.GetName() != "FractionalSecondsResponse")) + { + resultNode = rootNode.FirstChild("FractionalSecondsResponse"); + } + + if(!resultNode.IsNull()) + { + XmlNode datetimeNode = resultNode.FirstChild("datetime"); + if(!datetimeNode.IsNull()) + { + m_datetime = DateTime(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(datetimeNode.GetText()).c_str()).c_str(), Aws::Utils::DateFormat::ISO_8601); + } + } + + if (!rootNode.IsNull()) { + XmlNode requestIdNode = rootNode.FirstChild("requestId"); + if (!requestIdNode.IsNull()) + { + m_responseMetadata.SetRequestId(StringUtils::Trim(requestIdNode.GetText().c_str())); + } + AWS_LOGSTREAM_DEBUG("Aws::EC2Protocol::Model::FractionalSecondsResponse", "x-amzn-request-id: " << m_responseMetadata.GetRequestId() ); + } + return *this; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/GreetingStruct.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/GreetingStruct.cpp new file mode 100644 index 00000000000..d86ff61fb84 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/GreetingStruct.cpp @@ -0,0 +1,70 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; + +namespace Aws +{ +namespace EC2Protocol +{ +namespace Model +{ + +GreetingStruct::GreetingStruct() : + m_hiHasBeenSet(false) +{ +} + +GreetingStruct::GreetingStruct(const XmlNode& xmlNode) + : GreetingStruct() +{ + *this = xmlNode; +} + +GreetingStruct& GreetingStruct::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode hiNode = resultNode.FirstChild("hi"); + if(!hiNode.IsNull()) + { + m_hi = Aws::Utils::Xml::DecodeEscapedXmlText(hiNode.GetText()); + m_hiHasBeenSet = true; + } + } + + return *this; +} + +void GreetingStruct::OutputToStream(Aws::OStream& oStream, const char* location, unsigned index, const char* locationValue) const +{ + if(m_hiHasBeenSet) + { + oStream << location << index << locationValue << ".hi=" << StringUtils::URLEncode(m_hi.c_str()) << "&"; + } + +} + +void GreetingStruct::OutputToStream(Aws::OStream& oStream, const char* location) const +{ + if(m_hiHasBeenSet) + { + oStream << location << ".hi=" << StringUtils::URLEncode(m_hi.c_str()) << "&"; + } +} + +} // namespace Model +} // namespace EC2Protocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/GreetingWithErrorsRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/GreetingWithErrorsRequest.cpp new file mode 100644 index 00000000000..f51cb6c62d4 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/GreetingWithErrorsRequest.cpp @@ -0,0 +1,29 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include + +using namespace Aws::EC2Protocol::Model; +using namespace Aws::Utils; + +GreetingWithErrorsRequest::GreetingWithErrorsRequest() +{ +} + +Aws::String GreetingWithErrorsRequest::SerializePayload() const +{ + Aws::StringStream ss; + ss << "Action=GreetingWithErrors&"; + ss << "Version=2020-01-08"; + return ss.str(); +} + + +void GreetingWithErrorsRequest::DumpBodyToUrl(Aws::Http::URI& uri ) const +{ + uri.SetQueryString(SerializePayload()); +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/GreetingWithErrorsResponse.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/GreetingWithErrorsResponse.cpp new file mode 100644 index 00000000000..d6e9cd15c0c --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/GreetingWithErrorsResponse.cpp @@ -0,0 +1,57 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +#include + +using namespace Aws::EC2Protocol::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils::Logging; +using namespace Aws::Utils; +using namespace Aws; + +GreetingWithErrorsResponse::GreetingWithErrorsResponse() +{ +} + +GreetingWithErrorsResponse::GreetingWithErrorsResponse(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +GreetingWithErrorsResponse& GreetingWithErrorsResponse::operator =(const Aws::AmazonWebServiceResult& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode rootNode = xmlDocument.GetRootElement(); + XmlNode resultNode = rootNode; + if (!rootNode.IsNull() && (rootNode.GetName() != "GreetingWithErrorsResponse")) + { + resultNode = rootNode.FirstChild("GreetingWithErrorsResponse"); + } + + if(!resultNode.IsNull()) + { + XmlNode greetingNode = resultNode.FirstChild("greeting"); + if(!greetingNode.IsNull()) + { + m_greeting = Aws::Utils::Xml::DecodeEscapedXmlText(greetingNode.GetText()); + } + } + + if (!rootNode.IsNull()) { + XmlNode requestIdNode = rootNode.FirstChild("requestId"); + if (!requestIdNode.IsNull()) + { + m_responseMetadata.SetRequestId(StringUtils::Trim(requestIdNode.GetText().c_str())); + } + AWS_LOGSTREAM_DEBUG("Aws::EC2Protocol::Model::GreetingWithErrorsResponse", "x-amzn-request-id: " << m_responseMetadata.GetRequestId() ); + } + return *this; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/HostWithPathOperationRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/HostWithPathOperationRequest.cpp new file mode 100644 index 00000000000..985332d7388 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/HostWithPathOperationRequest.cpp @@ -0,0 +1,29 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include + +using namespace Aws::EC2Protocol::Model; +using namespace Aws::Utils; + +HostWithPathOperationRequest::HostWithPathOperationRequest() +{ +} + +Aws::String HostWithPathOperationRequest::SerializePayload() const +{ + Aws::StringStream ss; + ss << "Action=HostWithPathOperation&"; + ss << "Version=2020-01-08"; + return ss.str(); +} + + +void HostWithPathOperationRequest::DumpBodyToUrl(Aws::Http::URI& uri ) const +{ + uri.SetQueryString(SerializePayload()); +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/IgnoresWrappingXmlNameRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/IgnoresWrappingXmlNameRequest.cpp new file mode 100644 index 00000000000..afeaaddadf8 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/IgnoresWrappingXmlNameRequest.cpp @@ -0,0 +1,29 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include + +using namespace Aws::EC2Protocol::Model; +using namespace Aws::Utils; + +IgnoresWrappingXmlNameRequest::IgnoresWrappingXmlNameRequest() +{ +} + +Aws::String IgnoresWrappingXmlNameRequest::SerializePayload() const +{ + Aws::StringStream ss; + ss << "Action=IgnoresWrappingXmlName&"; + ss << "Version=2020-01-08"; + return ss.str(); +} + + +void IgnoresWrappingXmlNameRequest::DumpBodyToUrl(Aws::Http::URI& uri ) const +{ + uri.SetQueryString(SerializePayload()); +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/IgnoresWrappingXmlNameResponse.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/IgnoresWrappingXmlNameResponse.cpp new file mode 100644 index 00000000000..25248dfff51 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/IgnoresWrappingXmlNameResponse.cpp @@ -0,0 +1,57 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +#include + +using namespace Aws::EC2Protocol::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils::Logging; +using namespace Aws::Utils; +using namespace Aws; + +IgnoresWrappingXmlNameResponse::IgnoresWrappingXmlNameResponse() +{ +} + +IgnoresWrappingXmlNameResponse::IgnoresWrappingXmlNameResponse(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +IgnoresWrappingXmlNameResponse& IgnoresWrappingXmlNameResponse::operator =(const Aws::AmazonWebServiceResult& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode rootNode = xmlDocument.GetRootElement(); + XmlNode resultNode = rootNode; + if (!rootNode.IsNull() && (rootNode.GetName() != "IgnoresWrappingXmlNameResponse")) + { + resultNode = rootNode.FirstChild("IgnoresWrappingXmlNameResponse"); + } + + if(!resultNode.IsNull()) + { + XmlNode fooNode = resultNode.FirstChild("foo"); + if(!fooNode.IsNull()) + { + m_foo = Aws::Utils::Xml::DecodeEscapedXmlText(fooNode.GetText()); + } + } + + if (!rootNode.IsNull()) { + XmlNode requestIdNode = rootNode.FirstChild("requestId"); + if (!requestIdNode.IsNull()) + { + m_responseMetadata.SetRequestId(StringUtils::Trim(requestIdNode.GetText().c_str())); + } + AWS_LOGSTREAM_DEBUG("Aws::EC2Protocol::Model::IgnoresWrappingXmlNameResponse", "x-amzn-request-id: " << m_responseMetadata.GetRequestId() ); + } + return *this; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/NestedStructWithList.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/NestedStructWithList.cpp new file mode 100644 index 00000000000..94a30308bcf --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/NestedStructWithList.cpp @@ -0,0 +1,84 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; + +namespace Aws +{ +namespace EC2Protocol +{ +namespace Model +{ + +NestedStructWithList::NestedStructWithList() : + m_listArgHasBeenSet(false) +{ +} + +NestedStructWithList::NestedStructWithList(const XmlNode& xmlNode) + : NestedStructWithList() +{ + *this = xmlNode; +} + +NestedStructWithList& NestedStructWithList::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode listArgNode = resultNode.FirstChild("ListArg"); + if(!listArgNode.IsNull()) + { + XmlNode listArgMember = listArgNode.FirstChild("member"); + while(!listArgMember.IsNull()) + { + m_listArg.push_back(listArgMember.GetText()); + listArgMember = listArgMember.NextNode("member"); + } + + m_listArgHasBeenSet = true; + } + } + + return *this; +} + +void NestedStructWithList::OutputToStream(Aws::OStream& oStream, const char* location, unsigned index, const char* locationValue) const +{ + if(m_listArgHasBeenSet) + { + unsigned listArgIdx = 1; + for(auto& item : m_listArg) + { + oStream << location << index << locationValue << ".ListArg." << listArgIdx++ << "=" << StringUtils::URLEncode(item.c_str()) << "&"; + } + } + +} + +void NestedStructWithList::OutputToStream(Aws::OStream& oStream, const char* location) const +{ + if(m_listArgHasBeenSet) + { + unsigned listArgIdx = 1; + for(auto& item : m_listArg) + { + oStream << location << ".ListArg." << listArgIdx++ << "=" << StringUtils::URLEncode(item.c_str()) << "&"; + } + } +} + +} // namespace Model +} // namespace EC2Protocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/NestedStructuresRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/NestedStructuresRequest.cpp new file mode 100644 index 00000000000..1bf094850a3 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/NestedStructuresRequest.cpp @@ -0,0 +1,35 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include + +using namespace Aws::EC2Protocol::Model; +using namespace Aws::Utils; + +NestedStructuresRequest::NestedStructuresRequest() : + m_nestedHasBeenSet(false) +{ +} + +Aws::String NestedStructuresRequest::SerializePayload() const +{ + Aws::StringStream ss; + ss << "Action=NestedStructures&"; + if(m_nestedHasBeenSet) + { + m_nested.OutputToStream(ss, "Nested"); + } + + ss << "Version=2020-01-08"; + return ss.str(); +} + + +void NestedStructuresRequest::DumpBodyToUrl(Aws::Http::URI& uri ) const +{ + uri.SetQueryString(SerializePayload()); +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/NoInputAndOutputRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/NoInputAndOutputRequest.cpp new file mode 100644 index 00000000000..db8ce91fd38 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/NoInputAndOutputRequest.cpp @@ -0,0 +1,29 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include + +using namespace Aws::EC2Protocol::Model; +using namespace Aws::Utils; + +NoInputAndOutputRequest::NoInputAndOutputRequest() +{ +} + +Aws::String NoInputAndOutputRequest::SerializePayload() const +{ + Aws::StringStream ss; + ss << "Action=NoInputAndOutput&"; + ss << "Version=2020-01-08"; + return ss.str(); +} + + +void NoInputAndOutputRequest::DumpBodyToUrl(Aws::Http::URI& uri ) const +{ + uri.SetQueryString(SerializePayload()); +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/NoInputAndOutputResponse.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/NoInputAndOutputResponse.cpp new file mode 100644 index 00000000000..7aa79280564 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/NoInputAndOutputResponse.cpp @@ -0,0 +1,52 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +#include + +using namespace Aws::EC2Protocol::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils::Logging; +using namespace Aws::Utils; +using namespace Aws; + +NoInputAndOutputResponse::NoInputAndOutputResponse() +{ +} + +NoInputAndOutputResponse::NoInputAndOutputResponse(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +NoInputAndOutputResponse& NoInputAndOutputResponse::operator =(const Aws::AmazonWebServiceResult& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode rootNode = xmlDocument.GetRootElement(); + XmlNode resultNode = rootNode; + if (!rootNode.IsNull() && (rootNode.GetName() != "NoInputAndOutputResponse")) + { + resultNode = rootNode.FirstChild("NoInputAndOutputResponse"); + } + + if(!resultNode.IsNull()) + { + } + + if (!rootNode.IsNull()) { + XmlNode requestIdNode = rootNode.FirstChild("requestId"); + if (!requestIdNode.IsNull()) + { + m_responseMetadata.SetRequestId(StringUtils::Trim(requestIdNode.GetText().c_str())); + } + AWS_LOGSTREAM_DEBUG("Aws::EC2Protocol::Model::NoInputAndOutputResponse", "x-amzn-request-id: " << m_responseMetadata.GetRequestId() ); + } + return *this; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/PutWithContentEncodingRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/PutWithContentEncodingRequest.cpp new file mode 100644 index 00000000000..c629b53b20f --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/PutWithContentEncodingRequest.cpp @@ -0,0 +1,65 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include + +using namespace Aws::EC2Protocol::Model; +using namespace Aws::Utils; + +PutWithContentEncodingRequest::PutWithContentEncodingRequest() : + m_encodingHasBeenSet(false), + m_dataHasBeenSet(false) +{ +} + +Aws::String PutWithContentEncodingRequest::SerializePayload() const +{ + Aws::StringStream ss; + ss << "Action=PutWithContentEncoding&"; + if(m_encodingHasBeenSet) + { + ss << "encoding=" << StringUtils::URLEncode(m_encoding.c_str()) << "&"; + } + + if(m_dataHasBeenSet) + { + ss << "data=" << StringUtils::URLEncode(m_data.c_str()) << "&"; + } + + ss << "Version=2020-01-08"; + return ss.str(); +} + + +void PutWithContentEncodingRequest::DumpBodyToUrl(Aws::Http::URI& uri ) const +{ + uri.SetQueryString(SerializePayload()); +} + +#ifdef ENABLED_ZLIB_REQUEST_COMPRESSION +Aws::Client::CompressionAlgorithm PutWithContentEncodingRequest::GetSelectedCompressionAlgorithm(Aws::Client::RequestCompressionConfig config) const +{ + if (config.useRequestCompression == Aws::Client::UseRequestCompression::DISABLE) + { + return Aws::Client::CompressionAlgorithm::NONE; + } + + const auto& body = AmazonSerializableWebServiceRequest::GetBody(); + body->seekg(0, body->end); + size_t bodySize = body->tellg(); + body->seekg(0, body->beg); + if ( bodySize < config.requestMinCompressionSizeBytes) + { + return Aws::Client::CompressionAlgorithm::NONE; + } + else + { + return Aws::Client::CompressionAlgorithm::GZIP; + } +} +#endif + diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/QueryIdempotencyTokenAutoFillRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/QueryIdempotencyTokenAutoFillRequest.cpp new file mode 100644 index 00000000000..c0e961987d5 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/QueryIdempotencyTokenAutoFillRequest.cpp @@ -0,0 +1,36 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include + +using namespace Aws::EC2Protocol::Model; +using namespace Aws::Utils; + +QueryIdempotencyTokenAutoFillRequest::QueryIdempotencyTokenAutoFillRequest() : + m_token(Aws::Utils::UUID::PseudoRandomUUID()), + m_tokenHasBeenSet(true) +{ +} + +Aws::String QueryIdempotencyTokenAutoFillRequest::SerializePayload() const +{ + Aws::StringStream ss; + ss << "Action=QueryIdempotencyTokenAutoFill&"; + if(m_tokenHasBeenSet) + { + ss << "token=" << StringUtils::URLEncode(m_token.c_str()) << "&"; + } + + ss << "Version=2020-01-08"; + return ss.str(); +} + + +void QueryIdempotencyTokenAutoFillRequest::DumpBodyToUrl(Aws::Http::URI& uri ) const +{ + uri.SetQueryString(SerializePayload()); +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/QueryListsRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/QueryListsRequest.cpp new file mode 100644 index 00000000000..7526c6a04d5 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/QueryListsRequest.cpp @@ -0,0 +1,82 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include + +using namespace Aws::EC2Protocol::Model; +using namespace Aws::Utils; + +QueryListsRequest::QueryListsRequest() : + m_listArgHasBeenSet(false), + m_complexListArgHasBeenSet(false), + m_listArgWithXmlNameMemberHasBeenSet(false), + m_listArgWithXmlNameHasBeenSet(false), + m_nestedWithListHasBeenSet(false) +{ +} + +Aws::String QueryListsRequest::SerializePayload() const +{ + Aws::StringStream ss; + ss << "Action=QueryLists&"; + if(m_listArgHasBeenSet) + { + unsigned listArgCount = 1; + for(auto& item : m_listArg) + { + ss << "ListArg." << listArgCount << "=" + << StringUtils::URLEncode(item.c_str()) << "&"; + listArgCount++; + } + } + + if(m_complexListArgHasBeenSet) + { + unsigned complexListArgCount = 1; + for(auto& item : m_complexListArg) + { + item.OutputToStream(ss, "ComplexListArg.", complexListArgCount, ""); + complexListArgCount++; + } + } + + if(m_listArgWithXmlNameMemberHasBeenSet) + { + unsigned listArgWithXmlNameMemberCount = 1; + for(auto& item : m_listArgWithXmlNameMember) + { + ss << "ListArgWithXmlNameMember." << listArgWithXmlNameMemberCount << "=" + << StringUtils::URLEncode(item.c_str()) << "&"; + listArgWithXmlNameMemberCount++; + } + } + + if(m_listArgWithXmlNameHasBeenSet) + { + unsigned listArgWithXmlNameCount = 1; + for(auto& item : m_listArgWithXmlName) + { + ss << "Hi." << listArgWithXmlNameCount << "=" + << StringUtils::URLEncode(item.c_str()) << "&"; + listArgWithXmlNameCount++; + } + } + + if(m_nestedWithListHasBeenSet) + { + m_nestedWithList.OutputToStream(ss, "NestedWithList"); + } + + ss << "Version=2020-01-08"; + return ss.str(); +} + + +void QueryListsRequest::DumpBodyToUrl(Aws::Http::URI& uri ) const +{ + uri.SetQueryString(SerializePayload()); +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/QueryTimestampsRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/QueryTimestampsRequest.cpp new file mode 100644 index 00000000000..7590427092b --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/QueryTimestampsRequest.cpp @@ -0,0 +1,47 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include + +using namespace Aws::EC2Protocol::Model; +using namespace Aws::Utils; + +QueryTimestampsRequest::QueryTimestampsRequest() : + m_normalFormatHasBeenSet(false), + m_epochMemberHasBeenSet(false), + m_epochTargetHasBeenSet(false) +{ +} + +Aws::String QueryTimestampsRequest::SerializePayload() const +{ + Aws::StringStream ss; + ss << "Action=QueryTimestamps&"; + if(m_normalFormatHasBeenSet) + { + ss << "normalFormat=" << StringUtils::URLEncode(m_normalFormat.ToGmtString(Aws::Utils::DateFormat::ISO_8601).c_str()) << "&"; + } + + if(m_epochMemberHasBeenSet) + { + ss << "epochMember=" << StringUtils::URLEncode(m_epochMember.ToGmtString(Aws::Utils::DateFormat::$CppViewHelper.computeTimestampFormatInQueryString($member.value.shape)).c_str()) << "&"; + } + + if(m_epochTargetHasBeenSet) + { + ss << "epochTarget=" << StringUtils::URLEncode(m_epochTarget.ToGmtString(Aws::Utils::DateFormat::$CppViewHelper.computeTimestampFormatInQueryString($member.value.shape)).c_str()) << "&"; + } + + ss << "Version=2020-01-08"; + return ss.str(); +} + + +void QueryTimestampsRequest::DumpBodyToUrl(Aws::Http::URI& uri ) const +{ + uri.SetQueryString(SerializePayload()); +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/RecursiveXmlShapesOutputNested1.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/RecursiveXmlShapesOutputNested1.cpp new file mode 100644 index 00000000000..a2bd5fef4b3 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/RecursiveXmlShapesOutputNested1.cpp @@ -0,0 +1,91 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +#include + +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; + +namespace Aws +{ +namespace EC2Protocol +{ +namespace Model +{ + +RecursiveXmlShapesOutputNested1::RecursiveXmlShapesOutputNested1() : + m_fooHasBeenSet(false), + m_nestedHasBeenSet(false) +{ +} + +RecursiveXmlShapesOutputNested1::RecursiveXmlShapesOutputNested1(const XmlNode& xmlNode) + : RecursiveXmlShapesOutputNested1() +{ + *this = xmlNode; +} + +RecursiveXmlShapesOutputNested1& RecursiveXmlShapesOutputNested1::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode fooNode = resultNode.FirstChild("foo"); + if(!fooNode.IsNull()) + { + m_foo = Aws::Utils::Xml::DecodeEscapedXmlText(fooNode.GetText()); + m_fooHasBeenSet = true; + } + XmlNode nestedNode = resultNode.FirstChild("nested"); + if(!nestedNode.IsNull()) + { + m_nested = nestedNode; + m_nestedHasBeenSet = true; + } + } + + return *this; +} + +void RecursiveXmlShapesOutputNested1::OutputToStream(Aws::OStream& oStream, const char* location, unsigned index, const char* locationValue) const +{ + if(m_fooHasBeenSet) + { + oStream << location << index << locationValue << ".foo=" << StringUtils::URLEncode(m_foo.c_str()) << "&"; + } + + if(m_nestedHasBeenSet) + { + Aws::StringStream nestedLocationAndMemberSs; + nestedLocationAndMemberSs << location << index << locationValue << ".nested"; + m_nested.OutputToStream(oStream, nestedLocationAndMemberSs.str().c_str()); + } + +} + +void RecursiveXmlShapesOutputNested1::OutputToStream(Aws::OStream& oStream, const char* location) const +{ + if(m_fooHasBeenSet) + { + oStream << location << ".foo=" << StringUtils::URLEncode(m_foo.c_str()) << "&"; + } + if(m_nestedHasBeenSet) + { + Aws::String nestedLocationAndMember(location); + nestedLocationAndMember += ".nested"; + m_nested.OutputToStream(oStream, nestedLocationAndMember.c_str()); + } +} + +} // namespace Model +} // namespace EC2Protocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/RecursiveXmlShapesOutputNested2.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/RecursiveXmlShapesOutputNested2.cpp new file mode 100644 index 00000000000..3c0f874c26c --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/RecursiveXmlShapesOutputNested2.cpp @@ -0,0 +1,91 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +#include + +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; + +namespace Aws +{ +namespace EC2Protocol +{ +namespace Model +{ + +RecursiveXmlShapesOutputNested2::RecursiveXmlShapesOutputNested2() : + m_barHasBeenSet(false), + m_recursiveMemberHasBeenSet(false) +{ +} + +RecursiveXmlShapesOutputNested2::RecursiveXmlShapesOutputNested2(const XmlNode& xmlNode) + : RecursiveXmlShapesOutputNested2() +{ + *this = xmlNode; +} + +RecursiveXmlShapesOutputNested2& RecursiveXmlShapesOutputNested2::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode barNode = resultNode.FirstChild("bar"); + if(!barNode.IsNull()) + { + m_bar = Aws::Utils::Xml::DecodeEscapedXmlText(barNode.GetText()); + m_barHasBeenSet = true; + } + XmlNode recursiveMemberNode = resultNode.FirstChild("recursiveMember"); + if(!recursiveMemberNode.IsNull()) + { + m_recursiveMember = recursiveMemberNode; + m_recursiveMemberHasBeenSet = true; + } + } + + return *this; +} + +void RecursiveXmlShapesOutputNested2::OutputToStream(Aws::OStream& oStream, const char* location, unsigned index, const char* locationValue) const +{ + if(m_barHasBeenSet) + { + oStream << location << index << locationValue << ".bar=" << StringUtils::URLEncode(m_bar.c_str()) << "&"; + } + + if(m_recursiveMemberHasBeenSet) + { + Aws::StringStream recursiveMemberLocationAndMemberSs; + recursiveMemberLocationAndMemberSs << location << index << locationValue << ".recursiveMember"; + m_recursiveMember.OutputToStream(oStream, recursiveMemberLocationAndMemberSs.str().c_str()); + } + +} + +void RecursiveXmlShapesOutputNested2::OutputToStream(Aws::OStream& oStream, const char* location) const +{ + if(m_barHasBeenSet) + { + oStream << location << ".bar=" << StringUtils::URLEncode(m_bar.c_str()) << "&"; + } + if(m_recursiveMemberHasBeenSet) + { + Aws::String recursiveMemberLocationAndMember(location); + recursiveMemberLocationAndMember += ".recursiveMember"; + m_recursiveMember.OutputToStream(oStream, recursiveMemberLocationAndMember.c_str()); + } +} + +} // namespace Model +} // namespace EC2Protocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/RecursiveXmlShapesRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/RecursiveXmlShapesRequest.cpp new file mode 100644 index 00000000000..a54ab2180e8 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/RecursiveXmlShapesRequest.cpp @@ -0,0 +1,29 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include + +using namespace Aws::EC2Protocol::Model; +using namespace Aws::Utils; + +RecursiveXmlShapesRequest::RecursiveXmlShapesRequest() +{ +} + +Aws::String RecursiveXmlShapesRequest::SerializePayload() const +{ + Aws::StringStream ss; + ss << "Action=RecursiveXmlShapes&"; + ss << "Version=2020-01-08"; + return ss.str(); +} + + +void RecursiveXmlShapesRequest::DumpBodyToUrl(Aws::Http::URI& uri ) const +{ + uri.SetQueryString(SerializePayload()); +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/RecursiveXmlShapesResponse.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/RecursiveXmlShapesResponse.cpp new file mode 100644 index 00000000000..b870bc9cbef --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/RecursiveXmlShapesResponse.cpp @@ -0,0 +1,57 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +#include + +using namespace Aws::EC2Protocol::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils::Logging; +using namespace Aws::Utils; +using namespace Aws; + +RecursiveXmlShapesResponse::RecursiveXmlShapesResponse() +{ +} + +RecursiveXmlShapesResponse::RecursiveXmlShapesResponse(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +RecursiveXmlShapesResponse& RecursiveXmlShapesResponse::operator =(const Aws::AmazonWebServiceResult& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode rootNode = xmlDocument.GetRootElement(); + XmlNode resultNode = rootNode; + if (!rootNode.IsNull() && (rootNode.GetName() != "RecursiveXmlShapesResponse")) + { + resultNode = rootNode.FirstChild("RecursiveXmlShapesResponse"); + } + + if(!resultNode.IsNull()) + { + XmlNode nestedNode = resultNode.FirstChild("nested"); + if(!nestedNode.IsNull()) + { + m_nested = nestedNode; + } + } + + if (!rootNode.IsNull()) { + XmlNode requestIdNode = rootNode.FirstChild("requestId"); + if (!requestIdNode.IsNull()) + { + m_responseMetadata.SetRequestId(StringUtils::Trim(requestIdNode.GetText().c_str())); + } + AWS_LOGSTREAM_DEBUG("Aws::EC2Protocol::Model::RecursiveXmlShapesResponse", "x-amzn-request-id: " << m_responseMetadata.GetRequestId() ); + } + return *this; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/ResponseMetadata.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/ResponseMetadata.cpp new file mode 100644 index 00000000000..d5fa486f0fa --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/ResponseMetadata.cpp @@ -0,0 +1,70 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; + +namespace Aws +{ +namespace EC2Protocol +{ +namespace Model +{ + +ResponseMetadata::ResponseMetadata() : + m_requestIdHasBeenSet(false) +{ +} + +ResponseMetadata::ResponseMetadata(const XmlNode& xmlNode) + : ResponseMetadata() +{ + *this = xmlNode; +} + +ResponseMetadata& ResponseMetadata::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode requestIdNode = resultNode.FirstChild("RequestId"); + if(!requestIdNode.IsNull()) + { + m_requestId = Aws::Utils::Xml::DecodeEscapedXmlText(requestIdNode.GetText()); + m_requestIdHasBeenSet = true; + } + } + + return *this; +} + +void ResponseMetadata::OutputToStream(Aws::OStream& oStream, const char* location, unsigned index, const char* locationValue) const +{ + if(m_requestIdHasBeenSet) + { + oStream << location << index << locationValue << ".RequestId=" << StringUtils::URLEncode(m_requestId.c_str()) << "&"; + } + +} + +void ResponseMetadata::OutputToStream(Aws::OStream& oStream, const char* location) const +{ + if(m_requestIdHasBeenSet) + { + oStream << location << ".RequestId=" << StringUtils::URLEncode(m_requestId.c_str()) << "&"; + } +} + +} // namespace Model +} // namespace EC2Protocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/SimpleInputParamsRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/SimpleInputParamsRequest.cpp new file mode 100644 index 00000000000..8c9619a0902 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/SimpleInputParamsRequest.cpp @@ -0,0 +1,101 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::EC2Protocol::Model; +using namespace Aws::Utils; + +SimpleInputParamsRequest::SimpleInputParamsRequest() : + m_fooHasBeenSet(false), + m_barHasBeenSet(false), + m_baz(false), + m_bazHasBeenSet(false), + m_bam(0), + m_bamHasBeenSet(false), + m_floatValue(0.0), + m_floatValueHasBeenSet(false), + m_boo(0.0), + m_booHasBeenSet(false), + m_quxHasBeenSet(false), + m_fooEnum(FooEnum::NOT_SET), + m_fooEnumHasBeenSet(false), + m_hasQueryNameHasBeenSet(false), + m_hasQueryAndXmlNameHasBeenSet(false), + m_usesXmlNameHasBeenSet(false) +{ +} + +Aws::String SimpleInputParamsRequest::SerializePayload() const +{ + Aws::StringStream ss; + ss << "Action=SimpleInputParams&"; + if(m_fooHasBeenSet) + { + ss << "Foo=" << StringUtils::URLEncode(m_foo.c_str()) << "&"; + } + + if(m_barHasBeenSet) + { + ss << "Bar=" << StringUtils::URLEncode(m_bar.c_str()) << "&"; + } + + if(m_bazHasBeenSet) + { + ss << "Baz=" << std::boolalpha << m_baz << "&"; + } + + if(m_bamHasBeenSet) + { + ss << "Bam=" << m_bam << "&"; + } + + if(m_floatValueHasBeenSet) + { + ss << "FloatValue=" << m_floatValue << "&"; + } + + if(m_booHasBeenSet) + { + ss << "Boo=" << StringUtils::URLEncode(m_boo) << "&"; + } + + if(m_quxHasBeenSet) + { + ss << "Qux=" << HashingUtils::Base64Encode(m_qux) << "&"; + } + + if(m_fooEnumHasBeenSet) + { + ss << "FooEnum=" << FooEnumMapper::GetNameForFooEnum(m_fooEnum) << "&"; + } + + if(m_hasQueryNameHasBeenSet) + { + ss << "HasQueryName=" << StringUtils::URLEncode(m_hasQueryName.c_str()) << "&"; + } + + if(m_hasQueryAndXmlNameHasBeenSet) + { + ss << "HasQueryAndXmlName=" << StringUtils::URLEncode(m_hasQueryAndXmlName.c_str()) << "&"; + } + + if(m_usesXmlNameHasBeenSet) + { + ss << "UsesXmlName=" << StringUtils::URLEncode(m_usesXmlName.c_str()) << "&"; + } + + ss << "Version=2020-01-08"; + return ss.str(); +} + + +void SimpleInputParamsRequest::DumpBodyToUrl(Aws::Http::URI& uri ) const +{ + uri.SetQueryString(SerializePayload()); +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/SimpleScalarXmlPropertiesRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/SimpleScalarXmlPropertiesRequest.cpp new file mode 100644 index 00000000000..899bf927dc1 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/SimpleScalarXmlPropertiesRequest.cpp @@ -0,0 +1,29 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include + +using namespace Aws::EC2Protocol::Model; +using namespace Aws::Utils; + +SimpleScalarXmlPropertiesRequest::SimpleScalarXmlPropertiesRequest() +{ +} + +Aws::String SimpleScalarXmlPropertiesRequest::SerializePayload() const +{ + Aws::StringStream ss; + ss << "Action=SimpleScalarXmlProperties&"; + ss << "Version=2020-01-08"; + return ss.str(); +} + + +void SimpleScalarXmlPropertiesRequest::DumpBodyToUrl(Aws::Http::URI& uri ) const +{ + uri.SetQueryString(SerializePayload()); +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/SimpleScalarXmlPropertiesResponse.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/SimpleScalarXmlPropertiesResponse.cpp new file mode 100644 index 00000000000..726f8320521 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/SimpleScalarXmlPropertiesResponse.cpp @@ -0,0 +1,111 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +#include + +using namespace Aws::EC2Protocol::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils::Logging; +using namespace Aws::Utils; +using namespace Aws; + +SimpleScalarXmlPropertiesResponse::SimpleScalarXmlPropertiesResponse() : + m_trueBooleanValue(false), + m_falseBooleanValue(false), + m_byteValue(0), + m_shortValue(0), + m_integerValue(0), + m_longValue(0), + m_floatValue(0.0), + m_doubleValue(0.0) +{ +} + +SimpleScalarXmlPropertiesResponse::SimpleScalarXmlPropertiesResponse(const Aws::AmazonWebServiceResult& result) + : SimpleScalarXmlPropertiesResponse() +{ + *this = result; +} + +SimpleScalarXmlPropertiesResponse& SimpleScalarXmlPropertiesResponse::operator =(const Aws::AmazonWebServiceResult& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode rootNode = xmlDocument.GetRootElement(); + XmlNode resultNode = rootNode; + if (!rootNode.IsNull() && (rootNode.GetName() != "SimpleScalarXmlPropertiesResponse")) + { + resultNode = rootNode.FirstChild("SimpleScalarXmlPropertiesResponse"); + } + + if(!resultNode.IsNull()) + { + XmlNode stringValueNode = resultNode.FirstChild("stringValue"); + if(!stringValueNode.IsNull()) + { + m_stringValue = Aws::Utils::Xml::DecodeEscapedXmlText(stringValueNode.GetText()); + } + XmlNode emptyStringValueNode = resultNode.FirstChild("emptyStringValue"); + if(!emptyStringValueNode.IsNull()) + { + m_emptyStringValue = Aws::Utils::Xml::DecodeEscapedXmlText(emptyStringValueNode.GetText()); + } + XmlNode trueBooleanValueNode = resultNode.FirstChild("trueBooleanValue"); + if(!trueBooleanValueNode.IsNull()) + { + m_trueBooleanValue = StringUtils::ConvertToBool(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(trueBooleanValueNode.GetText()).c_str()).c_str()); + } + XmlNode falseBooleanValueNode = resultNode.FirstChild("falseBooleanValue"); + if(!falseBooleanValueNode.IsNull()) + { + m_falseBooleanValue = StringUtils::ConvertToBool(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(falseBooleanValueNode.GetText()).c_str()).c_str()); + } + XmlNode byteValueNode = resultNode.FirstChild("byteValue"); + if(!byteValueNode.IsNull()) + { + m_byteValue = StringUtils::ConvertToInt32(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(byteValueNode.GetText()).c_str()).c_str()); + } + XmlNode shortValueNode = resultNode.FirstChild("shortValue"); + if(!shortValueNode.IsNull()) + { + m_shortValue = StringUtils::ConvertToInt32(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(shortValueNode.GetText()).c_str()).c_str()); + } + XmlNode integerValueNode = resultNode.FirstChild("integerValue"); + if(!integerValueNode.IsNull()) + { + m_integerValue = StringUtils::ConvertToInt32(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(integerValueNode.GetText()).c_str()).c_str()); + } + XmlNode longValueNode = resultNode.FirstChild("longValue"); + if(!longValueNode.IsNull()) + { + m_longValue = StringUtils::ConvertToInt64(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(longValueNode.GetText()).c_str()).c_str()); + } + XmlNode floatValueNode = resultNode.FirstChild("floatValue"); + if(!floatValueNode.IsNull()) + { + m_floatValue = StringUtils::ConvertToDouble(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(floatValueNode.GetText()).c_str()).c_str()); + } + XmlNode doubleValueNode = resultNode.FirstChild("DoubleDribble"); + if(!doubleValueNode.IsNull()) + { + m_doubleValue = StringUtils::ConvertToDouble(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(doubleValueNode.GetText()).c_str()).c_str()); + } + } + + if (!rootNode.IsNull()) { + XmlNode requestIdNode = rootNode.FirstChild("requestId"); + if (!requestIdNode.IsNull()) + { + m_responseMetadata.SetRequestId(StringUtils::Trim(requestIdNode.GetText().c_str())); + } + AWS_LOGSTREAM_DEBUG("Aws::EC2Protocol::Model::SimpleScalarXmlPropertiesResponse", "x-amzn-request-id: " << m_responseMetadata.GetRequestId() ); + } + return *this; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/StructArg.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/StructArg.cpp new file mode 100644 index 00000000000..d725052a102 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/StructArg.cpp @@ -0,0 +1,107 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; + +namespace Aws +{ +namespace EC2Protocol +{ +namespace Model +{ + +StructArg::StructArg() : + m_stringArgHasBeenSet(false), + m_otherArg(false), + m_otherArgHasBeenSet(false), + m_recursiveArgHasBeenSet(false) +{ +} + +StructArg::StructArg(const XmlNode& xmlNode) + : StructArg() +{ + *this = xmlNode; +} + +StructArg& StructArg::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode stringArgNode = resultNode.FirstChild("StringArg"); + if(!stringArgNode.IsNull()) + { + m_stringArg = Aws::Utils::Xml::DecodeEscapedXmlText(stringArgNode.GetText()); + m_stringArgHasBeenSet = true; + } + XmlNode otherArgNode = resultNode.FirstChild("OtherArg"); + if(!otherArgNode.IsNull()) + { + m_otherArg = StringUtils::ConvertToBool(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(otherArgNode.GetText()).c_str()).c_str()); + m_otherArgHasBeenSet = true; + } + XmlNode recursiveArgNode = resultNode.FirstChild("RecursiveArg"); + if(!recursiveArgNode.IsNull()) + { + m_recursiveArg = recursiveArgNode; + m_recursiveArgHasBeenSet = true; + } + } + + return *this; +} + +void StructArg::OutputToStream(Aws::OStream& oStream, const char* location, unsigned index, const char* locationValue) const +{ + if(m_stringArgHasBeenSet) + { + oStream << location << index << locationValue << ".StringArg=" << StringUtils::URLEncode(m_stringArg.c_str()) << "&"; + } + + if(m_otherArgHasBeenSet) + { + oStream << location << index << locationValue << ".OtherArg=" << std::boolalpha << m_otherArg << "&"; + } + + if(m_recursiveArgHasBeenSet) + { + Aws::StringStream recursiveArgLocationAndMemberSs; + recursiveArgLocationAndMemberSs << location << index << locationValue << ".RecursiveArg"; + m_recursiveArg.OutputToStream(oStream, recursiveArgLocationAndMemberSs.str().c_str()); + } + +} + +void StructArg::OutputToStream(Aws::OStream& oStream, const char* location) const +{ + if(m_stringArgHasBeenSet) + { + oStream << location << ".StringArg=" << StringUtils::URLEncode(m_stringArg.c_str()) << "&"; + } + if(m_otherArgHasBeenSet) + { + oStream << location << ".OtherArg=" << std::boolalpha << m_otherArg << "&"; + } + if(m_recursiveArgHasBeenSet) + { + Aws::String recursiveArgLocationAndMember(location); + recursiveArgLocationAndMember += ".RecursiveArg"; + m_recursiveArg.OutputToStream(oStream, recursiveArgLocationAndMember.c_str()); + } +} + +} // namespace Model +} // namespace EC2Protocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/StructureListMember.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/StructureListMember.cpp new file mode 100644 index 00000000000..71e05d6b8b5 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/StructureListMember.cpp @@ -0,0 +1,86 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; + +namespace Aws +{ +namespace EC2Protocol +{ +namespace Model +{ + +StructureListMember::StructureListMember() : + m_aHasBeenSet(false), + m_bHasBeenSet(false) +{ +} + +StructureListMember::StructureListMember(const XmlNode& xmlNode) + : StructureListMember() +{ + *this = xmlNode; +} + +StructureListMember& StructureListMember::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode aNode = resultNode.FirstChild("value"); + if(!aNode.IsNull()) + { + m_a = Aws::Utils::Xml::DecodeEscapedXmlText(aNode.GetText()); + m_aHasBeenSet = true; + } + XmlNode bNode = resultNode.FirstChild("other"); + if(!bNode.IsNull()) + { + m_b = Aws::Utils::Xml::DecodeEscapedXmlText(bNode.GetText()); + m_bHasBeenSet = true; + } + } + + return *this; +} + +void StructureListMember::OutputToStream(Aws::OStream& oStream, const char* location, unsigned index, const char* locationValue) const +{ + if(m_aHasBeenSet) + { + oStream << location << index << locationValue << ".a=" << StringUtils::URLEncode(m_a.c_str()) << "&"; + } + + if(m_bHasBeenSet) + { + oStream << location << index << locationValue << ".b=" << StringUtils::URLEncode(m_b.c_str()) << "&"; + } + +} + +void StructureListMember::OutputToStream(Aws::OStream& oStream, const char* location) const +{ + if(m_aHasBeenSet) + { + oStream << location << ".a=" << StringUtils::URLEncode(m_a.c_str()) << "&"; + } + if(m_bHasBeenSet) + { + oStream << location << ".b=" << StringUtils::URLEncode(m_b.c_str()) << "&"; + } +} + +} // namespace Model +} // namespace EC2Protocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/XmlBlobsRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/XmlBlobsRequest.cpp new file mode 100644 index 00000000000..898fc522f32 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/XmlBlobsRequest.cpp @@ -0,0 +1,29 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include + +using namespace Aws::EC2Protocol::Model; +using namespace Aws::Utils; + +XmlBlobsRequest::XmlBlobsRequest() +{ +} + +Aws::String XmlBlobsRequest::SerializePayload() const +{ + Aws::StringStream ss; + ss << "Action=XmlBlobs&"; + ss << "Version=2020-01-08"; + return ss.str(); +} + + +void XmlBlobsRequest::DumpBodyToUrl(Aws::Http::URI& uri ) const +{ + uri.SetQueryString(SerializePayload()); +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/XmlBlobsResponse.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/XmlBlobsResponse.cpp new file mode 100644 index 00000000000..8b0c4ad8c28 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/XmlBlobsResponse.cpp @@ -0,0 +1,58 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::EC2Protocol::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils::Logging; +using namespace Aws::Utils; +using namespace Aws; + +XmlBlobsResponse::XmlBlobsResponse() +{ +} + +XmlBlobsResponse::XmlBlobsResponse(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +XmlBlobsResponse& XmlBlobsResponse::operator =(const Aws::AmazonWebServiceResult& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode rootNode = xmlDocument.GetRootElement(); + XmlNode resultNode = rootNode; + if (!rootNode.IsNull() && (rootNode.GetName() != "XmlBlobsResponse")) + { + resultNode = rootNode.FirstChild("XmlBlobsResponse"); + } + + if(!resultNode.IsNull()) + { + XmlNode dataNode = resultNode.FirstChild("data"); + if(!dataNode.IsNull()) + { + m_data = HashingUtils::Base64Decode(Aws::Utils::Xml::DecodeEscapedXmlText(dataNode.GetText())); + } + } + + if (!rootNode.IsNull()) { + XmlNode requestIdNode = rootNode.FirstChild("requestId"); + if (!requestIdNode.IsNull()) + { + m_responseMetadata.SetRequestId(StringUtils::Trim(requestIdNode.GetText().c_str())); + } + AWS_LOGSTREAM_DEBUG("Aws::EC2Protocol::Model::XmlBlobsResponse", "x-amzn-request-id: " << m_responseMetadata.GetRequestId() ); + } + return *this; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/XmlEmptyBlobsRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/XmlEmptyBlobsRequest.cpp new file mode 100644 index 00000000000..7e5b5dd741c --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/XmlEmptyBlobsRequest.cpp @@ -0,0 +1,29 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include + +using namespace Aws::EC2Protocol::Model; +using namespace Aws::Utils; + +XmlEmptyBlobsRequest::XmlEmptyBlobsRequest() +{ +} + +Aws::String XmlEmptyBlobsRequest::SerializePayload() const +{ + Aws::StringStream ss; + ss << "Action=XmlEmptyBlobs&"; + ss << "Version=2020-01-08"; + return ss.str(); +} + + +void XmlEmptyBlobsRequest::DumpBodyToUrl(Aws::Http::URI& uri ) const +{ + uri.SetQueryString(SerializePayload()); +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/XmlEmptyBlobsResponse.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/XmlEmptyBlobsResponse.cpp new file mode 100644 index 00000000000..18c47858748 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/XmlEmptyBlobsResponse.cpp @@ -0,0 +1,58 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::EC2Protocol::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils::Logging; +using namespace Aws::Utils; +using namespace Aws; + +XmlEmptyBlobsResponse::XmlEmptyBlobsResponse() +{ +} + +XmlEmptyBlobsResponse::XmlEmptyBlobsResponse(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +XmlEmptyBlobsResponse& XmlEmptyBlobsResponse::operator =(const Aws::AmazonWebServiceResult& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode rootNode = xmlDocument.GetRootElement(); + XmlNode resultNode = rootNode; + if (!rootNode.IsNull() && (rootNode.GetName() != "XmlEmptyBlobsResponse")) + { + resultNode = rootNode.FirstChild("XmlEmptyBlobsResponse"); + } + + if(!resultNode.IsNull()) + { + XmlNode dataNode = resultNode.FirstChild("data"); + if(!dataNode.IsNull()) + { + m_data = HashingUtils::Base64Decode(Aws::Utils::Xml::DecodeEscapedXmlText(dataNode.GetText())); + } + } + + if (!rootNode.IsNull()) { + XmlNode requestIdNode = rootNode.FirstChild("requestId"); + if (!requestIdNode.IsNull()) + { + m_responseMetadata.SetRequestId(StringUtils::Trim(requestIdNode.GetText().c_str())); + } + AWS_LOGSTREAM_DEBUG("Aws::EC2Protocol::Model::XmlEmptyBlobsResponse", "x-amzn-request-id: " << m_responseMetadata.GetRequestId() ); + } + return *this; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/XmlEmptyListsRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/XmlEmptyListsRequest.cpp new file mode 100644 index 00000000000..b6974a09238 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/XmlEmptyListsRequest.cpp @@ -0,0 +1,29 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include + +using namespace Aws::EC2Protocol::Model; +using namespace Aws::Utils; + +XmlEmptyListsRequest::XmlEmptyListsRequest() +{ +} + +Aws::String XmlEmptyListsRequest::SerializePayload() const +{ + Aws::StringStream ss; + ss << "Action=XmlEmptyLists&"; + ss << "Version=2020-01-08"; + return ss.str(); +} + + +void XmlEmptyListsRequest::DumpBodyToUrl(Aws::Http::URI& uri ) const +{ + uri.SetQueryString(SerializePayload()); +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/XmlEmptyListsResponse.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/XmlEmptyListsResponse.cpp new file mode 100644 index 00000000000..22623f80ffb --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/XmlEmptyListsResponse.cpp @@ -0,0 +1,205 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +#include + +using namespace Aws::EC2Protocol::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils::Logging; +using namespace Aws::Utils; +using namespace Aws; + +XmlEmptyListsResponse::XmlEmptyListsResponse() +{ +} + +XmlEmptyListsResponse::XmlEmptyListsResponse(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +XmlEmptyListsResponse& XmlEmptyListsResponse::operator =(const Aws::AmazonWebServiceResult& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode rootNode = xmlDocument.GetRootElement(); + XmlNode resultNode = rootNode; + if (!rootNode.IsNull() && (rootNode.GetName() != "XmlEmptyListsResponse")) + { + resultNode = rootNode.FirstChild("XmlEmptyListsResponse"); + } + + if(!resultNode.IsNull()) + { + XmlNode stringListNode = resultNode.FirstChild("stringList"); + if(!stringListNode.IsNull()) + { + XmlNode stringListMember = stringListNode.FirstChild("member"); + while(!stringListMember.IsNull()) + { + m_stringList.push_back(stringListMember.GetText()); + stringListMember = stringListMember.NextNode("member"); + } + + } + XmlNode stringSetNode = resultNode.FirstChild("stringSet"); + if(!stringSetNode.IsNull()) + { + XmlNode stringSetMember = stringSetNode.FirstChild("member"); + while(!stringSetMember.IsNull()) + { + m_stringSet.push_back(stringSetMember.GetText()); + stringSetMember = stringSetMember.NextNode("member"); + } + + } + XmlNode integerListNode = resultNode.FirstChild("integerList"); + if(!integerListNode.IsNull()) + { + XmlNode integerListMember = integerListNode.FirstChild("member"); + while(!integerListMember.IsNull()) + { + m_integerList.push_back(StringUtils::ConvertToInt32(StringUtils::Trim(integerListMember.GetText().c_str()).c_str())); + integerListMember = integerListMember.NextNode("member"); + } + + } + XmlNode booleanListNode = resultNode.FirstChild("booleanList"); + if(!booleanListNode.IsNull()) + { + XmlNode booleanListMember = booleanListNode.FirstChild("member"); + while(!booleanListMember.IsNull()) + { + m_booleanList.push_back(StringUtils::ConvertToBool(StringUtils::Trim(booleanListMember.GetText().c_str()).c_str())); + booleanListMember = booleanListMember.NextNode("member"); + } + + } + XmlNode timestampListNode = resultNode.FirstChild("timestampList"); + if(!timestampListNode.IsNull()) + { + XmlNode timestampListMember = timestampListNode.FirstChild("member"); + while(!timestampListMember.IsNull()) + { + m_timestampList.push_back(DateTime(StringUtils::Trim(timestampListMember.GetText().c_str()).c_str(), Aws::Utils::DateFormat::ISO_8601)); + timestampListMember = timestampListMember.NextNode("member"); + } + + } + XmlNode enumListNode = resultNode.FirstChild("enumList"); + if(!enumListNode.IsNull()) + { + XmlNode enumListMember = enumListNode.FirstChild("member"); + while(!enumListMember.IsNull()) + { + m_enumList.push_back(FooEnumMapper::GetFooEnumForName(StringUtils::Trim(enumListMember.GetText().c_str()))); + enumListMember = enumListMember.NextNode("member"); + } + + } + XmlNode intEnumListNode = resultNode.FirstChild("intEnumList"); + if(!intEnumListNode.IsNull()) + { + XmlNode intEnumListMember = intEnumListNode.FirstChild("member"); + while(!intEnumListMember.IsNull()) + { + m_intEnumList.push_back(StringUtils::ConvertToInt32(StringUtils::Trim(intEnumListMember.GetText().c_str()).c_str())); + intEnumListMember = intEnumListMember.NextNode("member"); + } + + } + XmlNode nestedStringListNode = resultNode.FirstChild("nestedStringList"); + if(!nestedStringListNode.IsNull()) + { + XmlNode nestedStringListMember = nestedStringListNode.FirstChild("member"); + while(!nestedStringListMember.IsNull()) + { + nestedStringListMember = nestedStringListMember.NextNode("member"); + } + + } + XmlNode renamedListMembersNode = resultNode.FirstChild("renamed"); + if(!renamedListMembersNode.IsNull()) + { + XmlNode renamedListMembersMember = renamedListMembersNode.FirstChild("item"); + while(!renamedListMembersMember.IsNull()) + { + m_renamedListMembers.push_back(renamedListMembersMember.GetText()); + renamedListMembersMember = renamedListMembersMember.NextNode("item"); + } + + } + XmlNode flattenedListNode = resultNode.FirstChild("item"); + if(!flattenedListNode.IsNull()) + { + XmlNode itemMember = flattenedListNode; + while(!itemMember.IsNull()) + { + m_flattenedList.push_back(itemMember.GetText()); + itemMember = itemMember.NextNode("item"); + } + + } + XmlNode flattenedList2Node = resultNode.FirstChild("customName"); + if(!flattenedList2Node.IsNull()) + { + XmlNode customNameMember = flattenedList2Node; + while(!customNameMember.IsNull()) + { + m_flattenedList2.push_back(customNameMember.GetText()); + customNameMember = customNameMember.NextNode("item"); + } + + } + XmlNode flattenedListWithMemberNamespaceNode = resultNode.FirstChild("flattenedListWithMemberNamespace"); + if(!flattenedListWithMemberNamespaceNode.IsNull()) + { + XmlNode flattenedListWithMemberNamespaceMember = flattenedListWithMemberNamespaceNode; + while(!flattenedListWithMemberNamespaceMember.IsNull()) + { + m_flattenedListWithMemberNamespace.push_back(flattenedListWithMemberNamespaceMember.GetText()); + flattenedListWithMemberNamespaceMember = flattenedListWithMemberNamespaceMember.NextNode("flattenedListWithMemberNamespace"); + } + + } + XmlNode flattenedListWithNamespaceNode = resultNode.FirstChild("flattenedListWithNamespace"); + if(!flattenedListWithNamespaceNode.IsNull()) + { + XmlNode flattenedListWithNamespaceMember = flattenedListWithNamespaceNode; + while(!flattenedListWithNamespaceMember.IsNull()) + { + m_flattenedListWithNamespace.push_back(flattenedListWithNamespaceMember.GetText()); + flattenedListWithNamespaceMember = flattenedListWithNamespaceMember.NextNode("flattenedListWithNamespace"); + } + + } + XmlNode structureListNode = resultNode.FirstChild("myStructureList"); + if(!structureListNode.IsNull()) + { + XmlNode structureListMember = structureListNode.FirstChild("item"); + while(!structureListMember.IsNull()) + { + m_structureList.push_back(structureListMember); + structureListMember = structureListMember.NextNode("item"); + } + + } + } + + if (!rootNode.IsNull()) { + XmlNode requestIdNode = rootNode.FirstChild("requestId"); + if (!requestIdNode.IsNull()) + { + m_responseMetadata.SetRequestId(StringUtils::Trim(requestIdNode.GetText().c_str())); + } + AWS_LOGSTREAM_DEBUG("Aws::EC2Protocol::Model::XmlEmptyListsResponse", "x-amzn-request-id: " << m_responseMetadata.GetRequestId() ); + } + return *this; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/XmlEnumsRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/XmlEnumsRequest.cpp new file mode 100644 index 00000000000..6924f01d61d --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/XmlEnumsRequest.cpp @@ -0,0 +1,29 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include + +using namespace Aws::EC2Protocol::Model; +using namespace Aws::Utils; + +XmlEnumsRequest::XmlEnumsRequest() +{ +} + +Aws::String XmlEnumsRequest::SerializePayload() const +{ + Aws::StringStream ss; + ss << "Action=XmlEnums&"; + ss << "Version=2020-01-08"; + return ss.str(); +} + + +void XmlEnumsRequest::DumpBodyToUrl(Aws::Http::URI& uri ) const +{ + uri.SetQueryString(SerializePayload()); +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/XmlEnumsResponse.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/XmlEnumsResponse.cpp new file mode 100644 index 00000000000..f52bcc42308 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/XmlEnumsResponse.cpp @@ -0,0 +1,108 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +#include + +using namespace Aws::EC2Protocol::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils::Logging; +using namespace Aws::Utils; +using namespace Aws; + +XmlEnumsResponse::XmlEnumsResponse() : + m_fooEnum1(FooEnum::NOT_SET), + m_fooEnum2(FooEnum::NOT_SET), + m_fooEnum3(FooEnum::NOT_SET) +{ +} + +XmlEnumsResponse::XmlEnumsResponse(const Aws::AmazonWebServiceResult& result) + : XmlEnumsResponse() +{ + *this = result; +} + +XmlEnumsResponse& XmlEnumsResponse::operator =(const Aws::AmazonWebServiceResult& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode rootNode = xmlDocument.GetRootElement(); + XmlNode resultNode = rootNode; + if (!rootNode.IsNull() && (rootNode.GetName() != "XmlEnumsResponse")) + { + resultNode = rootNode.FirstChild("XmlEnumsResponse"); + } + + if(!resultNode.IsNull()) + { + XmlNode fooEnum1Node = resultNode.FirstChild("fooEnum1"); + if(!fooEnum1Node.IsNull()) + { + m_fooEnum1 = FooEnumMapper::GetFooEnumForName(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(fooEnum1Node.GetText()).c_str()).c_str()); + } + XmlNode fooEnum2Node = resultNode.FirstChild("fooEnum2"); + if(!fooEnum2Node.IsNull()) + { + m_fooEnum2 = FooEnumMapper::GetFooEnumForName(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(fooEnum2Node.GetText()).c_str()).c_str()); + } + XmlNode fooEnum3Node = resultNode.FirstChild("fooEnum3"); + if(!fooEnum3Node.IsNull()) + { + m_fooEnum3 = FooEnumMapper::GetFooEnumForName(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(fooEnum3Node.GetText()).c_str()).c_str()); + } + XmlNode fooEnumListNode = resultNode.FirstChild("fooEnumList"); + if(!fooEnumListNode.IsNull()) + { + XmlNode fooEnumListMember = fooEnumListNode.FirstChild("member"); + while(!fooEnumListMember.IsNull()) + { + m_fooEnumList.push_back(FooEnumMapper::GetFooEnumForName(StringUtils::Trim(fooEnumListMember.GetText().c_str()))); + fooEnumListMember = fooEnumListMember.NextNode("member"); + } + + } + XmlNode fooEnumSetNode = resultNode.FirstChild("fooEnumSet"); + if(!fooEnumSetNode.IsNull()) + { + XmlNode fooEnumSetMember = fooEnumSetNode.FirstChild("member"); + while(!fooEnumSetMember.IsNull()) + { + m_fooEnumSet.push_back(FooEnumMapper::GetFooEnumForName(StringUtils::Trim(fooEnumSetMember.GetText().c_str()))); + fooEnumSetMember = fooEnumSetMember.NextNode("member"); + } + + } + XmlNode fooEnumMapNode = resultNode.FirstChild("fooEnumMap"); + + if(!fooEnumMapNode.IsNull()) + { + XmlNode fooEnumMapEntry = fooEnumMapNode.FirstChild("entry"); + while(!fooEnumMapEntry.IsNull()) + { + XmlNode keyNode = fooEnumMapEntry.FirstChild("key"); + XmlNode valueNode = fooEnumMapEntry.FirstChild("value"); + m_fooEnumMap[keyNode.GetText()] = + FooEnumMapper::GetFooEnumForName(StringUtils::Trim(valueNode.GetText().c_str())); + fooEnumMapEntry = fooEnumMapEntry.NextNode("entry"); + } + + } + } + + if (!rootNode.IsNull()) { + XmlNode requestIdNode = rootNode.FirstChild("requestId"); + if (!requestIdNode.IsNull()) + { + m_responseMetadata.SetRequestId(StringUtils::Trim(requestIdNode.GetText().c_str())); + } + AWS_LOGSTREAM_DEBUG("Aws::EC2Protocol::Model::XmlEnumsResponse", "x-amzn-request-id: " << m_responseMetadata.GetRequestId() ); + } + return *this; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/XmlIntEnumsRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/XmlIntEnumsRequest.cpp new file mode 100644 index 00000000000..813edb0b7b1 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/XmlIntEnumsRequest.cpp @@ -0,0 +1,29 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include + +using namespace Aws::EC2Protocol::Model; +using namespace Aws::Utils; + +XmlIntEnumsRequest::XmlIntEnumsRequest() +{ +} + +Aws::String XmlIntEnumsRequest::SerializePayload() const +{ + Aws::StringStream ss; + ss << "Action=XmlIntEnums&"; + ss << "Version=2020-01-08"; + return ss.str(); +} + + +void XmlIntEnumsRequest::DumpBodyToUrl(Aws::Http::URI& uri ) const +{ + uri.SetQueryString(SerializePayload()); +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/XmlIntEnumsResponse.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/XmlIntEnumsResponse.cpp new file mode 100644 index 00000000000..36005061590 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/XmlIntEnumsResponse.cpp @@ -0,0 +1,108 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +#include + +using namespace Aws::EC2Protocol::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils::Logging; +using namespace Aws::Utils; +using namespace Aws; + +XmlIntEnumsResponse::XmlIntEnumsResponse() : + m_intEnum1(0), + m_intEnum2(0), + m_intEnum3(0) +{ +} + +XmlIntEnumsResponse::XmlIntEnumsResponse(const Aws::AmazonWebServiceResult& result) + : XmlIntEnumsResponse() +{ + *this = result; +} + +XmlIntEnumsResponse& XmlIntEnumsResponse::operator =(const Aws::AmazonWebServiceResult& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode rootNode = xmlDocument.GetRootElement(); + XmlNode resultNode = rootNode; + if (!rootNode.IsNull() && (rootNode.GetName() != "XmlIntEnumsResponse")) + { + resultNode = rootNode.FirstChild("XmlIntEnumsResponse"); + } + + if(!resultNode.IsNull()) + { + XmlNode intEnum1Node = resultNode.FirstChild("intEnum1"); + if(!intEnum1Node.IsNull()) + { + m_intEnum1 = StringUtils::ConvertToInt32(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(intEnum1Node.GetText()).c_str()).c_str()); + } + XmlNode intEnum2Node = resultNode.FirstChild("intEnum2"); + if(!intEnum2Node.IsNull()) + { + m_intEnum2 = StringUtils::ConvertToInt32(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(intEnum2Node.GetText()).c_str()).c_str()); + } + XmlNode intEnum3Node = resultNode.FirstChild("intEnum3"); + if(!intEnum3Node.IsNull()) + { + m_intEnum3 = StringUtils::ConvertToInt32(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(intEnum3Node.GetText()).c_str()).c_str()); + } + XmlNode intEnumListNode = resultNode.FirstChild("intEnumList"); + if(!intEnumListNode.IsNull()) + { + XmlNode intEnumListMember = intEnumListNode.FirstChild("member"); + while(!intEnumListMember.IsNull()) + { + m_intEnumList.push_back(StringUtils::ConvertToInt32(StringUtils::Trim(intEnumListMember.GetText().c_str()).c_str())); + intEnumListMember = intEnumListMember.NextNode("member"); + } + + } + XmlNode intEnumSetNode = resultNode.FirstChild("intEnumSet"); + if(!intEnumSetNode.IsNull()) + { + XmlNode intEnumSetMember = intEnumSetNode.FirstChild("member"); + while(!intEnumSetMember.IsNull()) + { + m_intEnumSet.push_back(StringUtils::ConvertToInt32(StringUtils::Trim(intEnumSetMember.GetText().c_str()).c_str())); + intEnumSetMember = intEnumSetMember.NextNode("member"); + } + + } + XmlNode intEnumMapNode = resultNode.FirstChild("intEnumMap"); + + if(!intEnumMapNode.IsNull()) + { + XmlNode intEnumMapEntry = intEnumMapNode.FirstChild("entry"); + while(!intEnumMapEntry.IsNull()) + { + XmlNode keyNode = intEnumMapEntry.FirstChild("key"); + XmlNode valueNode = intEnumMapEntry.FirstChild("value"); + m_intEnumMap[keyNode.GetText()] = + StringUtils::ConvertToInt32(StringUtils::Trim(valueNode.GetText().c_str()).c_str()); + intEnumMapEntry = intEnumMapEntry.NextNode("entry"); + } + + } + } + + if (!rootNode.IsNull()) { + XmlNode requestIdNode = rootNode.FirstChild("requestId"); + if (!requestIdNode.IsNull()) + { + m_responseMetadata.SetRequestId(StringUtils::Trim(requestIdNode.GetText().c_str())); + } + AWS_LOGSTREAM_DEBUG("Aws::EC2Protocol::Model::XmlIntEnumsResponse", "x-amzn-request-id: " << m_responseMetadata.GetRequestId() ); + } + return *this; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/XmlListsRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/XmlListsRequest.cpp new file mode 100644 index 00000000000..a64e6163b2d --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/XmlListsRequest.cpp @@ -0,0 +1,29 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include + +using namespace Aws::EC2Protocol::Model; +using namespace Aws::Utils; + +XmlListsRequest::XmlListsRequest() +{ +} + +Aws::String XmlListsRequest::SerializePayload() const +{ + Aws::StringStream ss; + ss << "Action=XmlLists&"; + ss << "Version=2020-01-08"; + return ss.str(); +} + + +void XmlListsRequest::DumpBodyToUrl(Aws::Http::URI& uri ) const +{ + uri.SetQueryString(SerializePayload()); +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/XmlListsResponse.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/XmlListsResponse.cpp new file mode 100644 index 00000000000..02313aa1e2c --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/XmlListsResponse.cpp @@ -0,0 +1,205 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +#include + +using namespace Aws::EC2Protocol::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils::Logging; +using namespace Aws::Utils; +using namespace Aws; + +XmlListsResponse::XmlListsResponse() +{ +} + +XmlListsResponse::XmlListsResponse(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +XmlListsResponse& XmlListsResponse::operator =(const Aws::AmazonWebServiceResult& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode rootNode = xmlDocument.GetRootElement(); + XmlNode resultNode = rootNode; + if (!rootNode.IsNull() && (rootNode.GetName() != "XmlListsResponse")) + { + resultNode = rootNode.FirstChild("XmlListsResponse"); + } + + if(!resultNode.IsNull()) + { + XmlNode stringListNode = resultNode.FirstChild("stringList"); + if(!stringListNode.IsNull()) + { + XmlNode stringListMember = stringListNode.FirstChild("member"); + while(!stringListMember.IsNull()) + { + m_stringList.push_back(stringListMember.GetText()); + stringListMember = stringListMember.NextNode("member"); + } + + } + XmlNode stringSetNode = resultNode.FirstChild("stringSet"); + if(!stringSetNode.IsNull()) + { + XmlNode stringSetMember = stringSetNode.FirstChild("member"); + while(!stringSetMember.IsNull()) + { + m_stringSet.push_back(stringSetMember.GetText()); + stringSetMember = stringSetMember.NextNode("member"); + } + + } + XmlNode integerListNode = resultNode.FirstChild("integerList"); + if(!integerListNode.IsNull()) + { + XmlNode integerListMember = integerListNode.FirstChild("member"); + while(!integerListMember.IsNull()) + { + m_integerList.push_back(StringUtils::ConvertToInt32(StringUtils::Trim(integerListMember.GetText().c_str()).c_str())); + integerListMember = integerListMember.NextNode("member"); + } + + } + XmlNode booleanListNode = resultNode.FirstChild("booleanList"); + if(!booleanListNode.IsNull()) + { + XmlNode booleanListMember = booleanListNode.FirstChild("member"); + while(!booleanListMember.IsNull()) + { + m_booleanList.push_back(StringUtils::ConvertToBool(StringUtils::Trim(booleanListMember.GetText().c_str()).c_str())); + booleanListMember = booleanListMember.NextNode("member"); + } + + } + XmlNode timestampListNode = resultNode.FirstChild("timestampList"); + if(!timestampListNode.IsNull()) + { + XmlNode timestampListMember = timestampListNode.FirstChild("member"); + while(!timestampListMember.IsNull()) + { + m_timestampList.push_back(DateTime(StringUtils::Trim(timestampListMember.GetText().c_str()).c_str(), Aws::Utils::DateFormat::ISO_8601)); + timestampListMember = timestampListMember.NextNode("member"); + } + + } + XmlNode enumListNode = resultNode.FirstChild("enumList"); + if(!enumListNode.IsNull()) + { + XmlNode enumListMember = enumListNode.FirstChild("member"); + while(!enumListMember.IsNull()) + { + m_enumList.push_back(FooEnumMapper::GetFooEnumForName(StringUtils::Trim(enumListMember.GetText().c_str()))); + enumListMember = enumListMember.NextNode("member"); + } + + } + XmlNode intEnumListNode = resultNode.FirstChild("intEnumList"); + if(!intEnumListNode.IsNull()) + { + XmlNode intEnumListMember = intEnumListNode.FirstChild("member"); + while(!intEnumListMember.IsNull()) + { + m_intEnumList.push_back(StringUtils::ConvertToInt32(StringUtils::Trim(intEnumListMember.GetText().c_str()).c_str())); + intEnumListMember = intEnumListMember.NextNode("member"); + } + + } + XmlNode nestedStringListNode = resultNode.FirstChild("nestedStringList"); + if(!nestedStringListNode.IsNull()) + { + XmlNode nestedStringListMember = nestedStringListNode.FirstChild("member"); + while(!nestedStringListMember.IsNull()) + { + nestedStringListMember = nestedStringListMember.NextNode("member"); + } + + } + XmlNode renamedListMembersNode = resultNode.FirstChild("renamed"); + if(!renamedListMembersNode.IsNull()) + { + XmlNode renamedListMembersMember = renamedListMembersNode.FirstChild("item"); + while(!renamedListMembersMember.IsNull()) + { + m_renamedListMembers.push_back(renamedListMembersMember.GetText()); + renamedListMembersMember = renamedListMembersMember.NextNode("item"); + } + + } + XmlNode flattenedListNode = resultNode.FirstChild("item"); + if(!flattenedListNode.IsNull()) + { + XmlNode itemMember = flattenedListNode; + while(!itemMember.IsNull()) + { + m_flattenedList.push_back(itemMember.GetText()); + itemMember = itemMember.NextNode("item"); + } + + } + XmlNode flattenedList2Node = resultNode.FirstChild("customName"); + if(!flattenedList2Node.IsNull()) + { + XmlNode customNameMember = flattenedList2Node; + while(!customNameMember.IsNull()) + { + m_flattenedList2.push_back(customNameMember.GetText()); + customNameMember = customNameMember.NextNode("item"); + } + + } + XmlNode flattenedListWithMemberNamespaceNode = resultNode.FirstChild("flattenedListWithMemberNamespace"); + if(!flattenedListWithMemberNamespaceNode.IsNull()) + { + XmlNode flattenedListWithMemberNamespaceMember = flattenedListWithMemberNamespaceNode; + while(!flattenedListWithMemberNamespaceMember.IsNull()) + { + m_flattenedListWithMemberNamespace.push_back(flattenedListWithMemberNamespaceMember.GetText()); + flattenedListWithMemberNamespaceMember = flattenedListWithMemberNamespaceMember.NextNode("flattenedListWithMemberNamespace"); + } + + } + XmlNode flattenedListWithNamespaceNode = resultNode.FirstChild("flattenedListWithNamespace"); + if(!flattenedListWithNamespaceNode.IsNull()) + { + XmlNode flattenedListWithNamespaceMember = flattenedListWithNamespaceNode; + while(!flattenedListWithNamespaceMember.IsNull()) + { + m_flattenedListWithNamespace.push_back(flattenedListWithNamespaceMember.GetText()); + flattenedListWithNamespaceMember = flattenedListWithNamespaceMember.NextNode("flattenedListWithNamespace"); + } + + } + XmlNode structureListNode = resultNode.FirstChild("myStructureList"); + if(!structureListNode.IsNull()) + { + XmlNode structureListMember = structureListNode.FirstChild("item"); + while(!structureListMember.IsNull()) + { + m_structureList.push_back(structureListMember); + structureListMember = structureListMember.NextNode("item"); + } + + } + } + + if (!rootNode.IsNull()) { + XmlNode requestIdNode = rootNode.FirstChild("requestId"); + if (!requestIdNode.IsNull()) + { + m_responseMetadata.SetRequestId(StringUtils::Trim(requestIdNode.GetText().c_str())); + } + AWS_LOGSTREAM_DEBUG("Aws::EC2Protocol::Model::XmlListsResponse", "x-amzn-request-id: " << m_responseMetadata.GetRequestId() ); + } + return *this; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/XmlNamespaceNested.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/XmlNamespaceNested.cpp new file mode 100644 index 00000000000..d161a4ae376 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/XmlNamespaceNested.cpp @@ -0,0 +1,100 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; + +namespace Aws +{ +namespace EC2Protocol +{ +namespace Model +{ + +XmlNamespaceNested::XmlNamespaceNested() : + m_fooHasBeenSet(false), + m_valuesHasBeenSet(false) +{ +} + +XmlNamespaceNested::XmlNamespaceNested(const XmlNode& xmlNode) + : XmlNamespaceNested() +{ + *this = xmlNode; +} + +XmlNamespaceNested& XmlNamespaceNested::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode fooNode = resultNode.FirstChild("foo"); + if(!fooNode.IsNull()) + { + m_foo = Aws::Utils::Xml::DecodeEscapedXmlText(fooNode.GetText()); + m_fooHasBeenSet = true; + } + XmlNode valuesNode = resultNode.FirstChild("values"); + if(!valuesNode.IsNull()) + { + XmlNode valuesMember = valuesNode.FirstChild("member"); + while(!valuesMember.IsNull()) + { + m_values.push_back(valuesMember.GetText()); + valuesMember = valuesMember.NextNode("member"); + } + + m_valuesHasBeenSet = true; + } + } + + return *this; +} + +void XmlNamespaceNested::OutputToStream(Aws::OStream& oStream, const char* location, unsigned index, const char* locationValue) const +{ + if(m_fooHasBeenSet) + { + oStream << location << index << locationValue << ".foo=" << StringUtils::URLEncode(m_foo.c_str()) << "&"; + } + + if(m_valuesHasBeenSet) + { + unsigned valuesIdx = 1; + for(auto& item : m_values) + { + oStream << location << index << locationValue << ".values." << valuesIdx++ << "=" << StringUtils::URLEncode(item.c_str()) << "&"; + } + } + +} + +void XmlNamespaceNested::OutputToStream(Aws::OStream& oStream, const char* location) const +{ + if(m_fooHasBeenSet) + { + oStream << location << ".foo=" << StringUtils::URLEncode(m_foo.c_str()) << "&"; + } + if(m_valuesHasBeenSet) + { + unsigned valuesIdx = 1; + for(auto& item : m_values) + { + oStream << location << ".values." << valuesIdx++ << "=" << StringUtils::URLEncode(item.c_str()) << "&"; + } + } +} + +} // namespace Model +} // namespace EC2Protocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/XmlNamespacesRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/XmlNamespacesRequest.cpp new file mode 100644 index 00000000000..87ee778e59b --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/XmlNamespacesRequest.cpp @@ -0,0 +1,29 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include + +using namespace Aws::EC2Protocol::Model; +using namespace Aws::Utils; + +XmlNamespacesRequest::XmlNamespacesRequest() +{ +} + +Aws::String XmlNamespacesRequest::SerializePayload() const +{ + Aws::StringStream ss; + ss << "Action=XmlNamespaces&"; + ss << "Version=2020-01-08"; + return ss.str(); +} + + +void XmlNamespacesRequest::DumpBodyToUrl(Aws::Http::URI& uri ) const +{ + uri.SetQueryString(SerializePayload()); +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/XmlNamespacesResponse.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/XmlNamespacesResponse.cpp new file mode 100644 index 00000000000..5710e9fe52d --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/XmlNamespacesResponse.cpp @@ -0,0 +1,57 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +#include + +using namespace Aws::EC2Protocol::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils::Logging; +using namespace Aws::Utils; +using namespace Aws; + +XmlNamespacesResponse::XmlNamespacesResponse() +{ +} + +XmlNamespacesResponse::XmlNamespacesResponse(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +XmlNamespacesResponse& XmlNamespacesResponse::operator =(const Aws::AmazonWebServiceResult& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode rootNode = xmlDocument.GetRootElement(); + XmlNode resultNode = rootNode; + if (!rootNode.IsNull() && (rootNode.GetName() != "XmlNamespacesResponse")) + { + resultNode = rootNode.FirstChild("XmlNamespacesResponse"); + } + + if(!resultNode.IsNull()) + { + XmlNode nestedNode = resultNode.FirstChild("nested"); + if(!nestedNode.IsNull()) + { + m_nested = nestedNode; + } + } + + if (!rootNode.IsNull()) { + XmlNode requestIdNode = rootNode.FirstChild("requestId"); + if (!requestIdNode.IsNull()) + { + m_responseMetadata.SetRequestId(StringUtils::Trim(requestIdNode.GetText().c_str())); + } + AWS_LOGSTREAM_DEBUG("Aws::EC2Protocol::Model::XmlNamespacesResponse", "x-amzn-request-id: " << m_responseMetadata.GetRequestId() ); + } + return *this; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/XmlTimestampsRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/XmlTimestampsRequest.cpp new file mode 100644 index 00000000000..27fe6e09524 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/XmlTimestampsRequest.cpp @@ -0,0 +1,29 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include + +using namespace Aws::EC2Protocol::Model; +using namespace Aws::Utils; + +XmlTimestampsRequest::XmlTimestampsRequest() +{ +} + +Aws::String XmlTimestampsRequest::SerializePayload() const +{ + Aws::StringStream ss; + ss << "Action=XmlTimestamps&"; + ss << "Version=2020-01-08"; + return ss.str(); +} + + +void XmlTimestampsRequest::DumpBodyToUrl(Aws::Http::URI& uri ) const +{ + uri.SetQueryString(SerializePayload()); +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/XmlTimestampsResponse.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/XmlTimestampsResponse.cpp new file mode 100644 index 00000000000..41f0229a547 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/model/XmlTimestampsResponse.cpp @@ -0,0 +1,87 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +#include + +using namespace Aws::EC2Protocol::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils::Logging; +using namespace Aws::Utils; +using namespace Aws; + +XmlTimestampsResponse::XmlTimestampsResponse() +{ +} + +XmlTimestampsResponse::XmlTimestampsResponse(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +XmlTimestampsResponse& XmlTimestampsResponse::operator =(const Aws::AmazonWebServiceResult& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode rootNode = xmlDocument.GetRootElement(); + XmlNode resultNode = rootNode; + if (!rootNode.IsNull() && (rootNode.GetName() != "XmlTimestampsResponse")) + { + resultNode = rootNode.FirstChild("XmlTimestampsResponse"); + } + + if(!resultNode.IsNull()) + { + XmlNode normalNode = resultNode.FirstChild("normal"); + if(!normalNode.IsNull()) + { + m_normal = DateTime(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(normalNode.GetText()).c_str()).c_str(), Aws::Utils::DateFormat::ISO_8601); + } + XmlNode dateTimeNode = resultNode.FirstChild("dateTime"); + if(!dateTimeNode.IsNull()) + { + m_dateTime = DateTime(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(dateTimeNode.GetText()).c_str()).c_str(), Aws::Utils::DateFormat::ISO_8601); + } + XmlNode dateTimeOnTargetNode = resultNode.FirstChild("dateTimeOnTarget"); + if(!dateTimeOnTargetNode.IsNull()) + { + m_dateTimeOnTarget = DateTime(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(dateTimeOnTargetNode.GetText()).c_str()).c_str(), Aws::Utils::DateFormat::ISO_8601); + } + XmlNode epochSecondsNode = resultNode.FirstChild("epochSeconds"); + if(!epochSecondsNode.IsNull()) + { + m_epochSeconds = DateTime(StringUtils::ConvertToDouble(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(epochSecondsNode.GetText()).c_str()).c_str())); + } + XmlNode epochSecondsOnTargetNode = resultNode.FirstChild("epochSecondsOnTarget"); + if(!epochSecondsOnTargetNode.IsNull()) + { + m_epochSecondsOnTarget = DateTime(StringUtils::ConvertToDouble(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(epochSecondsOnTargetNode.GetText()).c_str()).c_str())); + } + XmlNode httpDateNode = resultNode.FirstChild("httpDate"); + if(!httpDateNode.IsNull()) + { + m_httpDate = DateTime(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(httpDateNode.GetText()).c_str()).c_str(), Aws::Utils::DateFormat::RFC822); + } + XmlNode httpDateOnTargetNode = resultNode.FirstChild("httpDateOnTarget"); + if(!httpDateOnTargetNode.IsNull()) + { + m_httpDateOnTarget = DateTime(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(httpDateOnTargetNode.GetText()).c_str()).c_str(), Aws::Utils::DateFormat::RFC822); + } + } + + if (!rootNode.IsNull()) { + XmlNode requestIdNode = rootNode.FirstChild("requestId"); + if (!requestIdNode.IsNull()) + { + m_responseMetadata.SetRequestId(StringUtils::Trim(requestIdNode.GetText().c_str())); + } + AWS_LOGSTREAM_DEBUG("Aws::EC2Protocol::Model::XmlTimestampsResponse", "x-amzn-request-id: " << m_responseMetadata.GetRequestId() ); + } + return *this; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/CMakeLists.txt b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/CMakeLists.txt new file mode 100644 index 00000000000..71978bc4185 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/CMakeLists.txt @@ -0,0 +1,76 @@ +add_project(aws-cpp-sdk-json-protocol "C++ SDK for the AWS json-protocol service" aws-cpp-sdk-core) + +file(GLOB AWS_JSON-PROTOCOL_HEADERS + "include/aws/json-protocol/*.h" +) + +file(GLOB AWS_JSON-PROTOCOL_MODEL_HEADERS + "include/aws/json-protocol/model/*.h" +) + +file(GLOB AWS_JSON-PROTOCOL_SOURCE + "source/*.cpp" +) + +file(GLOB AWS_JSON-PROTOCOL_MODEL_SOURCE + "source/model/*.cpp" +) + +file(GLOB JSON-PROTOCOL_UNIFIED_HEADERS + ${AWS_JSON-PROTOCOL_HEADERS} + ${AWS_JSON-PROTOCOL_MODEL_HEADERS} +) + +file(GLOB JSON-PROTOCOL_UNITY_SRC + ${AWS_JSON-PROTOCOL_SOURCE} + ${AWS_JSON-PROTOCOL_MODEL_SOURCE} +) + +if(ENABLE_UNITY_BUILD) + enable_unity_build("JSON-PROTOCOL" JSON-PROTOCOL_UNITY_SRC) +endif() + +file(GLOB JSON-PROTOCOL_SRC + ${JSON-PROTOCOL_UNIFIED_HEADERS} + ${JSON-PROTOCOL_UNITY_SRC} +) + +if(WIN32) + #if we are compiling for visual studio, create a sane directory tree. + if(MSVC) + source_group("Header Files\\aws\\json-protocol" FILES ${AWS_JSON-PROTOCOL_HEADERS}) + source_group("Header Files\\aws\\json-protocol\\model" FILES ${AWS_JSON-PROTOCOL_MODEL_HEADERS}) + source_group("Source Files" FILES ${AWS_JSON-PROTOCOL_SOURCE}) + source_group("Source Files\\model" FILES ${AWS_JSON-PROTOCOL_MODEL_SOURCE}) + endif(MSVC) +endif() + +set(JSON-PROTOCOL_INCLUDES + "${CMAKE_CURRENT_SOURCE_DIR}/include/" +) + +add_library(${PROJECT_NAME} ${JSON-PROTOCOL_SRC}) +add_library(AWS::${PROJECT_NAME} ALIAS ${PROJECT_NAME}) + +set_compiler_flags(${PROJECT_NAME}) +set_compiler_warnings(${PROJECT_NAME}) + +if(USE_WINDOWS_DLL_SEMANTICS AND BUILD_SHARED_LIBS) + target_compile_definitions(${PROJECT_NAME} PRIVATE "AWS_JSONPROTOCOL_EXPORTS") +endif() + +target_include_directories(${PROJECT_NAME} PUBLIC + $ + $) + +target_link_libraries(${PROJECT_NAME} PRIVATE ${PLATFORM_DEP_LIBS} ${PROJECT_LIBS}) + + +setup_install() + +install (FILES ${AWS_JSON-PROTOCOL_HEADERS} DESTINATION ${INCLUDE_DIRECTORY}/aws/json-protocol) +install (FILES ${AWS_JSON-PROTOCOL_MODEL_HEADERS} DESTINATION ${INCLUDE_DIRECTORY}/aws/json-protocol/model) + +do_packaging() + + diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/JsonProtocolClient.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/JsonProtocolClient.h new file mode 100644 index 00000000000..a032be026b6 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/JsonProtocolClient.h @@ -0,0 +1,509 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace JsonProtocol +{ + AWS_JSONPROTOCOL_API extern const char SERVICE_NAME[]; + class AWS_JSONPROTOCOL_API JsonProtocolClient : smithy::client::AwsSmithyClientT, + Aws::Crt::Variant, + JsonProtocolEndpointProviderBase, + smithy::client::JsonOutcomeSerializer, + smithy::client::JsonOutcome, + Aws::Client::JsonProtocolErrorMarshaller>, + Aws::Client::ClientWithAsyncTemplateMethods + { + public: + static const char* GetServiceName(); + static const char* GetAllocationTag(); + inline const char* GetServiceClientName() const override { return "Json Protocol"; } + + typedef JsonProtocolClientConfiguration ClientConfigurationType; + typedef JsonProtocolEndpointProvider EndpointProviderType; + + /** + * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client config + * is not specified, it will be initialized to default values. + */ + JsonProtocolClient(const Aws::JsonProtocol::JsonProtocolClientConfiguration& clientConfiguration = Aws::JsonProtocol::JsonProtocolClientConfiguration(), + std::shared_ptr endpointProvider = nullptr); + + /** + * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config + * is not specified, it will be initialized to default values. + */ + JsonProtocolClient(const Aws::Auth::AWSCredentials& credentials, + std::shared_ptr endpointProvider = nullptr, + const Aws::JsonProtocol::JsonProtocolClientConfiguration& clientConfiguration = Aws::JsonProtocol::JsonProtocolClientConfiguration()); + + /** + * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, + * the default http client factory will be used + */ + JsonProtocolClient(const std::shared_ptr& credentialsProvider, + std::shared_ptr endpointProvider = nullptr, + const Aws::JsonProtocol::JsonProtocolClientConfiguration& clientConfiguration = Aws::JsonProtocol::JsonProtocolClientConfiguration()); + + + /* Legacy constructors due deprecation */ + /** + * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client config + * is not specified, it will be initialized to default values. + */ + JsonProtocolClient(const Aws::Client::ClientConfiguration& clientConfiguration); + + /** + * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config + * is not specified, it will be initialized to default values. + */ + JsonProtocolClient(const Aws::Auth::AWSCredentials& credentials, + const Aws::Client::ClientConfiguration& clientConfiguration); + + /** + * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, + * the default http client factory will be used + */ + JsonProtocolClient(const std::shared_ptr& credentialsProvider, + const Aws::Client::ClientConfiguration& clientConfiguration); + + /* End of legacy constructors due deprecation */ + virtual ~JsonProtocolClient(); + + /** + *

The example tests how servers must support requests containing a + * Content-Type header with parameters.

See Also:

AWS + * API Reference

+ */ + virtual Model::ContentTypeParametersOutcome ContentTypeParameters(const Model::ContentTypeParametersRequest& request = {}) const; + + /** + * A Callable wrapper for ContentTypeParameters that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::ContentTypeParametersOutcomeCallable ContentTypeParametersCallable(const ContentTypeParametersRequestT& request = {}) const + { + return SubmitCallable(&JsonProtocolClient::ContentTypeParameters, request); + } + + /** + * An Async wrapper for ContentTypeParameters that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void ContentTypeParametersAsync(const ContentTypeParametersResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const ContentTypeParametersRequestT& request = {}) const + { + return SubmitAsync(&JsonProtocolClient::ContentTypeParameters, request, handler, context); + } + + /** + * + */ + virtual Model::DatetimeOffsetsOutcome DatetimeOffsets(const Model::DatetimeOffsetsRequest& request = {}) const; + + /** + * A Callable wrapper for DatetimeOffsets that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::DatetimeOffsetsOutcomeCallable DatetimeOffsetsCallable(const DatetimeOffsetsRequestT& request = {}) const + { + return SubmitCallable(&JsonProtocolClient::DatetimeOffsets, request); + } + + /** + * An Async wrapper for DatetimeOffsets that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void DatetimeOffsetsAsync(const DatetimeOffsetsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const DatetimeOffsetsRequestT& request = {}) const + { + return SubmitAsync(&JsonProtocolClient::DatetimeOffsets, request, handler, context); + } + + /** + * + */ + virtual Model::EmptyOperationOutcome EmptyOperation(const Model::EmptyOperationRequest& request = {}) const; + + /** + * A Callable wrapper for EmptyOperation that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::EmptyOperationOutcomeCallable EmptyOperationCallable(const EmptyOperationRequestT& request = {}) const + { + return SubmitCallable(&JsonProtocolClient::EmptyOperation, request); + } + + /** + * An Async wrapper for EmptyOperation that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void EmptyOperationAsync(const EmptyOperationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const EmptyOperationRequestT& request = {}) const + { + return SubmitAsync(&JsonProtocolClient::EmptyOperation, request, handler, context); + } + + /** + * + */ + virtual Model::EndpointOperationOutcome EndpointOperation(const Model::EndpointOperationRequest& request = {}) const; + + /** + * A Callable wrapper for EndpointOperation that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::EndpointOperationOutcomeCallable EndpointOperationCallable(const EndpointOperationRequestT& request = {}) const + { + return SubmitCallable(&JsonProtocolClient::EndpointOperation, request); + } + + /** + * An Async wrapper for EndpointOperation that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void EndpointOperationAsync(const EndpointOperationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const EndpointOperationRequestT& request = {}) const + { + return SubmitAsync(&JsonProtocolClient::EndpointOperation, request, handler, context); + } + + /** + * + */ + virtual Model::EndpointWithHostLabelOperationOutcome EndpointWithHostLabelOperation(const Model::EndpointWithHostLabelOperationRequest& request) const; + + /** + * A Callable wrapper for EndpointWithHostLabelOperation that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::EndpointWithHostLabelOperationOutcomeCallable EndpointWithHostLabelOperationCallable(const EndpointWithHostLabelOperationRequestT& request) const + { + return SubmitCallable(&JsonProtocolClient::EndpointWithHostLabelOperation, request); + } + + /** + * An Async wrapper for EndpointWithHostLabelOperation that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void EndpointWithHostLabelOperationAsync(const EndpointWithHostLabelOperationRequestT& request, const EndpointWithHostLabelOperationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&JsonProtocolClient::EndpointWithHostLabelOperation, request, handler, context); + } + + /** + * + */ + virtual Model::FractionalSecondsOutcome FractionalSeconds(const Model::FractionalSecondsRequest& request = {}) const; + + /** + * A Callable wrapper for FractionalSeconds that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::FractionalSecondsOutcomeCallable FractionalSecondsCallable(const FractionalSecondsRequestT& request = {}) const + { + return SubmitCallable(&JsonProtocolClient::FractionalSeconds, request); + } + + /** + * An Async wrapper for FractionalSeconds that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void FractionalSecondsAsync(const FractionalSecondsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const FractionalSecondsRequestT& request = {}) const + { + return SubmitAsync(&JsonProtocolClient::FractionalSeconds, request, handler, context); + } + + /** + *

This operation has three possible return values:

  1. A successful + * response in the form of GreetingWithErrorsOutput
  2. An InvalidGreeting + * error.
  3. A ComplexError error.

Implementations must be able + * to successfully take a response and properly deserialize successful and error + * responses.

See Also:

AWS + * API Reference

+ */ + virtual Model::GreetingWithErrorsOutcome GreetingWithErrors(const Model::GreetingWithErrorsRequest& request = {}) const; + + /** + * A Callable wrapper for GreetingWithErrors that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::GreetingWithErrorsOutcomeCallable GreetingWithErrorsCallable(const GreetingWithErrorsRequestT& request = {}) const + { + return SubmitCallable(&JsonProtocolClient::GreetingWithErrors, request); + } + + /** + * An Async wrapper for GreetingWithErrors that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void GreetingWithErrorsAsync(const GreetingWithErrorsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const GreetingWithErrorsRequestT& request = {}) const + { + return SubmitAsync(&JsonProtocolClient::GreetingWithErrors, request, handler, context); + } + + /** + * + */ + virtual Model::HostWithPathOperationOutcome HostWithPathOperation(const Model::HostWithPathOperationRequest& request = {}) const; + + /** + * A Callable wrapper for HostWithPathOperation that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::HostWithPathOperationOutcomeCallable HostWithPathOperationCallable(const HostWithPathOperationRequestT& request = {}) const + { + return SubmitCallable(&JsonProtocolClient::HostWithPathOperation, request); + } + + /** + * An Async wrapper for HostWithPathOperation that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void HostWithPathOperationAsync(const HostWithPathOperationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const HostWithPathOperationRequestT& request = {}) const + { + return SubmitAsync(&JsonProtocolClient::HostWithPathOperation, request, handler, context); + } + + /** + *

This example serializes enums as top level properties, in lists, sets, and + * maps.

See Also:

AWS + * API Reference

+ */ + virtual Model::JsonEnumsOutcome JsonEnums(const Model::JsonEnumsRequest& request = {}) const; + + /** + * A Callable wrapper for JsonEnums that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::JsonEnumsOutcomeCallable JsonEnumsCallable(const JsonEnumsRequestT& request = {}) const + { + return SubmitCallable(&JsonProtocolClient::JsonEnums, request); + } + + /** + * An Async wrapper for JsonEnums that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void JsonEnumsAsync(const JsonEnumsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const JsonEnumsRequestT& request = {}) const + { + return SubmitAsync(&JsonProtocolClient::JsonEnums, request, handler, context); + } + + /** + *

This example serializes intEnums as top level properties, in lists, sets, and + * maps.

See Also:

AWS + * API Reference

+ */ + virtual Model::JsonIntEnumsOutcome JsonIntEnums(const Model::JsonIntEnumsRequest& request = {}) const; + + /** + * A Callable wrapper for JsonIntEnums that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::JsonIntEnumsOutcomeCallable JsonIntEnumsCallable(const JsonIntEnumsRequestT& request = {}) const + { + return SubmitCallable(&JsonProtocolClient::JsonIntEnums, request); + } + + /** + * An Async wrapper for JsonIntEnums that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void JsonIntEnumsAsync(const JsonIntEnumsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const JsonIntEnumsRequestT& request = {}) const + { + return SubmitAsync(&JsonProtocolClient::JsonIntEnums, request, handler, context); + } + + /** + *

This operation uses unions for inputs and outputs.

See Also:

+ * AWS + * API Reference

+ */ + virtual Model::JsonUnionsOutcome JsonUnions(const Model::JsonUnionsRequest& request = {}) const; + + /** + * A Callable wrapper for JsonUnions that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::JsonUnionsOutcomeCallable JsonUnionsCallable(const JsonUnionsRequestT& request = {}) const + { + return SubmitCallable(&JsonProtocolClient::JsonUnions, request); + } + + /** + * An Async wrapper for JsonUnions that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void JsonUnionsAsync(const JsonUnionsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const JsonUnionsRequestT& request = {}) const + { + return SubmitAsync(&JsonProtocolClient::JsonUnions, request, handler, context); + } + + /** + * + */ + virtual Model::KitchenSinkOperationOutcome KitchenSinkOperation(const Model::KitchenSinkOperationRequest& request = {}) const; + + /** + * A Callable wrapper for KitchenSinkOperation that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::KitchenSinkOperationOutcomeCallable KitchenSinkOperationCallable(const KitchenSinkOperationRequestT& request = {}) const + { + return SubmitCallable(&JsonProtocolClient::KitchenSinkOperation, request); + } + + /** + * An Async wrapper for KitchenSinkOperation that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void KitchenSinkOperationAsync(const KitchenSinkOperationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const KitchenSinkOperationRequestT& request = {}) const + { + return SubmitAsync(&JsonProtocolClient::KitchenSinkOperation, request, handler, context); + } + + /** + * + */ + virtual Model::NullOperationOutcome NullOperation(const Model::NullOperationRequest& request = {}) const; + + /** + * A Callable wrapper for NullOperation that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::NullOperationOutcomeCallable NullOperationCallable(const NullOperationRequestT& request = {}) const + { + return SubmitCallable(&JsonProtocolClient::NullOperation, request); + } + + /** + * An Async wrapper for NullOperation that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void NullOperationAsync(const NullOperationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const NullOperationRequestT& request = {}) const + { + return SubmitAsync(&JsonProtocolClient::NullOperation, request, handler, context); + } + + /** + * + */ + virtual Model::OperationWithOptionalInputOutputOutcome OperationWithOptionalInputOutput(const Model::OperationWithOptionalInputOutputRequest& request = {}) const; + + /** + * A Callable wrapper for OperationWithOptionalInputOutput that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::OperationWithOptionalInputOutputOutcomeCallable OperationWithOptionalInputOutputCallable(const OperationWithOptionalInputOutputRequestT& request = {}) const + { + return SubmitCallable(&JsonProtocolClient::OperationWithOptionalInputOutput, request); + } + + /** + * An Async wrapper for OperationWithOptionalInputOutput that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void OperationWithOptionalInputOutputAsync(const OperationWithOptionalInputOutputResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const OperationWithOptionalInputOutputRequestT& request = {}) const + { + return SubmitAsync(&JsonProtocolClient::OperationWithOptionalInputOutput, request, handler, context); + } + + /** + *

This example serializes an inline document as part of the + * payload.

See Also:

AWS + * API Reference

+ */ + virtual Model::PutAndGetInlineDocumentsOutcome PutAndGetInlineDocuments(const Model::PutAndGetInlineDocumentsRequest& request = {}) const; + + /** + * A Callable wrapper for PutAndGetInlineDocuments that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::PutAndGetInlineDocumentsOutcomeCallable PutAndGetInlineDocumentsCallable(const PutAndGetInlineDocumentsRequestT& request = {}) const + { + return SubmitCallable(&JsonProtocolClient::PutAndGetInlineDocuments, request); + } + + /** + * An Async wrapper for PutAndGetInlineDocuments that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void PutAndGetInlineDocumentsAsync(const PutAndGetInlineDocumentsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const PutAndGetInlineDocumentsRequestT& request = {}) const + { + return SubmitAsync(&JsonProtocolClient::PutAndGetInlineDocuments, request, handler, context); + } + + /** + * + */ + virtual Model::PutWithContentEncodingOutcome PutWithContentEncoding(const Model::PutWithContentEncodingRequest& request = {}) const; + + /** + * A Callable wrapper for PutWithContentEncoding that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::PutWithContentEncodingOutcomeCallable PutWithContentEncodingCallable(const PutWithContentEncodingRequestT& request = {}) const + { + return SubmitCallable(&JsonProtocolClient::PutWithContentEncoding, request); + } + + /** + * An Async wrapper for PutWithContentEncoding that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void PutWithContentEncodingAsync(const PutWithContentEncodingResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const PutWithContentEncodingRequestT& request = {}) const + { + return SubmitAsync(&JsonProtocolClient::PutWithContentEncoding, request, handler, context); + } + + /** + * + */ + virtual Model::SimpleScalarPropertiesOutcome SimpleScalarProperties(const Model::SimpleScalarPropertiesRequest& request = {}) const; + + /** + * A Callable wrapper for SimpleScalarProperties that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::SimpleScalarPropertiesOutcomeCallable SimpleScalarPropertiesCallable(const SimpleScalarPropertiesRequestT& request = {}) const + { + return SubmitCallable(&JsonProtocolClient::SimpleScalarProperties, request); + } + + /** + * An Async wrapper for SimpleScalarProperties that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void SimpleScalarPropertiesAsync(const SimpleScalarPropertiesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const SimpleScalarPropertiesRequestT& request = {}) const + { + return SubmitAsync(&JsonProtocolClient::SimpleScalarProperties, request, handler, context); + } + + + void OverrideEndpoint(const Aws::String& endpoint); + std::shared_ptr& accessEndpointProvider(); + private: + friend class Aws::Client::ClientWithAsyncTemplateMethods; + + }; + +} // namespace JsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/JsonProtocolEndpointProvider.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/JsonProtocolEndpointProvider.h new file mode 100644 index 00000000000..bf67e010769 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/JsonProtocolEndpointProvider.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +#include + + +namespace Aws +{ +namespace JsonProtocol +{ +namespace Endpoint +{ +using EndpointParameters = Aws::Endpoint::EndpointParameters; +using Aws::Endpoint::EndpointProviderBase; +using Aws::Endpoint::DefaultEndpointProvider; + +using JsonProtocolClientContextParameters = Aws::Endpoint::ClientContextParameters; + +using JsonProtocolClientConfiguration = Aws::Client::GenericClientConfiguration; +using JsonProtocolBuiltInParameters = Aws::Endpoint::BuiltInParameters; + +/** + * The type for the JsonProtocol 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 JsonProtocolEndpointProviderBase = + EndpointProviderBase; + +using JsonProtocolDefaultEpProviderBase = + DefaultEndpointProvider; + +/** + * Default endpoint provider used for this service + */ +class AWS_JSONPROTOCOL_API JsonProtocolEndpointProvider : public JsonProtocolDefaultEpProviderBase +{ +public: + using JsonProtocolResolveEndpointOutcome = Aws::Endpoint::ResolveEndpointOutcome; + + JsonProtocolEndpointProvider() + : JsonProtocolDefaultEpProviderBase(Aws::JsonProtocol::JsonProtocolEndpointRules::GetRulesBlob(), Aws::JsonProtocol::JsonProtocolEndpointRules::RulesBlobSize) + {} + + ~JsonProtocolEndpointProvider() + { + } +}; +} // namespace Endpoint +} // namespace JsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/JsonProtocolEndpointRules.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/JsonProtocolEndpointRules.h new file mode 100644 index 00000000000..0ac3fd7f014 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/JsonProtocolEndpointRules.h @@ -0,0 +1,23 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace JsonProtocol +{ +class JsonProtocolEndpointRules +{ +public: + static const size_t RulesBlobStrLen; + static const size_t RulesBlobSize; + + static const char* GetRulesBlob(); +}; +} // namespace JsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/JsonProtocolErrorMarshaller.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/JsonProtocolErrorMarshaller.h new file mode 100644 index 00000000000..66f7c26fa93 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/JsonProtocolErrorMarshaller.h @@ -0,0 +1,23 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws +{ +namespace Client +{ + +class AWS_JSONPROTOCOL_API JsonProtocolErrorMarshaller : public Aws::Client::JsonErrorMarshaller +{ +public: + Aws::Client::AWSError FindErrorByName(const char* exceptionName) const override; +}; + +} // namespace Client +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/JsonProtocolErrors.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/JsonProtocolErrors.h new file mode 100644 index 00000000000..6c7fd6e51cb --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/JsonProtocolErrors.h @@ -0,0 +1,76 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include +#include + +namespace Aws +{ +namespace JsonProtocol +{ +enum class JsonProtocolErrors +{ + //From Core// + ////////////////////////////////////////////////////////////////////////////////////////// + INCOMPLETE_SIGNATURE = 0, + INTERNAL_FAILURE = 1, + INVALID_ACTION = 2, + INVALID_CLIENT_TOKEN_ID = 3, + INVALID_PARAMETER_COMBINATION = 4, + INVALID_QUERY_PARAMETER = 5, + INVALID_PARAMETER_VALUE = 6, + MISSING_ACTION = 7, // SDK should never allow + MISSING_AUTHENTICATION_TOKEN = 8, // SDK should never allow + MISSING_PARAMETER = 9, // SDK should never allow + OPT_IN_REQUIRED = 10, + REQUEST_EXPIRED = 11, + SERVICE_UNAVAILABLE = 12, + THROTTLING = 13, + VALIDATION = 14, + ACCESS_DENIED = 15, + RESOURCE_NOT_FOUND = 16, + UNRECOGNIZED_CLIENT = 17, + MALFORMED_QUERY_STRING = 18, + SLOW_DOWN = 19, + REQUEST_TIME_TOO_SKEWED = 20, + INVALID_SIGNATURE = 21, + SIGNATURE_DOES_NOT_MATCH = 22, + INVALID_ACCESS_KEY_ID = 23, + REQUEST_TIMEOUT = 24, + NETWORK_CONNECTION = 99, + + UNKNOWN = 100, + /////////////////////////////////////////////////////////////////////////////////////////// + + COMPLEX= static_cast(Aws::Client::CoreErrors::SERVICE_EXTENSION_START_RANGE) + 1, + ERROR_WITHOUT_MEMBERS, + ERROR_WITH_MEMBERS, + FOO, + INVALID_GREETING +}; + +class AWS_JSONPROTOCOL_API JsonProtocolError : public Aws::Client::AWSError +{ +public: + JsonProtocolError() {} + JsonProtocolError(const Aws::Client::AWSError& rhs) : Aws::Client::AWSError(rhs) {} + JsonProtocolError(Aws::Client::AWSError&& rhs) : Aws::Client::AWSError(rhs) {} + JsonProtocolError(const Aws::Client::AWSError& rhs) : Aws::Client::AWSError(rhs) {} + JsonProtocolError(Aws::Client::AWSError&& rhs) : Aws::Client::AWSError(rhs) {} + + template + T GetModeledError(); +}; + +namespace JsonProtocolErrorMapper +{ + AWS_JSONPROTOCOL_API Aws::Client::AWSError GetErrorForName(const char* errorName); +} + +} // namespace JsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/JsonProtocolRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/JsonProtocolRequest.h new file mode 100644 index 00000000000..7c1361c308b --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/JsonProtocolRequest.h @@ -0,0 +1,46 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace JsonProtocol +{ + class AWS_JSONPROTOCOL_API JsonProtocolRequest : public Aws::AmazonSerializableWebServiceRequest + { + public: + using EndpointParameter = Aws::Endpoint::EndpointParameter; + using EndpointParameters = Aws::Endpoint::EndpointParameters; + + virtual ~JsonProtocolRequest () {} + + void AddParametersToRequest(Aws::Http::HttpRequest& httpRequest) const { AWS_UNREFERENCED_PARAM(httpRequest); } + + inline Aws::Http::HeaderValueCollection GetHeaders() const override + { + auto headers = GetRequestSpecificHeaders(); + + if(headers.size() == 0 || (headers.size() > 0 && headers.count(Aws::Http::CONTENT_TYPE_HEADER) == 0)) + { + headers.emplace(Aws::Http::HeaderValuePair(Aws::Http::CONTENT_TYPE_HEADER, Aws::AMZN_JSON_CONTENT_TYPE_1_1 )); + } + headers.emplace(Aws::Http::HeaderValuePair(Aws::Http::API_VERSION_HEADER, "2018-01-01")); + return headers; + } + + protected: + virtual Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const { return Aws::Http::HeaderValueCollection(); } + + }; + + +} // namespace JsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/JsonProtocolServiceClientModel.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/JsonProtocolServiceClientModel.h new file mode 100644 index 00000000000..9bd71d7c11d --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/JsonProtocolServiceClientModel.h @@ -0,0 +1,172 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +/* Generic header includes */ +#include +#include +#include +#include +#include +#include +#include +#include +#include +/* End of generic header includes */ + +/* Service model headers required in JsonProtocolClient header */ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +/* End of service model headers required in JsonProtocolClient header */ + +namespace Aws +{ + namespace Http + { + class HttpClient; + class HttpClientFactory; + } // namespace Http + + namespace Utils + { + template< typename R, typename E> class Outcome; + + namespace Threading + { + class Executor; + } // namespace Threading + } // namespace Utils + + namespace Auth + { + class AWSCredentials; + class AWSCredentialsProvider; + } // namespace Auth + + namespace Client + { + class RetryStrategy; + } // namespace Client + + namespace JsonProtocol + { + using JsonProtocolClientConfiguration = Aws::Client::GenericClientConfiguration; + using JsonProtocolEndpointProviderBase = Aws::JsonProtocol::Endpoint::JsonProtocolEndpointProviderBase; + using JsonProtocolEndpointProvider = Aws::JsonProtocol::Endpoint::JsonProtocolEndpointProvider; + + namespace Model + { + /* Service model forward declarations required in JsonProtocolClient header */ + class ContentTypeParametersRequest; + class DatetimeOffsetsRequest; + class EmptyOperationRequest; + class EndpointOperationRequest; + class EndpointWithHostLabelOperationRequest; + class FractionalSecondsRequest; + class GreetingWithErrorsRequest; + class HostWithPathOperationRequest; + class JsonEnumsRequest; + class JsonIntEnumsRequest; + class JsonUnionsRequest; + class KitchenSinkOperationRequest; + class NullOperationRequest; + class OperationWithOptionalInputOutputRequest; + class PutAndGetInlineDocumentsRequest; + class PutWithContentEncodingRequest; + class SimpleScalarPropertiesRequest; + /* End of service model forward declarations required in JsonProtocolClient header */ + + /* Service model Outcome class definitions */ + typedef Aws::Utils::Outcome ContentTypeParametersOutcome; + typedef Aws::Utils::Outcome DatetimeOffsetsOutcome; + typedef Aws::Utils::Outcome EmptyOperationOutcome; + typedef Aws::Utils::Outcome EndpointOperationOutcome; + typedef Aws::Utils::Outcome EndpointWithHostLabelOperationOutcome; + typedef Aws::Utils::Outcome FractionalSecondsOutcome; + typedef Aws::Utils::Outcome GreetingWithErrorsOutcome; + typedef Aws::Utils::Outcome HostWithPathOperationOutcome; + typedef Aws::Utils::Outcome JsonEnumsOutcome; + typedef Aws::Utils::Outcome JsonIntEnumsOutcome; + typedef Aws::Utils::Outcome JsonUnionsOutcome; + typedef Aws::Utils::Outcome KitchenSinkOperationOutcome; + typedef Aws::Utils::Outcome NullOperationOutcome; + typedef Aws::Utils::Outcome OperationWithOptionalInputOutputOutcome; + typedef Aws::Utils::Outcome PutAndGetInlineDocumentsOutcome; + typedef Aws::Utils::Outcome PutWithContentEncodingOutcome; + typedef Aws::Utils::Outcome SimpleScalarPropertiesOutcome; + /* End of service model Outcome class definitions */ + + /* Service model Outcome callable definitions */ + typedef std::future ContentTypeParametersOutcomeCallable; + typedef std::future DatetimeOffsetsOutcomeCallable; + typedef std::future EmptyOperationOutcomeCallable; + typedef std::future EndpointOperationOutcomeCallable; + typedef std::future EndpointWithHostLabelOperationOutcomeCallable; + typedef std::future FractionalSecondsOutcomeCallable; + typedef std::future GreetingWithErrorsOutcomeCallable; + typedef std::future HostWithPathOperationOutcomeCallable; + typedef std::future JsonEnumsOutcomeCallable; + typedef std::future JsonIntEnumsOutcomeCallable; + typedef std::future JsonUnionsOutcomeCallable; + typedef std::future KitchenSinkOperationOutcomeCallable; + typedef std::future NullOperationOutcomeCallable; + typedef std::future OperationWithOptionalInputOutputOutcomeCallable; + typedef std::future PutAndGetInlineDocumentsOutcomeCallable; + typedef std::future PutWithContentEncodingOutcomeCallable; + typedef std::future SimpleScalarPropertiesOutcomeCallable; + /* End of service model Outcome callable definitions */ + } // namespace Model + + class JsonProtocolClient; + + /* Service model async handlers definitions */ + typedef std::function&) > ContentTypeParametersResponseReceivedHandler; + typedef std::function&) > DatetimeOffsetsResponseReceivedHandler; + typedef std::function&) > EmptyOperationResponseReceivedHandler; + typedef std::function&) > EndpointOperationResponseReceivedHandler; + typedef std::function&) > EndpointWithHostLabelOperationResponseReceivedHandler; + typedef std::function&) > FractionalSecondsResponseReceivedHandler; + typedef std::function&) > GreetingWithErrorsResponseReceivedHandler; + typedef std::function&) > HostWithPathOperationResponseReceivedHandler; + typedef std::function&) > JsonEnumsResponseReceivedHandler; + typedef std::function&) > JsonIntEnumsResponseReceivedHandler; + typedef std::function&) > JsonUnionsResponseReceivedHandler; + typedef std::function&) > KitchenSinkOperationResponseReceivedHandler; + typedef std::function&) > NullOperationResponseReceivedHandler; + typedef std::function&) > OperationWithOptionalInputOutputResponseReceivedHandler; + typedef std::function&) > PutAndGetInlineDocumentsResponseReceivedHandler; + typedef std::function&) > PutWithContentEncodingResponseReceivedHandler; + typedef std::function&) > SimpleScalarPropertiesResponseReceivedHandler; + /* End of service model async handlers definitions */ + } // namespace JsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/JsonProtocol_EXPORTS.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/JsonProtocol_EXPORTS.h new file mode 100644 index 00000000000..c587c370dce --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/JsonProtocol_EXPORTS.h @@ -0,0 +1,32 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#ifdef _MSC_VER + //disable windows complaining about max template size. + #pragma warning (disable : 4503) +#endif // _MSC_VER + +#if defined (USE_WINDOWS_DLL_SEMANTICS) || defined (_WIN32) + #ifdef _MSC_VER + #pragma warning(disable : 4251) + #endif // _MSC_VER + + #ifdef USE_IMPORT_EXPORT + #ifdef AWS_JSONPROTOCOL_EXPORTS + #define AWS_JSONPROTOCOL_API __declspec(dllexport) + #else + #define AWS_JSONPROTOCOL_API __declspec(dllimport) + #endif /* AWS_JSONPROTOCOL_EXPORTS */ + #define AWS_JSONPROTOCOL_EXTERN + #else + #define AWS_JSONPROTOCOL_API + #define AWS_JSONPROTOCOL_EXTERN extern + #endif // USE_IMPORT_EXPORT +#else // defined (USE_WINDOWS_DLL_SEMANTICS) || defined (WIN32) + #define AWS_JSONPROTOCOL_API + #define AWS_JSONPROTOCOL_EXTERN extern +#endif // defined (USE_WINDOWS_DLL_SEMANTICS) || defined (WIN32) diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/model/ComplexError.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/model/ComplexError.h new file mode 100644 index 00000000000..1f6e47b6496 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/model/ComplexError.h @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace JsonProtocol +{ +namespace Model +{ + + /** + *

This error is thrown when a request is invalid.

See Also:

AWS + * API Reference

+ */ + class ComplexError + { + public: + AWS_JSONPROTOCOL_API ComplexError(); + AWS_JSONPROTOCOL_API ComplexError(Aws::Utils::Json::JsonView jsonValue); + AWS_JSONPROTOCOL_API ComplexError& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_JSONPROTOCOL_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + + inline const Aws::String& GetTopLevel() const{ return m_topLevel; } + inline bool TopLevelHasBeenSet() const { return m_topLevelHasBeenSet; } + inline void SetTopLevel(const Aws::String& value) { m_topLevelHasBeenSet = true; m_topLevel = value; } + inline void SetTopLevel(Aws::String&& value) { m_topLevelHasBeenSet = true; m_topLevel = std::move(value); } + inline void SetTopLevel(const char* value) { m_topLevelHasBeenSet = true; m_topLevel.assign(value); } + inline ComplexError& WithTopLevel(const Aws::String& value) { SetTopLevel(value); return *this;} + inline ComplexError& WithTopLevel(Aws::String&& value) { SetTopLevel(std::move(value)); return *this;} + inline ComplexError& WithTopLevel(const char* value) { SetTopLevel(value); return *this;} + ///@} + + ///@{ + + inline const ComplexNestedErrorData& GetNested() const{ return m_nested; } + inline bool NestedHasBeenSet() const { return m_nestedHasBeenSet; } + inline void SetNested(const ComplexNestedErrorData& value) { m_nestedHasBeenSet = true; m_nested = value; } + inline void SetNested(ComplexNestedErrorData&& value) { m_nestedHasBeenSet = true; m_nested = std::move(value); } + inline ComplexError& WithNested(const ComplexNestedErrorData& value) { SetNested(value); return *this;} + inline ComplexError& WithNested(ComplexNestedErrorData&& value) { SetNested(std::move(value)); return *this;} + ///@} + private: + + Aws::String m_topLevel; + bool m_topLevelHasBeenSet = false; + + ComplexNestedErrorData m_nested; + bool m_nestedHasBeenSet = false; + }; + +} // namespace Model +} // namespace JsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/model/ComplexNestedErrorData.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/model/ComplexNestedErrorData.h new file mode 100644 index 00000000000..eaf75ed67a3 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/model/ComplexNestedErrorData.h @@ -0,0 +1,54 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace JsonProtocol +{ +namespace Model +{ + + class ComplexNestedErrorData + { + public: + AWS_JSONPROTOCOL_API ComplexNestedErrorData(); + AWS_JSONPROTOCOL_API ComplexNestedErrorData(Aws::Utils::Json::JsonView jsonValue); + AWS_JSONPROTOCOL_API ComplexNestedErrorData& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_JSONPROTOCOL_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + + inline const Aws::String& GetFoo() const{ return m_foo; } + inline bool FooHasBeenSet() const { return m_fooHasBeenSet; } + inline void SetFoo(const Aws::String& value) { m_fooHasBeenSet = true; m_foo = value; } + inline void SetFoo(Aws::String&& value) { m_fooHasBeenSet = true; m_foo = std::move(value); } + inline void SetFoo(const char* value) { m_fooHasBeenSet = true; m_foo.assign(value); } + inline ComplexNestedErrorData& WithFoo(const Aws::String& value) { SetFoo(value); return *this;} + inline ComplexNestedErrorData& WithFoo(Aws::String&& value) { SetFoo(std::move(value)); return *this;} + inline ComplexNestedErrorData& WithFoo(const char* value) { SetFoo(value); return *this;} + ///@} + private: + + Aws::String m_foo; + bool m_fooHasBeenSet = false; + }; + +} // namespace Model +} // namespace JsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/model/ContentTypeParametersRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/model/ContentTypeParametersRequest.h new file mode 100644 index 00000000000..429593a7998 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/model/ContentTypeParametersRequest.h @@ -0,0 +1,50 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace JsonProtocol +{ +namespace Model +{ + + /** + */ + class ContentTypeParametersRequest : public JsonProtocolRequest + { + public: + AWS_JSONPROTOCOL_API ContentTypeParametersRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "ContentTypeParameters"; } + + AWS_JSONPROTOCOL_API Aws::String SerializePayload() const override; + + AWS_JSONPROTOCOL_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + + inline int GetValue() const{ return m_value; } + inline bool ValueHasBeenSet() const { return m_valueHasBeenSet; } + inline void SetValue(int value) { m_valueHasBeenSet = true; m_value = value; } + inline ContentTypeParametersRequest& WithValue(int value) { SetValue(value); return *this;} + ///@} + private: + + int m_value; + bool m_valueHasBeenSet = false; + }; + +} // namespace Model +} // namespace JsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/model/ContentTypeParametersResult.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/model/ContentTypeParametersResult.h new file mode 100644 index 00000000000..49129116b98 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/model/ContentTypeParametersResult.h @@ -0,0 +1,52 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace JsonProtocol +{ +namespace Model +{ + class ContentTypeParametersResult + { + public: + AWS_JSONPROTOCOL_API ContentTypeParametersResult(); + AWS_JSONPROTOCOL_API ContentTypeParametersResult(const Aws::AmazonWebServiceResult& result); + AWS_JSONPROTOCOL_API ContentTypeParametersResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline ContentTypeParametersResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline ContentTypeParametersResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline ContentTypeParametersResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace JsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/model/DatetimeOffsetsRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/model/DatetimeOffsetsRequest.h new file mode 100644 index 00000000000..5d313094db4 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/model/DatetimeOffsetsRequest.h @@ -0,0 +1,38 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace JsonProtocol +{ +namespace Model +{ + + /** + */ + class DatetimeOffsetsRequest : public JsonProtocolRequest + { + public: + AWS_JSONPROTOCOL_API DatetimeOffsetsRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "DatetimeOffsets"; } + + AWS_JSONPROTOCOL_API Aws::String SerializePayload() const override; + + AWS_JSONPROTOCOL_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + }; + +} // namespace Model +} // namespace JsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/model/DatetimeOffsetsResult.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/model/DatetimeOffsetsResult.h new file mode 100644 index 00000000000..f63987d42a5 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/model/DatetimeOffsetsResult.h @@ -0,0 +1,64 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace JsonProtocol +{ +namespace Model +{ + class DatetimeOffsetsResult + { + public: + AWS_JSONPROTOCOL_API DatetimeOffsetsResult(); + AWS_JSONPROTOCOL_API DatetimeOffsetsResult(const Aws::AmazonWebServiceResult& result); + AWS_JSONPROTOCOL_API DatetimeOffsetsResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::Utils::DateTime& GetDatetime() const{ return m_datetime; } + inline void SetDatetime(const Aws::Utils::DateTime& value) { m_datetime = value; } + inline void SetDatetime(Aws::Utils::DateTime&& value) { m_datetime = std::move(value); } + inline DatetimeOffsetsResult& WithDatetime(const Aws::Utils::DateTime& value) { SetDatetime(value); return *this;} + inline DatetimeOffsetsResult& WithDatetime(Aws::Utils::DateTime&& value) { SetDatetime(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline DatetimeOffsetsResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline DatetimeOffsetsResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline DatetimeOffsetsResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::Utils::DateTime m_datetime; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace JsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/model/EmptyOperationRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/model/EmptyOperationRequest.h new file mode 100644 index 00000000000..aed6f2b9a87 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/model/EmptyOperationRequest.h @@ -0,0 +1,38 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace JsonProtocol +{ +namespace Model +{ + + /** + */ + class EmptyOperationRequest : public JsonProtocolRequest + { + public: + AWS_JSONPROTOCOL_API EmptyOperationRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "EmptyOperation"; } + + AWS_JSONPROTOCOL_API Aws::String SerializePayload() const override; + + AWS_JSONPROTOCOL_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + }; + +} // namespace Model +} // namespace JsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/model/EmptyStruct.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/model/EmptyStruct.h new file mode 100644 index 00000000000..b7d5fb5195f --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/model/EmptyStruct.h @@ -0,0 +1,36 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace JsonProtocol +{ +namespace Model +{ + + class EmptyStruct + { + public: + AWS_JSONPROTOCOL_API EmptyStruct(); + AWS_JSONPROTOCOL_API EmptyStruct(Aws::Utils::Json::JsonView jsonValue); + AWS_JSONPROTOCOL_API EmptyStruct& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_JSONPROTOCOL_API Aws::Utils::Json::JsonValue Jsonize() const; + + }; + +} // namespace Model +} // namespace JsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/model/EndpointOperationRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/model/EndpointOperationRequest.h new file mode 100644 index 00000000000..c531dafac95 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/model/EndpointOperationRequest.h @@ -0,0 +1,38 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace JsonProtocol +{ +namespace Model +{ + + /** + */ + class EndpointOperationRequest : public JsonProtocolRequest + { + public: + AWS_JSONPROTOCOL_API EndpointOperationRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "EndpointOperation"; } + + AWS_JSONPROTOCOL_API Aws::String SerializePayload() const override; + + AWS_JSONPROTOCOL_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + }; + +} // namespace Model +} // namespace JsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/model/EndpointWithHostLabelOperationRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/model/EndpointWithHostLabelOperationRequest.h new file mode 100644 index 00000000000..9b61303757f --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/model/EndpointWithHostLabelOperationRequest.h @@ -0,0 +1,56 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace JsonProtocol +{ +namespace Model +{ + + /** + */ + class EndpointWithHostLabelOperationRequest : public JsonProtocolRequest + { + public: + AWS_JSONPROTOCOL_API EndpointWithHostLabelOperationRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "EndpointWithHostLabelOperation"; } + + AWS_JSONPROTOCOL_API Aws::String SerializePayload() const override; + + AWS_JSONPROTOCOL_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + + inline const Aws::String& GetLabel() const{ return m_label; } + inline bool LabelHasBeenSet() const { return m_labelHasBeenSet; } + inline void SetLabel(const Aws::String& value) { m_labelHasBeenSet = true; m_label = value; } + inline void SetLabel(Aws::String&& value) { m_labelHasBeenSet = true; m_label = std::move(value); } + inline void SetLabel(const char* value) { m_labelHasBeenSet = true; m_label.assign(value); } + inline EndpointWithHostLabelOperationRequest& WithLabel(const Aws::String& value) { SetLabel(value); return *this;} + inline EndpointWithHostLabelOperationRequest& WithLabel(Aws::String&& value) { SetLabel(std::move(value)); return *this;} + inline EndpointWithHostLabelOperationRequest& WithLabel(const char* value) { SetLabel(value); return *this;} + ///@} + private: + + Aws::String m_label; + bool m_labelHasBeenSet = false; + }; + +} // namespace Model +} // namespace JsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/model/ErrorWithMembers.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/model/ErrorWithMembers.h new file mode 100644 index 00000000000..a08334ab02b --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/model/ErrorWithMembers.h @@ -0,0 +1,149 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace JsonProtocol +{ +namespace Model +{ + + class ErrorWithMembers + { + public: + AWS_JSONPROTOCOL_API ErrorWithMembers(); + AWS_JSONPROTOCOL_API ErrorWithMembers(Aws::Utils::Json::JsonView jsonValue); + AWS_JSONPROTOCOL_API ErrorWithMembers& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_JSONPROTOCOL_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + + inline const Aws::String& GetCode() const{ return m_code; } + inline bool CodeHasBeenSet() const { return m_codeHasBeenSet; } + inline void SetCode(const Aws::String& value) { m_codeHasBeenSet = true; m_code = value; } + inline void SetCode(Aws::String&& value) { m_codeHasBeenSet = true; m_code = std::move(value); } + inline void SetCode(const char* value) { m_codeHasBeenSet = true; m_code.assign(value); } + inline ErrorWithMembers& WithCode(const Aws::String& value) { SetCode(value); return *this;} + inline ErrorWithMembers& WithCode(Aws::String&& value) { SetCode(std::move(value)); return *this;} + inline ErrorWithMembers& WithCode(const char* value) { SetCode(value); return *this;} + ///@} + + ///@{ + + inline const KitchenSink& GetComplexData() const{ return m_complexData; } + inline bool ComplexDataHasBeenSet() const { return m_complexDataHasBeenSet; } + inline void SetComplexData(const KitchenSink& value) { m_complexDataHasBeenSet = true; m_complexData = value; } + inline void SetComplexData(KitchenSink&& value) { m_complexDataHasBeenSet = true; m_complexData = std::move(value); } + inline ErrorWithMembers& WithComplexData(const KitchenSink& value) { SetComplexData(value); return *this;} + inline ErrorWithMembers& WithComplexData(KitchenSink&& value) { SetComplexData(std::move(value)); return *this;} + ///@} + + ///@{ + + inline int GetIntegerField() const{ return m_integerField; } + inline bool IntegerFieldHasBeenSet() const { return m_integerFieldHasBeenSet; } + inline void SetIntegerField(int value) { m_integerFieldHasBeenSet = true; m_integerField = value; } + inline ErrorWithMembers& WithIntegerField(int value) { SetIntegerField(value); return *this;} + ///@} + + ///@{ + + inline const Aws::Vector& GetListField() const{ return m_listField; } + inline bool ListFieldHasBeenSet() const { return m_listFieldHasBeenSet; } + inline void SetListField(const Aws::Vector& value) { m_listFieldHasBeenSet = true; m_listField = value; } + inline void SetListField(Aws::Vector&& value) { m_listFieldHasBeenSet = true; m_listField = std::move(value); } + inline ErrorWithMembers& WithListField(const Aws::Vector& value) { SetListField(value); return *this;} + inline ErrorWithMembers& WithListField(Aws::Vector&& value) { SetListField(std::move(value)); return *this;} + inline ErrorWithMembers& AddListField(const Aws::String& value) { m_listFieldHasBeenSet = true; m_listField.push_back(value); return *this; } + inline ErrorWithMembers& AddListField(Aws::String&& value) { m_listFieldHasBeenSet = true; m_listField.push_back(std::move(value)); return *this; } + inline ErrorWithMembers& AddListField(const char* value) { m_listFieldHasBeenSet = true; m_listField.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::Map& GetMapField() const{ return m_mapField; } + inline bool MapFieldHasBeenSet() const { return m_mapFieldHasBeenSet; } + inline void SetMapField(const Aws::Map& value) { m_mapFieldHasBeenSet = true; m_mapField = value; } + inline void SetMapField(Aws::Map&& value) { m_mapFieldHasBeenSet = true; m_mapField = std::move(value); } + inline ErrorWithMembers& WithMapField(const Aws::Map& value) { SetMapField(value); return *this;} + inline ErrorWithMembers& WithMapField(Aws::Map&& value) { SetMapField(std::move(value)); return *this;} + inline ErrorWithMembers& AddMapField(const Aws::String& key, const Aws::String& value) { m_mapFieldHasBeenSet = true; m_mapField.emplace(key, value); return *this; } + inline ErrorWithMembers& AddMapField(Aws::String&& key, const Aws::String& value) { m_mapFieldHasBeenSet = true; m_mapField.emplace(std::move(key), value); return *this; } + inline ErrorWithMembers& AddMapField(const Aws::String& key, Aws::String&& value) { m_mapFieldHasBeenSet = true; m_mapField.emplace(key, std::move(value)); return *this; } + inline ErrorWithMembers& AddMapField(Aws::String&& key, Aws::String&& value) { m_mapFieldHasBeenSet = true; m_mapField.emplace(std::move(key), std::move(value)); return *this; } + inline ErrorWithMembers& AddMapField(const char* key, Aws::String&& value) { m_mapFieldHasBeenSet = true; m_mapField.emplace(key, std::move(value)); return *this; } + inline ErrorWithMembers& AddMapField(Aws::String&& key, const char* value) { m_mapFieldHasBeenSet = true; m_mapField.emplace(std::move(key), value); return *this; } + inline ErrorWithMembers& AddMapField(const char* key, const char* value) { m_mapFieldHasBeenSet = true; m_mapField.emplace(key, value); return *this; } + ///@} + + ///@{ + + inline const Aws::String& GetMessage() const{ return m_message; } + inline bool MessageHasBeenSet() const { return m_messageHasBeenSet; } + inline void SetMessage(const Aws::String& value) { m_messageHasBeenSet = true; m_message = value; } + inline void SetMessage(Aws::String&& value) { m_messageHasBeenSet = true; m_message = std::move(value); } + inline void SetMessage(const char* value) { m_messageHasBeenSet = true; m_message.assign(value); } + inline ErrorWithMembers& WithMessage(const Aws::String& value) { SetMessage(value); return *this;} + inline ErrorWithMembers& WithMessage(Aws::String&& value) { SetMessage(std::move(value)); return *this;} + inline ErrorWithMembers& WithMessage(const char* value) { SetMessage(value); return *this;} + ///@} + + ///@{ + /** + *

abc

+ */ + inline const Aws::String& GetStringField() const{ return m_stringField; } + inline bool StringFieldHasBeenSet() const { return m_stringFieldHasBeenSet; } + inline void SetStringField(const Aws::String& value) { m_stringFieldHasBeenSet = true; m_stringField = value; } + inline void SetStringField(Aws::String&& value) { m_stringFieldHasBeenSet = true; m_stringField = std::move(value); } + inline void SetStringField(const char* value) { m_stringFieldHasBeenSet = true; m_stringField.assign(value); } + inline ErrorWithMembers& WithStringField(const Aws::String& value) { SetStringField(value); return *this;} + inline ErrorWithMembers& WithStringField(Aws::String&& value) { SetStringField(std::move(value)); return *this;} + inline ErrorWithMembers& WithStringField(const char* value) { SetStringField(value); return *this;} + ///@} + private: + + Aws::String m_code; + bool m_codeHasBeenSet = false; + + KitchenSink m_complexData; + bool m_complexDataHasBeenSet = false; + + int m_integerField; + bool m_integerFieldHasBeenSet = false; + + Aws::Vector m_listField; + bool m_listFieldHasBeenSet = false; + + Aws::Map m_mapField; + bool m_mapFieldHasBeenSet = false; + + Aws::String m_message; + bool m_messageHasBeenSet = false; + + Aws::String m_stringField; + bool m_stringFieldHasBeenSet = false; + }; + +} // namespace Model +} // namespace JsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/model/FooEnum.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/model/FooEnum.h new file mode 100644 index 00000000000..63b980e76f7 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/model/FooEnum.h @@ -0,0 +1,34 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace JsonProtocol +{ +namespace Model +{ + enum class FooEnum + { + NOT_SET, + Foo, + Baz, + Bar, + _1, + _0 + }; + +namespace FooEnumMapper +{ +AWS_JSONPROTOCOL_API FooEnum GetFooEnumForName(const Aws::String& name); + +AWS_JSONPROTOCOL_API Aws::String GetNameForFooEnum(FooEnum value); +} // namespace FooEnumMapper +} // namespace Model +} // namespace JsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/model/FractionalSecondsRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/model/FractionalSecondsRequest.h new file mode 100644 index 00000000000..36783ee2ff2 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/model/FractionalSecondsRequest.h @@ -0,0 +1,38 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace JsonProtocol +{ +namespace Model +{ + + /** + */ + class FractionalSecondsRequest : public JsonProtocolRequest + { + public: + AWS_JSONPROTOCOL_API FractionalSecondsRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "FractionalSeconds"; } + + AWS_JSONPROTOCOL_API Aws::String SerializePayload() const override; + + AWS_JSONPROTOCOL_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + }; + +} // namespace Model +} // namespace JsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/model/FractionalSecondsResult.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/model/FractionalSecondsResult.h new file mode 100644 index 00000000000..b9c800fedc6 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/model/FractionalSecondsResult.h @@ -0,0 +1,64 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace JsonProtocol +{ +namespace Model +{ + class FractionalSecondsResult + { + public: + AWS_JSONPROTOCOL_API FractionalSecondsResult(); + AWS_JSONPROTOCOL_API FractionalSecondsResult(const Aws::AmazonWebServiceResult& result); + AWS_JSONPROTOCOL_API FractionalSecondsResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::Utils::DateTime& GetDatetime() const{ return m_datetime; } + inline void SetDatetime(const Aws::Utils::DateTime& value) { m_datetime = value; } + inline void SetDatetime(Aws::Utils::DateTime&& value) { m_datetime = std::move(value); } + inline FractionalSecondsResult& WithDatetime(const Aws::Utils::DateTime& value) { SetDatetime(value); return *this;} + inline FractionalSecondsResult& WithDatetime(Aws::Utils::DateTime&& value) { SetDatetime(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline FractionalSecondsResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline FractionalSecondsResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline FractionalSecondsResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::Utils::DateTime m_datetime; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace JsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/model/GreetingStruct.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/model/GreetingStruct.h new file mode 100644 index 00000000000..23f425f88cf --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/model/GreetingStruct.h @@ -0,0 +1,54 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace JsonProtocol +{ +namespace Model +{ + + class GreetingStruct + { + public: + AWS_JSONPROTOCOL_API GreetingStruct(); + AWS_JSONPROTOCOL_API GreetingStruct(Aws::Utils::Json::JsonView jsonValue); + AWS_JSONPROTOCOL_API GreetingStruct& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_JSONPROTOCOL_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + + inline const Aws::String& GetHi() const{ return m_hi; } + inline bool HiHasBeenSet() const { return m_hiHasBeenSet; } + inline void SetHi(const Aws::String& value) { m_hiHasBeenSet = true; m_hi = value; } + inline void SetHi(Aws::String&& value) { m_hiHasBeenSet = true; m_hi = std::move(value); } + inline void SetHi(const char* value) { m_hiHasBeenSet = true; m_hi.assign(value); } + inline GreetingStruct& WithHi(const Aws::String& value) { SetHi(value); return *this;} + inline GreetingStruct& WithHi(Aws::String&& value) { SetHi(std::move(value)); return *this;} + inline GreetingStruct& WithHi(const char* value) { SetHi(value); return *this;} + ///@} + private: + + Aws::String m_hi; + bool m_hiHasBeenSet = false; + }; + +} // namespace Model +} // namespace JsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/model/GreetingWithErrorsRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/model/GreetingWithErrorsRequest.h new file mode 100644 index 00000000000..f59d736d173 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/model/GreetingWithErrorsRequest.h @@ -0,0 +1,38 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace JsonProtocol +{ +namespace Model +{ + + /** + */ + class GreetingWithErrorsRequest : public JsonProtocolRequest + { + public: + AWS_JSONPROTOCOL_API GreetingWithErrorsRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "GreetingWithErrors"; } + + AWS_JSONPROTOCOL_API Aws::String SerializePayload() const override; + + AWS_JSONPROTOCOL_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + }; + +} // namespace Model +} // namespace JsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/model/GreetingWithErrorsResult.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/model/GreetingWithErrorsResult.h new file mode 100644 index 00000000000..7638a873c95 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/model/GreetingWithErrorsResult.h @@ -0,0 +1,65 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace JsonProtocol +{ +namespace Model +{ + class GreetingWithErrorsResult + { + public: + AWS_JSONPROTOCOL_API GreetingWithErrorsResult(); + AWS_JSONPROTOCOL_API GreetingWithErrorsResult(const Aws::AmazonWebServiceResult& result); + AWS_JSONPROTOCOL_API GreetingWithErrorsResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::String& GetGreeting() const{ return m_greeting; } + inline void SetGreeting(const Aws::String& value) { m_greeting = value; } + inline void SetGreeting(Aws::String&& value) { m_greeting = std::move(value); } + inline void SetGreeting(const char* value) { m_greeting.assign(value); } + inline GreetingWithErrorsResult& WithGreeting(const Aws::String& value) { SetGreeting(value); return *this;} + inline GreetingWithErrorsResult& WithGreeting(Aws::String&& value) { SetGreeting(std::move(value)); return *this;} + inline GreetingWithErrorsResult& WithGreeting(const char* value) { SetGreeting(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline GreetingWithErrorsResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline GreetingWithErrorsResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline GreetingWithErrorsResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_greeting; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace JsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/model/HostWithPathOperationRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/model/HostWithPathOperationRequest.h new file mode 100644 index 00000000000..a53105c1221 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/model/HostWithPathOperationRequest.h @@ -0,0 +1,38 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace JsonProtocol +{ +namespace Model +{ + + /** + */ + class HostWithPathOperationRequest : public JsonProtocolRequest + { + public: + AWS_JSONPROTOCOL_API HostWithPathOperationRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "HostWithPathOperation"; } + + AWS_JSONPROTOCOL_API Aws::String SerializePayload() const override; + + AWS_JSONPROTOCOL_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + }; + +} // namespace Model +} // namespace JsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/model/JsonEnumsRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/model/JsonEnumsRequest.h new file mode 100644 index 00000000000..5a6af40a459 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/model/JsonEnumsRequest.h @@ -0,0 +1,147 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace JsonProtocol +{ +namespace Model +{ + + /** + */ + class JsonEnumsRequest : public JsonProtocolRequest + { + public: + AWS_JSONPROTOCOL_API JsonEnumsRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "JsonEnums"; } + + AWS_JSONPROTOCOL_API Aws::String SerializePayload() const override; + + AWS_JSONPROTOCOL_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + + inline const FooEnum& GetFooEnum1() const{ return m_fooEnum1; } + inline bool FooEnum1HasBeenSet() const { return m_fooEnum1HasBeenSet; } + inline void SetFooEnum1(const FooEnum& value) { m_fooEnum1HasBeenSet = true; m_fooEnum1 = value; } + inline void SetFooEnum1(FooEnum&& value) { m_fooEnum1HasBeenSet = true; m_fooEnum1 = std::move(value); } + inline JsonEnumsRequest& WithFooEnum1(const FooEnum& value) { SetFooEnum1(value); return *this;} + inline JsonEnumsRequest& WithFooEnum1(FooEnum&& value) { SetFooEnum1(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const FooEnum& GetFooEnum2() const{ return m_fooEnum2; } + inline bool FooEnum2HasBeenSet() const { return m_fooEnum2HasBeenSet; } + inline void SetFooEnum2(const FooEnum& value) { m_fooEnum2HasBeenSet = true; m_fooEnum2 = value; } + inline void SetFooEnum2(FooEnum&& value) { m_fooEnum2HasBeenSet = true; m_fooEnum2 = std::move(value); } + inline JsonEnumsRequest& WithFooEnum2(const FooEnum& value) { SetFooEnum2(value); return *this;} + inline JsonEnumsRequest& WithFooEnum2(FooEnum&& value) { SetFooEnum2(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const FooEnum& GetFooEnum3() const{ return m_fooEnum3; } + inline bool FooEnum3HasBeenSet() const { return m_fooEnum3HasBeenSet; } + inline void SetFooEnum3(const FooEnum& value) { m_fooEnum3HasBeenSet = true; m_fooEnum3 = value; } + inline void SetFooEnum3(FooEnum&& value) { m_fooEnum3HasBeenSet = true; m_fooEnum3 = std::move(value); } + inline JsonEnumsRequest& WithFooEnum3(const FooEnum& value) { SetFooEnum3(value); return *this;} + inline JsonEnumsRequest& WithFooEnum3(FooEnum&& value) { SetFooEnum3(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::Vector& GetFooEnumList() const{ return m_fooEnumList; } + inline bool FooEnumListHasBeenSet() const { return m_fooEnumListHasBeenSet; } + inline void SetFooEnumList(const Aws::Vector& value) { m_fooEnumListHasBeenSet = true; m_fooEnumList = value; } + inline void SetFooEnumList(Aws::Vector&& value) { m_fooEnumListHasBeenSet = true; m_fooEnumList = std::move(value); } + inline JsonEnumsRequest& WithFooEnumList(const Aws::Vector& value) { SetFooEnumList(value); return *this;} + inline JsonEnumsRequest& WithFooEnumList(Aws::Vector&& value) { SetFooEnumList(std::move(value)); return *this;} + inline JsonEnumsRequest& AddFooEnumList(const FooEnum& value) { m_fooEnumListHasBeenSet = true; m_fooEnumList.push_back(value); return *this; } + inline JsonEnumsRequest& AddFooEnumList(FooEnum&& value) { m_fooEnumListHasBeenSet = true; m_fooEnumList.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetFooEnumSet() const{ return m_fooEnumSet; } + inline bool FooEnumSetHasBeenSet() const { return m_fooEnumSetHasBeenSet; } + inline void SetFooEnumSet(const Aws::Vector& value) { m_fooEnumSetHasBeenSet = true; m_fooEnumSet = value; } + inline void SetFooEnumSet(Aws::Vector&& value) { m_fooEnumSetHasBeenSet = true; m_fooEnumSet = std::move(value); } + inline JsonEnumsRequest& WithFooEnumSet(const Aws::Vector& value) { SetFooEnumSet(value); return *this;} + inline JsonEnumsRequest& WithFooEnumSet(Aws::Vector&& value) { SetFooEnumSet(std::move(value)); return *this;} + inline JsonEnumsRequest& AddFooEnumSet(const FooEnum& value) { m_fooEnumSetHasBeenSet = true; m_fooEnumSet.push_back(value); return *this; } + inline JsonEnumsRequest& AddFooEnumSet(FooEnum&& value) { m_fooEnumSetHasBeenSet = true; m_fooEnumSet.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + + inline const Aws::Map& GetFooEnumMap() const{ return m_fooEnumMap; } + inline bool FooEnumMapHasBeenSet() const { return m_fooEnumMapHasBeenSet; } + inline void SetFooEnumMap(const Aws::Map& value) { m_fooEnumMapHasBeenSet = true; m_fooEnumMap = value; } + inline void SetFooEnumMap(Aws::Map&& value) { m_fooEnumMapHasBeenSet = true; m_fooEnumMap = std::move(value); } + inline JsonEnumsRequest& WithFooEnumMap(const Aws::Map& value) { SetFooEnumMap(value); return *this;} + inline JsonEnumsRequest& WithFooEnumMap(Aws::Map&& value) { SetFooEnumMap(std::move(value)); return *this;} + inline JsonEnumsRequest& AddFooEnumMap(const Aws::String& key, const FooEnum& value) { m_fooEnumMapHasBeenSet = true; m_fooEnumMap.emplace(key, value); return *this; } + inline JsonEnumsRequest& AddFooEnumMap(Aws::String&& key, const FooEnum& value) { m_fooEnumMapHasBeenSet = true; m_fooEnumMap.emplace(std::move(key), value); return *this; } + inline JsonEnumsRequest& AddFooEnumMap(const Aws::String& key, FooEnum&& value) { m_fooEnumMapHasBeenSet = true; m_fooEnumMap.emplace(key, std::move(value)); return *this; } + inline JsonEnumsRequest& AddFooEnumMap(Aws::String&& key, FooEnum&& value) { m_fooEnumMapHasBeenSet = true; m_fooEnumMap.emplace(std::move(key), std::move(value)); return *this; } + inline JsonEnumsRequest& AddFooEnumMap(const char* key, FooEnum&& value) { m_fooEnumMapHasBeenSet = true; m_fooEnumMap.emplace(key, std::move(value)); return *this; } + inline JsonEnumsRequest& AddFooEnumMap(const char* key, const FooEnum& value) { m_fooEnumMapHasBeenSet = true; m_fooEnumMap.emplace(key, value); return *this; } + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline bool RequestIdHasBeenSet() const { return m_requestIdHasBeenSet; } + inline void SetRequestId(const Aws::String& value) { m_requestIdHasBeenSet = true; m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestIdHasBeenSet = true; m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestIdHasBeenSet = true; m_requestId.assign(value); } + inline JsonEnumsRequest& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline JsonEnumsRequest& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline JsonEnumsRequest& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + FooEnum m_fooEnum1; + bool m_fooEnum1HasBeenSet = false; + + FooEnum m_fooEnum2; + bool m_fooEnum2HasBeenSet = false; + + FooEnum m_fooEnum3; + bool m_fooEnum3HasBeenSet = false; + + Aws::Vector m_fooEnumList; + bool m_fooEnumListHasBeenSet = false; + + Aws::Vector m_fooEnumSet; + bool m_fooEnumSetHasBeenSet = false; + + Aws::Map m_fooEnumMap; + bool m_fooEnumMapHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace JsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/model/JsonEnumsResult.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/model/JsonEnumsResult.h new file mode 100644 index 00000000000..16964ea2803 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/model/JsonEnumsResult.h @@ -0,0 +1,131 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace JsonProtocol +{ +namespace Model +{ + class JsonEnumsResult + { + public: + AWS_JSONPROTOCOL_API JsonEnumsResult(); + AWS_JSONPROTOCOL_API JsonEnumsResult(const Aws::AmazonWebServiceResult& result); + AWS_JSONPROTOCOL_API JsonEnumsResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const FooEnum& GetFooEnum1() const{ return m_fooEnum1; } + inline void SetFooEnum1(const FooEnum& value) { m_fooEnum1 = value; } + inline void SetFooEnum1(FooEnum&& value) { m_fooEnum1 = std::move(value); } + inline JsonEnumsResult& WithFooEnum1(const FooEnum& value) { SetFooEnum1(value); return *this;} + inline JsonEnumsResult& WithFooEnum1(FooEnum&& value) { SetFooEnum1(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const FooEnum& GetFooEnum2() const{ return m_fooEnum2; } + inline void SetFooEnum2(const FooEnum& value) { m_fooEnum2 = value; } + inline void SetFooEnum2(FooEnum&& value) { m_fooEnum2 = std::move(value); } + inline JsonEnumsResult& WithFooEnum2(const FooEnum& value) { SetFooEnum2(value); return *this;} + inline JsonEnumsResult& WithFooEnum2(FooEnum&& value) { SetFooEnum2(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const FooEnum& GetFooEnum3() const{ return m_fooEnum3; } + inline void SetFooEnum3(const FooEnum& value) { m_fooEnum3 = value; } + inline void SetFooEnum3(FooEnum&& value) { m_fooEnum3 = std::move(value); } + inline JsonEnumsResult& WithFooEnum3(const FooEnum& value) { SetFooEnum3(value); return *this;} + inline JsonEnumsResult& WithFooEnum3(FooEnum&& value) { SetFooEnum3(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::Vector& GetFooEnumList() const{ return m_fooEnumList; } + inline void SetFooEnumList(const Aws::Vector& value) { m_fooEnumList = value; } + inline void SetFooEnumList(Aws::Vector&& value) { m_fooEnumList = std::move(value); } + inline JsonEnumsResult& WithFooEnumList(const Aws::Vector& value) { SetFooEnumList(value); return *this;} + inline JsonEnumsResult& WithFooEnumList(Aws::Vector&& value) { SetFooEnumList(std::move(value)); return *this;} + inline JsonEnumsResult& AddFooEnumList(const FooEnum& value) { m_fooEnumList.push_back(value); return *this; } + inline JsonEnumsResult& AddFooEnumList(FooEnum&& value) { m_fooEnumList.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetFooEnumSet() const{ return m_fooEnumSet; } + inline void SetFooEnumSet(const Aws::Vector& value) { m_fooEnumSet = value; } + inline void SetFooEnumSet(Aws::Vector&& value) { m_fooEnumSet = std::move(value); } + inline JsonEnumsResult& WithFooEnumSet(const Aws::Vector& value) { SetFooEnumSet(value); return *this;} + inline JsonEnumsResult& WithFooEnumSet(Aws::Vector&& value) { SetFooEnumSet(std::move(value)); return *this;} + inline JsonEnumsResult& AddFooEnumSet(const FooEnum& value) { m_fooEnumSet.push_back(value); return *this; } + inline JsonEnumsResult& AddFooEnumSet(FooEnum&& value) { m_fooEnumSet.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + + inline const Aws::Map& GetFooEnumMap() const{ return m_fooEnumMap; } + inline void SetFooEnumMap(const Aws::Map& value) { m_fooEnumMap = value; } + inline void SetFooEnumMap(Aws::Map&& value) { m_fooEnumMap = std::move(value); } + inline JsonEnumsResult& WithFooEnumMap(const Aws::Map& value) { SetFooEnumMap(value); return *this;} + inline JsonEnumsResult& WithFooEnumMap(Aws::Map&& value) { SetFooEnumMap(std::move(value)); return *this;} + inline JsonEnumsResult& AddFooEnumMap(const Aws::String& key, const FooEnum& value) { m_fooEnumMap.emplace(key, value); return *this; } + inline JsonEnumsResult& AddFooEnumMap(Aws::String&& key, const FooEnum& value) { m_fooEnumMap.emplace(std::move(key), value); return *this; } + inline JsonEnumsResult& AddFooEnumMap(const Aws::String& key, FooEnum&& value) { m_fooEnumMap.emplace(key, std::move(value)); return *this; } + inline JsonEnumsResult& AddFooEnumMap(Aws::String&& key, FooEnum&& value) { m_fooEnumMap.emplace(std::move(key), std::move(value)); return *this; } + inline JsonEnumsResult& AddFooEnumMap(const char* key, FooEnum&& value) { m_fooEnumMap.emplace(key, std::move(value)); return *this; } + inline JsonEnumsResult& AddFooEnumMap(const char* key, const FooEnum& value) { m_fooEnumMap.emplace(key, value); return *this; } + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline JsonEnumsResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline JsonEnumsResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline JsonEnumsResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + FooEnum m_fooEnum1; + + FooEnum m_fooEnum2; + + FooEnum m_fooEnum3; + + Aws::Vector m_fooEnumList; + + Aws::Vector m_fooEnumSet; + + Aws::Map m_fooEnumMap; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace JsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/model/JsonIntEnumsRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/model/JsonIntEnumsRequest.h new file mode 100644 index 00000000000..2c3bbb4a369 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/model/JsonIntEnumsRequest.h @@ -0,0 +1,135 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace JsonProtocol +{ +namespace Model +{ + + /** + */ + class JsonIntEnumsRequest : public JsonProtocolRequest + { + public: + AWS_JSONPROTOCOL_API JsonIntEnumsRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "JsonIntEnums"; } + + AWS_JSONPROTOCOL_API Aws::String SerializePayload() const override; + + AWS_JSONPROTOCOL_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + + inline int GetIntEnum1() const{ return m_intEnum1; } + inline bool IntEnum1HasBeenSet() const { return m_intEnum1HasBeenSet; } + inline void SetIntEnum1(int value) { m_intEnum1HasBeenSet = true; m_intEnum1 = value; } + inline JsonIntEnumsRequest& WithIntEnum1(int value) { SetIntEnum1(value); return *this;} + ///@} + + ///@{ + + inline int GetIntEnum2() const{ return m_intEnum2; } + inline bool IntEnum2HasBeenSet() const { return m_intEnum2HasBeenSet; } + inline void SetIntEnum2(int value) { m_intEnum2HasBeenSet = true; m_intEnum2 = value; } + inline JsonIntEnumsRequest& WithIntEnum2(int value) { SetIntEnum2(value); return *this;} + ///@} + + ///@{ + + inline int GetIntEnum3() const{ return m_intEnum3; } + inline bool IntEnum3HasBeenSet() const { return m_intEnum3HasBeenSet; } + inline void SetIntEnum3(int value) { m_intEnum3HasBeenSet = true; m_intEnum3 = value; } + inline JsonIntEnumsRequest& WithIntEnum3(int value) { SetIntEnum3(value); return *this;} + ///@} + + ///@{ + + inline const Aws::Vector& GetIntEnumList() const{ return m_intEnumList; } + inline bool IntEnumListHasBeenSet() const { return m_intEnumListHasBeenSet; } + inline void SetIntEnumList(const Aws::Vector& value) { m_intEnumListHasBeenSet = true; m_intEnumList = value; } + inline void SetIntEnumList(Aws::Vector&& value) { m_intEnumListHasBeenSet = true; m_intEnumList = std::move(value); } + inline JsonIntEnumsRequest& WithIntEnumList(const Aws::Vector& value) { SetIntEnumList(value); return *this;} + inline JsonIntEnumsRequest& WithIntEnumList(Aws::Vector&& value) { SetIntEnumList(std::move(value)); return *this;} + inline JsonIntEnumsRequest& AddIntEnumList(int value) { m_intEnumListHasBeenSet = true; m_intEnumList.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetIntEnumSet() const{ return m_intEnumSet; } + inline bool IntEnumSetHasBeenSet() const { return m_intEnumSetHasBeenSet; } + inline void SetIntEnumSet(const Aws::Vector& value) { m_intEnumSetHasBeenSet = true; m_intEnumSet = value; } + inline void SetIntEnumSet(Aws::Vector&& value) { m_intEnumSetHasBeenSet = true; m_intEnumSet = std::move(value); } + inline JsonIntEnumsRequest& WithIntEnumSet(const Aws::Vector& value) { SetIntEnumSet(value); return *this;} + inline JsonIntEnumsRequest& WithIntEnumSet(Aws::Vector&& value) { SetIntEnumSet(std::move(value)); return *this;} + inline JsonIntEnumsRequest& AddIntEnumSet(int value) { m_intEnumSetHasBeenSet = true; m_intEnumSet.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::Map& GetIntEnumMap() const{ return m_intEnumMap; } + inline bool IntEnumMapHasBeenSet() const { return m_intEnumMapHasBeenSet; } + inline void SetIntEnumMap(const Aws::Map& value) { m_intEnumMapHasBeenSet = true; m_intEnumMap = value; } + inline void SetIntEnumMap(Aws::Map&& value) { m_intEnumMapHasBeenSet = true; m_intEnumMap = std::move(value); } + inline JsonIntEnumsRequest& WithIntEnumMap(const Aws::Map& value) { SetIntEnumMap(value); return *this;} + inline JsonIntEnumsRequest& WithIntEnumMap(Aws::Map&& value) { SetIntEnumMap(std::move(value)); return *this;} + inline JsonIntEnumsRequest& AddIntEnumMap(const Aws::String& key, int value) { m_intEnumMapHasBeenSet = true; m_intEnumMap.emplace(key, value); return *this; } + inline JsonIntEnumsRequest& AddIntEnumMap(Aws::String&& key, int value) { m_intEnumMapHasBeenSet = true; m_intEnumMap.emplace(std::move(key), value); return *this; } + inline JsonIntEnumsRequest& AddIntEnumMap(const char* key, int value) { m_intEnumMapHasBeenSet = true; m_intEnumMap.emplace(key, value); return *this; } + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline bool RequestIdHasBeenSet() const { return m_requestIdHasBeenSet; } + inline void SetRequestId(const Aws::String& value) { m_requestIdHasBeenSet = true; m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestIdHasBeenSet = true; m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestIdHasBeenSet = true; m_requestId.assign(value); } + inline JsonIntEnumsRequest& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline JsonIntEnumsRequest& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline JsonIntEnumsRequest& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + int m_intEnum1; + bool m_intEnum1HasBeenSet = false; + + int m_intEnum2; + bool m_intEnum2HasBeenSet = false; + + int m_intEnum3; + bool m_intEnum3HasBeenSet = false; + + Aws::Vector m_intEnumList; + bool m_intEnumListHasBeenSet = false; + + Aws::Vector m_intEnumSet; + bool m_intEnumSetHasBeenSet = false; + + Aws::Map m_intEnumMap; + bool m_intEnumMapHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace JsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/model/JsonIntEnumsResult.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/model/JsonIntEnumsResult.h new file mode 100644 index 00000000000..9fe42749029 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/model/JsonIntEnumsResult.h @@ -0,0 +1,119 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace JsonProtocol +{ +namespace Model +{ + class JsonIntEnumsResult + { + public: + AWS_JSONPROTOCOL_API JsonIntEnumsResult(); + AWS_JSONPROTOCOL_API JsonIntEnumsResult(const Aws::AmazonWebServiceResult& result); + AWS_JSONPROTOCOL_API JsonIntEnumsResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline int GetIntEnum1() const{ return m_intEnum1; } + inline void SetIntEnum1(int value) { m_intEnum1 = value; } + inline JsonIntEnumsResult& WithIntEnum1(int value) { SetIntEnum1(value); return *this;} + ///@} + + ///@{ + + inline int GetIntEnum2() const{ return m_intEnum2; } + inline void SetIntEnum2(int value) { m_intEnum2 = value; } + inline JsonIntEnumsResult& WithIntEnum2(int value) { SetIntEnum2(value); return *this;} + ///@} + + ///@{ + + inline int GetIntEnum3() const{ return m_intEnum3; } + inline void SetIntEnum3(int value) { m_intEnum3 = value; } + inline JsonIntEnumsResult& WithIntEnum3(int value) { SetIntEnum3(value); return *this;} + ///@} + + ///@{ + + inline const Aws::Vector& GetIntEnumList() const{ return m_intEnumList; } + inline void SetIntEnumList(const Aws::Vector& value) { m_intEnumList = value; } + inline void SetIntEnumList(Aws::Vector&& value) { m_intEnumList = std::move(value); } + inline JsonIntEnumsResult& WithIntEnumList(const Aws::Vector& value) { SetIntEnumList(value); return *this;} + inline JsonIntEnumsResult& WithIntEnumList(Aws::Vector&& value) { SetIntEnumList(std::move(value)); return *this;} + inline JsonIntEnumsResult& AddIntEnumList(int value) { m_intEnumList.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetIntEnumSet() const{ return m_intEnumSet; } + inline void SetIntEnumSet(const Aws::Vector& value) { m_intEnumSet = value; } + inline void SetIntEnumSet(Aws::Vector&& value) { m_intEnumSet = std::move(value); } + inline JsonIntEnumsResult& WithIntEnumSet(const Aws::Vector& value) { SetIntEnumSet(value); return *this;} + inline JsonIntEnumsResult& WithIntEnumSet(Aws::Vector&& value) { SetIntEnumSet(std::move(value)); return *this;} + inline JsonIntEnumsResult& AddIntEnumSet(int value) { m_intEnumSet.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::Map& GetIntEnumMap() const{ return m_intEnumMap; } + inline void SetIntEnumMap(const Aws::Map& value) { m_intEnumMap = value; } + inline void SetIntEnumMap(Aws::Map&& value) { m_intEnumMap = std::move(value); } + inline JsonIntEnumsResult& WithIntEnumMap(const Aws::Map& value) { SetIntEnumMap(value); return *this;} + inline JsonIntEnumsResult& WithIntEnumMap(Aws::Map&& value) { SetIntEnumMap(std::move(value)); return *this;} + inline JsonIntEnumsResult& AddIntEnumMap(const Aws::String& key, int value) { m_intEnumMap.emplace(key, value); return *this; } + inline JsonIntEnumsResult& AddIntEnumMap(Aws::String&& key, int value) { m_intEnumMap.emplace(std::move(key), value); return *this; } + inline JsonIntEnumsResult& AddIntEnumMap(const char* key, int value) { m_intEnumMap.emplace(key, value); return *this; } + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline JsonIntEnumsResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline JsonIntEnumsResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline JsonIntEnumsResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + int m_intEnum1; + + int m_intEnum2; + + int m_intEnum3; + + Aws::Vector m_intEnumList; + + Aws::Vector m_intEnumSet; + + Aws::Map m_intEnumMap; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace JsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/model/JsonUnionsRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/model/JsonUnionsRequest.h new file mode 100644 index 00000000000..ac0edc7d1a2 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/model/JsonUnionsRequest.h @@ -0,0 +1,74 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace JsonProtocol +{ +namespace Model +{ + + /** + *

A shared structure that contains a single union member.

See + * Also:

AWS + * API Reference

+ */ + class JsonUnionsRequest : public JsonProtocolRequest + { + public: + AWS_JSONPROTOCOL_API JsonUnionsRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "JsonUnions"; } + + AWS_JSONPROTOCOL_API Aws::String SerializePayload() const override; + + AWS_JSONPROTOCOL_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + + inline const MyUnion& GetContents() const{ return m_contents; } + inline bool ContentsHasBeenSet() const { return m_contentsHasBeenSet; } + inline void SetContents(const MyUnion& value) { m_contentsHasBeenSet = true; m_contents = value; } + inline void SetContents(MyUnion&& value) { m_contentsHasBeenSet = true; m_contents = std::move(value); } + inline JsonUnionsRequest& WithContents(const MyUnion& value) { SetContents(value); return *this;} + inline JsonUnionsRequest& WithContents(MyUnion&& value) { SetContents(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline bool RequestIdHasBeenSet() const { return m_requestIdHasBeenSet; } + inline void SetRequestId(const Aws::String& value) { m_requestIdHasBeenSet = true; m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestIdHasBeenSet = true; m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestIdHasBeenSet = true; m_requestId.assign(value); } + inline JsonUnionsRequest& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline JsonUnionsRequest& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline JsonUnionsRequest& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + MyUnion m_contents; + bool m_contentsHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace JsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/model/JsonUnionsResult.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/model/JsonUnionsResult.h new file mode 100644 index 00000000000..edefc36f96d --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/model/JsonUnionsResult.h @@ -0,0 +1,70 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace JsonProtocol +{ +namespace Model +{ + /** + *

A shared structure that contains a single union member.

See + * Also:

AWS + * API Reference

+ */ + class JsonUnionsResult + { + public: + AWS_JSONPROTOCOL_API JsonUnionsResult(); + AWS_JSONPROTOCOL_API JsonUnionsResult(const Aws::AmazonWebServiceResult& result); + AWS_JSONPROTOCOL_API JsonUnionsResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const MyUnion& GetContents() const{ return m_contents; } + inline void SetContents(const MyUnion& value) { m_contents = value; } + inline void SetContents(MyUnion&& value) { m_contents = std::move(value); } + inline JsonUnionsResult& WithContents(const MyUnion& value) { SetContents(value); return *this;} + inline JsonUnionsResult& WithContents(MyUnion&& value) { SetContents(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline JsonUnionsResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline JsonUnionsResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline JsonUnionsResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + MyUnion m_contents; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace JsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/model/KitchenSink.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/model/KitchenSink.h new file mode 100644 index 00000000000..c0a05ac62e5 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/model/KitchenSink.h @@ -0,0 +1,435 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace JsonProtocol +{ +namespace Model +{ + + class KitchenSink + { + public: + AWS_JSONPROTOCOL_API KitchenSink(); + AWS_JSONPROTOCOL_API KitchenSink(Aws::Utils::Json::JsonView jsonValue); + AWS_JSONPROTOCOL_API KitchenSink& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_JSONPROTOCOL_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + + inline const Aws::Utils::ByteBuffer& GetBlob() const{ return m_blob; } + inline bool BlobHasBeenSet() const { return m_blobHasBeenSet; } + inline void SetBlob(const Aws::Utils::ByteBuffer& value) { m_blobHasBeenSet = true; m_blob = value; } + inline void SetBlob(Aws::Utils::ByteBuffer&& value) { m_blobHasBeenSet = true; m_blob = std::move(value); } + inline KitchenSink& WithBlob(const Aws::Utils::ByteBuffer& value) { SetBlob(value); return *this;} + inline KitchenSink& WithBlob(Aws::Utils::ByteBuffer&& value) { SetBlob(std::move(value)); return *this;} + ///@} + + ///@{ + + inline bool GetBoolean() const{ return m_boolean; } + inline bool BooleanHasBeenSet() const { return m_booleanHasBeenSet; } + inline void SetBoolean(bool value) { m_booleanHasBeenSet = true; m_boolean = value; } + inline KitchenSink& WithBoolean(bool value) { SetBoolean(value); return *this;} + ///@} + + ///@{ + + inline double GetDouble() const{ return m_double; } + inline bool DoubleHasBeenSet() const { return m_doubleHasBeenSet; } + inline void SetDouble(double value) { m_doubleHasBeenSet = true; m_double = value; } + inline KitchenSink& WithDouble(double value) { SetDouble(value); return *this;} + ///@} + + ///@{ + + inline const EmptyStruct& GetEmptyStruct() const{ return m_emptyStruct; } + inline bool EmptyStructHasBeenSet() const { return m_emptyStructHasBeenSet; } + inline void SetEmptyStruct(const EmptyStruct& value) { m_emptyStructHasBeenSet = true; m_emptyStruct = value; } + inline void SetEmptyStruct(EmptyStruct&& value) { m_emptyStructHasBeenSet = true; m_emptyStruct = std::move(value); } + inline KitchenSink& WithEmptyStruct(const EmptyStruct& value) { SetEmptyStruct(value); return *this;} + inline KitchenSink& WithEmptyStruct(EmptyStruct&& value) { SetEmptyStruct(std::move(value)); return *this;} + ///@} + + ///@{ + + inline double GetFloat() const{ return m_float; } + inline bool FloatHasBeenSet() const { return m_floatHasBeenSet; } + inline void SetFloat(double value) { m_floatHasBeenSet = true; m_float = value; } + inline KitchenSink& WithFloat(double value) { SetFloat(value); return *this;} + ///@} + + ///@{ + + inline const Aws::Utils::DateTime& GetHttpdateTimestamp() const{ return m_httpdateTimestamp; } + inline bool HttpdateTimestampHasBeenSet() const { return m_httpdateTimestampHasBeenSet; } + inline void SetHttpdateTimestamp(const Aws::Utils::DateTime& value) { m_httpdateTimestampHasBeenSet = true; m_httpdateTimestamp = value; } + inline void SetHttpdateTimestamp(Aws::Utils::DateTime&& value) { m_httpdateTimestampHasBeenSet = true; m_httpdateTimestamp = std::move(value); } + inline KitchenSink& WithHttpdateTimestamp(const Aws::Utils::DateTime& value) { SetHttpdateTimestamp(value); return *this;} + inline KitchenSink& WithHttpdateTimestamp(Aws::Utils::DateTime&& value) { SetHttpdateTimestamp(std::move(value)); return *this;} + ///@} + + ///@{ + + inline int GetInteger() const{ return m_integer; } + inline bool IntegerHasBeenSet() const { return m_integerHasBeenSet; } + inline void SetInteger(int value) { m_integerHasBeenSet = true; m_integer = value; } + inline KitchenSink& WithInteger(int value) { SetInteger(value); return *this;} + ///@} + + ///@{ + + inline const Aws::Utils::DateTime& GetIso8601Timestamp() const{ return m_iso8601Timestamp; } + inline bool Iso8601TimestampHasBeenSet() const { return m_iso8601TimestampHasBeenSet; } + inline void SetIso8601Timestamp(const Aws::Utils::DateTime& value) { m_iso8601TimestampHasBeenSet = true; m_iso8601Timestamp = value; } + inline void SetIso8601Timestamp(Aws::Utils::DateTime&& value) { m_iso8601TimestampHasBeenSet = true; m_iso8601Timestamp = std::move(value); } + inline KitchenSink& WithIso8601Timestamp(const Aws::Utils::DateTime& value) { SetIso8601Timestamp(value); return *this;} + inline KitchenSink& WithIso8601Timestamp(Aws::Utils::DateTime&& value) { SetIso8601Timestamp(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetJsonValue() const{ return m_jsonValue; } + inline bool JsonValueHasBeenSet() const { return m_jsonValueHasBeenSet; } + inline void SetJsonValue(const Aws::String& value) { m_jsonValueHasBeenSet = true; m_jsonValue = value; } + inline void SetJsonValue(Aws::String&& value) { m_jsonValueHasBeenSet = true; m_jsonValue = std::move(value); } + inline void SetJsonValue(const char* value) { m_jsonValueHasBeenSet = true; m_jsonValue.assign(value); } + inline KitchenSink& WithJsonValue(const Aws::String& value) { SetJsonValue(value); return *this;} + inline KitchenSink& WithJsonValue(Aws::String&& value) { SetJsonValue(std::move(value)); return *this;} + inline KitchenSink& WithJsonValue(const char* value) { SetJsonValue(value); return *this;} + ///@} + + ///@{ + + inline const Aws::Vector>& GetListOfLists() const{ return m_listOfLists; } + inline bool ListOfListsHasBeenSet() const { return m_listOfListsHasBeenSet; } + inline void SetListOfLists(const Aws::Vector>& value) { m_listOfListsHasBeenSet = true; m_listOfLists = value; } + inline void SetListOfLists(Aws::Vector>&& value) { m_listOfListsHasBeenSet = true; m_listOfLists = std::move(value); } + inline KitchenSink& WithListOfLists(const Aws::Vector>& value) { SetListOfLists(value); return *this;} + inline KitchenSink& WithListOfLists(Aws::Vector>&& value) { SetListOfLists(std::move(value)); return *this;} + inline KitchenSink& AddListOfLists(const Aws::Vector& value) { m_listOfListsHasBeenSet = true; m_listOfLists.push_back(value); return *this; } + inline KitchenSink& AddListOfLists(Aws::Vector&& value) { m_listOfListsHasBeenSet = true; m_listOfLists.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector>& GetListOfMapsOfStrings() const{ return m_listOfMapsOfStrings; } + inline bool ListOfMapsOfStringsHasBeenSet() const { return m_listOfMapsOfStringsHasBeenSet; } + inline void SetListOfMapsOfStrings(const Aws::Vector>& value) { m_listOfMapsOfStringsHasBeenSet = true; m_listOfMapsOfStrings = value; } + inline void SetListOfMapsOfStrings(Aws::Vector>&& value) { m_listOfMapsOfStringsHasBeenSet = true; m_listOfMapsOfStrings = std::move(value); } + inline KitchenSink& WithListOfMapsOfStrings(const Aws::Vector>& value) { SetListOfMapsOfStrings(value); return *this;} + inline KitchenSink& WithListOfMapsOfStrings(Aws::Vector>&& value) { SetListOfMapsOfStrings(std::move(value)); return *this;} + inline KitchenSink& AddListOfMapsOfStrings(const Aws::Map& value) { m_listOfMapsOfStringsHasBeenSet = true; m_listOfMapsOfStrings.push_back(value); return *this; } + inline KitchenSink& AddListOfMapsOfStrings(Aws::Map&& value) { m_listOfMapsOfStringsHasBeenSet = true; m_listOfMapsOfStrings.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetListOfStrings() const{ return m_listOfStrings; } + inline bool ListOfStringsHasBeenSet() const { return m_listOfStringsHasBeenSet; } + inline void SetListOfStrings(const Aws::Vector& value) { m_listOfStringsHasBeenSet = true; m_listOfStrings = value; } + inline void SetListOfStrings(Aws::Vector&& value) { m_listOfStringsHasBeenSet = true; m_listOfStrings = std::move(value); } + inline KitchenSink& WithListOfStrings(const Aws::Vector& value) { SetListOfStrings(value); return *this;} + inline KitchenSink& WithListOfStrings(Aws::Vector&& value) { SetListOfStrings(std::move(value)); return *this;} + inline KitchenSink& AddListOfStrings(const Aws::String& value) { m_listOfStringsHasBeenSet = true; m_listOfStrings.push_back(value); return *this; } + inline KitchenSink& AddListOfStrings(Aws::String&& value) { m_listOfStringsHasBeenSet = true; m_listOfStrings.push_back(std::move(value)); return *this; } + inline KitchenSink& AddListOfStrings(const char* value) { m_listOfStringsHasBeenSet = true; m_listOfStrings.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetListOfStructs() const{ return m_listOfStructs; } + inline bool ListOfStructsHasBeenSet() const { return m_listOfStructsHasBeenSet; } + inline void SetListOfStructs(const Aws::Vector& value) { m_listOfStructsHasBeenSet = true; m_listOfStructs = value; } + inline void SetListOfStructs(Aws::Vector&& value) { m_listOfStructsHasBeenSet = true; m_listOfStructs = std::move(value); } + inline KitchenSink& WithListOfStructs(const Aws::Vector& value) { SetListOfStructs(value); return *this;} + inline KitchenSink& WithListOfStructs(Aws::Vector&& value) { SetListOfStructs(std::move(value)); return *this;} + inline KitchenSink& AddListOfStructs(const SimpleStruct& value) { m_listOfStructsHasBeenSet = true; m_listOfStructs.push_back(value); return *this; } + inline KitchenSink& AddListOfStructs(SimpleStruct&& value) { m_listOfStructsHasBeenSet = true; m_listOfStructs.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + + inline long long GetLong() const{ return m_long; } + inline bool LongHasBeenSet() const { return m_longHasBeenSet; } + inline void SetLong(long long value) { m_longHasBeenSet = true; m_long = value; } + inline KitchenSink& WithLong(long long value) { SetLong(value); return *this;} + ///@} + + ///@{ + + inline const Aws::Map>& GetMapOfListsOfStrings() const{ return m_mapOfListsOfStrings; } + inline bool MapOfListsOfStringsHasBeenSet() const { return m_mapOfListsOfStringsHasBeenSet; } + inline void SetMapOfListsOfStrings(const Aws::Map>& value) { m_mapOfListsOfStringsHasBeenSet = true; m_mapOfListsOfStrings = value; } + inline void SetMapOfListsOfStrings(Aws::Map>&& value) { m_mapOfListsOfStringsHasBeenSet = true; m_mapOfListsOfStrings = std::move(value); } + inline KitchenSink& WithMapOfListsOfStrings(const Aws::Map>& value) { SetMapOfListsOfStrings(value); return *this;} + inline KitchenSink& WithMapOfListsOfStrings(Aws::Map>&& value) { SetMapOfListsOfStrings(std::move(value)); return *this;} + inline KitchenSink& AddMapOfListsOfStrings(const Aws::String& key, const Aws::Vector& value) { m_mapOfListsOfStringsHasBeenSet = true; m_mapOfListsOfStrings.emplace(key, value); return *this; } + inline KitchenSink& AddMapOfListsOfStrings(Aws::String&& key, const Aws::Vector& value) { m_mapOfListsOfStringsHasBeenSet = true; m_mapOfListsOfStrings.emplace(std::move(key), value); return *this; } + inline KitchenSink& AddMapOfListsOfStrings(const Aws::String& key, Aws::Vector&& value) { m_mapOfListsOfStringsHasBeenSet = true; m_mapOfListsOfStrings.emplace(key, std::move(value)); return *this; } + inline KitchenSink& AddMapOfListsOfStrings(Aws::String&& key, Aws::Vector&& value) { m_mapOfListsOfStringsHasBeenSet = true; m_mapOfListsOfStrings.emplace(std::move(key), std::move(value)); return *this; } + inline KitchenSink& AddMapOfListsOfStrings(const char* key, Aws::Vector&& value) { m_mapOfListsOfStringsHasBeenSet = true; m_mapOfListsOfStrings.emplace(key, std::move(value)); return *this; } + inline KitchenSink& AddMapOfListsOfStrings(const char* key, const Aws::Vector& value) { m_mapOfListsOfStringsHasBeenSet = true; m_mapOfListsOfStrings.emplace(key, value); return *this; } + ///@} + + ///@{ + + inline const Aws::Map>& GetMapOfMaps() const{ return m_mapOfMaps; } + inline bool MapOfMapsHasBeenSet() const { return m_mapOfMapsHasBeenSet; } + inline void SetMapOfMaps(const Aws::Map>& value) { m_mapOfMapsHasBeenSet = true; m_mapOfMaps = value; } + inline void SetMapOfMaps(Aws::Map>&& value) { m_mapOfMapsHasBeenSet = true; m_mapOfMaps = std::move(value); } + inline KitchenSink& WithMapOfMaps(const Aws::Map>& value) { SetMapOfMaps(value); return *this;} + inline KitchenSink& WithMapOfMaps(Aws::Map>&& value) { SetMapOfMaps(std::move(value)); return *this;} + inline KitchenSink& AddMapOfMaps(const Aws::String& key, const Aws::Map& value) { m_mapOfMapsHasBeenSet = true; m_mapOfMaps.emplace(key, value); return *this; } + inline KitchenSink& AddMapOfMaps(Aws::String&& key, const Aws::Map& value) { m_mapOfMapsHasBeenSet = true; m_mapOfMaps.emplace(std::move(key), value); return *this; } + inline KitchenSink& AddMapOfMaps(const Aws::String& key, Aws::Map&& value) { m_mapOfMapsHasBeenSet = true; m_mapOfMaps.emplace(key, std::move(value)); return *this; } + inline KitchenSink& AddMapOfMaps(Aws::String&& key, Aws::Map&& value) { m_mapOfMapsHasBeenSet = true; m_mapOfMaps.emplace(std::move(key), std::move(value)); return *this; } + inline KitchenSink& AddMapOfMaps(const char* key, Aws::Map&& value) { m_mapOfMapsHasBeenSet = true; m_mapOfMaps.emplace(key, std::move(value)); return *this; } + inline KitchenSink& AddMapOfMaps(const char* key, const Aws::Map& value) { m_mapOfMapsHasBeenSet = true; m_mapOfMaps.emplace(key, value); return *this; } + ///@} + + ///@{ + + inline const Aws::Map& GetMapOfStrings() const{ return m_mapOfStrings; } + inline bool MapOfStringsHasBeenSet() const { return m_mapOfStringsHasBeenSet; } + inline void SetMapOfStrings(const Aws::Map& value) { m_mapOfStringsHasBeenSet = true; m_mapOfStrings = value; } + inline void SetMapOfStrings(Aws::Map&& value) { m_mapOfStringsHasBeenSet = true; m_mapOfStrings = std::move(value); } + inline KitchenSink& WithMapOfStrings(const Aws::Map& value) { SetMapOfStrings(value); return *this;} + inline KitchenSink& WithMapOfStrings(Aws::Map&& value) { SetMapOfStrings(std::move(value)); return *this;} + inline KitchenSink& AddMapOfStrings(const Aws::String& key, const Aws::String& value) { m_mapOfStringsHasBeenSet = true; m_mapOfStrings.emplace(key, value); return *this; } + inline KitchenSink& AddMapOfStrings(Aws::String&& key, const Aws::String& value) { m_mapOfStringsHasBeenSet = true; m_mapOfStrings.emplace(std::move(key), value); return *this; } + inline KitchenSink& AddMapOfStrings(const Aws::String& key, Aws::String&& value) { m_mapOfStringsHasBeenSet = true; m_mapOfStrings.emplace(key, std::move(value)); return *this; } + inline KitchenSink& AddMapOfStrings(Aws::String&& key, Aws::String&& value) { m_mapOfStringsHasBeenSet = true; m_mapOfStrings.emplace(std::move(key), std::move(value)); return *this; } + inline KitchenSink& AddMapOfStrings(const char* key, Aws::String&& value) { m_mapOfStringsHasBeenSet = true; m_mapOfStrings.emplace(key, std::move(value)); return *this; } + inline KitchenSink& AddMapOfStrings(Aws::String&& key, const char* value) { m_mapOfStringsHasBeenSet = true; m_mapOfStrings.emplace(std::move(key), value); return *this; } + inline KitchenSink& AddMapOfStrings(const char* key, const char* value) { m_mapOfStringsHasBeenSet = true; m_mapOfStrings.emplace(key, value); return *this; } + ///@} + + ///@{ + + inline const Aws::Map& GetMapOfStructs() const{ return m_mapOfStructs; } + inline bool MapOfStructsHasBeenSet() const { return m_mapOfStructsHasBeenSet; } + inline void SetMapOfStructs(const Aws::Map& value) { m_mapOfStructsHasBeenSet = true; m_mapOfStructs = value; } + inline void SetMapOfStructs(Aws::Map&& value) { m_mapOfStructsHasBeenSet = true; m_mapOfStructs = std::move(value); } + inline KitchenSink& WithMapOfStructs(const Aws::Map& value) { SetMapOfStructs(value); return *this;} + inline KitchenSink& WithMapOfStructs(Aws::Map&& value) { SetMapOfStructs(std::move(value)); return *this;} + inline KitchenSink& AddMapOfStructs(const Aws::String& key, const SimpleStruct& value) { m_mapOfStructsHasBeenSet = true; m_mapOfStructs.emplace(key, value); return *this; } + inline KitchenSink& AddMapOfStructs(Aws::String&& key, const SimpleStruct& value) { m_mapOfStructsHasBeenSet = true; m_mapOfStructs.emplace(std::move(key), value); return *this; } + inline KitchenSink& AddMapOfStructs(const Aws::String& key, SimpleStruct&& value) { m_mapOfStructsHasBeenSet = true; m_mapOfStructs.emplace(key, std::move(value)); return *this; } + inline KitchenSink& AddMapOfStructs(Aws::String&& key, SimpleStruct&& value) { m_mapOfStructsHasBeenSet = true; m_mapOfStructs.emplace(std::move(key), std::move(value)); return *this; } + inline KitchenSink& AddMapOfStructs(const char* key, SimpleStruct&& value) { m_mapOfStructsHasBeenSet = true; m_mapOfStructs.emplace(key, std::move(value)); return *this; } + inline KitchenSink& AddMapOfStructs(const char* key, const SimpleStruct& value) { m_mapOfStructsHasBeenSet = true; m_mapOfStructs.emplace(key, value); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetRecursiveList() const{ return m_recursiveList; } + inline bool RecursiveListHasBeenSet() const { return m_recursiveListHasBeenSet; } + inline void SetRecursiveList(const Aws::Vector& value) { m_recursiveListHasBeenSet = true; m_recursiveList = value; } + inline void SetRecursiveList(Aws::Vector&& value) { m_recursiveListHasBeenSet = true; m_recursiveList = std::move(value); } + inline KitchenSink& WithRecursiveList(const Aws::Vector& value) { SetRecursiveList(value); return *this;} + inline KitchenSink& WithRecursiveList(Aws::Vector&& value) { SetRecursiveList(std::move(value)); return *this;} + inline KitchenSink& AddRecursiveList(const KitchenSink& value) { m_recursiveListHasBeenSet = true; m_recursiveList.push_back(value); return *this; } + inline KitchenSink& AddRecursiveList(KitchenSink&& value) { m_recursiveListHasBeenSet = true; m_recursiveList.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + + inline const Aws::Map& GetRecursiveMap() const{ return m_recursiveMap; } + inline bool RecursiveMapHasBeenSet() const { return m_recursiveMapHasBeenSet; } + inline void SetRecursiveMap(const Aws::Map& value) { m_recursiveMapHasBeenSet = true; m_recursiveMap = value; } + inline void SetRecursiveMap(Aws::Map&& value) { m_recursiveMapHasBeenSet = true; m_recursiveMap = std::move(value); } + inline KitchenSink& WithRecursiveMap(const Aws::Map& value) { SetRecursiveMap(value); return *this;} + inline KitchenSink& WithRecursiveMap(Aws::Map&& value) { SetRecursiveMap(std::move(value)); return *this;} + inline KitchenSink& AddRecursiveMap(const Aws::String& key, const KitchenSink& value) { m_recursiveMapHasBeenSet = true; m_recursiveMap.emplace(key, value); return *this; } + inline KitchenSink& AddRecursiveMap(Aws::String&& key, const KitchenSink& value) { m_recursiveMapHasBeenSet = true; m_recursiveMap.emplace(std::move(key), value); return *this; } + inline KitchenSink& AddRecursiveMap(const Aws::String& key, KitchenSink&& value) { m_recursiveMapHasBeenSet = true; m_recursiveMap.emplace(key, std::move(value)); return *this; } + inline KitchenSink& AddRecursiveMap(Aws::String&& key, KitchenSink&& value) { m_recursiveMapHasBeenSet = true; m_recursiveMap.emplace(std::move(key), std::move(value)); return *this; } + inline KitchenSink& AddRecursiveMap(const char* key, KitchenSink&& value) { m_recursiveMapHasBeenSet = true; m_recursiveMap.emplace(key, std::move(value)); return *this; } + inline KitchenSink& AddRecursiveMap(const char* key, const KitchenSink& value) { m_recursiveMapHasBeenSet = true; m_recursiveMap.emplace(key, value); return *this; } + ///@} + + ///@{ + + AWS_JSONPROTOCOL_API const KitchenSink& GetRecursiveStruct() const; + AWS_JSONPROTOCOL_API bool RecursiveStructHasBeenSet() const; + AWS_JSONPROTOCOL_API void SetRecursiveStruct(const KitchenSink& value); + AWS_JSONPROTOCOL_API void SetRecursiveStruct(KitchenSink&& value); + AWS_JSONPROTOCOL_API KitchenSink& WithRecursiveStruct(const KitchenSink& value); + AWS_JSONPROTOCOL_API KitchenSink& WithRecursiveStruct(KitchenSink&& value); + ///@} + + ///@{ + + inline const SimpleStruct& GetSimpleStruct() const{ return m_simpleStruct; } + inline bool SimpleStructHasBeenSet() const { return m_simpleStructHasBeenSet; } + inline void SetSimpleStruct(const SimpleStruct& value) { m_simpleStructHasBeenSet = true; m_simpleStruct = value; } + inline void SetSimpleStruct(SimpleStruct&& value) { m_simpleStructHasBeenSet = true; m_simpleStruct = std::move(value); } + inline KitchenSink& WithSimpleStruct(const SimpleStruct& value) { SetSimpleStruct(value); return *this;} + inline KitchenSink& WithSimpleStruct(SimpleStruct&& value) { SetSimpleStruct(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetString() const{ return m_string; } + inline bool StringHasBeenSet() const { return m_stringHasBeenSet; } + inline void SetString(const Aws::String& value) { m_stringHasBeenSet = true; m_string = value; } + inline void SetString(Aws::String&& value) { m_stringHasBeenSet = true; m_string = std::move(value); } + inline void SetString(const char* value) { m_stringHasBeenSet = true; m_string.assign(value); } + inline KitchenSink& WithString(const Aws::String& value) { SetString(value); return *this;} + inline KitchenSink& WithString(Aws::String&& value) { SetString(std::move(value)); return *this;} + inline KitchenSink& WithString(const char* value) { SetString(value); return *this;} + ///@} + + ///@{ + + inline const StructWithJsonName& GetStructWithJsonName() const{ return m_structWithJsonName; } + inline bool StructWithJsonNameHasBeenSet() const { return m_structWithJsonNameHasBeenSet; } + inline void SetStructWithJsonName(const StructWithJsonName& value) { m_structWithJsonNameHasBeenSet = true; m_structWithJsonName = value; } + inline void SetStructWithJsonName(StructWithJsonName&& value) { m_structWithJsonNameHasBeenSet = true; m_structWithJsonName = std::move(value); } + inline KitchenSink& WithStructWithJsonName(const StructWithJsonName& value) { SetStructWithJsonName(value); return *this;} + inline KitchenSink& WithStructWithJsonName(StructWithJsonName&& value) { SetStructWithJsonName(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::Utils::DateTime& GetTimestamp() const{ return m_timestamp; } + inline bool TimestampHasBeenSet() const { return m_timestampHasBeenSet; } + inline void SetTimestamp(const Aws::Utils::DateTime& value) { m_timestampHasBeenSet = true; m_timestamp = value; } + inline void SetTimestamp(Aws::Utils::DateTime&& value) { m_timestampHasBeenSet = true; m_timestamp = std::move(value); } + inline KitchenSink& WithTimestamp(const Aws::Utils::DateTime& value) { SetTimestamp(value); return *this;} + inline KitchenSink& WithTimestamp(Aws::Utils::DateTime&& value) { SetTimestamp(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::Utils::DateTime& GetUnixTimestamp() const{ return m_unixTimestamp; } + inline bool UnixTimestampHasBeenSet() const { return m_unixTimestampHasBeenSet; } + inline void SetUnixTimestamp(const Aws::Utils::DateTime& value) { m_unixTimestampHasBeenSet = true; m_unixTimestamp = value; } + inline void SetUnixTimestamp(Aws::Utils::DateTime&& value) { m_unixTimestampHasBeenSet = true; m_unixTimestamp = std::move(value); } + inline KitchenSink& WithUnixTimestamp(const Aws::Utils::DateTime& value) { SetUnixTimestamp(value); return *this;} + inline KitchenSink& WithUnixTimestamp(Aws::Utils::DateTime&& value) { SetUnixTimestamp(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline bool RequestIdHasBeenSet() const { return m_requestIdHasBeenSet; } + inline void SetRequestId(const Aws::String& value) { m_requestIdHasBeenSet = true; m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestIdHasBeenSet = true; m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestIdHasBeenSet = true; m_requestId.assign(value); } + inline KitchenSink& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline KitchenSink& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline KitchenSink& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::Utils::ByteBuffer m_blob; + bool m_blobHasBeenSet = false; + + bool m_boolean; + bool m_booleanHasBeenSet = false; + + double m_double; + bool m_doubleHasBeenSet = false; + + EmptyStruct m_emptyStruct; + bool m_emptyStructHasBeenSet = false; + + double m_float; + bool m_floatHasBeenSet = false; + + Aws::Utils::DateTime m_httpdateTimestamp; + bool m_httpdateTimestampHasBeenSet = false; + + int m_integer; + bool m_integerHasBeenSet = false; + + Aws::Utils::DateTime m_iso8601Timestamp; + bool m_iso8601TimestampHasBeenSet = false; + + Aws::String m_jsonValue; + bool m_jsonValueHasBeenSet = false; + + Aws::Vector> m_listOfLists; + bool m_listOfListsHasBeenSet = false; + + Aws::Vector> m_listOfMapsOfStrings; + bool m_listOfMapsOfStringsHasBeenSet = false; + + Aws::Vector m_listOfStrings; + bool m_listOfStringsHasBeenSet = false; + + Aws::Vector m_listOfStructs; + bool m_listOfStructsHasBeenSet = false; + + long long m_long; + bool m_longHasBeenSet = false; + + Aws::Map> m_mapOfListsOfStrings; + bool m_mapOfListsOfStringsHasBeenSet = false; + + Aws::Map> m_mapOfMaps; + bool m_mapOfMapsHasBeenSet = false; + + Aws::Map m_mapOfStrings; + bool m_mapOfStringsHasBeenSet = false; + + Aws::Map m_mapOfStructs; + bool m_mapOfStructsHasBeenSet = false; + + Aws::Vector m_recursiveList; + bool m_recursiveListHasBeenSet = false; + + Aws::Map m_recursiveMap; + bool m_recursiveMapHasBeenSet = false; + + std::shared_ptr m_recursiveStruct; + bool m_recursiveStructHasBeenSet = false; + + SimpleStruct m_simpleStruct; + bool m_simpleStructHasBeenSet = false; + + Aws::String m_string; + bool m_stringHasBeenSet = false; + + StructWithJsonName m_structWithJsonName; + bool m_structWithJsonNameHasBeenSet = false; + + Aws::Utils::DateTime m_timestamp; + bool m_timestampHasBeenSet = false; + + Aws::Utils::DateTime m_unixTimestamp; + bool m_unixTimestampHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace JsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/model/KitchenSinkOperationRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/model/KitchenSinkOperationRequest.h new file mode 100644 index 00000000000..81b300909ee --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/model/KitchenSinkOperationRequest.h @@ -0,0 +1,438 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace JsonProtocol +{ +namespace Model +{ + + /** + */ + class KitchenSinkOperationRequest : public JsonProtocolRequest + { + public: + AWS_JSONPROTOCOL_API KitchenSinkOperationRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "KitchenSinkOperation"; } + + AWS_JSONPROTOCOL_API Aws::String SerializePayload() const override; + + AWS_JSONPROTOCOL_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + + inline const Aws::Utils::ByteBuffer& GetBlob() const{ return m_blob; } + inline bool BlobHasBeenSet() const { return m_blobHasBeenSet; } + inline void SetBlob(const Aws::Utils::ByteBuffer& value) { m_blobHasBeenSet = true; m_blob = value; } + inline void SetBlob(Aws::Utils::ByteBuffer&& value) { m_blobHasBeenSet = true; m_blob = std::move(value); } + inline KitchenSinkOperationRequest& WithBlob(const Aws::Utils::ByteBuffer& value) { SetBlob(value); return *this;} + inline KitchenSinkOperationRequest& WithBlob(Aws::Utils::ByteBuffer&& value) { SetBlob(std::move(value)); return *this;} + ///@} + + ///@{ + + inline bool GetBoolean() const{ return m_boolean; } + inline bool BooleanHasBeenSet() const { return m_booleanHasBeenSet; } + inline void SetBoolean(bool value) { m_booleanHasBeenSet = true; m_boolean = value; } + inline KitchenSinkOperationRequest& WithBoolean(bool value) { SetBoolean(value); return *this;} + ///@} + + ///@{ + + inline double GetDouble() const{ return m_double; } + inline bool DoubleHasBeenSet() const { return m_doubleHasBeenSet; } + inline void SetDouble(double value) { m_doubleHasBeenSet = true; m_double = value; } + inline KitchenSinkOperationRequest& WithDouble(double value) { SetDouble(value); return *this;} + ///@} + + ///@{ + + inline const EmptyStruct& GetEmptyStruct() const{ return m_emptyStruct; } + inline bool EmptyStructHasBeenSet() const { return m_emptyStructHasBeenSet; } + inline void SetEmptyStruct(const EmptyStruct& value) { m_emptyStructHasBeenSet = true; m_emptyStruct = value; } + inline void SetEmptyStruct(EmptyStruct&& value) { m_emptyStructHasBeenSet = true; m_emptyStruct = std::move(value); } + inline KitchenSinkOperationRequest& WithEmptyStruct(const EmptyStruct& value) { SetEmptyStruct(value); return *this;} + inline KitchenSinkOperationRequest& WithEmptyStruct(EmptyStruct&& value) { SetEmptyStruct(std::move(value)); return *this;} + ///@} + + ///@{ + + inline double GetFloat() const{ return m_float; } + inline bool FloatHasBeenSet() const { return m_floatHasBeenSet; } + inline void SetFloat(double value) { m_floatHasBeenSet = true; m_float = value; } + inline KitchenSinkOperationRequest& WithFloat(double value) { SetFloat(value); return *this;} + ///@} + + ///@{ + + inline const Aws::Utils::DateTime& GetHttpdateTimestamp() const{ return m_httpdateTimestamp; } + inline bool HttpdateTimestampHasBeenSet() const { return m_httpdateTimestampHasBeenSet; } + inline void SetHttpdateTimestamp(const Aws::Utils::DateTime& value) { m_httpdateTimestampHasBeenSet = true; m_httpdateTimestamp = value; } + inline void SetHttpdateTimestamp(Aws::Utils::DateTime&& value) { m_httpdateTimestampHasBeenSet = true; m_httpdateTimestamp = std::move(value); } + inline KitchenSinkOperationRequest& WithHttpdateTimestamp(const Aws::Utils::DateTime& value) { SetHttpdateTimestamp(value); return *this;} + inline KitchenSinkOperationRequest& WithHttpdateTimestamp(Aws::Utils::DateTime&& value) { SetHttpdateTimestamp(std::move(value)); return *this;} + ///@} + + ///@{ + + inline int GetInteger() const{ return m_integer; } + inline bool IntegerHasBeenSet() const { return m_integerHasBeenSet; } + inline void SetInteger(int value) { m_integerHasBeenSet = true; m_integer = value; } + inline KitchenSinkOperationRequest& WithInteger(int value) { SetInteger(value); return *this;} + ///@} + + ///@{ + + inline const Aws::Utils::DateTime& GetIso8601Timestamp() const{ return m_iso8601Timestamp; } + inline bool Iso8601TimestampHasBeenSet() const { return m_iso8601TimestampHasBeenSet; } + inline void SetIso8601Timestamp(const Aws::Utils::DateTime& value) { m_iso8601TimestampHasBeenSet = true; m_iso8601Timestamp = value; } + inline void SetIso8601Timestamp(Aws::Utils::DateTime&& value) { m_iso8601TimestampHasBeenSet = true; m_iso8601Timestamp = std::move(value); } + inline KitchenSinkOperationRequest& WithIso8601Timestamp(const Aws::Utils::DateTime& value) { SetIso8601Timestamp(value); return *this;} + inline KitchenSinkOperationRequest& WithIso8601Timestamp(Aws::Utils::DateTime&& value) { SetIso8601Timestamp(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetJsonValue() const{ return m_jsonValue; } + inline bool JsonValueHasBeenSet() const { return m_jsonValueHasBeenSet; } + inline void SetJsonValue(const Aws::String& value) { m_jsonValueHasBeenSet = true; m_jsonValue = value; } + inline void SetJsonValue(Aws::String&& value) { m_jsonValueHasBeenSet = true; m_jsonValue = std::move(value); } + inline void SetJsonValue(const char* value) { m_jsonValueHasBeenSet = true; m_jsonValue.assign(value); } + inline KitchenSinkOperationRequest& WithJsonValue(const Aws::String& value) { SetJsonValue(value); return *this;} + inline KitchenSinkOperationRequest& WithJsonValue(Aws::String&& value) { SetJsonValue(std::move(value)); return *this;} + inline KitchenSinkOperationRequest& WithJsonValue(const char* value) { SetJsonValue(value); return *this;} + ///@} + + ///@{ + + inline const Aws::Vector>& GetListOfLists() const{ return m_listOfLists; } + inline bool ListOfListsHasBeenSet() const { return m_listOfListsHasBeenSet; } + inline void SetListOfLists(const Aws::Vector>& value) { m_listOfListsHasBeenSet = true; m_listOfLists = value; } + inline void SetListOfLists(Aws::Vector>&& value) { m_listOfListsHasBeenSet = true; m_listOfLists = std::move(value); } + inline KitchenSinkOperationRequest& WithListOfLists(const Aws::Vector>& value) { SetListOfLists(value); return *this;} + inline KitchenSinkOperationRequest& WithListOfLists(Aws::Vector>&& value) { SetListOfLists(std::move(value)); return *this;} + inline KitchenSinkOperationRequest& AddListOfLists(const Aws::Vector& value) { m_listOfListsHasBeenSet = true; m_listOfLists.push_back(value); return *this; } + inline KitchenSinkOperationRequest& AddListOfLists(Aws::Vector&& value) { m_listOfListsHasBeenSet = true; m_listOfLists.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector>& GetListOfMapsOfStrings() const{ return m_listOfMapsOfStrings; } + inline bool ListOfMapsOfStringsHasBeenSet() const { return m_listOfMapsOfStringsHasBeenSet; } + inline void SetListOfMapsOfStrings(const Aws::Vector>& value) { m_listOfMapsOfStringsHasBeenSet = true; m_listOfMapsOfStrings = value; } + inline void SetListOfMapsOfStrings(Aws::Vector>&& value) { m_listOfMapsOfStringsHasBeenSet = true; m_listOfMapsOfStrings = std::move(value); } + inline KitchenSinkOperationRequest& WithListOfMapsOfStrings(const Aws::Vector>& value) { SetListOfMapsOfStrings(value); return *this;} + inline KitchenSinkOperationRequest& WithListOfMapsOfStrings(Aws::Vector>&& value) { SetListOfMapsOfStrings(std::move(value)); return *this;} + inline KitchenSinkOperationRequest& AddListOfMapsOfStrings(const Aws::Map& value) { m_listOfMapsOfStringsHasBeenSet = true; m_listOfMapsOfStrings.push_back(value); return *this; } + inline KitchenSinkOperationRequest& AddListOfMapsOfStrings(Aws::Map&& value) { m_listOfMapsOfStringsHasBeenSet = true; m_listOfMapsOfStrings.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetListOfStrings() const{ return m_listOfStrings; } + inline bool ListOfStringsHasBeenSet() const { return m_listOfStringsHasBeenSet; } + inline void SetListOfStrings(const Aws::Vector& value) { m_listOfStringsHasBeenSet = true; m_listOfStrings = value; } + inline void SetListOfStrings(Aws::Vector&& value) { m_listOfStringsHasBeenSet = true; m_listOfStrings = std::move(value); } + inline KitchenSinkOperationRequest& WithListOfStrings(const Aws::Vector& value) { SetListOfStrings(value); return *this;} + inline KitchenSinkOperationRequest& WithListOfStrings(Aws::Vector&& value) { SetListOfStrings(std::move(value)); return *this;} + inline KitchenSinkOperationRequest& AddListOfStrings(const Aws::String& value) { m_listOfStringsHasBeenSet = true; m_listOfStrings.push_back(value); return *this; } + inline KitchenSinkOperationRequest& AddListOfStrings(Aws::String&& value) { m_listOfStringsHasBeenSet = true; m_listOfStrings.push_back(std::move(value)); return *this; } + inline KitchenSinkOperationRequest& AddListOfStrings(const char* value) { m_listOfStringsHasBeenSet = true; m_listOfStrings.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetListOfStructs() const{ return m_listOfStructs; } + inline bool ListOfStructsHasBeenSet() const { return m_listOfStructsHasBeenSet; } + inline void SetListOfStructs(const Aws::Vector& value) { m_listOfStructsHasBeenSet = true; m_listOfStructs = value; } + inline void SetListOfStructs(Aws::Vector&& value) { m_listOfStructsHasBeenSet = true; m_listOfStructs = std::move(value); } + inline KitchenSinkOperationRequest& WithListOfStructs(const Aws::Vector& value) { SetListOfStructs(value); return *this;} + inline KitchenSinkOperationRequest& WithListOfStructs(Aws::Vector&& value) { SetListOfStructs(std::move(value)); return *this;} + inline KitchenSinkOperationRequest& AddListOfStructs(const SimpleStruct& value) { m_listOfStructsHasBeenSet = true; m_listOfStructs.push_back(value); return *this; } + inline KitchenSinkOperationRequest& AddListOfStructs(SimpleStruct&& value) { m_listOfStructsHasBeenSet = true; m_listOfStructs.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + + inline long long GetLong() const{ return m_long; } + inline bool LongHasBeenSet() const { return m_longHasBeenSet; } + inline void SetLong(long long value) { m_longHasBeenSet = true; m_long = value; } + inline KitchenSinkOperationRequest& WithLong(long long value) { SetLong(value); return *this;} + ///@} + + ///@{ + + inline const Aws::Map>& GetMapOfListsOfStrings() const{ return m_mapOfListsOfStrings; } + inline bool MapOfListsOfStringsHasBeenSet() const { return m_mapOfListsOfStringsHasBeenSet; } + inline void SetMapOfListsOfStrings(const Aws::Map>& value) { m_mapOfListsOfStringsHasBeenSet = true; m_mapOfListsOfStrings = value; } + inline void SetMapOfListsOfStrings(Aws::Map>&& value) { m_mapOfListsOfStringsHasBeenSet = true; m_mapOfListsOfStrings = std::move(value); } + inline KitchenSinkOperationRequest& WithMapOfListsOfStrings(const Aws::Map>& value) { SetMapOfListsOfStrings(value); return *this;} + inline KitchenSinkOperationRequest& WithMapOfListsOfStrings(Aws::Map>&& value) { SetMapOfListsOfStrings(std::move(value)); return *this;} + inline KitchenSinkOperationRequest& AddMapOfListsOfStrings(const Aws::String& key, const Aws::Vector& value) { m_mapOfListsOfStringsHasBeenSet = true; m_mapOfListsOfStrings.emplace(key, value); return *this; } + inline KitchenSinkOperationRequest& AddMapOfListsOfStrings(Aws::String&& key, const Aws::Vector& value) { m_mapOfListsOfStringsHasBeenSet = true; m_mapOfListsOfStrings.emplace(std::move(key), value); return *this; } + inline KitchenSinkOperationRequest& AddMapOfListsOfStrings(const Aws::String& key, Aws::Vector&& value) { m_mapOfListsOfStringsHasBeenSet = true; m_mapOfListsOfStrings.emplace(key, std::move(value)); return *this; } + inline KitchenSinkOperationRequest& AddMapOfListsOfStrings(Aws::String&& key, Aws::Vector&& value) { m_mapOfListsOfStringsHasBeenSet = true; m_mapOfListsOfStrings.emplace(std::move(key), std::move(value)); return *this; } + inline KitchenSinkOperationRequest& AddMapOfListsOfStrings(const char* key, Aws::Vector&& value) { m_mapOfListsOfStringsHasBeenSet = true; m_mapOfListsOfStrings.emplace(key, std::move(value)); return *this; } + inline KitchenSinkOperationRequest& AddMapOfListsOfStrings(const char* key, const Aws::Vector& value) { m_mapOfListsOfStringsHasBeenSet = true; m_mapOfListsOfStrings.emplace(key, value); return *this; } + ///@} + + ///@{ + + inline const Aws::Map>& GetMapOfMaps() const{ return m_mapOfMaps; } + inline bool MapOfMapsHasBeenSet() const { return m_mapOfMapsHasBeenSet; } + inline void SetMapOfMaps(const Aws::Map>& value) { m_mapOfMapsHasBeenSet = true; m_mapOfMaps = value; } + inline void SetMapOfMaps(Aws::Map>&& value) { m_mapOfMapsHasBeenSet = true; m_mapOfMaps = std::move(value); } + inline KitchenSinkOperationRequest& WithMapOfMaps(const Aws::Map>& value) { SetMapOfMaps(value); return *this;} + inline KitchenSinkOperationRequest& WithMapOfMaps(Aws::Map>&& value) { SetMapOfMaps(std::move(value)); return *this;} + inline KitchenSinkOperationRequest& AddMapOfMaps(const Aws::String& key, const Aws::Map& value) { m_mapOfMapsHasBeenSet = true; m_mapOfMaps.emplace(key, value); return *this; } + inline KitchenSinkOperationRequest& AddMapOfMaps(Aws::String&& key, const Aws::Map& value) { m_mapOfMapsHasBeenSet = true; m_mapOfMaps.emplace(std::move(key), value); return *this; } + inline KitchenSinkOperationRequest& AddMapOfMaps(const Aws::String& key, Aws::Map&& value) { m_mapOfMapsHasBeenSet = true; m_mapOfMaps.emplace(key, std::move(value)); return *this; } + inline KitchenSinkOperationRequest& AddMapOfMaps(Aws::String&& key, Aws::Map&& value) { m_mapOfMapsHasBeenSet = true; m_mapOfMaps.emplace(std::move(key), std::move(value)); return *this; } + inline KitchenSinkOperationRequest& AddMapOfMaps(const char* key, Aws::Map&& value) { m_mapOfMapsHasBeenSet = true; m_mapOfMaps.emplace(key, std::move(value)); return *this; } + inline KitchenSinkOperationRequest& AddMapOfMaps(const char* key, const Aws::Map& value) { m_mapOfMapsHasBeenSet = true; m_mapOfMaps.emplace(key, value); return *this; } + ///@} + + ///@{ + + inline const Aws::Map& GetMapOfStrings() const{ return m_mapOfStrings; } + inline bool MapOfStringsHasBeenSet() const { return m_mapOfStringsHasBeenSet; } + inline void SetMapOfStrings(const Aws::Map& value) { m_mapOfStringsHasBeenSet = true; m_mapOfStrings = value; } + inline void SetMapOfStrings(Aws::Map&& value) { m_mapOfStringsHasBeenSet = true; m_mapOfStrings = std::move(value); } + inline KitchenSinkOperationRequest& WithMapOfStrings(const Aws::Map& value) { SetMapOfStrings(value); return *this;} + inline KitchenSinkOperationRequest& WithMapOfStrings(Aws::Map&& value) { SetMapOfStrings(std::move(value)); return *this;} + inline KitchenSinkOperationRequest& AddMapOfStrings(const Aws::String& key, const Aws::String& value) { m_mapOfStringsHasBeenSet = true; m_mapOfStrings.emplace(key, value); return *this; } + inline KitchenSinkOperationRequest& AddMapOfStrings(Aws::String&& key, const Aws::String& value) { m_mapOfStringsHasBeenSet = true; m_mapOfStrings.emplace(std::move(key), value); return *this; } + inline KitchenSinkOperationRequest& AddMapOfStrings(const Aws::String& key, Aws::String&& value) { m_mapOfStringsHasBeenSet = true; m_mapOfStrings.emplace(key, std::move(value)); return *this; } + inline KitchenSinkOperationRequest& AddMapOfStrings(Aws::String&& key, Aws::String&& value) { m_mapOfStringsHasBeenSet = true; m_mapOfStrings.emplace(std::move(key), std::move(value)); return *this; } + inline KitchenSinkOperationRequest& AddMapOfStrings(const char* key, Aws::String&& value) { m_mapOfStringsHasBeenSet = true; m_mapOfStrings.emplace(key, std::move(value)); return *this; } + inline KitchenSinkOperationRequest& AddMapOfStrings(Aws::String&& key, const char* value) { m_mapOfStringsHasBeenSet = true; m_mapOfStrings.emplace(std::move(key), value); return *this; } + inline KitchenSinkOperationRequest& AddMapOfStrings(const char* key, const char* value) { m_mapOfStringsHasBeenSet = true; m_mapOfStrings.emplace(key, value); return *this; } + ///@} + + ///@{ + + inline const Aws::Map& GetMapOfStructs() const{ return m_mapOfStructs; } + inline bool MapOfStructsHasBeenSet() const { return m_mapOfStructsHasBeenSet; } + inline void SetMapOfStructs(const Aws::Map& value) { m_mapOfStructsHasBeenSet = true; m_mapOfStructs = value; } + inline void SetMapOfStructs(Aws::Map&& value) { m_mapOfStructsHasBeenSet = true; m_mapOfStructs = std::move(value); } + inline KitchenSinkOperationRequest& WithMapOfStructs(const Aws::Map& value) { SetMapOfStructs(value); return *this;} + inline KitchenSinkOperationRequest& WithMapOfStructs(Aws::Map&& value) { SetMapOfStructs(std::move(value)); return *this;} + inline KitchenSinkOperationRequest& AddMapOfStructs(const Aws::String& key, const SimpleStruct& value) { m_mapOfStructsHasBeenSet = true; m_mapOfStructs.emplace(key, value); return *this; } + inline KitchenSinkOperationRequest& AddMapOfStructs(Aws::String&& key, const SimpleStruct& value) { m_mapOfStructsHasBeenSet = true; m_mapOfStructs.emplace(std::move(key), value); return *this; } + inline KitchenSinkOperationRequest& AddMapOfStructs(const Aws::String& key, SimpleStruct&& value) { m_mapOfStructsHasBeenSet = true; m_mapOfStructs.emplace(key, std::move(value)); return *this; } + inline KitchenSinkOperationRequest& AddMapOfStructs(Aws::String&& key, SimpleStruct&& value) { m_mapOfStructsHasBeenSet = true; m_mapOfStructs.emplace(std::move(key), std::move(value)); return *this; } + inline KitchenSinkOperationRequest& AddMapOfStructs(const char* key, SimpleStruct&& value) { m_mapOfStructsHasBeenSet = true; m_mapOfStructs.emplace(key, std::move(value)); return *this; } + inline KitchenSinkOperationRequest& AddMapOfStructs(const char* key, const SimpleStruct& value) { m_mapOfStructsHasBeenSet = true; m_mapOfStructs.emplace(key, value); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetRecursiveList() const{ return m_recursiveList; } + inline bool RecursiveListHasBeenSet() const { return m_recursiveListHasBeenSet; } + inline void SetRecursiveList(const Aws::Vector& value) { m_recursiveListHasBeenSet = true; m_recursiveList = value; } + inline void SetRecursiveList(Aws::Vector&& value) { m_recursiveListHasBeenSet = true; m_recursiveList = std::move(value); } + inline KitchenSinkOperationRequest& WithRecursiveList(const Aws::Vector& value) { SetRecursiveList(value); return *this;} + inline KitchenSinkOperationRequest& WithRecursiveList(Aws::Vector&& value) { SetRecursiveList(std::move(value)); return *this;} + inline KitchenSinkOperationRequest& AddRecursiveList(const KitchenSink& value) { m_recursiveListHasBeenSet = true; m_recursiveList.push_back(value); return *this; } + inline KitchenSinkOperationRequest& AddRecursiveList(KitchenSink&& value) { m_recursiveListHasBeenSet = true; m_recursiveList.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + + inline const Aws::Map& GetRecursiveMap() const{ return m_recursiveMap; } + inline bool RecursiveMapHasBeenSet() const { return m_recursiveMapHasBeenSet; } + inline void SetRecursiveMap(const Aws::Map& value) { m_recursiveMapHasBeenSet = true; m_recursiveMap = value; } + inline void SetRecursiveMap(Aws::Map&& value) { m_recursiveMapHasBeenSet = true; m_recursiveMap = std::move(value); } + inline KitchenSinkOperationRequest& WithRecursiveMap(const Aws::Map& value) { SetRecursiveMap(value); return *this;} + inline KitchenSinkOperationRequest& WithRecursiveMap(Aws::Map&& value) { SetRecursiveMap(std::move(value)); return *this;} + inline KitchenSinkOperationRequest& AddRecursiveMap(const Aws::String& key, const KitchenSink& value) { m_recursiveMapHasBeenSet = true; m_recursiveMap.emplace(key, value); return *this; } + inline KitchenSinkOperationRequest& AddRecursiveMap(Aws::String&& key, const KitchenSink& value) { m_recursiveMapHasBeenSet = true; m_recursiveMap.emplace(std::move(key), value); return *this; } + inline KitchenSinkOperationRequest& AddRecursiveMap(const Aws::String& key, KitchenSink&& value) { m_recursiveMapHasBeenSet = true; m_recursiveMap.emplace(key, std::move(value)); return *this; } + inline KitchenSinkOperationRequest& AddRecursiveMap(Aws::String&& key, KitchenSink&& value) { m_recursiveMapHasBeenSet = true; m_recursiveMap.emplace(std::move(key), std::move(value)); return *this; } + inline KitchenSinkOperationRequest& AddRecursiveMap(const char* key, KitchenSink&& value) { m_recursiveMapHasBeenSet = true; m_recursiveMap.emplace(key, std::move(value)); return *this; } + inline KitchenSinkOperationRequest& AddRecursiveMap(const char* key, const KitchenSink& value) { m_recursiveMapHasBeenSet = true; m_recursiveMap.emplace(key, value); return *this; } + ///@} + + ///@{ + + inline const KitchenSink& GetRecursiveStruct() const{ return m_recursiveStruct; } + inline bool RecursiveStructHasBeenSet() const { return m_recursiveStructHasBeenSet; } + inline void SetRecursiveStruct(const KitchenSink& value) { m_recursiveStructHasBeenSet = true; m_recursiveStruct = value; } + inline void SetRecursiveStruct(KitchenSink&& value) { m_recursiveStructHasBeenSet = true; m_recursiveStruct = std::move(value); } + inline KitchenSinkOperationRequest& WithRecursiveStruct(const KitchenSink& value) { SetRecursiveStruct(value); return *this;} + inline KitchenSinkOperationRequest& WithRecursiveStruct(KitchenSink&& value) { SetRecursiveStruct(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const SimpleStruct& GetSimpleStruct() const{ return m_simpleStruct; } + inline bool SimpleStructHasBeenSet() const { return m_simpleStructHasBeenSet; } + inline void SetSimpleStruct(const SimpleStruct& value) { m_simpleStructHasBeenSet = true; m_simpleStruct = value; } + inline void SetSimpleStruct(SimpleStruct&& value) { m_simpleStructHasBeenSet = true; m_simpleStruct = std::move(value); } + inline KitchenSinkOperationRequest& WithSimpleStruct(const SimpleStruct& value) { SetSimpleStruct(value); return *this;} + inline KitchenSinkOperationRequest& WithSimpleStruct(SimpleStruct&& value) { SetSimpleStruct(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetString() const{ return m_string; } + inline bool StringHasBeenSet() const { return m_stringHasBeenSet; } + inline void SetString(const Aws::String& value) { m_stringHasBeenSet = true; m_string = value; } + inline void SetString(Aws::String&& value) { m_stringHasBeenSet = true; m_string = std::move(value); } + inline void SetString(const char* value) { m_stringHasBeenSet = true; m_string.assign(value); } + inline KitchenSinkOperationRequest& WithString(const Aws::String& value) { SetString(value); return *this;} + inline KitchenSinkOperationRequest& WithString(Aws::String&& value) { SetString(std::move(value)); return *this;} + inline KitchenSinkOperationRequest& WithString(const char* value) { SetString(value); return *this;} + ///@} + + ///@{ + + inline const StructWithJsonName& GetStructWithJsonName() const{ return m_structWithJsonName; } + inline bool StructWithJsonNameHasBeenSet() const { return m_structWithJsonNameHasBeenSet; } + inline void SetStructWithJsonName(const StructWithJsonName& value) { m_structWithJsonNameHasBeenSet = true; m_structWithJsonName = value; } + inline void SetStructWithJsonName(StructWithJsonName&& value) { m_structWithJsonNameHasBeenSet = true; m_structWithJsonName = std::move(value); } + inline KitchenSinkOperationRequest& WithStructWithJsonName(const StructWithJsonName& value) { SetStructWithJsonName(value); return *this;} + inline KitchenSinkOperationRequest& WithStructWithJsonName(StructWithJsonName&& value) { SetStructWithJsonName(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::Utils::DateTime& GetTimestamp() const{ return m_timestamp; } + inline bool TimestampHasBeenSet() const { return m_timestampHasBeenSet; } + inline void SetTimestamp(const Aws::Utils::DateTime& value) { m_timestampHasBeenSet = true; m_timestamp = value; } + inline void SetTimestamp(Aws::Utils::DateTime&& value) { m_timestampHasBeenSet = true; m_timestamp = std::move(value); } + inline KitchenSinkOperationRequest& WithTimestamp(const Aws::Utils::DateTime& value) { SetTimestamp(value); return *this;} + inline KitchenSinkOperationRequest& WithTimestamp(Aws::Utils::DateTime&& value) { SetTimestamp(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::Utils::DateTime& GetUnixTimestamp() const{ return m_unixTimestamp; } + inline bool UnixTimestampHasBeenSet() const { return m_unixTimestampHasBeenSet; } + inline void SetUnixTimestamp(const Aws::Utils::DateTime& value) { m_unixTimestampHasBeenSet = true; m_unixTimestamp = value; } + inline void SetUnixTimestamp(Aws::Utils::DateTime&& value) { m_unixTimestampHasBeenSet = true; m_unixTimestamp = std::move(value); } + inline KitchenSinkOperationRequest& WithUnixTimestamp(const Aws::Utils::DateTime& value) { SetUnixTimestamp(value); return *this;} + inline KitchenSinkOperationRequest& WithUnixTimestamp(Aws::Utils::DateTime&& value) { SetUnixTimestamp(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline bool RequestIdHasBeenSet() const { return m_requestIdHasBeenSet; } + inline void SetRequestId(const Aws::String& value) { m_requestIdHasBeenSet = true; m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestIdHasBeenSet = true; m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestIdHasBeenSet = true; m_requestId.assign(value); } + inline KitchenSinkOperationRequest& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline KitchenSinkOperationRequest& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline KitchenSinkOperationRequest& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::Utils::ByteBuffer m_blob; + bool m_blobHasBeenSet = false; + + bool m_boolean; + bool m_booleanHasBeenSet = false; + + double m_double; + bool m_doubleHasBeenSet = false; + + EmptyStruct m_emptyStruct; + bool m_emptyStructHasBeenSet = false; + + double m_float; + bool m_floatHasBeenSet = false; + + Aws::Utils::DateTime m_httpdateTimestamp; + bool m_httpdateTimestampHasBeenSet = false; + + int m_integer; + bool m_integerHasBeenSet = false; + + Aws::Utils::DateTime m_iso8601Timestamp; + bool m_iso8601TimestampHasBeenSet = false; + + Aws::String m_jsonValue; + bool m_jsonValueHasBeenSet = false; + + Aws::Vector> m_listOfLists; + bool m_listOfListsHasBeenSet = false; + + Aws::Vector> m_listOfMapsOfStrings; + bool m_listOfMapsOfStringsHasBeenSet = false; + + Aws::Vector m_listOfStrings; + bool m_listOfStringsHasBeenSet = false; + + Aws::Vector m_listOfStructs; + bool m_listOfStructsHasBeenSet = false; + + long long m_long; + bool m_longHasBeenSet = false; + + Aws::Map> m_mapOfListsOfStrings; + bool m_mapOfListsOfStringsHasBeenSet = false; + + Aws::Map> m_mapOfMaps; + bool m_mapOfMapsHasBeenSet = false; + + Aws::Map m_mapOfStrings; + bool m_mapOfStringsHasBeenSet = false; + + Aws::Map m_mapOfStructs; + bool m_mapOfStructsHasBeenSet = false; + + Aws::Vector m_recursiveList; + bool m_recursiveListHasBeenSet = false; + + Aws::Map m_recursiveMap; + bool m_recursiveMapHasBeenSet = false; + + KitchenSink m_recursiveStruct; + bool m_recursiveStructHasBeenSet = false; + + SimpleStruct m_simpleStruct; + bool m_simpleStructHasBeenSet = false; + + Aws::String m_string; + bool m_stringHasBeenSet = false; + + StructWithJsonName m_structWithJsonName; + bool m_structWithJsonNameHasBeenSet = false; + + Aws::Utils::DateTime m_timestamp; + bool m_timestampHasBeenSet = false; + + Aws::Utils::DateTime m_unixTimestamp; + bool m_unixTimestampHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace JsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/model/KitchenSinkOperationResult.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/model/KitchenSinkOperationResult.h new file mode 100644 index 00000000000..288550e90d7 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/model/KitchenSinkOperationResult.h @@ -0,0 +1,382 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace JsonProtocol +{ +namespace Model +{ + class KitchenSinkOperationResult + { + public: + AWS_JSONPROTOCOL_API KitchenSinkOperationResult(); + AWS_JSONPROTOCOL_API KitchenSinkOperationResult(const Aws::AmazonWebServiceResult& result); + AWS_JSONPROTOCOL_API KitchenSinkOperationResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::Utils::ByteBuffer& GetBlob() const{ return m_blob; } + inline void SetBlob(const Aws::Utils::ByteBuffer& value) { m_blob = value; } + inline void SetBlob(Aws::Utils::ByteBuffer&& value) { m_blob = std::move(value); } + inline KitchenSinkOperationResult& WithBlob(const Aws::Utils::ByteBuffer& value) { SetBlob(value); return *this;} + inline KitchenSinkOperationResult& WithBlob(Aws::Utils::ByteBuffer&& value) { SetBlob(std::move(value)); return *this;} + ///@} + + ///@{ + + inline bool GetBoolean() const{ return m_boolean; } + inline void SetBoolean(bool value) { m_boolean = value; } + inline KitchenSinkOperationResult& WithBoolean(bool value) { SetBoolean(value); return *this;} + ///@} + + ///@{ + + inline double GetDouble() const{ return m_double; } + inline void SetDouble(double value) { m_double = value; } + inline KitchenSinkOperationResult& WithDouble(double value) { SetDouble(value); return *this;} + ///@} + + ///@{ + + inline const EmptyStruct& GetEmptyStruct() const{ return m_emptyStruct; } + inline void SetEmptyStruct(const EmptyStruct& value) { m_emptyStruct = value; } + inline void SetEmptyStruct(EmptyStruct&& value) { m_emptyStruct = std::move(value); } + inline KitchenSinkOperationResult& WithEmptyStruct(const EmptyStruct& value) { SetEmptyStruct(value); return *this;} + inline KitchenSinkOperationResult& WithEmptyStruct(EmptyStruct&& value) { SetEmptyStruct(std::move(value)); return *this;} + ///@} + + ///@{ + + inline double GetFloat() const{ return m_float; } + inline void SetFloat(double value) { m_float = value; } + inline KitchenSinkOperationResult& WithFloat(double value) { SetFloat(value); return *this;} + ///@} + + ///@{ + + inline const Aws::Utils::DateTime& GetHttpdateTimestamp() const{ return m_httpdateTimestamp; } + inline void SetHttpdateTimestamp(const Aws::Utils::DateTime& value) { m_httpdateTimestamp = value; } + inline void SetHttpdateTimestamp(Aws::Utils::DateTime&& value) { m_httpdateTimestamp = std::move(value); } + inline KitchenSinkOperationResult& WithHttpdateTimestamp(const Aws::Utils::DateTime& value) { SetHttpdateTimestamp(value); return *this;} + inline KitchenSinkOperationResult& WithHttpdateTimestamp(Aws::Utils::DateTime&& value) { SetHttpdateTimestamp(std::move(value)); return *this;} + ///@} + + ///@{ + + inline int GetInteger() const{ return m_integer; } + inline void SetInteger(int value) { m_integer = value; } + inline KitchenSinkOperationResult& WithInteger(int value) { SetInteger(value); return *this;} + ///@} + + ///@{ + + inline const Aws::Utils::DateTime& GetIso8601Timestamp() const{ return m_iso8601Timestamp; } + inline void SetIso8601Timestamp(const Aws::Utils::DateTime& value) { m_iso8601Timestamp = value; } + inline void SetIso8601Timestamp(Aws::Utils::DateTime&& value) { m_iso8601Timestamp = std::move(value); } + inline KitchenSinkOperationResult& WithIso8601Timestamp(const Aws::Utils::DateTime& value) { SetIso8601Timestamp(value); return *this;} + inline KitchenSinkOperationResult& WithIso8601Timestamp(Aws::Utils::DateTime&& value) { SetIso8601Timestamp(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetJsonValue() const{ return m_jsonValue; } + inline void SetJsonValue(const Aws::String& value) { m_jsonValue = value; } + inline void SetJsonValue(Aws::String&& value) { m_jsonValue = std::move(value); } + inline void SetJsonValue(const char* value) { m_jsonValue.assign(value); } + inline KitchenSinkOperationResult& WithJsonValue(const Aws::String& value) { SetJsonValue(value); return *this;} + inline KitchenSinkOperationResult& WithJsonValue(Aws::String&& value) { SetJsonValue(std::move(value)); return *this;} + inline KitchenSinkOperationResult& WithJsonValue(const char* value) { SetJsonValue(value); return *this;} + ///@} + + ///@{ + + inline const Aws::Vector>& GetListOfLists() const{ return m_listOfLists; } + inline void SetListOfLists(const Aws::Vector>& value) { m_listOfLists = value; } + inline void SetListOfLists(Aws::Vector>&& value) { m_listOfLists = std::move(value); } + inline KitchenSinkOperationResult& WithListOfLists(const Aws::Vector>& value) { SetListOfLists(value); return *this;} + inline KitchenSinkOperationResult& WithListOfLists(Aws::Vector>&& value) { SetListOfLists(std::move(value)); return *this;} + inline KitchenSinkOperationResult& AddListOfLists(const Aws::Vector& value) { m_listOfLists.push_back(value); return *this; } + inline KitchenSinkOperationResult& AddListOfLists(Aws::Vector&& value) { m_listOfLists.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector>& GetListOfMapsOfStrings() const{ return m_listOfMapsOfStrings; } + inline void SetListOfMapsOfStrings(const Aws::Vector>& value) { m_listOfMapsOfStrings = value; } + inline void SetListOfMapsOfStrings(Aws::Vector>&& value) { m_listOfMapsOfStrings = std::move(value); } + inline KitchenSinkOperationResult& WithListOfMapsOfStrings(const Aws::Vector>& value) { SetListOfMapsOfStrings(value); return *this;} + inline KitchenSinkOperationResult& WithListOfMapsOfStrings(Aws::Vector>&& value) { SetListOfMapsOfStrings(std::move(value)); return *this;} + inline KitchenSinkOperationResult& AddListOfMapsOfStrings(const Aws::Map& value) { m_listOfMapsOfStrings.push_back(value); return *this; } + inline KitchenSinkOperationResult& AddListOfMapsOfStrings(Aws::Map&& value) { m_listOfMapsOfStrings.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetListOfStrings() const{ return m_listOfStrings; } + inline void SetListOfStrings(const Aws::Vector& value) { m_listOfStrings = value; } + inline void SetListOfStrings(Aws::Vector&& value) { m_listOfStrings = std::move(value); } + inline KitchenSinkOperationResult& WithListOfStrings(const Aws::Vector& value) { SetListOfStrings(value); return *this;} + inline KitchenSinkOperationResult& WithListOfStrings(Aws::Vector&& value) { SetListOfStrings(std::move(value)); return *this;} + inline KitchenSinkOperationResult& AddListOfStrings(const Aws::String& value) { m_listOfStrings.push_back(value); return *this; } + inline KitchenSinkOperationResult& AddListOfStrings(Aws::String&& value) { m_listOfStrings.push_back(std::move(value)); return *this; } + inline KitchenSinkOperationResult& AddListOfStrings(const char* value) { m_listOfStrings.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetListOfStructs() const{ return m_listOfStructs; } + inline void SetListOfStructs(const Aws::Vector& value) { m_listOfStructs = value; } + inline void SetListOfStructs(Aws::Vector&& value) { m_listOfStructs = std::move(value); } + inline KitchenSinkOperationResult& WithListOfStructs(const Aws::Vector& value) { SetListOfStructs(value); return *this;} + inline KitchenSinkOperationResult& WithListOfStructs(Aws::Vector&& value) { SetListOfStructs(std::move(value)); return *this;} + inline KitchenSinkOperationResult& AddListOfStructs(const SimpleStruct& value) { m_listOfStructs.push_back(value); return *this; } + inline KitchenSinkOperationResult& AddListOfStructs(SimpleStruct&& value) { m_listOfStructs.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + + inline long long GetLong() const{ return m_long; } + inline void SetLong(long long value) { m_long = value; } + inline KitchenSinkOperationResult& WithLong(long long value) { SetLong(value); return *this;} + ///@} + + ///@{ + + inline const Aws::Map>& GetMapOfListsOfStrings() const{ return m_mapOfListsOfStrings; } + inline void SetMapOfListsOfStrings(const Aws::Map>& value) { m_mapOfListsOfStrings = value; } + inline void SetMapOfListsOfStrings(Aws::Map>&& value) { m_mapOfListsOfStrings = std::move(value); } + inline KitchenSinkOperationResult& WithMapOfListsOfStrings(const Aws::Map>& value) { SetMapOfListsOfStrings(value); return *this;} + inline KitchenSinkOperationResult& WithMapOfListsOfStrings(Aws::Map>&& value) { SetMapOfListsOfStrings(std::move(value)); return *this;} + inline KitchenSinkOperationResult& AddMapOfListsOfStrings(const Aws::String& key, const Aws::Vector& value) { m_mapOfListsOfStrings.emplace(key, value); return *this; } + inline KitchenSinkOperationResult& AddMapOfListsOfStrings(Aws::String&& key, const Aws::Vector& value) { m_mapOfListsOfStrings.emplace(std::move(key), value); return *this; } + inline KitchenSinkOperationResult& AddMapOfListsOfStrings(const Aws::String& key, Aws::Vector&& value) { m_mapOfListsOfStrings.emplace(key, std::move(value)); return *this; } + inline KitchenSinkOperationResult& AddMapOfListsOfStrings(Aws::String&& key, Aws::Vector&& value) { m_mapOfListsOfStrings.emplace(std::move(key), std::move(value)); return *this; } + inline KitchenSinkOperationResult& AddMapOfListsOfStrings(const char* key, Aws::Vector&& value) { m_mapOfListsOfStrings.emplace(key, std::move(value)); return *this; } + inline KitchenSinkOperationResult& AddMapOfListsOfStrings(const char* key, const Aws::Vector& value) { m_mapOfListsOfStrings.emplace(key, value); return *this; } + ///@} + + ///@{ + + inline const Aws::Map>& GetMapOfMaps() const{ return m_mapOfMaps; } + inline void SetMapOfMaps(const Aws::Map>& value) { m_mapOfMaps = value; } + inline void SetMapOfMaps(Aws::Map>&& value) { m_mapOfMaps = std::move(value); } + inline KitchenSinkOperationResult& WithMapOfMaps(const Aws::Map>& value) { SetMapOfMaps(value); return *this;} + inline KitchenSinkOperationResult& WithMapOfMaps(Aws::Map>&& value) { SetMapOfMaps(std::move(value)); return *this;} + inline KitchenSinkOperationResult& AddMapOfMaps(const Aws::String& key, const Aws::Map& value) { m_mapOfMaps.emplace(key, value); return *this; } + inline KitchenSinkOperationResult& AddMapOfMaps(Aws::String&& key, const Aws::Map& value) { m_mapOfMaps.emplace(std::move(key), value); return *this; } + inline KitchenSinkOperationResult& AddMapOfMaps(const Aws::String& key, Aws::Map&& value) { m_mapOfMaps.emplace(key, std::move(value)); return *this; } + inline KitchenSinkOperationResult& AddMapOfMaps(Aws::String&& key, Aws::Map&& value) { m_mapOfMaps.emplace(std::move(key), std::move(value)); return *this; } + inline KitchenSinkOperationResult& AddMapOfMaps(const char* key, Aws::Map&& value) { m_mapOfMaps.emplace(key, std::move(value)); return *this; } + inline KitchenSinkOperationResult& AddMapOfMaps(const char* key, const Aws::Map& value) { m_mapOfMaps.emplace(key, value); return *this; } + ///@} + + ///@{ + + inline const Aws::Map& GetMapOfStrings() const{ return m_mapOfStrings; } + inline void SetMapOfStrings(const Aws::Map& value) { m_mapOfStrings = value; } + inline void SetMapOfStrings(Aws::Map&& value) { m_mapOfStrings = std::move(value); } + inline KitchenSinkOperationResult& WithMapOfStrings(const Aws::Map& value) { SetMapOfStrings(value); return *this;} + inline KitchenSinkOperationResult& WithMapOfStrings(Aws::Map&& value) { SetMapOfStrings(std::move(value)); return *this;} + inline KitchenSinkOperationResult& AddMapOfStrings(const Aws::String& key, const Aws::String& value) { m_mapOfStrings.emplace(key, value); return *this; } + inline KitchenSinkOperationResult& AddMapOfStrings(Aws::String&& key, const Aws::String& value) { m_mapOfStrings.emplace(std::move(key), value); return *this; } + inline KitchenSinkOperationResult& AddMapOfStrings(const Aws::String& key, Aws::String&& value) { m_mapOfStrings.emplace(key, std::move(value)); return *this; } + inline KitchenSinkOperationResult& AddMapOfStrings(Aws::String&& key, Aws::String&& value) { m_mapOfStrings.emplace(std::move(key), std::move(value)); return *this; } + inline KitchenSinkOperationResult& AddMapOfStrings(const char* key, Aws::String&& value) { m_mapOfStrings.emplace(key, std::move(value)); return *this; } + inline KitchenSinkOperationResult& AddMapOfStrings(Aws::String&& key, const char* value) { m_mapOfStrings.emplace(std::move(key), value); return *this; } + inline KitchenSinkOperationResult& AddMapOfStrings(const char* key, const char* value) { m_mapOfStrings.emplace(key, value); return *this; } + ///@} + + ///@{ + + inline const Aws::Map& GetMapOfStructs() const{ return m_mapOfStructs; } + inline void SetMapOfStructs(const Aws::Map& value) { m_mapOfStructs = value; } + inline void SetMapOfStructs(Aws::Map&& value) { m_mapOfStructs = std::move(value); } + inline KitchenSinkOperationResult& WithMapOfStructs(const Aws::Map& value) { SetMapOfStructs(value); return *this;} + inline KitchenSinkOperationResult& WithMapOfStructs(Aws::Map&& value) { SetMapOfStructs(std::move(value)); return *this;} + inline KitchenSinkOperationResult& AddMapOfStructs(const Aws::String& key, const SimpleStruct& value) { m_mapOfStructs.emplace(key, value); return *this; } + inline KitchenSinkOperationResult& AddMapOfStructs(Aws::String&& key, const SimpleStruct& value) { m_mapOfStructs.emplace(std::move(key), value); return *this; } + inline KitchenSinkOperationResult& AddMapOfStructs(const Aws::String& key, SimpleStruct&& value) { m_mapOfStructs.emplace(key, std::move(value)); return *this; } + inline KitchenSinkOperationResult& AddMapOfStructs(Aws::String&& key, SimpleStruct&& value) { m_mapOfStructs.emplace(std::move(key), std::move(value)); return *this; } + inline KitchenSinkOperationResult& AddMapOfStructs(const char* key, SimpleStruct&& value) { m_mapOfStructs.emplace(key, std::move(value)); return *this; } + inline KitchenSinkOperationResult& AddMapOfStructs(const char* key, const SimpleStruct& value) { m_mapOfStructs.emplace(key, value); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetRecursiveList() const{ return m_recursiveList; } + inline void SetRecursiveList(const Aws::Vector& value) { m_recursiveList = value; } + inline void SetRecursiveList(Aws::Vector&& value) { m_recursiveList = std::move(value); } + inline KitchenSinkOperationResult& WithRecursiveList(const Aws::Vector& value) { SetRecursiveList(value); return *this;} + inline KitchenSinkOperationResult& WithRecursiveList(Aws::Vector&& value) { SetRecursiveList(std::move(value)); return *this;} + inline KitchenSinkOperationResult& AddRecursiveList(const KitchenSink& value) { m_recursiveList.push_back(value); return *this; } + inline KitchenSinkOperationResult& AddRecursiveList(KitchenSink&& value) { m_recursiveList.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + + inline const Aws::Map& GetRecursiveMap() const{ return m_recursiveMap; } + inline void SetRecursiveMap(const Aws::Map& value) { m_recursiveMap = value; } + inline void SetRecursiveMap(Aws::Map&& value) { m_recursiveMap = std::move(value); } + inline KitchenSinkOperationResult& WithRecursiveMap(const Aws::Map& value) { SetRecursiveMap(value); return *this;} + inline KitchenSinkOperationResult& WithRecursiveMap(Aws::Map&& value) { SetRecursiveMap(std::move(value)); return *this;} + inline KitchenSinkOperationResult& AddRecursiveMap(const Aws::String& key, const KitchenSink& value) { m_recursiveMap.emplace(key, value); return *this; } + inline KitchenSinkOperationResult& AddRecursiveMap(Aws::String&& key, const KitchenSink& value) { m_recursiveMap.emplace(std::move(key), value); return *this; } + inline KitchenSinkOperationResult& AddRecursiveMap(const Aws::String& key, KitchenSink&& value) { m_recursiveMap.emplace(key, std::move(value)); return *this; } + inline KitchenSinkOperationResult& AddRecursiveMap(Aws::String&& key, KitchenSink&& value) { m_recursiveMap.emplace(std::move(key), std::move(value)); return *this; } + inline KitchenSinkOperationResult& AddRecursiveMap(const char* key, KitchenSink&& value) { m_recursiveMap.emplace(key, std::move(value)); return *this; } + inline KitchenSinkOperationResult& AddRecursiveMap(const char* key, const KitchenSink& value) { m_recursiveMap.emplace(key, value); return *this; } + ///@} + + ///@{ + + inline const KitchenSink& GetRecursiveStruct() const{ return m_recursiveStruct; } + inline void SetRecursiveStruct(const KitchenSink& value) { m_recursiveStruct = value; } + inline void SetRecursiveStruct(KitchenSink&& value) { m_recursiveStruct = std::move(value); } + inline KitchenSinkOperationResult& WithRecursiveStruct(const KitchenSink& value) { SetRecursiveStruct(value); return *this;} + inline KitchenSinkOperationResult& WithRecursiveStruct(KitchenSink&& value) { SetRecursiveStruct(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const SimpleStruct& GetSimpleStruct() const{ return m_simpleStruct; } + inline void SetSimpleStruct(const SimpleStruct& value) { m_simpleStruct = value; } + inline void SetSimpleStruct(SimpleStruct&& value) { m_simpleStruct = std::move(value); } + inline KitchenSinkOperationResult& WithSimpleStruct(const SimpleStruct& value) { SetSimpleStruct(value); return *this;} + inline KitchenSinkOperationResult& WithSimpleStruct(SimpleStruct&& value) { SetSimpleStruct(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetString() const{ return m_string; } + inline void SetString(const Aws::String& value) { m_string = value; } + inline void SetString(Aws::String&& value) { m_string = std::move(value); } + inline void SetString(const char* value) { m_string.assign(value); } + inline KitchenSinkOperationResult& WithString(const Aws::String& value) { SetString(value); return *this;} + inline KitchenSinkOperationResult& WithString(Aws::String&& value) { SetString(std::move(value)); return *this;} + inline KitchenSinkOperationResult& WithString(const char* value) { SetString(value); return *this;} + ///@} + + ///@{ + + inline const StructWithJsonName& GetStructWithJsonName() const{ return m_structWithJsonName; } + inline void SetStructWithJsonName(const StructWithJsonName& value) { m_structWithJsonName = value; } + inline void SetStructWithJsonName(StructWithJsonName&& value) { m_structWithJsonName = std::move(value); } + inline KitchenSinkOperationResult& WithStructWithJsonName(const StructWithJsonName& value) { SetStructWithJsonName(value); return *this;} + inline KitchenSinkOperationResult& WithStructWithJsonName(StructWithJsonName&& value) { SetStructWithJsonName(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::Utils::DateTime& GetTimestamp() const{ return m_timestamp; } + inline void SetTimestamp(const Aws::Utils::DateTime& value) { m_timestamp = value; } + inline void SetTimestamp(Aws::Utils::DateTime&& value) { m_timestamp = std::move(value); } + inline KitchenSinkOperationResult& WithTimestamp(const Aws::Utils::DateTime& value) { SetTimestamp(value); return *this;} + inline KitchenSinkOperationResult& WithTimestamp(Aws::Utils::DateTime&& value) { SetTimestamp(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::Utils::DateTime& GetUnixTimestamp() const{ return m_unixTimestamp; } + inline void SetUnixTimestamp(const Aws::Utils::DateTime& value) { m_unixTimestamp = value; } + inline void SetUnixTimestamp(Aws::Utils::DateTime&& value) { m_unixTimestamp = std::move(value); } + inline KitchenSinkOperationResult& WithUnixTimestamp(const Aws::Utils::DateTime& value) { SetUnixTimestamp(value); return *this;} + inline KitchenSinkOperationResult& WithUnixTimestamp(Aws::Utils::DateTime&& value) { SetUnixTimestamp(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline KitchenSinkOperationResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline KitchenSinkOperationResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline KitchenSinkOperationResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::Utils::ByteBuffer m_blob; + + bool m_boolean; + + double m_double; + + EmptyStruct m_emptyStruct; + + double m_float; + + Aws::Utils::DateTime m_httpdateTimestamp; + + int m_integer; + + Aws::Utils::DateTime m_iso8601Timestamp; + + Aws::String m_jsonValue; + + Aws::Vector> m_listOfLists; + + Aws::Vector> m_listOfMapsOfStrings; + + Aws::Vector m_listOfStrings; + + Aws::Vector m_listOfStructs; + + long long m_long; + + Aws::Map> m_mapOfListsOfStrings; + + Aws::Map> m_mapOfMaps; + + Aws::Map m_mapOfStrings; + + Aws::Map m_mapOfStructs; + + Aws::Vector m_recursiveList; + + Aws::Map m_recursiveMap; + + KitchenSink m_recursiveStruct; + + SimpleStruct m_simpleStruct; + + Aws::String m_string; + + StructWithJsonName m_structWithJsonName; + + Aws::Utils::DateTime m_timestamp; + + Aws::Utils::DateTime m_unixTimestamp; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace JsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/model/MyUnion.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/model/MyUnion.h new file mode 100644 index 00000000000..85c9a8f2ea3 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/model/MyUnion.h @@ -0,0 +1,176 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace JsonProtocol +{ +namespace Model +{ + + /** + *

A union with a representative set of types for members.

See + * Also:

AWS + * API Reference

+ */ + class MyUnion + { + public: + AWS_JSONPROTOCOL_API MyUnion(); + AWS_JSONPROTOCOL_API MyUnion(Aws::Utils::Json::JsonView jsonValue); + AWS_JSONPROTOCOL_API MyUnion& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_JSONPROTOCOL_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + + inline const Aws::String& GetStringValue() const{ return m_stringValue; } + inline bool StringValueHasBeenSet() const { return m_stringValueHasBeenSet; } + inline void SetStringValue(const Aws::String& value) { m_stringValueHasBeenSet = true; m_stringValue = value; } + inline void SetStringValue(Aws::String&& value) { m_stringValueHasBeenSet = true; m_stringValue = std::move(value); } + inline void SetStringValue(const char* value) { m_stringValueHasBeenSet = true; m_stringValue.assign(value); } + inline MyUnion& WithStringValue(const Aws::String& value) { SetStringValue(value); return *this;} + inline MyUnion& WithStringValue(Aws::String&& value) { SetStringValue(std::move(value)); return *this;} + inline MyUnion& WithStringValue(const char* value) { SetStringValue(value); return *this;} + ///@} + + ///@{ + + inline bool GetBooleanValue() const{ return m_booleanValue; } + inline bool BooleanValueHasBeenSet() const { return m_booleanValueHasBeenSet; } + inline void SetBooleanValue(bool value) { m_booleanValueHasBeenSet = true; m_booleanValue = value; } + inline MyUnion& WithBooleanValue(bool value) { SetBooleanValue(value); return *this;} + ///@} + + ///@{ + + inline int GetNumberValue() const{ return m_numberValue; } + inline bool NumberValueHasBeenSet() const { return m_numberValueHasBeenSet; } + inline void SetNumberValue(int value) { m_numberValueHasBeenSet = true; m_numberValue = value; } + inline MyUnion& WithNumberValue(int value) { SetNumberValue(value); return *this;} + ///@} + + ///@{ + + inline const Aws::Utils::ByteBuffer& GetBlobValue() const{ return m_blobValue; } + inline bool BlobValueHasBeenSet() const { return m_blobValueHasBeenSet; } + inline void SetBlobValue(const Aws::Utils::ByteBuffer& value) { m_blobValueHasBeenSet = true; m_blobValue = value; } + inline void SetBlobValue(Aws::Utils::ByteBuffer&& value) { m_blobValueHasBeenSet = true; m_blobValue = std::move(value); } + inline MyUnion& WithBlobValue(const Aws::Utils::ByteBuffer& value) { SetBlobValue(value); return *this;} + inline MyUnion& WithBlobValue(Aws::Utils::ByteBuffer&& value) { SetBlobValue(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::Utils::DateTime& GetTimestampValue() const{ return m_timestampValue; } + inline bool TimestampValueHasBeenSet() const { return m_timestampValueHasBeenSet; } + inline void SetTimestampValue(const Aws::Utils::DateTime& value) { m_timestampValueHasBeenSet = true; m_timestampValue = value; } + inline void SetTimestampValue(Aws::Utils::DateTime&& value) { m_timestampValueHasBeenSet = true; m_timestampValue = std::move(value); } + inline MyUnion& WithTimestampValue(const Aws::Utils::DateTime& value) { SetTimestampValue(value); return *this;} + inline MyUnion& WithTimestampValue(Aws::Utils::DateTime&& value) { SetTimestampValue(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const FooEnum& GetEnumValue() const{ return m_enumValue; } + inline bool EnumValueHasBeenSet() const { return m_enumValueHasBeenSet; } + inline void SetEnumValue(const FooEnum& value) { m_enumValueHasBeenSet = true; m_enumValue = value; } + inline void SetEnumValue(FooEnum&& value) { m_enumValueHasBeenSet = true; m_enumValue = std::move(value); } + inline MyUnion& WithEnumValue(const FooEnum& value) { SetEnumValue(value); return *this;} + inline MyUnion& WithEnumValue(FooEnum&& value) { SetEnumValue(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::Vector& GetListValue() const{ return m_listValue; } + inline bool ListValueHasBeenSet() const { return m_listValueHasBeenSet; } + inline void SetListValue(const Aws::Vector& value) { m_listValueHasBeenSet = true; m_listValue = value; } + inline void SetListValue(Aws::Vector&& value) { m_listValueHasBeenSet = true; m_listValue = std::move(value); } + inline MyUnion& WithListValue(const Aws::Vector& value) { SetListValue(value); return *this;} + inline MyUnion& WithListValue(Aws::Vector&& value) { SetListValue(std::move(value)); return *this;} + inline MyUnion& AddListValue(const Aws::String& value) { m_listValueHasBeenSet = true; m_listValue.push_back(value); return *this; } + inline MyUnion& AddListValue(Aws::String&& value) { m_listValueHasBeenSet = true; m_listValue.push_back(std::move(value)); return *this; } + inline MyUnion& AddListValue(const char* value) { m_listValueHasBeenSet = true; m_listValue.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::Map& GetMapValue() const{ return m_mapValue; } + inline bool MapValueHasBeenSet() const { return m_mapValueHasBeenSet; } + inline void SetMapValue(const Aws::Map& value) { m_mapValueHasBeenSet = true; m_mapValue = value; } + inline void SetMapValue(Aws::Map&& value) { m_mapValueHasBeenSet = true; m_mapValue = std::move(value); } + inline MyUnion& WithMapValue(const Aws::Map& value) { SetMapValue(value); return *this;} + inline MyUnion& WithMapValue(Aws::Map&& value) { SetMapValue(std::move(value)); return *this;} + inline MyUnion& AddMapValue(const Aws::String& key, const Aws::String& value) { m_mapValueHasBeenSet = true; m_mapValue.emplace(key, value); return *this; } + inline MyUnion& AddMapValue(Aws::String&& key, const Aws::String& value) { m_mapValueHasBeenSet = true; m_mapValue.emplace(std::move(key), value); return *this; } + inline MyUnion& AddMapValue(const Aws::String& key, Aws::String&& value) { m_mapValueHasBeenSet = true; m_mapValue.emplace(key, std::move(value)); return *this; } + inline MyUnion& AddMapValue(Aws::String&& key, Aws::String&& value) { m_mapValueHasBeenSet = true; m_mapValue.emplace(std::move(key), std::move(value)); return *this; } + inline MyUnion& AddMapValue(const char* key, Aws::String&& value) { m_mapValueHasBeenSet = true; m_mapValue.emplace(key, std::move(value)); return *this; } + inline MyUnion& AddMapValue(Aws::String&& key, const char* value) { m_mapValueHasBeenSet = true; m_mapValue.emplace(std::move(key), value); return *this; } + inline MyUnion& AddMapValue(const char* key, const char* value) { m_mapValueHasBeenSet = true; m_mapValue.emplace(key, value); return *this; } + ///@} + + ///@{ + + inline const GreetingStruct& GetStructureValue() const{ return m_structureValue; } + inline bool StructureValueHasBeenSet() const { return m_structureValueHasBeenSet; } + inline void SetStructureValue(const GreetingStruct& value) { m_structureValueHasBeenSet = true; m_structureValue = value; } + inline void SetStructureValue(GreetingStruct&& value) { m_structureValueHasBeenSet = true; m_structureValue = std::move(value); } + inline MyUnion& WithStructureValue(const GreetingStruct& value) { SetStructureValue(value); return *this;} + inline MyUnion& WithStructureValue(GreetingStruct&& value) { SetStructureValue(std::move(value)); return *this;} + ///@} + private: + + Aws::String m_stringValue; + bool m_stringValueHasBeenSet = false; + + bool m_booleanValue; + bool m_booleanValueHasBeenSet = false; + + int m_numberValue; + bool m_numberValueHasBeenSet = false; + + Aws::Utils::ByteBuffer m_blobValue; + bool m_blobValueHasBeenSet = false; + + Aws::Utils::DateTime m_timestampValue; + bool m_timestampValueHasBeenSet = false; + + FooEnum m_enumValue; + bool m_enumValueHasBeenSet = false; + + Aws::Vector m_listValue; + bool m_listValueHasBeenSet = false; + + Aws::Map m_mapValue; + bool m_mapValueHasBeenSet = false; + + GreetingStruct m_structureValue; + bool m_structureValueHasBeenSet = false; + }; + +} // namespace Model +} // namespace JsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/model/NullOperationRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/model/NullOperationRequest.h new file mode 100644 index 00000000000..6051cab1998 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/model/NullOperationRequest.h @@ -0,0 +1,71 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace JsonProtocol +{ +namespace Model +{ + + /** + */ + class NullOperationRequest : public JsonProtocolRequest + { + public: + AWS_JSONPROTOCOL_API NullOperationRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "NullOperation"; } + + AWS_JSONPROTOCOL_API Aws::String SerializePayload() const override; + + AWS_JSONPROTOCOL_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + + inline const Aws::String& GetString() const{ return m_string; } + inline bool StringHasBeenSet() const { return m_stringHasBeenSet; } + inline void SetString(const Aws::String& value) { m_stringHasBeenSet = true; m_string = value; } + inline void SetString(Aws::String&& value) { m_stringHasBeenSet = true; m_string = std::move(value); } + inline void SetString(const char* value) { m_stringHasBeenSet = true; m_string.assign(value); } + inline NullOperationRequest& WithString(const Aws::String& value) { SetString(value); return *this;} + inline NullOperationRequest& WithString(Aws::String&& value) { SetString(std::move(value)); return *this;} + inline NullOperationRequest& WithString(const char* value) { SetString(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline bool RequestIdHasBeenSet() const { return m_requestIdHasBeenSet; } + inline void SetRequestId(const Aws::String& value) { m_requestIdHasBeenSet = true; m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestIdHasBeenSet = true; m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestIdHasBeenSet = true; m_requestId.assign(value); } + inline NullOperationRequest& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline NullOperationRequest& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline NullOperationRequest& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_string; + bool m_stringHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace JsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/model/NullOperationResult.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/model/NullOperationResult.h new file mode 100644 index 00000000000..4a2a929c751 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/model/NullOperationResult.h @@ -0,0 +1,65 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace JsonProtocol +{ +namespace Model +{ + class NullOperationResult + { + public: + AWS_JSONPROTOCOL_API NullOperationResult(); + AWS_JSONPROTOCOL_API NullOperationResult(const Aws::AmazonWebServiceResult& result); + AWS_JSONPROTOCOL_API NullOperationResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::String& GetString() const{ return m_string; } + inline void SetString(const Aws::String& value) { m_string = value; } + inline void SetString(Aws::String&& value) { m_string = std::move(value); } + inline void SetString(const char* value) { m_string.assign(value); } + inline NullOperationResult& WithString(const Aws::String& value) { SetString(value); return *this;} + inline NullOperationResult& WithString(Aws::String&& value) { SetString(std::move(value)); return *this;} + inline NullOperationResult& WithString(const char* value) { SetString(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline NullOperationResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline NullOperationResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline NullOperationResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_string; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace JsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/model/OperationWithOptionalInputOutputRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/model/OperationWithOptionalInputOutputRequest.h new file mode 100644 index 00000000000..56e8be11f7e --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/model/OperationWithOptionalInputOutputRequest.h @@ -0,0 +1,56 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace JsonProtocol +{ +namespace Model +{ + + /** + */ + class OperationWithOptionalInputOutputRequest : public JsonProtocolRequest + { + public: + AWS_JSONPROTOCOL_API OperationWithOptionalInputOutputRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "OperationWithOptionalInputOutput"; } + + AWS_JSONPROTOCOL_API Aws::String SerializePayload() const override; + + AWS_JSONPROTOCOL_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + + inline const Aws::String& GetValue() const{ return m_value; } + inline bool ValueHasBeenSet() const { return m_valueHasBeenSet; } + inline void SetValue(const Aws::String& value) { m_valueHasBeenSet = true; m_value = value; } + inline void SetValue(Aws::String&& value) { m_valueHasBeenSet = true; m_value = std::move(value); } + inline void SetValue(const char* value) { m_valueHasBeenSet = true; m_value.assign(value); } + inline OperationWithOptionalInputOutputRequest& WithValue(const Aws::String& value) { SetValue(value); return *this;} + inline OperationWithOptionalInputOutputRequest& WithValue(Aws::String&& value) { SetValue(std::move(value)); return *this;} + inline OperationWithOptionalInputOutputRequest& WithValue(const char* value) { SetValue(value); return *this;} + ///@} + private: + + Aws::String m_value; + bool m_valueHasBeenSet = false; + }; + +} // namespace Model +} // namespace JsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/model/OperationWithOptionalInputOutputResult.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/model/OperationWithOptionalInputOutputResult.h new file mode 100644 index 00000000000..27aef797730 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/model/OperationWithOptionalInputOutputResult.h @@ -0,0 +1,65 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace JsonProtocol +{ +namespace Model +{ + class OperationWithOptionalInputOutputResult + { + public: + AWS_JSONPROTOCOL_API OperationWithOptionalInputOutputResult(); + AWS_JSONPROTOCOL_API OperationWithOptionalInputOutputResult(const Aws::AmazonWebServiceResult& result); + AWS_JSONPROTOCOL_API OperationWithOptionalInputOutputResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::String& GetValue() const{ return m_value; } + inline void SetValue(const Aws::String& value) { m_value = value; } + inline void SetValue(Aws::String&& value) { m_value = std::move(value); } + inline void SetValue(const char* value) { m_value.assign(value); } + inline OperationWithOptionalInputOutputResult& WithValue(const Aws::String& value) { SetValue(value); return *this;} + inline OperationWithOptionalInputOutputResult& WithValue(Aws::String&& value) { SetValue(std::move(value)); return *this;} + inline OperationWithOptionalInputOutputResult& WithValue(const char* value) { SetValue(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline OperationWithOptionalInputOutputResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline OperationWithOptionalInputOutputResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline OperationWithOptionalInputOutputResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_value; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace JsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/model/PutAndGetInlineDocumentsRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/model/PutAndGetInlineDocumentsRequest.h new file mode 100644 index 00000000000..6f7bbcf3be9 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/model/PutAndGetInlineDocumentsRequest.h @@ -0,0 +1,70 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace JsonProtocol +{ +namespace Model +{ + + /** + */ + class PutAndGetInlineDocumentsRequest : public JsonProtocolRequest + { + public: + AWS_JSONPROTOCOL_API PutAndGetInlineDocumentsRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "PutAndGetInlineDocuments"; } + + AWS_JSONPROTOCOL_API Aws::String SerializePayload() const override; + + AWS_JSONPROTOCOL_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + + inline Aws::Utils::DocumentView GetInlineDocument() const{ return m_inlineDocument; } + inline bool InlineDocumentHasBeenSet() const { return m_inlineDocumentHasBeenSet; } + inline void SetInlineDocument(const Aws::Utils::Document& value) { m_inlineDocumentHasBeenSet = true; m_inlineDocument = value; } + inline void SetInlineDocument(Aws::Utils::Document&& value) { m_inlineDocumentHasBeenSet = true; m_inlineDocument = std::move(value); } + inline PutAndGetInlineDocumentsRequest& WithInlineDocument(const Aws::Utils::Document& value) { SetInlineDocument(value); return *this;} + inline PutAndGetInlineDocumentsRequest& WithInlineDocument(Aws::Utils::Document&& value) { SetInlineDocument(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline bool RequestIdHasBeenSet() const { return m_requestIdHasBeenSet; } + inline void SetRequestId(const Aws::String& value) { m_requestIdHasBeenSet = true; m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestIdHasBeenSet = true; m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestIdHasBeenSet = true; m_requestId.assign(value); } + inline PutAndGetInlineDocumentsRequest& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline PutAndGetInlineDocumentsRequest& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline PutAndGetInlineDocumentsRequest& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::Utils::Document m_inlineDocument; + bool m_inlineDocumentHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace JsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/model/PutAndGetInlineDocumentsResult.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/model/PutAndGetInlineDocumentsResult.h new file mode 100644 index 00000000000..7ff0b881fa5 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/model/PutAndGetInlineDocumentsResult.h @@ -0,0 +1,64 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace JsonProtocol +{ +namespace Model +{ + class PutAndGetInlineDocumentsResult + { + public: + AWS_JSONPROTOCOL_API PutAndGetInlineDocumentsResult(); + AWS_JSONPROTOCOL_API PutAndGetInlineDocumentsResult(const Aws::AmazonWebServiceResult& result); + AWS_JSONPROTOCOL_API PutAndGetInlineDocumentsResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline Aws::Utils::DocumentView GetInlineDocument() const{ return m_inlineDocument; } + inline void SetInlineDocument(const Aws::Utils::Document& value) { m_inlineDocument = value; } + inline void SetInlineDocument(Aws::Utils::Document&& value) { m_inlineDocument = std::move(value); } + inline PutAndGetInlineDocumentsResult& WithInlineDocument(const Aws::Utils::Document& value) { SetInlineDocument(value); return *this;} + inline PutAndGetInlineDocumentsResult& WithInlineDocument(Aws::Utils::Document&& value) { SetInlineDocument(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline PutAndGetInlineDocumentsResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline PutAndGetInlineDocumentsResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline PutAndGetInlineDocumentsResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::Utils::Document m_inlineDocument; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace JsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/model/PutWithContentEncodingRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/model/PutWithContentEncodingRequest.h new file mode 100644 index 00000000000..cd7e630d712 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/model/PutWithContentEncodingRequest.h @@ -0,0 +1,76 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace JsonProtocol +{ +namespace Model +{ + + /** + */ + class PutWithContentEncodingRequest : public JsonProtocolRequest + { + public: + AWS_JSONPROTOCOL_API PutWithContentEncodingRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "PutWithContentEncoding"; } + + AWS_JSONPROTOCOL_API Aws::String SerializePayload() const override; + + AWS_JSONPROTOCOL_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + +#ifdef ENABLED_ZLIB_REQUEST_COMPRESSION + virtual Aws::Client::CompressionAlgorithm + GetSelectedCompressionAlgorithm(Aws::Client::RequestCompressionConfig config) const override; +#endif + + + ///@{ + + inline const Aws::String& GetEncoding() const{ return m_encoding; } + inline bool EncodingHasBeenSet() const { return m_encodingHasBeenSet; } + inline void SetEncoding(const Aws::String& value) { m_encodingHasBeenSet = true; m_encoding = value; } + inline void SetEncoding(Aws::String&& value) { m_encodingHasBeenSet = true; m_encoding = std::move(value); } + inline void SetEncoding(const char* value) { m_encodingHasBeenSet = true; m_encoding.assign(value); } + inline PutWithContentEncodingRequest& WithEncoding(const Aws::String& value) { SetEncoding(value); return *this;} + inline PutWithContentEncodingRequest& WithEncoding(Aws::String&& value) { SetEncoding(std::move(value)); return *this;} + inline PutWithContentEncodingRequest& WithEncoding(const char* value) { SetEncoding(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetData() const{ return m_data; } + inline bool DataHasBeenSet() const { return m_dataHasBeenSet; } + inline void SetData(const Aws::String& value) { m_dataHasBeenSet = true; m_data = value; } + inline void SetData(Aws::String&& value) { m_dataHasBeenSet = true; m_data = std::move(value); } + inline void SetData(const char* value) { m_dataHasBeenSet = true; m_data.assign(value); } + inline PutWithContentEncodingRequest& WithData(const Aws::String& value) { SetData(value); return *this;} + inline PutWithContentEncodingRequest& WithData(Aws::String&& value) { SetData(std::move(value)); return *this;} + inline PutWithContentEncodingRequest& WithData(const char* value) { SetData(value); return *this;} + ///@} + private: + + Aws::String m_encoding; + bool m_encodingHasBeenSet = false; + + Aws::String m_data; + bool m_dataHasBeenSet = false; + }; + +} // namespace Model +} // namespace JsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/model/SimpleScalarPropertiesRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/model/SimpleScalarPropertiesRequest.h new file mode 100644 index 00000000000..21ac0d0dec3 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/model/SimpleScalarPropertiesRequest.h @@ -0,0 +1,78 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace JsonProtocol +{ +namespace Model +{ + + /** + */ + class SimpleScalarPropertiesRequest : public JsonProtocolRequest + { + public: + AWS_JSONPROTOCOL_API SimpleScalarPropertiesRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "SimpleScalarProperties"; } + + AWS_JSONPROTOCOL_API Aws::String SerializePayload() const override; + + AWS_JSONPROTOCOL_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + + inline double GetFloatValue() const{ return m_floatValue; } + inline bool FloatValueHasBeenSet() const { return m_floatValueHasBeenSet; } + inline void SetFloatValue(double value) { m_floatValueHasBeenSet = true; m_floatValue = value; } + inline SimpleScalarPropertiesRequest& WithFloatValue(double value) { SetFloatValue(value); return *this;} + ///@} + + ///@{ + + inline double GetDoubleValue() const{ return m_doubleValue; } + inline bool DoubleValueHasBeenSet() const { return m_doubleValueHasBeenSet; } + inline void SetDoubleValue(double value) { m_doubleValueHasBeenSet = true; m_doubleValue = value; } + inline SimpleScalarPropertiesRequest& WithDoubleValue(double value) { SetDoubleValue(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline bool RequestIdHasBeenSet() const { return m_requestIdHasBeenSet; } + inline void SetRequestId(const Aws::String& value) { m_requestIdHasBeenSet = true; m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestIdHasBeenSet = true; m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestIdHasBeenSet = true; m_requestId.assign(value); } + inline SimpleScalarPropertiesRequest& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline SimpleScalarPropertiesRequest& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline SimpleScalarPropertiesRequest& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + double m_floatValue; + bool m_floatValueHasBeenSet = false; + + double m_doubleValue; + bool m_doubleValueHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace JsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/model/SimpleScalarPropertiesResult.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/model/SimpleScalarPropertiesResult.h new file mode 100644 index 00000000000..fa4ad840296 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/model/SimpleScalarPropertiesResult.h @@ -0,0 +1,70 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace JsonProtocol +{ +namespace Model +{ + class SimpleScalarPropertiesResult + { + public: + AWS_JSONPROTOCOL_API SimpleScalarPropertiesResult(); + AWS_JSONPROTOCOL_API SimpleScalarPropertiesResult(const Aws::AmazonWebServiceResult& result); + AWS_JSONPROTOCOL_API SimpleScalarPropertiesResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline double GetFloatValue() const{ return m_floatValue; } + inline void SetFloatValue(double value) { m_floatValue = value; } + inline SimpleScalarPropertiesResult& WithFloatValue(double value) { SetFloatValue(value); return *this;} + ///@} + + ///@{ + + inline double GetDoubleValue() const{ return m_doubleValue; } + inline void SetDoubleValue(double value) { m_doubleValue = value; } + inline SimpleScalarPropertiesResult& WithDoubleValue(double value) { SetDoubleValue(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline SimpleScalarPropertiesResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline SimpleScalarPropertiesResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline SimpleScalarPropertiesResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + double m_floatValue; + + double m_doubleValue; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace JsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/model/SimpleStruct.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/model/SimpleStruct.h new file mode 100644 index 00000000000..a4ed3aa57f5 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/model/SimpleStruct.h @@ -0,0 +1,54 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace JsonProtocol +{ +namespace Model +{ + + class SimpleStruct + { + public: + AWS_JSONPROTOCOL_API SimpleStruct(); + AWS_JSONPROTOCOL_API SimpleStruct(Aws::Utils::Json::JsonView jsonValue); + AWS_JSONPROTOCOL_API SimpleStruct& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_JSONPROTOCOL_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + + inline const Aws::String& GetValue() const{ return m_value; } + inline bool ValueHasBeenSet() const { return m_valueHasBeenSet; } + inline void SetValue(const Aws::String& value) { m_valueHasBeenSet = true; m_value = value; } + inline void SetValue(Aws::String&& value) { m_valueHasBeenSet = true; m_value = std::move(value); } + inline void SetValue(const char* value) { m_valueHasBeenSet = true; m_value.assign(value); } + inline SimpleStruct& WithValue(const Aws::String& value) { SetValue(value); return *this;} + inline SimpleStruct& WithValue(Aws::String&& value) { SetValue(std::move(value)); return *this;} + inline SimpleStruct& WithValue(const char* value) { SetValue(value); return *this;} + ///@} + private: + + Aws::String m_value; + bool m_valueHasBeenSet = false; + }; + +} // namespace Model +} // namespace JsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/model/StructWithJsonName.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/model/StructWithJsonName.h new file mode 100644 index 00000000000..8961f1ef3d8 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/model/StructWithJsonName.h @@ -0,0 +1,54 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace JsonProtocol +{ +namespace Model +{ + + class StructWithJsonName + { + public: + AWS_JSONPROTOCOL_API StructWithJsonName(); + AWS_JSONPROTOCOL_API StructWithJsonName(Aws::Utils::Json::JsonView jsonValue); + AWS_JSONPROTOCOL_API StructWithJsonName& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_JSONPROTOCOL_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + + inline const Aws::String& GetValue() const{ return m_value; } + inline bool ValueHasBeenSet() const { return m_valueHasBeenSet; } + inline void SetValue(const Aws::String& value) { m_valueHasBeenSet = true; m_value = value; } + inline void SetValue(Aws::String&& value) { m_valueHasBeenSet = true; m_value = std::move(value); } + inline void SetValue(const char* value) { m_valueHasBeenSet = true; m_value.assign(value); } + inline StructWithJsonName& WithValue(const Aws::String& value) { SetValue(value); return *this;} + inline StructWithJsonName& WithValue(Aws::String&& value) { SetValue(std::move(value)); return *this;} + inline StructWithJsonName& WithValue(const char* value) { SetValue(value); return *this;} + ///@} + private: + + Aws::String m_value; + bool m_valueHasBeenSet = false; + }; + +} // namespace Model +} // namespace JsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/source/JsonProtocolClient.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/source/JsonProtocolClient.cpp new file mode 100644 index 00000000000..d5083dd6be6 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/source/JsonProtocolClient.cpp @@ -0,0 +1,543 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include + +#include +#include +#include + +using namespace Aws; +using namespace Aws::Auth; +using namespace Aws::Client; +using namespace Aws::JsonProtocol; +using namespace Aws::JsonProtocol::Model; +using namespace Aws::Http; +using namespace Aws::Utils::Json; +using namespace smithy::components::tracing; +using ResolveEndpointOutcome = Aws::Endpoint::ResolveEndpointOutcome; + +namespace Aws +{ + namespace JsonProtocol + { + const char ALLOCATION_TAG[] = "JsonProtocolClient"; + const char SERVICE_NAME[] = "jsonprotocol"; + } +} +const char* JsonProtocolClient::GetServiceName() {return SERVICE_NAME;} +const char* JsonProtocolClient::GetAllocationTag() {return ALLOCATION_TAG;} + +JsonProtocolClient::JsonProtocolClient(const JsonProtocol::JsonProtocolClientConfiguration& clientConfiguration, + std::shared_ptr endpointProvider) : + AwsSmithyClientT(clientConfiguration, + GetServiceName(), + "Json Protocol", + Aws::Http::CreateHttpClient(clientConfiguration), + Aws::MakeShared(ALLOCATION_TAG), + endpointProvider ? endpointProvider : Aws::MakeShared(ALLOCATION_TAG), + Aws::MakeShared>(ALLOCATION_TAG), + { + {smithy::SigV4AuthSchemeOption::sigV4AuthSchemeOption.schemeId, smithy::SigV4AuthScheme{GetServiceName(), clientConfiguration.region}}, + }) +{} + +JsonProtocolClient::JsonProtocolClient(const AWSCredentials& credentials, + std::shared_ptr endpointProvider, + const JsonProtocol::JsonProtocolClientConfiguration& clientConfiguration) : + AwsSmithyClientT(clientConfiguration, + GetServiceName(), + "Json Protocol", + Aws::Http::CreateHttpClient(clientConfiguration), + Aws::MakeShared(ALLOCATION_TAG), + endpointProvider ? endpointProvider : Aws::MakeShared(ALLOCATION_TAG), + Aws::MakeShared>(ALLOCATION_TAG), + { + {smithy::SigV4AuthSchemeOption::sigV4AuthSchemeOption.schemeId, smithy::SigV4AuthScheme{Aws::MakeShared(ALLOCATION_TAG, credentials), GetServiceName(), clientConfiguration.region}}, + }) +{} + +JsonProtocolClient::JsonProtocolClient(const std::shared_ptr& credentialsProvider, + std::shared_ptr endpointProvider, + const JsonProtocol::JsonProtocolClientConfiguration& clientConfiguration) : + AwsSmithyClientT(clientConfiguration, + GetServiceName(), + "Json Protocol", + Aws::Http::CreateHttpClient(clientConfiguration), + Aws::MakeShared(ALLOCATION_TAG), + endpointProvider ? endpointProvider : Aws::MakeShared(ALLOCATION_TAG), + Aws::MakeShared>(ALLOCATION_TAG), + { + {smithy::SigV4AuthSchemeOption::sigV4AuthSchemeOption.schemeId, smithy::SigV4AuthScheme{ Aws::MakeShared(ALLOCATION_TAG, credentialsProvider), GetServiceName(), clientConfiguration.region}} + }) +{} + +/* Legacy constructors due deprecation */ +JsonProtocolClient::JsonProtocolClient(const Client::ClientConfiguration& clientConfiguration) : + AwsSmithyClientT(clientConfiguration, + GetServiceName(), + "Json Protocol", + Aws::Http::CreateHttpClient(clientConfiguration), + Aws::MakeShared(ALLOCATION_TAG), + Aws::MakeShared(ALLOCATION_TAG), + Aws::MakeShared>(ALLOCATION_TAG), + { + {smithy::SigV4AuthSchemeOption::sigV4AuthSchemeOption.schemeId, smithy::SigV4AuthScheme{Aws::MakeShared(ALLOCATION_TAG), GetServiceName(), clientConfiguration.region}} + }) +{} + +JsonProtocolClient::JsonProtocolClient(const AWSCredentials& credentials, + const Client::ClientConfiguration& clientConfiguration) : + AwsSmithyClientT(clientConfiguration, + GetServiceName(), + "Json Protocol", + Aws::Http::CreateHttpClient(clientConfiguration), + Aws::MakeShared(ALLOCATION_TAG), + Aws::MakeShared(ALLOCATION_TAG), + Aws::MakeShared>(ALLOCATION_TAG), + { + {smithy::SigV4AuthSchemeOption::sigV4AuthSchemeOption.schemeId, smithy::SigV4AuthScheme{Aws::MakeShared(ALLOCATION_TAG, credentials), GetServiceName(), clientConfiguration.region}} + }) +{} + +JsonProtocolClient::JsonProtocolClient(const std::shared_ptr& credentialsProvider, + const Client::ClientConfiguration& clientConfiguration) : + AwsSmithyClientT(clientConfiguration, + GetServiceName(), + "Json Protocol", + Aws::Http::CreateHttpClient(clientConfiguration), + Aws::MakeShared(ALLOCATION_TAG), + Aws::MakeShared(ALLOCATION_TAG), + Aws::MakeShared>(ALLOCATION_TAG), + { + {smithy::SigV4AuthSchemeOption::sigV4AuthSchemeOption.schemeId, smithy::SigV4AuthScheme{Aws::MakeShared(ALLOCATION_TAG, credentialsProvider), GetServiceName(), clientConfiguration.region}} + }) +{} +/* End of legacy constructors due deprecation */ + +JsonProtocolClient::~JsonProtocolClient() +{ + ShutdownSdkClient(this, -1); +} + +std::shared_ptr& JsonProtocolClient::accessEndpointProvider() +{ + return m_endpointProvider; +} + +void JsonProtocolClient::OverrideEndpoint(const Aws::String& endpoint) +{ + AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); + m_endpointProvider->OverrideEndpoint(endpoint); +} +ContentTypeParametersOutcome JsonProtocolClient::ContentTypeParameters(const ContentTypeParametersRequest& request) const +{ + AWS_OPERATION_GUARD(ContentTypeParameters); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, ContentTypeParameters, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_clientConfiguration.telemetryProvider, ContentTypeParameters, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_clientConfiguration.telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_clientConfiguration.telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, ContentTypeParameters, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".ContentTypeParameters", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> ContentTypeParametersOutcome { + return ContentTypeParametersOutcome(MakeRequestDeserialize(&request, request.GetServiceRequestName(), Aws::Http::HttpMethod::HTTP_POST, [&](Aws::Endpoint::AWSEndpoint& resolvedEndpoint) -> void { + AWS_UNREFERENCED_PARAM(resolvedEndpoint); + })); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +DatetimeOffsetsOutcome JsonProtocolClient::DatetimeOffsets(const DatetimeOffsetsRequest& request) const +{ + AWS_OPERATION_GUARD(DatetimeOffsets); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, DatetimeOffsets, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_clientConfiguration.telemetryProvider, DatetimeOffsets, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_clientConfiguration.telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_clientConfiguration.telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, DatetimeOffsets, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".DatetimeOffsets", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> DatetimeOffsetsOutcome { + return DatetimeOffsetsOutcome(MakeRequestDeserialize(&request, request.GetServiceRequestName(), Aws::Http::HttpMethod::HTTP_POST, [&](Aws::Endpoint::AWSEndpoint& resolvedEndpoint) -> void { + AWS_UNREFERENCED_PARAM(resolvedEndpoint); + })); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +EmptyOperationOutcome JsonProtocolClient::EmptyOperation(const EmptyOperationRequest& request) const +{ + AWS_OPERATION_GUARD(EmptyOperation); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, EmptyOperation, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_clientConfiguration.telemetryProvider, EmptyOperation, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_clientConfiguration.telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_clientConfiguration.telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, EmptyOperation, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".EmptyOperation", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> EmptyOperationOutcome { + return EmptyOperationOutcome(MakeRequestDeserialize(&request, request.GetServiceRequestName(), Aws::Http::HttpMethod::HTTP_POST, [&](Aws::Endpoint::AWSEndpoint& resolvedEndpoint) -> void { + AWS_UNREFERENCED_PARAM(resolvedEndpoint); + })); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +EndpointOperationOutcome JsonProtocolClient::EndpointOperation(const EndpointOperationRequest& request) const +{ + AWS_OPERATION_GUARD(EndpointOperation); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, EndpointOperation, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_clientConfiguration.telemetryProvider, EndpointOperation, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_clientConfiguration.telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_clientConfiguration.telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, EndpointOperation, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".EndpointOperation", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> EndpointOperationOutcome { + return EndpointOperationOutcome(MakeRequestDeserialize(&request, request.GetServiceRequestName(), Aws::Http::HttpMethod::HTTP_POST, [&](Aws::Endpoint::AWSEndpoint& resolvedEndpoint) -> void { + AWS_UNREFERENCED_PARAM(resolvedEndpoint); + })); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +EndpointWithHostLabelOperationOutcome JsonProtocolClient::EndpointWithHostLabelOperation(const EndpointWithHostLabelOperationRequest& request) const +{ + AWS_OPERATION_GUARD(EndpointWithHostLabelOperation); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, EndpointWithHostLabelOperation, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_clientConfiguration.telemetryProvider, EndpointWithHostLabelOperation, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_clientConfiguration.telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_clientConfiguration.telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, EndpointWithHostLabelOperation, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".EndpointWithHostLabelOperation", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> EndpointWithHostLabelOperationOutcome { + return EndpointWithHostLabelOperationOutcome(MakeRequestDeserialize(&request, request.GetServiceRequestName(), Aws::Http::HttpMethod::HTTP_POST, [&](Aws::Endpoint::AWSEndpoint& resolvedEndpoint) -> void { + AWS_UNREFERENCED_PARAM(resolvedEndpoint); + })); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +FractionalSecondsOutcome JsonProtocolClient::FractionalSeconds(const FractionalSecondsRequest& request) const +{ + AWS_OPERATION_GUARD(FractionalSeconds); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, FractionalSeconds, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_clientConfiguration.telemetryProvider, FractionalSeconds, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_clientConfiguration.telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_clientConfiguration.telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, FractionalSeconds, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".FractionalSeconds", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> FractionalSecondsOutcome { + return FractionalSecondsOutcome(MakeRequestDeserialize(&request, request.GetServiceRequestName(), Aws::Http::HttpMethod::HTTP_POST, [&](Aws::Endpoint::AWSEndpoint& resolvedEndpoint) -> void { + AWS_UNREFERENCED_PARAM(resolvedEndpoint); + })); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +GreetingWithErrorsOutcome JsonProtocolClient::GreetingWithErrors(const GreetingWithErrorsRequest& request) const +{ + AWS_OPERATION_GUARD(GreetingWithErrors); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GreetingWithErrors, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_clientConfiguration.telemetryProvider, GreetingWithErrors, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_clientConfiguration.telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_clientConfiguration.telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, GreetingWithErrors, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".GreetingWithErrors", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> GreetingWithErrorsOutcome { + return GreetingWithErrorsOutcome(MakeRequestDeserialize(&request, request.GetServiceRequestName(), Aws::Http::HttpMethod::HTTP_POST, [&](Aws::Endpoint::AWSEndpoint& resolvedEndpoint) -> void { + AWS_UNREFERENCED_PARAM(resolvedEndpoint); + })); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +HostWithPathOperationOutcome JsonProtocolClient::HostWithPathOperation(const HostWithPathOperationRequest& request) const +{ + AWS_OPERATION_GUARD(HostWithPathOperation); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, HostWithPathOperation, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_clientConfiguration.telemetryProvider, HostWithPathOperation, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_clientConfiguration.telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_clientConfiguration.telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, HostWithPathOperation, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".HostWithPathOperation", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> HostWithPathOperationOutcome { + return HostWithPathOperationOutcome(MakeRequestDeserialize(&request, request.GetServiceRequestName(), Aws::Http::HttpMethod::HTTP_POST, [&](Aws::Endpoint::AWSEndpoint& resolvedEndpoint) -> void { + AWS_UNREFERENCED_PARAM(resolvedEndpoint); + })); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +JsonEnumsOutcome JsonProtocolClient::JsonEnums(const JsonEnumsRequest& request) const +{ + AWS_OPERATION_GUARD(JsonEnums); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, JsonEnums, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_clientConfiguration.telemetryProvider, JsonEnums, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_clientConfiguration.telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_clientConfiguration.telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, JsonEnums, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".JsonEnums", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> JsonEnumsOutcome { + return JsonEnumsOutcome(MakeRequestDeserialize(&request, request.GetServiceRequestName(), Aws::Http::HttpMethod::HTTP_POST, [&](Aws::Endpoint::AWSEndpoint& resolvedEndpoint) -> void { + AWS_UNREFERENCED_PARAM(resolvedEndpoint); + })); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +JsonIntEnumsOutcome JsonProtocolClient::JsonIntEnums(const JsonIntEnumsRequest& request) const +{ + AWS_OPERATION_GUARD(JsonIntEnums); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, JsonIntEnums, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_clientConfiguration.telemetryProvider, JsonIntEnums, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_clientConfiguration.telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_clientConfiguration.telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, JsonIntEnums, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".JsonIntEnums", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> JsonIntEnumsOutcome { + return JsonIntEnumsOutcome(MakeRequestDeserialize(&request, request.GetServiceRequestName(), Aws::Http::HttpMethod::HTTP_POST, [&](Aws::Endpoint::AWSEndpoint& resolvedEndpoint) -> void { + AWS_UNREFERENCED_PARAM(resolvedEndpoint); + })); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +JsonUnionsOutcome JsonProtocolClient::JsonUnions(const JsonUnionsRequest& request) const +{ + AWS_OPERATION_GUARD(JsonUnions); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, JsonUnions, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_clientConfiguration.telemetryProvider, JsonUnions, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_clientConfiguration.telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_clientConfiguration.telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, JsonUnions, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".JsonUnions", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> JsonUnionsOutcome { + return JsonUnionsOutcome(MakeRequestDeserialize(&request, request.GetServiceRequestName(), Aws::Http::HttpMethod::HTTP_POST, [&](Aws::Endpoint::AWSEndpoint& resolvedEndpoint) -> void { + AWS_UNREFERENCED_PARAM(resolvedEndpoint); + })); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +KitchenSinkOperationOutcome JsonProtocolClient::KitchenSinkOperation(const KitchenSinkOperationRequest& request) const +{ + AWS_OPERATION_GUARD(KitchenSinkOperation); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, KitchenSinkOperation, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_clientConfiguration.telemetryProvider, KitchenSinkOperation, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_clientConfiguration.telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_clientConfiguration.telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, KitchenSinkOperation, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".KitchenSinkOperation", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> KitchenSinkOperationOutcome { + return KitchenSinkOperationOutcome(MakeRequestDeserialize(&request, request.GetServiceRequestName(), Aws::Http::HttpMethod::HTTP_POST, [&](Aws::Endpoint::AWSEndpoint& resolvedEndpoint) -> void { + AWS_UNREFERENCED_PARAM(resolvedEndpoint); + })); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +NullOperationOutcome JsonProtocolClient::NullOperation(const NullOperationRequest& request) const +{ + AWS_OPERATION_GUARD(NullOperation); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, NullOperation, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_clientConfiguration.telemetryProvider, NullOperation, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_clientConfiguration.telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_clientConfiguration.telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, NullOperation, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".NullOperation", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> NullOperationOutcome { + return NullOperationOutcome(MakeRequestDeserialize(&request, request.GetServiceRequestName(), Aws::Http::HttpMethod::HTTP_POST, [&](Aws::Endpoint::AWSEndpoint& resolvedEndpoint) -> void { + AWS_UNREFERENCED_PARAM(resolvedEndpoint); + })); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +OperationWithOptionalInputOutputOutcome JsonProtocolClient::OperationWithOptionalInputOutput(const OperationWithOptionalInputOutputRequest& request) const +{ + AWS_OPERATION_GUARD(OperationWithOptionalInputOutput); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, OperationWithOptionalInputOutput, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_clientConfiguration.telemetryProvider, OperationWithOptionalInputOutput, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_clientConfiguration.telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_clientConfiguration.telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, OperationWithOptionalInputOutput, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".OperationWithOptionalInputOutput", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> OperationWithOptionalInputOutputOutcome { + return OperationWithOptionalInputOutputOutcome(MakeRequestDeserialize(&request, request.GetServiceRequestName(), Aws::Http::HttpMethod::HTTP_POST, [&](Aws::Endpoint::AWSEndpoint& resolvedEndpoint) -> void { + AWS_UNREFERENCED_PARAM(resolvedEndpoint); + })); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +PutAndGetInlineDocumentsOutcome JsonProtocolClient::PutAndGetInlineDocuments(const PutAndGetInlineDocumentsRequest& request) const +{ + AWS_OPERATION_GUARD(PutAndGetInlineDocuments); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, PutAndGetInlineDocuments, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_clientConfiguration.telemetryProvider, PutAndGetInlineDocuments, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_clientConfiguration.telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_clientConfiguration.telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, PutAndGetInlineDocuments, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".PutAndGetInlineDocuments", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> PutAndGetInlineDocumentsOutcome { + return PutAndGetInlineDocumentsOutcome(MakeRequestDeserialize(&request, request.GetServiceRequestName(), Aws::Http::HttpMethod::HTTP_POST, [&](Aws::Endpoint::AWSEndpoint& resolvedEndpoint) -> void { + AWS_UNREFERENCED_PARAM(resolvedEndpoint); + })); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +PutWithContentEncodingOutcome JsonProtocolClient::PutWithContentEncoding(const PutWithContentEncodingRequest& request) const +{ + AWS_OPERATION_GUARD(PutWithContentEncoding); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, PutWithContentEncoding, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_clientConfiguration.telemetryProvider, PutWithContentEncoding, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_clientConfiguration.telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_clientConfiguration.telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, PutWithContentEncoding, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".PutWithContentEncoding", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> PutWithContentEncodingOutcome { + return PutWithContentEncodingOutcome(MakeRequestDeserialize(&request, request.GetServiceRequestName(), Aws::Http::HttpMethod::HTTP_POST, [&](Aws::Endpoint::AWSEndpoint& resolvedEndpoint) -> void { + AWS_UNREFERENCED_PARAM(resolvedEndpoint); + })); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +SimpleScalarPropertiesOutcome JsonProtocolClient::SimpleScalarProperties(const SimpleScalarPropertiesRequest& request) const +{ + AWS_OPERATION_GUARD(SimpleScalarProperties); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, SimpleScalarProperties, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_clientConfiguration.telemetryProvider, SimpleScalarProperties, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_clientConfiguration.telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_clientConfiguration.telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, SimpleScalarProperties, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".SimpleScalarProperties", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> SimpleScalarPropertiesOutcome { + return SimpleScalarPropertiesOutcome(MakeRequestDeserialize(&request, request.GetServiceRequestName(), Aws::Http::HttpMethod::HTTP_POST, [&](Aws::Endpoint::AWSEndpoint& resolvedEndpoint) -> void { + AWS_UNREFERENCED_PARAM(resolvedEndpoint); + })); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + + diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/source/JsonProtocolEndpointProvider.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/source/JsonProtocolEndpointProvider.cpp new file mode 100644 index 00000000000..8106b45e147 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/source/JsonProtocolEndpointProvider.cpp @@ -0,0 +1,16 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws +{ +namespace JsonProtocol +{ +namespace Endpoint +{ +} // namespace Endpoint +} // namespace JsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/source/JsonProtocolEndpointRules.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/source/JsonProtocolEndpointRules.cpp new file mode 100644 index 00000000000..1dd6a21bd88 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/source/JsonProtocolEndpointRules.cpp @@ -0,0 +1,70 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +namespace Aws +{ +namespace JsonProtocol +{ +const size_t JsonProtocolEndpointRules::RulesBlobStrLen = 1086; +const size_t JsonProtocolEndpointRules::RulesBlobSize = 1087; + +using RulesBlobT = Aws::Array; +static constexpr RulesBlobT RulesBlob = {{ +'{','"','v','e','r','s','i','o','n','"',':','"','1','.','3','"',',','"','p','a','r','a','m','e','t', +'e','r','s','"',':','{','"','R','e','g','i','o','n','"',':','{','"','b','u','i','l','t','I','n','"', +':','"','A','W','S',':',':','R','e','g','i','o','n','"',',','"','r','e','q','u','i','r','e','d','"', +':','t','r','u','e',',','"','d','o','c','u','m','e','n','t','a','t','i','o','n','"',':','"','T','h', +'e',' ','A','W','S',' ','r','e','g','i','o','n',' ','u','s','e','d',' ','t','o',' ','d','i','s','p', +'a','t','c','h',' ','t','h','e',' ','r','e','q','u','e','s','t','.','"',',','"','t','y','p','e','"', +':','"','S','t','r','i','n','g','"','}',',','"','U','s','e','D','u','a','l','S','t','a','c','k','"', +':','{','"','b','u','i','l','t','I','n','"',':','"','A','W','S',':',':','U','s','e','D','u','a','l', +'S','t','a','c','k','"',',','"','r','e','q','u','i','r','e','d','"',':','t','r','u','e',',','"','d', +'e','f','a','u','l','t','"',':','f','a','l','s','e',',','"','d','o','c','u','m','e','n','t','a','t', +'i','o','n','"',':','"','W','h','e','n',' ','t','r','u','e',',',' ','u','s','e',' ','t','h','e',' ', +'d','u','a','l','-','s','t','a','c','k',' ','e','n','d','p','o','i','n','t','.',' ','I','f',' ','t', +'h','e',' ','c','o','n','f','i','g','u','r','e','d',' ','e','n','d','p','o','i','n','t',' ','d','o', +'e','s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ','d','u','a','l','-','s','t','a','c','k', +',',' ','d','i','s','p','a','t','c','h','i','n','g',' ','t','h','e',' ','r','e','q','u','e','s','t', +' ','M','A','Y',' ','r','e','t','u','r','n',' ','a','n',' ','e','r','r','o','r','.','"',',','"','t', +'y','p','e','"',':','"','B','o','o','l','e','a','n','"','}',',','"','U','s','e','F','I','P','S','"', +':','{','"','b','u','i','l','t','I','n','"',':','"','A','W','S',':',':','U','s','e','F','I','P','S', +'"',',','"','r','e','q','u','i','r','e','d','"',':','t','r','u','e',',','"','d','e','f','a','u','l', +'t','"',':','f','a','l','s','e',',','"','d','o','c','u','m','e','n','t','a','t','i','o','n','"',':', +'"','W','h','e','n',' ','t','r','u','e',',',' ','s','e','n','d',' ','t','h','i','s',' ','r','e','q', +'u','e','s','t',' ','t','o',' ','t','h','e',' ','F','I','P','S','-','c','o','m','p','l','i','a','n', +'t',' ','r','e','g','i','o','n','a','l',' ','e','n','d','p','o','i','n','t','.',' ','I','f',' ','t', +'h','e',' ','c','o','n','f','i','g','u','r','e','d',' ','e','n','d','p','o','i','n','t',' ','d','o', +'e','s',' ','n','o','t',' ','h','a','v','e',' ','a',' ','F','I','P','S',' ','c','o','m','p','l','i', +'a','n','t',' ','e','n','d','p','o','i','n','t',',',' ','d','i','s','p','a','t','c','h','i','n','g', +' ','t','h','e',' ','r','e','q','u','e','s','t',' ','w','i','l','l',' ','r','e','t','u','r','n',' ', +'a','n',' ','e','r','r','o','r','.','"',',','"','t','y','p','e','"',':','"','B','o','o','l','e','a', +'n','"','}',',','"','E','n','d','p','o','i','n','t','"',':','{','"','b','u','i','l','t','I','n','"', +':','"','S','D','K',':',':','E','n','d','p','o','i','n','t','"',',','"','r','e','q','u','i','r','e', +'d','"',':','f','a','l','s','e',',','"','d','o','c','u','m','e','n','t','a','t','i','o','n','"',':', +'"','O','v','e','r','r','i','d','e',' ','t','h','e',' ','e','n','d','p','o','i','n','t',' ','u','s', +'e','d',' ','t','o',' ','s','e','n','d',' ','t','h','i','s',' ','r','e','q','u','e','s','t','"',',', +'"','t','y','p','e','"',':','"','S','t','r','i','n','g','"','}','}',',','"','r','u','l','e','s','"', +':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','t','y','p','e','"', +':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t', +'i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l', +'"',':','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',',','"','p','r','o', +'p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[', +'{','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','R', +'e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"',',','"','s','i','g','n','i','n', +'g','N','a','m','e','"',':','"','t','e','s','t','-','s','e','r','v','i','c','e','"','}',']','}',',', +'"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d', +'p','o','i','n','t','"','}',']','}',']','}','\0' +}}; + +const char* JsonProtocolEndpointRules::GetRulesBlob() +{ + return RulesBlob.data(); +} + +} // namespace JsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/source/JsonProtocolErrorMarshaller.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/source/JsonProtocolErrorMarshaller.cpp new file mode 100644 index 00000000000..a759611b1c1 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/source/JsonProtocolErrorMarshaller.cpp @@ -0,0 +1,22 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include + +using namespace Aws::Client; +using namespace Aws::JsonProtocol; + +AWSError JsonProtocolErrorMarshaller::FindErrorByName(const char* errorName) const +{ + AWSError error = JsonProtocolErrorMapper::GetErrorForName(errorName); + if(error.GetErrorType() != CoreErrors::UNKNOWN) + { + return error; + } + + return AWSErrorMarshaller::FindErrorByName(errorName); +} \ No newline at end of file diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/source/JsonProtocolErrors.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/source/JsonProtocolErrors.cpp new file mode 100644 index 00000000000..b13501df743 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/source/JsonProtocolErrors.cpp @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +using namespace Aws::Client; +using namespace Aws::Utils; +using namespace Aws::JsonProtocol; +using namespace Aws::JsonProtocol::Model; + +namespace Aws +{ +namespace JsonProtocol +{ +template<> AWS_JSONPROTOCOL_API ErrorWithMembers JsonProtocolError::GetModeledError() +{ + assert(this->GetErrorType() == JsonProtocolErrors::ERROR_WITH_MEMBERS); + return ErrorWithMembers(this->GetJsonPayload().View()); +} + +template<> AWS_JSONPROTOCOL_API ComplexError JsonProtocolError::GetModeledError() +{ + assert(this->GetErrorType() == JsonProtocolErrors::COMPLEX); + return ComplexError(this->GetJsonPayload().View()); +} + +namespace JsonProtocolErrorMapper +{ + +static const int ERROR_WITH_MEMBERS_HASH = HashingUtils::HashString("ErrorWithMembers"); +static const int INVALID_GREETING_HASH = HashingUtils::HashString("InvalidGreeting"); +static const int COMPLEX_HASH = HashingUtils::HashString("ComplexError"); +static const int ERROR_WITHOUT_MEMBERS_HASH = HashingUtils::HashString("ErrorWithoutMembers"); +static const int FOO_HASH = HashingUtils::HashString("FooError"); + + +AWSError GetErrorForName(const char* errorName) +{ + int hashCode = HashingUtils::HashString(errorName); + + if (hashCode == ERROR_WITH_MEMBERS_HASH) + { + return AWSError(static_cast(JsonProtocolErrors::ERROR_WITH_MEMBERS), RetryableType::NOT_RETRYABLE); + } + else if (hashCode == INVALID_GREETING_HASH) + { + return AWSError(static_cast(JsonProtocolErrors::INVALID_GREETING), RetryableType::NOT_RETRYABLE); + } + else if (hashCode == COMPLEX_HASH) + { + return AWSError(static_cast(JsonProtocolErrors::COMPLEX), RetryableType::NOT_RETRYABLE); + } + else if (hashCode == ERROR_WITHOUT_MEMBERS_HASH) + { + return AWSError(static_cast(JsonProtocolErrors::ERROR_WITHOUT_MEMBERS), RetryableType::NOT_RETRYABLE); + } + else if (hashCode == FOO_HASH) + { + return AWSError(static_cast(JsonProtocolErrors::FOO), RetryableType::NOT_RETRYABLE); + } + return AWSError(CoreErrors::UNKNOWN, false); +} + +} // namespace JsonProtocolErrorMapper +} // namespace JsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/source/JsonProtocolRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/source/JsonProtocolRequest.cpp new file mode 100644 index 00000000000..f1c1ccde9f3 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/source/JsonProtocolRequest.cpp @@ -0,0 +1,14 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + + +#include + +namespace Aws +{ +namespace JsonProtocol +{ +} // namespace JsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/source/model/ComplexError.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/source/model/ComplexError.cpp new file mode 100644 index 00000000000..d0ce57be63d --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/source/model/ComplexError.cpp @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace JsonProtocol +{ +namespace Model +{ + +ComplexError::ComplexError() : + m_topLevelHasBeenSet(false), + m_nestedHasBeenSet(false) +{ +} + +ComplexError::ComplexError(JsonView jsonValue) + : ComplexError() +{ + *this = jsonValue; +} + +ComplexError& ComplexError::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("TopLevel")) + { + m_topLevel = jsonValue.GetString("TopLevel"); + + m_topLevelHasBeenSet = true; + } + + if(jsonValue.ValueExists("Nested")) + { + m_nested = jsonValue.GetObject("Nested"); + + m_nestedHasBeenSet = true; + } + + return *this; +} + +JsonValue ComplexError::Jsonize() const +{ + JsonValue payload; + + if(m_topLevelHasBeenSet) + { + payload.WithString("TopLevel", m_topLevel); + + } + + if(m_nestedHasBeenSet) + { + payload.WithObject("Nested", m_nested.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace JsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/source/model/ComplexNestedErrorData.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/source/model/ComplexNestedErrorData.cpp new file mode 100644 index 00000000000..d281ef96e8b --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/source/model/ComplexNestedErrorData.cpp @@ -0,0 +1,59 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace JsonProtocol +{ +namespace Model +{ + +ComplexNestedErrorData::ComplexNestedErrorData() : + m_fooHasBeenSet(false) +{ +} + +ComplexNestedErrorData::ComplexNestedErrorData(JsonView jsonValue) + : ComplexNestedErrorData() +{ + *this = jsonValue; +} + +ComplexNestedErrorData& ComplexNestedErrorData::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Foo")) + { + m_foo = jsonValue.GetString("Foo"); + + m_fooHasBeenSet = true; + } + + return *this; +} + +JsonValue ComplexNestedErrorData::Jsonize() const +{ + JsonValue payload; + + if(m_fooHasBeenSet) + { + payload.WithString("Foo", m_foo); + + } + + return payload; +} + +} // namespace Model +} // namespace JsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/source/model/ContentTypeParametersRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/source/model/ContentTypeParametersRequest.cpp new file mode 100644 index 00000000000..764535aa241 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/source/model/ContentTypeParametersRequest.cpp @@ -0,0 +1,44 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::JsonProtocol::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +ContentTypeParametersRequest::ContentTypeParametersRequest() : + m_value(0), + m_valueHasBeenSet(false) +{ +} + +Aws::String ContentTypeParametersRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_valueHasBeenSet) + { + payload.WithInteger("value", m_value); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection ContentTypeParametersRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "JsonProtocol.ContentTypeParameters")); + return headers; + +} + + + + diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/source/model/ContentTypeParametersResult.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/source/model/ContentTypeParametersResult.cpp new file mode 100644 index 00000000000..3969116b59b --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/source/model/ContentTypeParametersResult.cpp @@ -0,0 +1,42 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::JsonProtocol::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +ContentTypeParametersResult::ContentTypeParametersResult() +{ +} + +ContentTypeParametersResult::ContentTypeParametersResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +ContentTypeParametersResult& ContentTypeParametersResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + AWS_UNREFERENCED_PARAM(result); + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/source/model/DatetimeOffsetsRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/source/model/DatetimeOffsetsRequest.cpp new file mode 100644 index 00000000000..fefa0927302 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/source/model/DatetimeOffsetsRequest.cpp @@ -0,0 +1,34 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::JsonProtocol::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +DatetimeOffsetsRequest::DatetimeOffsetsRequest() +{ +} + +Aws::String DatetimeOffsetsRequest::SerializePayload() const +{ + return "{}"; +} + +Aws::Http::HeaderValueCollection DatetimeOffsetsRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "JsonProtocol.DatetimeOffsets")); + return headers; + +} + + + + diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/source/model/DatetimeOffsetsResult.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/source/model/DatetimeOffsetsResult.cpp new file mode 100644 index 00000000000..b5c97904d65 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/source/model/DatetimeOffsetsResult.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::JsonProtocol::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +DatetimeOffsetsResult::DatetimeOffsetsResult() +{ +} + +DatetimeOffsetsResult::DatetimeOffsetsResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +DatetimeOffsetsResult& DatetimeOffsetsResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("datetime")) + { + m_datetime = jsonValue.GetString("datetime"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/source/model/EmptyOperationRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/source/model/EmptyOperationRequest.cpp new file mode 100644 index 00000000000..a6a48c57936 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/source/model/EmptyOperationRequest.cpp @@ -0,0 +1,34 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::JsonProtocol::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +EmptyOperationRequest::EmptyOperationRequest() +{ +} + +Aws::String EmptyOperationRequest::SerializePayload() const +{ + return "{}"; +} + +Aws::Http::HeaderValueCollection EmptyOperationRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "JsonProtocol.EmptyOperation")); + return headers; + +} + + + + diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/source/model/EmptyStruct.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/source/model/EmptyStruct.cpp new file mode 100644 index 00000000000..7263096593e --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/source/model/EmptyStruct.cpp @@ -0,0 +1,45 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace JsonProtocol +{ +namespace Model +{ + +EmptyStruct::EmptyStruct() +{ +} + +EmptyStruct::EmptyStruct(JsonView jsonValue) +{ + *this = jsonValue; +} + +EmptyStruct& EmptyStruct::operator =(JsonView jsonValue) +{ + AWS_UNREFERENCED_PARAM(jsonValue); + return *this; +} + +JsonValue EmptyStruct::Jsonize() const +{ + JsonValue payload; + + return payload; +} + +} // namespace Model +} // namespace JsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/source/model/EndpointOperationRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/source/model/EndpointOperationRequest.cpp new file mode 100644 index 00000000000..7a37fc7aa49 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/source/model/EndpointOperationRequest.cpp @@ -0,0 +1,34 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::JsonProtocol::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +EndpointOperationRequest::EndpointOperationRequest() +{ +} + +Aws::String EndpointOperationRequest::SerializePayload() const +{ + return "{}"; +} + +Aws::Http::HeaderValueCollection EndpointOperationRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "JsonProtocol.EndpointOperation")); + return headers; + +} + + + + diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/source/model/EndpointWithHostLabelOperationRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/source/model/EndpointWithHostLabelOperationRequest.cpp new file mode 100644 index 00000000000..6ee8a68eb3a --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/source/model/EndpointWithHostLabelOperationRequest.cpp @@ -0,0 +1,43 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::JsonProtocol::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +EndpointWithHostLabelOperationRequest::EndpointWithHostLabelOperationRequest() : + m_labelHasBeenSet(false) +{ +} + +Aws::String EndpointWithHostLabelOperationRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_labelHasBeenSet) + { + payload.WithString("label", m_label); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection EndpointWithHostLabelOperationRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "JsonProtocol.EndpointWithHostLabelOperation")); + return headers; + +} + + + + diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/source/model/ErrorWithMembers.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/source/model/ErrorWithMembers.cpp new file mode 100644 index 00000000000..4c461f3dcbd --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/source/model/ErrorWithMembers.cpp @@ -0,0 +1,160 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace JsonProtocol +{ +namespace Model +{ + +ErrorWithMembers::ErrorWithMembers() : + m_codeHasBeenSet(false), + m_complexDataHasBeenSet(false), + m_integerField(0), + m_integerFieldHasBeenSet(false), + m_listFieldHasBeenSet(false), + m_mapFieldHasBeenSet(false), + m_messageHasBeenSet(false), + m_stringFieldHasBeenSet(false) +{ +} + +ErrorWithMembers::ErrorWithMembers(JsonView jsonValue) + : ErrorWithMembers() +{ + *this = jsonValue; +} + +ErrorWithMembers& ErrorWithMembers::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Code")) + { + m_code = jsonValue.GetString("Code"); + + m_codeHasBeenSet = true; + } + + if(jsonValue.ValueExists("ComplexData")) + { + m_complexData = jsonValue.GetObject("ComplexData"); + + m_complexDataHasBeenSet = true; + } + + if(jsonValue.ValueExists("IntegerField")) + { + m_integerField = jsonValue.GetInteger("IntegerField"); + + m_integerFieldHasBeenSet = true; + } + + if(jsonValue.ValueExists("ListField")) + { + Aws::Utils::Array listFieldJsonList = jsonValue.GetArray("ListField"); + for(unsigned listFieldIndex = 0; listFieldIndex < listFieldJsonList.GetLength(); ++listFieldIndex) + { + m_listField.push_back(listFieldJsonList[listFieldIndex].AsString()); + } + m_listFieldHasBeenSet = true; + } + + if(jsonValue.ValueExists("MapField")) + { + Aws::Map mapFieldJsonMap = jsonValue.GetObject("MapField").GetAllObjects(); + for(auto& mapFieldItem : mapFieldJsonMap) + { + m_mapField[mapFieldItem.first] = mapFieldItem.second.AsString(); + } + m_mapFieldHasBeenSet = true; + } + + if(jsonValue.ValueExists("Message")) + { + m_message = jsonValue.GetString("Message"); + + m_messageHasBeenSet = true; + } + + if(jsonValue.ValueExists("StringField")) + { + m_stringField = jsonValue.GetString("StringField"); + + m_stringFieldHasBeenSet = true; + } + + return *this; +} + +JsonValue ErrorWithMembers::Jsonize() const +{ + JsonValue payload; + + if(m_codeHasBeenSet) + { + payload.WithString("Code", m_code); + + } + + if(m_complexDataHasBeenSet) + { + payload.WithObject("ComplexData", m_complexData.Jsonize()); + + } + + if(m_integerFieldHasBeenSet) + { + payload.WithInteger("IntegerField", m_integerField); + + } + + if(m_listFieldHasBeenSet) + { + Aws::Utils::Array listFieldJsonList(m_listField.size()); + for(unsigned listFieldIndex = 0; listFieldIndex < listFieldJsonList.GetLength(); ++listFieldIndex) + { + listFieldJsonList[listFieldIndex].AsString(m_listField[listFieldIndex]); + } + payload.WithArray("ListField", std::move(listFieldJsonList)); + + } + + if(m_mapFieldHasBeenSet) + { + JsonValue mapFieldJsonMap; + for(auto& mapFieldItem : m_mapField) + { + mapFieldJsonMap.WithString(mapFieldItem.first, mapFieldItem.second); + } + payload.WithObject("MapField", std::move(mapFieldJsonMap)); + + } + + if(m_messageHasBeenSet) + { + payload.WithString("Message", m_message); + + } + + if(m_stringFieldHasBeenSet) + { + payload.WithString("StringField", m_stringField); + + } + + return payload; +} + +} // namespace Model +} // namespace JsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/source/model/FooEnum.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/source/model/FooEnum.cpp new file mode 100644 index 00000000000..ebf260794b5 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/source/model/FooEnum.cpp @@ -0,0 +1,93 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace JsonProtocol + { + namespace Model + { + namespace FooEnumMapper + { + + static const int Foo_HASH = HashingUtils::HashString("Foo"); + static const int Baz_HASH = HashingUtils::HashString("Baz"); + static const int Bar_HASH = HashingUtils::HashString("Bar"); + static const int _1_HASH = HashingUtils::HashString("1"); + static const int _0_HASH = HashingUtils::HashString("0"); + + + FooEnum GetFooEnumForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == Foo_HASH) + { + return FooEnum::Foo; + } + else if (hashCode == Baz_HASH) + { + return FooEnum::Baz; + } + else if (hashCode == Bar_HASH) + { + return FooEnum::Bar; + } + else if (hashCode == _1_HASH) + { + return FooEnum::_1; + } + else if (hashCode == _0_HASH) + { + return FooEnum::_0; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return FooEnum::NOT_SET; + } + + Aws::String GetNameForFooEnum(FooEnum enumValue) + { + switch(enumValue) + { + case FooEnum::NOT_SET: + return {}; + case FooEnum::Foo: + return "Foo"; + case FooEnum::Baz: + return "Baz"; + case FooEnum::Bar: + return "Bar"; + case FooEnum::_1: + return "1"; + case FooEnum::_0: + return "0"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace FooEnumMapper + } // namespace Model + } // namespace JsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/source/model/FractionalSecondsRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/source/model/FractionalSecondsRequest.cpp new file mode 100644 index 00000000000..89a30d3179d --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/source/model/FractionalSecondsRequest.cpp @@ -0,0 +1,34 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::JsonProtocol::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +FractionalSecondsRequest::FractionalSecondsRequest() +{ +} + +Aws::String FractionalSecondsRequest::SerializePayload() const +{ + return "{}"; +} + +Aws::Http::HeaderValueCollection FractionalSecondsRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "JsonProtocol.FractionalSeconds")); + return headers; + +} + + + + diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/source/model/FractionalSecondsResult.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/source/model/FractionalSecondsResult.cpp new file mode 100644 index 00000000000..2daa52632da --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/source/model/FractionalSecondsResult.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::JsonProtocol::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +FractionalSecondsResult::FractionalSecondsResult() +{ +} + +FractionalSecondsResult::FractionalSecondsResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +FractionalSecondsResult& FractionalSecondsResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("datetime")) + { + m_datetime = jsonValue.GetString("datetime"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/source/model/GreetingStruct.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/source/model/GreetingStruct.cpp new file mode 100644 index 00000000000..60c999946c4 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/source/model/GreetingStruct.cpp @@ -0,0 +1,59 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace JsonProtocol +{ +namespace Model +{ + +GreetingStruct::GreetingStruct() : + m_hiHasBeenSet(false) +{ +} + +GreetingStruct::GreetingStruct(JsonView jsonValue) + : GreetingStruct() +{ + *this = jsonValue; +} + +GreetingStruct& GreetingStruct::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("hi")) + { + m_hi = jsonValue.GetString("hi"); + + m_hiHasBeenSet = true; + } + + return *this; +} + +JsonValue GreetingStruct::Jsonize() const +{ + JsonValue payload; + + if(m_hiHasBeenSet) + { + payload.WithString("hi", m_hi); + + } + + return payload; +} + +} // namespace Model +} // namespace JsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/source/model/GreetingWithErrorsRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/source/model/GreetingWithErrorsRequest.cpp new file mode 100644 index 00000000000..21dc11dc516 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/source/model/GreetingWithErrorsRequest.cpp @@ -0,0 +1,34 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::JsonProtocol::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +GreetingWithErrorsRequest::GreetingWithErrorsRequest() +{ +} + +Aws::String GreetingWithErrorsRequest::SerializePayload() const +{ + return "{}"; +} + +Aws::Http::HeaderValueCollection GreetingWithErrorsRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "JsonProtocol.GreetingWithErrors")); + return headers; + +} + + + + diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/source/model/GreetingWithErrorsResult.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/source/model/GreetingWithErrorsResult.cpp new file mode 100644 index 00000000000..9c7316cebf3 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/source/model/GreetingWithErrorsResult.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::JsonProtocol::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +GreetingWithErrorsResult::GreetingWithErrorsResult() +{ +} + +GreetingWithErrorsResult::GreetingWithErrorsResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +GreetingWithErrorsResult& GreetingWithErrorsResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("greeting")) + { + m_greeting = jsonValue.GetString("greeting"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/source/model/HostWithPathOperationRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/source/model/HostWithPathOperationRequest.cpp new file mode 100644 index 00000000000..03c24e16fb6 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/source/model/HostWithPathOperationRequest.cpp @@ -0,0 +1,34 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::JsonProtocol::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +HostWithPathOperationRequest::HostWithPathOperationRequest() +{ +} + +Aws::String HostWithPathOperationRequest::SerializePayload() const +{ + return "{}"; +} + +Aws::Http::HeaderValueCollection HostWithPathOperationRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "JsonProtocol.HostWithPathOperation")); + return headers; + +} + + + + diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/source/model/JsonEnumsRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/source/model/JsonEnumsRequest.cpp new file mode 100644 index 00000000000..d4f23f9c001 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/source/model/JsonEnumsRequest.cpp @@ -0,0 +1,103 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include + +#include + +using namespace Aws::JsonProtocol::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +JsonEnumsRequest::JsonEnumsRequest() : + m_fooEnum1(FooEnum::NOT_SET), + m_fooEnum1HasBeenSet(false), + m_fooEnum2(FooEnum::NOT_SET), + m_fooEnum2HasBeenSet(false), + m_fooEnum3(FooEnum::NOT_SET), + m_fooEnum3HasBeenSet(false), + m_fooEnumListHasBeenSet(false), + m_fooEnumSetHasBeenSet(false), + m_fooEnumMapHasBeenSet(false), + m_requestIdHasBeenSet(false) +{ +} + +Aws::String JsonEnumsRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_fooEnum1HasBeenSet) + { + payload.WithString("fooEnum1", FooEnumMapper::GetNameForFooEnum(m_fooEnum1)); + } + + if(m_fooEnum2HasBeenSet) + { + payload.WithString("fooEnum2", FooEnumMapper::GetNameForFooEnum(m_fooEnum2)); + } + + if(m_fooEnum3HasBeenSet) + { + payload.WithString("fooEnum3", FooEnumMapper::GetNameForFooEnum(m_fooEnum3)); + } + + if(m_fooEnumListHasBeenSet) + { + Aws::Utils::Array fooEnumListJsonList(m_fooEnumList.size()); + for(unsigned fooEnumListIndex = 0; fooEnumListIndex < fooEnumListJsonList.GetLength(); ++fooEnumListIndex) + { + fooEnumListJsonList[fooEnumListIndex].AsString(FooEnumMapper::GetNameForFooEnum(m_fooEnumList[fooEnumListIndex])); + } + payload.WithArray("fooEnumList", std::move(fooEnumListJsonList)); + + } + + if(m_fooEnumSetHasBeenSet) + { + Aws::Utils::Array fooEnumSetJsonList(m_fooEnumSet.size()); + for(unsigned fooEnumSetIndex = 0; fooEnumSetIndex < fooEnumSetJsonList.GetLength(); ++fooEnumSetIndex) + { + fooEnumSetJsonList[fooEnumSetIndex].AsString(FooEnumMapper::GetNameForFooEnum(m_fooEnumSet[fooEnumSetIndex])); + } + payload.WithArray("fooEnumSet", std::move(fooEnumSetJsonList)); + + } + + if(m_fooEnumMapHasBeenSet) + { + JsonValue fooEnumMapJsonMap; + for(auto& fooEnumMapItem : m_fooEnumMap) + { + fooEnumMapJsonMap.WithString(fooEnumMapItem.first, FooEnumMapper::GetNameForFooEnum(fooEnumMapItem.second)); + } + payload.WithObject("fooEnumMap", std::move(fooEnumMapJsonMap)); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection JsonEnumsRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "JsonProtocol.JsonEnums")); + Aws::StringStream ss; + if(m_requestIdHasBeenSet) + { + ss << m_requestId; + headers.emplace("x-amzn-requestid", ss.str()); + ss.str(""); + } + + return headers; + +} + + + + diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/source/model/JsonEnumsResult.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/source/model/JsonEnumsResult.cpp new file mode 100644 index 00000000000..78e1a1f3a25 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/source/model/JsonEnumsResult.cpp @@ -0,0 +1,91 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::JsonProtocol::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +JsonEnumsResult::JsonEnumsResult() : + m_fooEnum1(FooEnum::NOT_SET), + m_fooEnum2(FooEnum::NOT_SET), + m_fooEnum3(FooEnum::NOT_SET) +{ +} + +JsonEnumsResult::JsonEnumsResult(const Aws::AmazonWebServiceResult& result) + : JsonEnumsResult() +{ + *this = result; +} + +JsonEnumsResult& JsonEnumsResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("fooEnum1")) + { + m_fooEnum1 = FooEnumMapper::GetFooEnumForName(jsonValue.GetString("fooEnum1")); + + } + + if(jsonValue.ValueExists("fooEnum2")) + { + m_fooEnum2 = FooEnumMapper::GetFooEnumForName(jsonValue.GetString("fooEnum2")); + + } + + if(jsonValue.ValueExists("fooEnum3")) + { + m_fooEnum3 = FooEnumMapper::GetFooEnumForName(jsonValue.GetString("fooEnum3")); + + } + + if(jsonValue.ValueExists("fooEnumList")) + { + Aws::Utils::Array fooEnumListJsonList = jsonValue.GetArray("fooEnumList"); + for(unsigned fooEnumListIndex = 0; fooEnumListIndex < fooEnumListJsonList.GetLength(); ++fooEnumListIndex) + { + m_fooEnumList.push_back(FooEnumMapper::GetFooEnumForName(fooEnumListJsonList[fooEnumListIndex].AsString())); + } + } + + if(jsonValue.ValueExists("fooEnumSet")) + { + Aws::Utils::Array fooEnumSetJsonList = jsonValue.GetArray("fooEnumSet"); + for(unsigned fooEnumSetIndex = 0; fooEnumSetIndex < fooEnumSetJsonList.GetLength(); ++fooEnumSetIndex) + { + m_fooEnumSet.push_back(FooEnumMapper::GetFooEnumForName(fooEnumSetJsonList[fooEnumSetIndex].AsString())); + } + } + + if(jsonValue.ValueExists("fooEnumMap")) + { + Aws::Map fooEnumMapJsonMap = jsonValue.GetObject("fooEnumMap").GetAllObjects(); + for(auto& fooEnumMapItem : fooEnumMapJsonMap) + { + m_fooEnumMap[fooEnumMapItem.first] = FooEnumMapper::GetFooEnumForName(fooEnumMapItem.second.AsString()); + } + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/source/model/JsonIntEnumsRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/source/model/JsonIntEnumsRequest.cpp new file mode 100644 index 00000000000..30decda4a0c --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/source/model/JsonIntEnumsRequest.cpp @@ -0,0 +1,106 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include + +#include + +using namespace Aws::JsonProtocol::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +JsonIntEnumsRequest::JsonIntEnumsRequest() : + m_intEnum1(0), + m_intEnum1HasBeenSet(false), + m_intEnum2(0), + m_intEnum2HasBeenSet(false), + m_intEnum3(0), + m_intEnum3HasBeenSet(false), + m_intEnumListHasBeenSet(false), + m_intEnumSetHasBeenSet(false), + m_intEnumMapHasBeenSet(false), + m_requestIdHasBeenSet(false) +{ +} + +Aws::String JsonIntEnumsRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_intEnum1HasBeenSet) + { + payload.WithInteger("intEnum1", m_intEnum1); + + } + + if(m_intEnum2HasBeenSet) + { + payload.WithInteger("intEnum2", m_intEnum2); + + } + + if(m_intEnum3HasBeenSet) + { + payload.WithInteger("intEnum3", m_intEnum3); + + } + + if(m_intEnumListHasBeenSet) + { + Aws::Utils::Array intEnumListJsonList(m_intEnumList.size()); + for(unsigned intEnumListIndex = 0; intEnumListIndex < intEnumListJsonList.GetLength(); ++intEnumListIndex) + { + intEnumListJsonList[intEnumListIndex].AsInteger(m_intEnumList[intEnumListIndex]); + } + payload.WithArray("intEnumList", std::move(intEnumListJsonList)); + + } + + if(m_intEnumSetHasBeenSet) + { + Aws::Utils::Array intEnumSetJsonList(m_intEnumSet.size()); + for(unsigned intEnumSetIndex = 0; intEnumSetIndex < intEnumSetJsonList.GetLength(); ++intEnumSetIndex) + { + intEnumSetJsonList[intEnumSetIndex].AsInteger(m_intEnumSet[intEnumSetIndex]); + } + payload.WithArray("intEnumSet", std::move(intEnumSetJsonList)); + + } + + if(m_intEnumMapHasBeenSet) + { + JsonValue intEnumMapJsonMap; + for(auto& intEnumMapItem : m_intEnumMap) + { + intEnumMapJsonMap.WithInteger(intEnumMapItem.first, intEnumMapItem.second); + } + payload.WithObject("intEnumMap", std::move(intEnumMapJsonMap)); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection JsonIntEnumsRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "JsonProtocol.JsonIntEnums")); + Aws::StringStream ss; + if(m_requestIdHasBeenSet) + { + ss << m_requestId; + headers.emplace("x-amzn-requestid", ss.str()); + ss.str(""); + } + + return headers; + +} + + + + diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/source/model/JsonIntEnumsResult.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/source/model/JsonIntEnumsResult.cpp new file mode 100644 index 00000000000..921d3012066 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/source/model/JsonIntEnumsResult.cpp @@ -0,0 +1,91 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::JsonProtocol::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +JsonIntEnumsResult::JsonIntEnumsResult() : + m_intEnum1(0), + m_intEnum2(0), + m_intEnum3(0) +{ +} + +JsonIntEnumsResult::JsonIntEnumsResult(const Aws::AmazonWebServiceResult& result) + : JsonIntEnumsResult() +{ + *this = result; +} + +JsonIntEnumsResult& JsonIntEnumsResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("intEnum1")) + { + m_intEnum1 = jsonValue.GetInteger("intEnum1"); + + } + + if(jsonValue.ValueExists("intEnum2")) + { + m_intEnum2 = jsonValue.GetInteger("intEnum2"); + + } + + if(jsonValue.ValueExists("intEnum3")) + { + m_intEnum3 = jsonValue.GetInteger("intEnum3"); + + } + + if(jsonValue.ValueExists("intEnumList")) + { + Aws::Utils::Array intEnumListJsonList = jsonValue.GetArray("intEnumList"); + for(unsigned intEnumListIndex = 0; intEnumListIndex < intEnumListJsonList.GetLength(); ++intEnumListIndex) + { + m_intEnumList.push_back(intEnumListJsonList[intEnumListIndex].AsInteger()); + } + } + + if(jsonValue.ValueExists("intEnumSet")) + { + Aws::Utils::Array intEnumSetJsonList = jsonValue.GetArray("intEnumSet"); + for(unsigned intEnumSetIndex = 0; intEnumSetIndex < intEnumSetJsonList.GetLength(); ++intEnumSetIndex) + { + m_intEnumSet.push_back(intEnumSetJsonList[intEnumSetIndex].AsInteger()); + } + } + + if(jsonValue.ValueExists("intEnumMap")) + { + Aws::Map intEnumMapJsonMap = jsonValue.GetObject("intEnumMap").GetAllObjects(); + for(auto& intEnumMapItem : intEnumMapJsonMap) + { + m_intEnumMap[intEnumMapItem.first] = intEnumMapItem.second.AsInteger(); + } + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/source/model/JsonUnionsRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/source/model/JsonUnionsRequest.cpp new file mode 100644 index 00000000000..c2fa0dd8905 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/source/model/JsonUnionsRequest.cpp @@ -0,0 +1,53 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include + +#include + +using namespace Aws::JsonProtocol::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +JsonUnionsRequest::JsonUnionsRequest() : + m_contentsHasBeenSet(false), + m_requestIdHasBeenSet(false) +{ +} + +Aws::String JsonUnionsRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_contentsHasBeenSet) + { + payload.WithObject("contents", m_contents.Jsonize()); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection JsonUnionsRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "JsonProtocol.JsonUnions")); + Aws::StringStream ss; + if(m_requestIdHasBeenSet) + { + ss << m_requestId; + headers.emplace("x-amzn-requestid", ss.str()); + ss.str(""); + } + + return headers; + +} + + + + diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/source/model/JsonUnionsResult.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/source/model/JsonUnionsResult.cpp new file mode 100644 index 00000000000..f8ffcbae73f --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/source/model/JsonUnionsResult.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::JsonProtocol::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +JsonUnionsResult::JsonUnionsResult() +{ +} + +JsonUnionsResult::JsonUnionsResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +JsonUnionsResult& JsonUnionsResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("contents")) + { + m_contents = jsonValue.GetObject("contents"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/source/model/KitchenSink.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/source/model/KitchenSink.cpp new file mode 100644 index 00000000000..eb334647912 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/source/model/KitchenSink.cpp @@ -0,0 +1,544 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace JsonProtocol +{ +namespace Model +{ + +KitchenSink::KitchenSink() : + m_blobHasBeenSet(false), + m_boolean(false), + m_booleanHasBeenSet(false), + m_double(0.0), + m_doubleHasBeenSet(false), + m_emptyStructHasBeenSet(false), + m_float(0.0), + m_floatHasBeenSet(false), + m_httpdateTimestampHasBeenSet(false), + m_integer(0), + m_integerHasBeenSet(false), + m_iso8601TimestampHasBeenSet(false), + m_jsonValueHasBeenSet(false), + m_listOfListsHasBeenSet(false), + m_listOfMapsOfStringsHasBeenSet(false), + m_listOfStringsHasBeenSet(false), + m_listOfStructsHasBeenSet(false), + m_long(0), + m_longHasBeenSet(false), + m_mapOfListsOfStringsHasBeenSet(false), + m_mapOfMapsHasBeenSet(false), + m_mapOfStringsHasBeenSet(false), + m_mapOfStructsHasBeenSet(false), + m_recursiveListHasBeenSet(false), + m_recursiveMapHasBeenSet(false), + m_recursiveStructHasBeenSet(false), + m_simpleStructHasBeenSet(false), + m_stringHasBeenSet(false), + m_structWithJsonNameHasBeenSet(false), + m_timestampHasBeenSet(false), + m_unixTimestampHasBeenSet(false), + m_requestIdHasBeenSet(false) +{ +} + +KitchenSink::KitchenSink(JsonView jsonValue) + : KitchenSink() +{ + *this = jsonValue; +} + +const KitchenSink& KitchenSink::GetRecursiveStruct() const{ return *m_recursiveStruct; } +bool KitchenSink::RecursiveStructHasBeenSet() const { return m_recursiveStructHasBeenSet; } +void KitchenSink::SetRecursiveStruct(const KitchenSink& value) { m_recursiveStructHasBeenSet = true; m_recursiveStruct = Aws::MakeShared("KitchenSink", value); } +void KitchenSink::SetRecursiveStruct(KitchenSink&& value) { m_recursiveStructHasBeenSet = true; m_recursiveStruct = Aws::MakeShared("KitchenSink", std::move(value)); } +KitchenSink& KitchenSink::WithRecursiveStruct(const KitchenSink& value) { SetRecursiveStruct(value); return *this;} +KitchenSink& KitchenSink::WithRecursiveStruct(KitchenSink&& value) { SetRecursiveStruct(std::move(value)); return *this;} + +KitchenSink& KitchenSink::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Blob")) + { + m_blob = HashingUtils::Base64Decode(jsonValue.GetString("Blob")); + m_blobHasBeenSet = true; + } + + if(jsonValue.ValueExists("Boolean")) + { + m_boolean = jsonValue.GetBool("Boolean"); + + m_booleanHasBeenSet = true; + } + + if(jsonValue.ValueExists("Double")) + { + m_double = jsonValue.GetDouble("Double"); + + m_doubleHasBeenSet = true; + } + + if(jsonValue.ValueExists("EmptyStruct")) + { + m_emptyStruct = jsonValue.GetObject("EmptyStruct"); + + m_emptyStructHasBeenSet = true; + } + + if(jsonValue.ValueExists("Float")) + { + m_float = jsonValue.GetDouble("Float"); + + m_floatHasBeenSet = true; + } + + if(jsonValue.ValueExists("HttpdateTimestamp")) + { + m_httpdateTimestamp = jsonValue.GetString("HttpdateTimestamp"); + + m_httpdateTimestampHasBeenSet = true; + } + + if(jsonValue.ValueExists("Integer")) + { + m_integer = jsonValue.GetInteger("Integer"); + + m_integerHasBeenSet = true; + } + + if(jsonValue.ValueExists("Iso8601Timestamp")) + { + m_iso8601Timestamp = jsonValue.GetString("Iso8601Timestamp"); + + m_iso8601TimestampHasBeenSet = true; + } + + if(jsonValue.ValueExists("JsonValue")) + { + m_jsonValue = jsonValue.GetString("JsonValue"); + + m_jsonValueHasBeenSet = true; + } + + if(jsonValue.ValueExists("ListOfLists")) + { + Aws::Utils::Array listOfListsJsonList = jsonValue.GetArray("ListOfLists"); + for(unsigned listOfListsIndex = 0; listOfListsIndex < listOfListsJsonList.GetLength(); ++listOfListsIndex) + { + Aws::Utils::Array listOfStringsJsonList = listOfListsJsonList[listOfListsIndex].AsArray(); + Aws::Vector listOfStringsList; + listOfStringsList.reserve((size_t)listOfStringsJsonList.GetLength()); + for(unsigned listOfStringsIndex = 0; listOfStringsIndex < listOfStringsJsonList.GetLength(); ++listOfStringsIndex) + { + listOfStringsList.push_back(listOfStringsJsonList[listOfStringsIndex].AsString()); + } + m_listOfLists.push_back(std::move(listOfStringsList)); + } + m_listOfListsHasBeenSet = true; + } + + if(jsonValue.ValueExists("ListOfMapsOfStrings")) + { + Aws::Utils::Array listOfMapsOfStringsJsonList = jsonValue.GetArray("ListOfMapsOfStrings"); + for(unsigned listOfMapsOfStringsIndex = 0; listOfMapsOfStringsIndex < listOfMapsOfStringsJsonList.GetLength(); ++listOfMapsOfStringsIndex) + { + Aws::Map mapOfStringsJsonMap = listOfMapsOfStringsJsonList[listOfMapsOfStringsIndex].GetAllObjects(); + Aws::Map mapOfStringsMap; + for(auto& mapOfStringsItem : mapOfStringsJsonMap) + { + mapOfStringsMap[mapOfStringsItem.first] = mapOfStringsItem.second.AsString(); + } + m_listOfMapsOfStrings.push_back(std::move(mapOfStringsMap)); + } + m_listOfMapsOfStringsHasBeenSet = true; + } + + if(jsonValue.ValueExists("ListOfStrings")) + { + Aws::Utils::Array listOfStringsJsonList = jsonValue.GetArray("ListOfStrings"); + for(unsigned listOfStringsIndex = 0; listOfStringsIndex < listOfStringsJsonList.GetLength(); ++listOfStringsIndex) + { + m_listOfStrings.push_back(listOfStringsJsonList[listOfStringsIndex].AsString()); + } + m_listOfStringsHasBeenSet = true; + } + + if(jsonValue.ValueExists("ListOfStructs")) + { + Aws::Utils::Array listOfStructsJsonList = jsonValue.GetArray("ListOfStructs"); + for(unsigned listOfStructsIndex = 0; listOfStructsIndex < listOfStructsJsonList.GetLength(); ++listOfStructsIndex) + { + m_listOfStructs.push_back(listOfStructsJsonList[listOfStructsIndex].AsObject()); + } + m_listOfStructsHasBeenSet = true; + } + + if(jsonValue.ValueExists("Long")) + { + m_long = jsonValue.GetInt64("Long"); + + m_longHasBeenSet = true; + } + + if(jsonValue.ValueExists("MapOfListsOfStrings")) + { + Aws::Map mapOfListsOfStringsJsonMap = jsonValue.GetObject("MapOfListsOfStrings").GetAllObjects(); + for(auto& mapOfListsOfStringsItem : mapOfListsOfStringsJsonMap) + { + Aws::Utils::Array listOfStringsJsonList = mapOfListsOfStringsItem.second.AsArray(); + Aws::Vector listOfStringsList; + listOfStringsList.reserve((size_t)listOfStringsJsonList.GetLength()); + for(unsigned listOfStringsIndex = 0; listOfStringsIndex < listOfStringsJsonList.GetLength(); ++listOfStringsIndex) + { + listOfStringsList.push_back(listOfStringsJsonList[listOfStringsIndex].AsString()); + } + m_mapOfListsOfStrings[mapOfListsOfStringsItem.first] = std::move(listOfStringsList); + } + m_mapOfListsOfStringsHasBeenSet = true; + } + + if(jsonValue.ValueExists("MapOfMaps")) + { + Aws::Map mapOfMapsJsonMap = jsonValue.GetObject("MapOfMaps").GetAllObjects(); + for(auto& mapOfMapsItem : mapOfMapsJsonMap) + { + Aws::Map mapOfStringsJsonMap = mapOfMapsItem.second.GetAllObjects(); + Aws::Map mapOfStringsMap; + for(auto& mapOfStringsItem : mapOfStringsJsonMap) + { + mapOfStringsMap[mapOfStringsItem.first] = mapOfStringsItem.second.AsString(); + } + m_mapOfMaps[mapOfMapsItem.first] = std::move(mapOfStringsMap); + } + m_mapOfMapsHasBeenSet = true; + } + + if(jsonValue.ValueExists("MapOfStrings")) + { + Aws::Map mapOfStringsJsonMap = jsonValue.GetObject("MapOfStrings").GetAllObjects(); + for(auto& mapOfStringsItem : mapOfStringsJsonMap) + { + m_mapOfStrings[mapOfStringsItem.first] = mapOfStringsItem.second.AsString(); + } + m_mapOfStringsHasBeenSet = true; + } + + if(jsonValue.ValueExists("MapOfStructs")) + { + Aws::Map mapOfStructsJsonMap = jsonValue.GetObject("MapOfStructs").GetAllObjects(); + for(auto& mapOfStructsItem : mapOfStructsJsonMap) + { + m_mapOfStructs[mapOfStructsItem.first] = mapOfStructsItem.second.AsObject(); + } + m_mapOfStructsHasBeenSet = true; + } + + if(jsonValue.ValueExists("RecursiveList")) + { + Aws::Utils::Array recursiveListJsonList = jsonValue.GetArray("RecursiveList"); + for(unsigned recursiveListIndex = 0; recursiveListIndex < recursiveListJsonList.GetLength(); ++recursiveListIndex) + { + m_recursiveList.push_back(recursiveListJsonList[recursiveListIndex].AsObject()); + } + m_recursiveListHasBeenSet = true; + } + + if(jsonValue.ValueExists("RecursiveMap")) + { + Aws::Map recursiveMapJsonMap = jsonValue.GetObject("RecursiveMap").GetAllObjects(); + for(auto& recursiveMapItem : recursiveMapJsonMap) + { + m_recursiveMap[recursiveMapItem.first] = recursiveMapItem.second.AsObject(); + } + m_recursiveMapHasBeenSet = true; + } + + if(jsonValue.ValueExists("RecursiveStruct")) + { + m_recursiveStruct = Aws::MakeShared("KitchenSink", jsonValue.GetObject("RecursiveStruct")); + + m_recursiveStructHasBeenSet = true; + } + + if(jsonValue.ValueExists("SimpleStruct")) + { + m_simpleStruct = jsonValue.GetObject("SimpleStruct"); + + m_simpleStructHasBeenSet = true; + } + + if(jsonValue.ValueExists("String")) + { + m_string = jsonValue.GetString("String"); + + m_stringHasBeenSet = true; + } + + if(jsonValue.ValueExists("StructWithJsonName")) + { + m_structWithJsonName = jsonValue.GetObject("StructWithJsonName"); + + m_structWithJsonNameHasBeenSet = true; + } + + if(jsonValue.ValueExists("Timestamp")) + { + m_timestamp = jsonValue.GetDouble("Timestamp"); + + m_timestampHasBeenSet = true; + } + + if(jsonValue.ValueExists("UnixTimestamp")) + { + m_unixTimestamp = jsonValue.GetDouble("UnixTimestamp"); + + m_unixTimestampHasBeenSet = true; + } + + return *this; +} + +JsonValue KitchenSink::Jsonize() const +{ + JsonValue payload; + + if(m_blobHasBeenSet) + { + payload.WithString("Blob", HashingUtils::Base64Encode(m_blob)); + } + + if(m_booleanHasBeenSet) + { + payload.WithBool("Boolean", m_boolean); + + } + + if(m_doubleHasBeenSet) + { + payload.WithDouble("Double", m_double); + + } + + if(m_emptyStructHasBeenSet) + { + payload.WithObject("EmptyStruct", m_emptyStruct.Jsonize()); + + } + + if(m_floatHasBeenSet) + { + payload.WithDouble("Float", m_float); + + } + + if(m_httpdateTimestampHasBeenSet) + { + payload.WithString("HttpdateTimestamp", m_httpdateTimestamp.ToGmtString(Aws::Utils::DateFormat::RFC822)); + } + + if(m_integerHasBeenSet) + { + payload.WithInteger("Integer", m_integer); + + } + + if(m_iso8601TimestampHasBeenSet) + { + payload.WithString("Iso8601Timestamp", m_iso8601Timestamp.ToGmtString(Aws::Utils::DateFormat::ISO_8601)); + } + + if(m_jsonValueHasBeenSet) + { + payload.WithString("JsonValue", m_jsonValue); + + } + + if(m_listOfListsHasBeenSet) + { + Aws::Utils::Array listOfListsJsonList(m_listOfLists.size()); + for(unsigned listOfListsIndex = 0; listOfListsIndex < listOfListsJsonList.GetLength(); ++listOfListsIndex) + { + Aws::Utils::Array listOfStringsJsonList(m_listOfLists[listOfListsIndex].size()); + for(unsigned listOfStringsIndex = 0; listOfStringsIndex < listOfStringsJsonList.GetLength(); ++listOfStringsIndex) + { + listOfStringsJsonList[listOfStringsIndex].AsString(m_listOfLists[listOfListsIndex][listOfStringsIndex]); + } + listOfListsJsonList[listOfListsIndex].AsArray(std::move(listOfStringsJsonList)); + } + payload.WithArray("ListOfLists", std::move(listOfListsJsonList)); + + } + + if(m_listOfMapsOfStringsHasBeenSet) + { + Aws::Utils::Array listOfMapsOfStringsJsonList(m_listOfMapsOfStrings.size()); + for(unsigned listOfMapsOfStringsIndex = 0; listOfMapsOfStringsIndex < listOfMapsOfStringsJsonList.GetLength(); ++listOfMapsOfStringsIndex) + { + JsonValue mapOfStringsJsonMap; + for(auto& mapOfStringsItem : m_listOfMapsOfStrings[listOfMapsOfStringsIndex]) + { + mapOfStringsJsonMap.WithString(mapOfStringsItem.first, mapOfStringsItem.second); + } + listOfMapsOfStringsJsonList[listOfMapsOfStringsIndex].AsObject(std::move(mapOfStringsJsonMap)); + } + payload.WithArray("ListOfMapsOfStrings", std::move(listOfMapsOfStringsJsonList)); + + } + + if(m_listOfStringsHasBeenSet) + { + Aws::Utils::Array listOfStringsJsonList(m_listOfStrings.size()); + for(unsigned listOfStringsIndex = 0; listOfStringsIndex < listOfStringsJsonList.GetLength(); ++listOfStringsIndex) + { + listOfStringsJsonList[listOfStringsIndex].AsString(m_listOfStrings[listOfStringsIndex]); + } + payload.WithArray("ListOfStrings", std::move(listOfStringsJsonList)); + + } + + if(m_listOfStructsHasBeenSet) + { + Aws::Utils::Array listOfStructsJsonList(m_listOfStructs.size()); + for(unsigned listOfStructsIndex = 0; listOfStructsIndex < listOfStructsJsonList.GetLength(); ++listOfStructsIndex) + { + listOfStructsJsonList[listOfStructsIndex].AsObject(m_listOfStructs[listOfStructsIndex].Jsonize()); + } + payload.WithArray("ListOfStructs", std::move(listOfStructsJsonList)); + + } + + if(m_longHasBeenSet) + { + payload.WithInt64("Long", m_long); + + } + + if(m_mapOfListsOfStringsHasBeenSet) + { + JsonValue mapOfListsOfStringsJsonMap; + for(auto& mapOfListsOfStringsItem : m_mapOfListsOfStrings) + { + Aws::Utils::Array listOfStringsJsonList(mapOfListsOfStringsItem.second.size()); + for(unsigned listOfStringsIndex = 0; listOfStringsIndex < listOfStringsJsonList.GetLength(); ++listOfStringsIndex) + { + listOfStringsJsonList[listOfStringsIndex].AsString(mapOfListsOfStringsItem.second[listOfStringsIndex]); + } + mapOfListsOfStringsJsonMap.WithArray(mapOfListsOfStringsItem.first, std::move(listOfStringsJsonList)); + } + payload.WithObject("MapOfListsOfStrings", std::move(mapOfListsOfStringsJsonMap)); + + } + + if(m_mapOfMapsHasBeenSet) + { + JsonValue mapOfMapsJsonMap; + for(auto& mapOfMapsItem : m_mapOfMaps) + { + JsonValue mapOfStringsJsonMap; + for(auto& mapOfStringsItem : mapOfMapsItem.second) + { + mapOfStringsJsonMap.WithString(mapOfStringsItem.first, mapOfStringsItem.second); + } + mapOfMapsJsonMap.WithObject(mapOfMapsItem.first, std::move(mapOfStringsJsonMap)); + } + payload.WithObject("MapOfMaps", std::move(mapOfMapsJsonMap)); + + } + + if(m_mapOfStringsHasBeenSet) + { + JsonValue mapOfStringsJsonMap; + for(auto& mapOfStringsItem : m_mapOfStrings) + { + mapOfStringsJsonMap.WithString(mapOfStringsItem.first, mapOfStringsItem.second); + } + payload.WithObject("MapOfStrings", std::move(mapOfStringsJsonMap)); + + } + + if(m_mapOfStructsHasBeenSet) + { + JsonValue mapOfStructsJsonMap; + for(auto& mapOfStructsItem : m_mapOfStructs) + { + mapOfStructsJsonMap.WithObject(mapOfStructsItem.first, mapOfStructsItem.second.Jsonize()); + } + payload.WithObject("MapOfStructs", std::move(mapOfStructsJsonMap)); + + } + + if(m_recursiveListHasBeenSet) + { + Aws::Utils::Array recursiveListJsonList(m_recursiveList.size()); + for(unsigned recursiveListIndex = 0; recursiveListIndex < recursiveListJsonList.GetLength(); ++recursiveListIndex) + { + recursiveListJsonList[recursiveListIndex].AsObject(m_recursiveList[recursiveListIndex].Jsonize()); + } + payload.WithArray("RecursiveList", std::move(recursiveListJsonList)); + + } + + if(m_recursiveMapHasBeenSet) + { + JsonValue recursiveMapJsonMap; + for(auto& recursiveMapItem : m_recursiveMap) + { + recursiveMapJsonMap.WithObject(recursiveMapItem.first, recursiveMapItem.second.Jsonize()); + } + payload.WithObject("RecursiveMap", std::move(recursiveMapJsonMap)); + + } + + if(m_recursiveStructHasBeenSet) + { + payload.WithObject("RecursiveStruct", m_recursiveStruct->Jsonize()); + + } + + if(m_simpleStructHasBeenSet) + { + payload.WithObject("SimpleStruct", m_simpleStruct.Jsonize()); + + } + + if(m_stringHasBeenSet) + { + payload.WithString("String", m_string); + + } + + if(m_structWithJsonNameHasBeenSet) + { + payload.WithObject("StructWithJsonName", m_structWithJsonName.Jsonize()); + + } + + if(m_timestampHasBeenSet) + { + payload.WithDouble("Timestamp", m_timestamp.SecondsWithMSPrecision()); + } + + if(m_unixTimestampHasBeenSet) + { + payload.WithDouble("UnixTimestamp", m_unixTimestamp.SecondsWithMSPrecision()); + } + + return payload; +} + +} // namespace Model +} // namespace JsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/source/model/KitchenSinkOperationRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/source/model/KitchenSinkOperationRequest.cpp new file mode 100644 index 00000000000..c6014a75752 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/source/model/KitchenSinkOperationRequest.cpp @@ -0,0 +1,299 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::JsonProtocol::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +KitchenSinkOperationRequest::KitchenSinkOperationRequest() : + m_blobHasBeenSet(false), + m_boolean(false), + m_booleanHasBeenSet(false), + m_double(0.0), + m_doubleHasBeenSet(false), + m_emptyStructHasBeenSet(false), + m_float(0.0), + m_floatHasBeenSet(false), + m_httpdateTimestampHasBeenSet(false), + m_integer(0), + m_integerHasBeenSet(false), + m_iso8601TimestampHasBeenSet(false), + m_jsonValueHasBeenSet(false), + m_listOfListsHasBeenSet(false), + m_listOfMapsOfStringsHasBeenSet(false), + m_listOfStringsHasBeenSet(false), + m_listOfStructsHasBeenSet(false), + m_long(0), + m_longHasBeenSet(false), + m_mapOfListsOfStringsHasBeenSet(false), + m_mapOfMapsHasBeenSet(false), + m_mapOfStringsHasBeenSet(false), + m_mapOfStructsHasBeenSet(false), + m_recursiveListHasBeenSet(false), + m_recursiveMapHasBeenSet(false), + m_recursiveStructHasBeenSet(false), + m_simpleStructHasBeenSet(false), + m_stringHasBeenSet(false), + m_structWithJsonNameHasBeenSet(false), + m_timestampHasBeenSet(false), + m_unixTimestampHasBeenSet(false), + m_requestIdHasBeenSet(false) +{ +} + +Aws::String KitchenSinkOperationRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_blobHasBeenSet) + { + payload.WithString("Blob", HashingUtils::Base64Encode(m_blob)); + } + + if(m_booleanHasBeenSet) + { + payload.WithBool("Boolean", m_boolean); + + } + + if(m_doubleHasBeenSet) + { + payload.WithDouble("Double", m_double); + + } + + if(m_emptyStructHasBeenSet) + { + payload.WithObject("EmptyStruct", m_emptyStruct.Jsonize()); + + } + + if(m_floatHasBeenSet) + { + payload.WithDouble("Float", m_float); + + } + + if(m_httpdateTimestampHasBeenSet) + { + payload.WithString("HttpdateTimestamp", m_httpdateTimestamp.ToGmtString(Aws::Utils::DateFormat::RFC822)); + } + + if(m_integerHasBeenSet) + { + payload.WithInteger("Integer", m_integer); + + } + + if(m_iso8601TimestampHasBeenSet) + { + payload.WithString("Iso8601Timestamp", m_iso8601Timestamp.ToGmtString(Aws::Utils::DateFormat::ISO_8601)); + } + + if(m_jsonValueHasBeenSet) + { + payload.WithString("JsonValue", m_jsonValue); + + } + + if(m_listOfListsHasBeenSet) + { + Aws::Utils::Array listOfListsJsonList(m_listOfLists.size()); + for(unsigned listOfListsIndex = 0; listOfListsIndex < listOfListsJsonList.GetLength(); ++listOfListsIndex) + { + Aws::Utils::Array listOfStringsJsonList(m_listOfLists[listOfListsIndex].size()); + for(unsigned listOfStringsIndex = 0; listOfStringsIndex < listOfStringsJsonList.GetLength(); ++listOfStringsIndex) + { + listOfStringsJsonList[listOfStringsIndex].AsString(m_listOfLists[listOfListsIndex][listOfStringsIndex]); + } + listOfListsJsonList[listOfListsIndex].AsArray(std::move(listOfStringsJsonList)); + } + payload.WithArray("ListOfLists", std::move(listOfListsJsonList)); + + } + + if(m_listOfMapsOfStringsHasBeenSet) + { + Aws::Utils::Array listOfMapsOfStringsJsonList(m_listOfMapsOfStrings.size()); + for(unsigned listOfMapsOfStringsIndex = 0; listOfMapsOfStringsIndex < listOfMapsOfStringsJsonList.GetLength(); ++listOfMapsOfStringsIndex) + { + JsonValue mapOfStringsJsonMap; + for(auto& mapOfStringsItem : m_listOfMapsOfStrings[listOfMapsOfStringsIndex]) + { + mapOfStringsJsonMap.WithString(mapOfStringsItem.first, mapOfStringsItem.second); + } + listOfMapsOfStringsJsonList[listOfMapsOfStringsIndex].AsObject(std::move(mapOfStringsJsonMap)); + } + payload.WithArray("ListOfMapsOfStrings", std::move(listOfMapsOfStringsJsonList)); + + } + + if(m_listOfStringsHasBeenSet) + { + Aws::Utils::Array listOfStringsJsonList(m_listOfStrings.size()); + for(unsigned listOfStringsIndex = 0; listOfStringsIndex < listOfStringsJsonList.GetLength(); ++listOfStringsIndex) + { + listOfStringsJsonList[listOfStringsIndex].AsString(m_listOfStrings[listOfStringsIndex]); + } + payload.WithArray("ListOfStrings", std::move(listOfStringsJsonList)); + + } + + if(m_listOfStructsHasBeenSet) + { + Aws::Utils::Array listOfStructsJsonList(m_listOfStructs.size()); + for(unsigned listOfStructsIndex = 0; listOfStructsIndex < listOfStructsJsonList.GetLength(); ++listOfStructsIndex) + { + listOfStructsJsonList[listOfStructsIndex].AsObject(m_listOfStructs[listOfStructsIndex].Jsonize()); + } + payload.WithArray("ListOfStructs", std::move(listOfStructsJsonList)); + + } + + if(m_longHasBeenSet) + { + payload.WithInt64("Long", m_long); + + } + + if(m_mapOfListsOfStringsHasBeenSet) + { + JsonValue mapOfListsOfStringsJsonMap; + for(auto& mapOfListsOfStringsItem : m_mapOfListsOfStrings) + { + Aws::Utils::Array listOfStringsJsonList(mapOfListsOfStringsItem.second.size()); + for(unsigned listOfStringsIndex = 0; listOfStringsIndex < listOfStringsJsonList.GetLength(); ++listOfStringsIndex) + { + listOfStringsJsonList[listOfStringsIndex].AsString(mapOfListsOfStringsItem.second[listOfStringsIndex]); + } + mapOfListsOfStringsJsonMap.WithArray(mapOfListsOfStringsItem.first, std::move(listOfStringsJsonList)); + } + payload.WithObject("MapOfListsOfStrings", std::move(mapOfListsOfStringsJsonMap)); + + } + + if(m_mapOfMapsHasBeenSet) + { + JsonValue mapOfMapsJsonMap; + for(auto& mapOfMapsItem : m_mapOfMaps) + { + JsonValue mapOfStringsJsonMap; + for(auto& mapOfStringsItem : mapOfMapsItem.second) + { + mapOfStringsJsonMap.WithString(mapOfStringsItem.first, mapOfStringsItem.second); + } + mapOfMapsJsonMap.WithObject(mapOfMapsItem.first, std::move(mapOfStringsJsonMap)); + } + payload.WithObject("MapOfMaps", std::move(mapOfMapsJsonMap)); + + } + + if(m_mapOfStringsHasBeenSet) + { + JsonValue mapOfStringsJsonMap; + for(auto& mapOfStringsItem : m_mapOfStrings) + { + mapOfStringsJsonMap.WithString(mapOfStringsItem.first, mapOfStringsItem.second); + } + payload.WithObject("MapOfStrings", std::move(mapOfStringsJsonMap)); + + } + + if(m_mapOfStructsHasBeenSet) + { + JsonValue mapOfStructsJsonMap; + for(auto& mapOfStructsItem : m_mapOfStructs) + { + mapOfStructsJsonMap.WithObject(mapOfStructsItem.first, mapOfStructsItem.second.Jsonize()); + } + payload.WithObject("MapOfStructs", std::move(mapOfStructsJsonMap)); + + } + + if(m_recursiveListHasBeenSet) + { + Aws::Utils::Array recursiveListJsonList(m_recursiveList.size()); + for(unsigned recursiveListIndex = 0; recursiveListIndex < recursiveListJsonList.GetLength(); ++recursiveListIndex) + { + recursiveListJsonList[recursiveListIndex].AsObject(m_recursiveList[recursiveListIndex].Jsonize()); + } + payload.WithArray("RecursiveList", std::move(recursiveListJsonList)); + + } + + if(m_recursiveMapHasBeenSet) + { + JsonValue recursiveMapJsonMap; + for(auto& recursiveMapItem : m_recursiveMap) + { + recursiveMapJsonMap.WithObject(recursiveMapItem.first, recursiveMapItem.second.Jsonize()); + } + payload.WithObject("RecursiveMap", std::move(recursiveMapJsonMap)); + + } + + if(m_recursiveStructHasBeenSet) + { + payload.WithObject("RecursiveStruct", m_recursiveStruct.Jsonize()); + + } + + if(m_simpleStructHasBeenSet) + { + payload.WithObject("SimpleStruct", m_simpleStruct.Jsonize()); + + } + + if(m_stringHasBeenSet) + { + payload.WithString("String", m_string); + + } + + if(m_structWithJsonNameHasBeenSet) + { + payload.WithObject("StructWithJsonName", m_structWithJsonName.Jsonize()); + + } + + if(m_timestampHasBeenSet) + { + payload.WithDouble("Timestamp", m_timestamp.SecondsWithMSPrecision()); + } + + if(m_unixTimestampHasBeenSet) + { + payload.WithDouble("UnixTimestamp", m_unixTimestamp.SecondsWithMSPrecision()); + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection KitchenSinkOperationRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "JsonProtocol.KitchenSinkOperation")); + Aws::StringStream ss; + if(m_requestIdHasBeenSet) + { + ss << m_requestId; + headers.emplace("x-amzn-requestid", ss.str()); + ss.str(""); + } + + return headers; + +} + + + + diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/source/model/KitchenSinkOperationResult.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/source/model/KitchenSinkOperationResult.cpp new file mode 100644 index 00000000000..fe8310844d6 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/source/model/KitchenSinkOperationResult.cpp @@ -0,0 +1,260 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::JsonProtocol::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +KitchenSinkOperationResult::KitchenSinkOperationResult() : + m_boolean(false), + m_double(0.0), + m_float(0.0), + m_integer(0), + m_long(0) +{ +} + +KitchenSinkOperationResult::KitchenSinkOperationResult(const Aws::AmazonWebServiceResult& result) + : KitchenSinkOperationResult() +{ + *this = result; +} + +KitchenSinkOperationResult& KitchenSinkOperationResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("Blob")) + { + m_blob = HashingUtils::Base64Decode(jsonValue.GetString("Blob")); + } + + if(jsonValue.ValueExists("Boolean")) + { + m_boolean = jsonValue.GetBool("Boolean"); + + } + + if(jsonValue.ValueExists("Double")) + { + m_double = jsonValue.GetDouble("Double"); + + } + + if(jsonValue.ValueExists("EmptyStruct")) + { + m_emptyStruct = jsonValue.GetObject("EmptyStruct"); + + } + + if(jsonValue.ValueExists("Float")) + { + m_float = jsonValue.GetDouble("Float"); + + } + + if(jsonValue.ValueExists("HttpdateTimestamp")) + { + m_httpdateTimestamp = jsonValue.GetString("HttpdateTimestamp"); + + } + + if(jsonValue.ValueExists("Integer")) + { + m_integer = jsonValue.GetInteger("Integer"); + + } + + if(jsonValue.ValueExists("Iso8601Timestamp")) + { + m_iso8601Timestamp = jsonValue.GetString("Iso8601Timestamp"); + + } + + if(jsonValue.ValueExists("JsonValue")) + { + m_jsonValue = jsonValue.GetString("JsonValue"); + + } + + if(jsonValue.ValueExists("ListOfLists")) + { + Aws::Utils::Array listOfListsJsonList = jsonValue.GetArray("ListOfLists"); + for(unsigned listOfListsIndex = 0; listOfListsIndex < listOfListsJsonList.GetLength(); ++listOfListsIndex) + { + Aws::Utils::Array listOfStringsJsonList = listOfListsJsonList[listOfListsIndex].AsArray(); + Aws::Vector listOfStringsList; + listOfStringsList.reserve((size_t)listOfStringsJsonList.GetLength()); + for(unsigned listOfStringsIndex = 0; listOfStringsIndex < listOfStringsJsonList.GetLength(); ++listOfStringsIndex) + { + listOfStringsList.push_back(listOfStringsJsonList[listOfStringsIndex].AsString()); + } + m_listOfLists.push_back(std::move(listOfStringsList)); + } + } + + if(jsonValue.ValueExists("ListOfMapsOfStrings")) + { + Aws::Utils::Array listOfMapsOfStringsJsonList = jsonValue.GetArray("ListOfMapsOfStrings"); + for(unsigned listOfMapsOfStringsIndex = 0; listOfMapsOfStringsIndex < listOfMapsOfStringsJsonList.GetLength(); ++listOfMapsOfStringsIndex) + { + Aws::Map mapOfStringsJsonMap = listOfMapsOfStringsJsonList[listOfMapsOfStringsIndex].GetAllObjects(); + Aws::Map mapOfStringsMap; + for(auto& mapOfStringsItem : mapOfStringsJsonMap) + { + mapOfStringsMap[mapOfStringsItem.first] = mapOfStringsItem.second.AsString(); + } + m_listOfMapsOfStrings.push_back(std::move(mapOfStringsMap)); + } + } + + if(jsonValue.ValueExists("ListOfStrings")) + { + Aws::Utils::Array listOfStringsJsonList = jsonValue.GetArray("ListOfStrings"); + for(unsigned listOfStringsIndex = 0; listOfStringsIndex < listOfStringsJsonList.GetLength(); ++listOfStringsIndex) + { + m_listOfStrings.push_back(listOfStringsJsonList[listOfStringsIndex].AsString()); + } + } + + if(jsonValue.ValueExists("ListOfStructs")) + { + Aws::Utils::Array listOfStructsJsonList = jsonValue.GetArray("ListOfStructs"); + for(unsigned listOfStructsIndex = 0; listOfStructsIndex < listOfStructsJsonList.GetLength(); ++listOfStructsIndex) + { + m_listOfStructs.push_back(listOfStructsJsonList[listOfStructsIndex].AsObject()); + } + } + + if(jsonValue.ValueExists("Long")) + { + m_long = jsonValue.GetInt64("Long"); + + } + + if(jsonValue.ValueExists("MapOfListsOfStrings")) + { + Aws::Map mapOfListsOfStringsJsonMap = jsonValue.GetObject("MapOfListsOfStrings").GetAllObjects(); + for(auto& mapOfListsOfStringsItem : mapOfListsOfStringsJsonMap) + { + Aws::Utils::Array listOfStringsJsonList = mapOfListsOfStringsItem.second.AsArray(); + Aws::Vector listOfStringsList; + listOfStringsList.reserve((size_t)listOfStringsJsonList.GetLength()); + for(unsigned listOfStringsIndex = 0; listOfStringsIndex < listOfStringsJsonList.GetLength(); ++listOfStringsIndex) + { + listOfStringsList.push_back(listOfStringsJsonList[listOfStringsIndex].AsString()); + } + m_mapOfListsOfStrings[mapOfListsOfStringsItem.first] = std::move(listOfStringsList); + } + } + + if(jsonValue.ValueExists("MapOfMaps")) + { + Aws::Map mapOfMapsJsonMap = jsonValue.GetObject("MapOfMaps").GetAllObjects(); + for(auto& mapOfMapsItem : mapOfMapsJsonMap) + { + Aws::Map mapOfStringsJsonMap = mapOfMapsItem.second.GetAllObjects(); + Aws::Map mapOfStringsMap; + for(auto& mapOfStringsItem : mapOfStringsJsonMap) + { + mapOfStringsMap[mapOfStringsItem.first] = mapOfStringsItem.second.AsString(); + } + m_mapOfMaps[mapOfMapsItem.first] = std::move(mapOfStringsMap); + } + } + + if(jsonValue.ValueExists("MapOfStrings")) + { + Aws::Map mapOfStringsJsonMap = jsonValue.GetObject("MapOfStrings").GetAllObjects(); + for(auto& mapOfStringsItem : mapOfStringsJsonMap) + { + m_mapOfStrings[mapOfStringsItem.first] = mapOfStringsItem.second.AsString(); + } + } + + if(jsonValue.ValueExists("MapOfStructs")) + { + Aws::Map mapOfStructsJsonMap = jsonValue.GetObject("MapOfStructs").GetAllObjects(); + for(auto& mapOfStructsItem : mapOfStructsJsonMap) + { + m_mapOfStructs[mapOfStructsItem.first] = mapOfStructsItem.second.AsObject(); + } + } + + if(jsonValue.ValueExists("RecursiveList")) + { + Aws::Utils::Array recursiveListJsonList = jsonValue.GetArray("RecursiveList"); + for(unsigned recursiveListIndex = 0; recursiveListIndex < recursiveListJsonList.GetLength(); ++recursiveListIndex) + { + m_recursiveList.push_back(recursiveListJsonList[recursiveListIndex].AsObject()); + } + } + + if(jsonValue.ValueExists("RecursiveMap")) + { + Aws::Map recursiveMapJsonMap = jsonValue.GetObject("RecursiveMap").GetAllObjects(); + for(auto& recursiveMapItem : recursiveMapJsonMap) + { + m_recursiveMap[recursiveMapItem.first] = recursiveMapItem.second.AsObject(); + } + } + + if(jsonValue.ValueExists("RecursiveStruct")) + { + m_recursiveStruct = jsonValue.GetObject("RecursiveStruct"); + + } + + if(jsonValue.ValueExists("SimpleStruct")) + { + m_simpleStruct = jsonValue.GetObject("SimpleStruct"); + + } + + if(jsonValue.ValueExists("String")) + { + m_string = jsonValue.GetString("String"); + + } + + if(jsonValue.ValueExists("StructWithJsonName")) + { + m_structWithJsonName = jsonValue.GetObject("StructWithJsonName"); + + } + + if(jsonValue.ValueExists("Timestamp")) + { + m_timestamp = jsonValue.GetDouble("Timestamp"); + + } + + if(jsonValue.ValueExists("UnixTimestamp")) + { + m_unixTimestamp = jsonValue.GetDouble("UnixTimestamp"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/source/model/MyUnion.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/source/model/MyUnion.cpp new file mode 100644 index 00000000000..50cff970b16 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/source/model/MyUnion.cpp @@ -0,0 +1,187 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace JsonProtocol +{ +namespace Model +{ + +MyUnion::MyUnion() : + m_stringValueHasBeenSet(false), + m_booleanValue(false), + m_booleanValueHasBeenSet(false), + m_numberValue(0), + m_numberValueHasBeenSet(false), + m_blobValueHasBeenSet(false), + m_timestampValueHasBeenSet(false), + m_enumValue(FooEnum::NOT_SET), + m_enumValueHasBeenSet(false), + m_listValueHasBeenSet(false), + m_mapValueHasBeenSet(false), + m_structureValueHasBeenSet(false) +{ +} + +MyUnion::MyUnion(JsonView jsonValue) + : MyUnion() +{ + *this = jsonValue; +} + +MyUnion& MyUnion::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("stringValue")) + { + m_stringValue = jsonValue.GetString("stringValue"); + + m_stringValueHasBeenSet = true; + } + + if(jsonValue.ValueExists("booleanValue")) + { + m_booleanValue = jsonValue.GetBool("booleanValue"); + + m_booleanValueHasBeenSet = true; + } + + if(jsonValue.ValueExists("numberValue")) + { + m_numberValue = jsonValue.GetInteger("numberValue"); + + m_numberValueHasBeenSet = true; + } + + if(jsonValue.ValueExists("blobValue")) + { + m_blobValue = HashingUtils::Base64Decode(jsonValue.GetString("blobValue")); + m_blobValueHasBeenSet = true; + } + + if(jsonValue.ValueExists("timestampValue")) + { + m_timestampValue = jsonValue.GetDouble("timestampValue"); + + m_timestampValueHasBeenSet = true; + } + + if(jsonValue.ValueExists("enumValue")) + { + m_enumValue = FooEnumMapper::GetFooEnumForName(jsonValue.GetString("enumValue")); + + m_enumValueHasBeenSet = true; + } + + if(jsonValue.ValueExists("listValue")) + { + Aws::Utils::Array listValueJsonList = jsonValue.GetArray("listValue"); + for(unsigned listValueIndex = 0; listValueIndex < listValueJsonList.GetLength(); ++listValueIndex) + { + m_listValue.push_back(listValueJsonList[listValueIndex].AsString()); + } + m_listValueHasBeenSet = true; + } + + if(jsonValue.ValueExists("mapValue")) + { + Aws::Map mapValueJsonMap = jsonValue.GetObject("mapValue").GetAllObjects(); + for(auto& mapValueItem : mapValueJsonMap) + { + m_mapValue[mapValueItem.first] = mapValueItem.second.AsString(); + } + m_mapValueHasBeenSet = true; + } + + if(jsonValue.ValueExists("structureValue")) + { + m_structureValue = jsonValue.GetObject("structureValue"); + + m_structureValueHasBeenSet = true; + } + + return *this; +} + +JsonValue MyUnion::Jsonize() const +{ + JsonValue payload; + + if(m_stringValueHasBeenSet) + { + payload.WithString("stringValue", m_stringValue); + + } + + if(m_booleanValueHasBeenSet) + { + payload.WithBool("booleanValue", m_booleanValue); + + } + + if(m_numberValueHasBeenSet) + { + payload.WithInteger("numberValue", m_numberValue); + + } + + if(m_blobValueHasBeenSet) + { + payload.WithString("blobValue", HashingUtils::Base64Encode(m_blobValue)); + } + + if(m_timestampValueHasBeenSet) + { + payload.WithDouble("timestampValue", m_timestampValue.SecondsWithMSPrecision()); + } + + if(m_enumValueHasBeenSet) + { + payload.WithString("enumValue", FooEnumMapper::GetNameForFooEnum(m_enumValue)); + } + + if(m_listValueHasBeenSet) + { + Aws::Utils::Array listValueJsonList(m_listValue.size()); + for(unsigned listValueIndex = 0; listValueIndex < listValueJsonList.GetLength(); ++listValueIndex) + { + listValueJsonList[listValueIndex].AsString(m_listValue[listValueIndex]); + } + payload.WithArray("listValue", std::move(listValueJsonList)); + + } + + if(m_mapValueHasBeenSet) + { + JsonValue mapValueJsonMap; + for(auto& mapValueItem : m_mapValue) + { + mapValueJsonMap.WithString(mapValueItem.first, mapValueItem.second); + } + payload.WithObject("mapValue", std::move(mapValueJsonMap)); + + } + + if(m_structureValueHasBeenSet) + { + payload.WithObject("structureValue", m_structureValue.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace JsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/source/model/NullOperationRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/source/model/NullOperationRequest.cpp new file mode 100644 index 00000000000..297114554c4 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/source/model/NullOperationRequest.cpp @@ -0,0 +1,53 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include + +#include + +using namespace Aws::JsonProtocol::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +NullOperationRequest::NullOperationRequest() : + m_stringHasBeenSet(false), + m_requestIdHasBeenSet(false) +{ +} + +Aws::String NullOperationRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_stringHasBeenSet) + { + payload.WithString("string", m_string); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection NullOperationRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "JsonProtocol.NullOperation")); + Aws::StringStream ss; + if(m_requestIdHasBeenSet) + { + ss << m_requestId; + headers.emplace("x-amzn-requestid", ss.str()); + ss.str(""); + } + + return headers; + +} + + + + diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/source/model/NullOperationResult.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/source/model/NullOperationResult.cpp new file mode 100644 index 00000000000..3a6496d4935 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/source/model/NullOperationResult.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::JsonProtocol::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +NullOperationResult::NullOperationResult() +{ +} + +NullOperationResult::NullOperationResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +NullOperationResult& NullOperationResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("string")) + { + m_string = jsonValue.GetString("string"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/source/model/OperationWithOptionalInputOutputRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/source/model/OperationWithOptionalInputOutputRequest.cpp new file mode 100644 index 00000000000..03e15103f83 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/source/model/OperationWithOptionalInputOutputRequest.cpp @@ -0,0 +1,43 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::JsonProtocol::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +OperationWithOptionalInputOutputRequest::OperationWithOptionalInputOutputRequest() : + m_valueHasBeenSet(false) +{ +} + +Aws::String OperationWithOptionalInputOutputRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_valueHasBeenSet) + { + payload.WithString("Value", m_value); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection OperationWithOptionalInputOutputRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "JsonProtocol.OperationWithOptionalInputOutput")); + return headers; + +} + + + + diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/source/model/OperationWithOptionalInputOutputResult.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/source/model/OperationWithOptionalInputOutputResult.cpp new file mode 100644 index 00000000000..64b9316743e --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/source/model/OperationWithOptionalInputOutputResult.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::JsonProtocol::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +OperationWithOptionalInputOutputResult::OperationWithOptionalInputOutputResult() +{ +} + +OperationWithOptionalInputOutputResult::OperationWithOptionalInputOutputResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +OperationWithOptionalInputOutputResult& OperationWithOptionalInputOutputResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("Value")) + { + m_value = jsonValue.GetString("Value"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/source/model/PutAndGetInlineDocumentsRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/source/model/PutAndGetInlineDocumentsRequest.cpp new file mode 100644 index 00000000000..05f958cd6fe --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/source/model/PutAndGetInlineDocumentsRequest.cpp @@ -0,0 +1,55 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include + +#include + +using namespace Aws::JsonProtocol::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +PutAndGetInlineDocumentsRequest::PutAndGetInlineDocumentsRequest() : + m_inlineDocumentHasBeenSet(false), + m_requestIdHasBeenSet(false) +{ +} + +Aws::String PutAndGetInlineDocumentsRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_inlineDocumentHasBeenSet) + { + if(!m_inlineDocument.View().IsNull()) + { + payload.WithObject("inlineDocument", JsonValue(m_inlineDocument.View())); + } + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection PutAndGetInlineDocumentsRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "JsonProtocol.PutAndGetInlineDocuments")); + Aws::StringStream ss; + if(m_requestIdHasBeenSet) + { + ss << m_requestId; + headers.emplace("x-amzn-requestid", ss.str()); + ss.str(""); + } + + return headers; + +} + + + + diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/source/model/PutAndGetInlineDocumentsResult.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/source/model/PutAndGetInlineDocumentsResult.cpp new file mode 100644 index 00000000000..a3b3616aa53 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/source/model/PutAndGetInlineDocumentsResult.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::JsonProtocol::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +PutAndGetInlineDocumentsResult::PutAndGetInlineDocumentsResult() +{ +} + +PutAndGetInlineDocumentsResult::PutAndGetInlineDocumentsResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +PutAndGetInlineDocumentsResult& PutAndGetInlineDocumentsResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("inlineDocument")) + { + m_inlineDocument = jsonValue.GetObject("inlineDocument"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/source/model/PutWithContentEncodingRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/source/model/PutWithContentEncodingRequest.cpp new file mode 100644 index 00000000000..745d4198939 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/source/model/PutWithContentEncodingRequest.cpp @@ -0,0 +1,74 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::JsonProtocol::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +PutWithContentEncodingRequest::PutWithContentEncodingRequest() : + m_encodingHasBeenSet(false), + m_dataHasBeenSet(false) +{ +} + +Aws::String PutWithContentEncodingRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_encodingHasBeenSet) + { + payload.WithString("encoding", m_encoding); + + } + + if(m_dataHasBeenSet) + { + payload.WithString("data", m_data); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection PutWithContentEncodingRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "JsonProtocol.PutWithContentEncoding")); + return headers; + +} + + + +#ifdef ENABLED_ZLIB_REQUEST_COMPRESSION +Aws::Client::CompressionAlgorithm PutWithContentEncodingRequest::GetSelectedCompressionAlgorithm(Aws::Client::RequestCompressionConfig config) const +{ + if (config.useRequestCompression == Aws::Client::UseRequestCompression::DISABLE) + { + return Aws::Client::CompressionAlgorithm::NONE; + } + + const auto& body = AmazonSerializableWebServiceRequest::GetBody(); + body->seekg(0, body->end); + size_t bodySize = body->tellg(); + body->seekg(0, body->beg); + if ( bodySize < config.requestMinCompressionSizeBytes) + { + return Aws::Client::CompressionAlgorithm::NONE; + } + else + { + return Aws::Client::CompressionAlgorithm::GZIP; + } +} +#endif + + + diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/source/model/SimpleScalarPropertiesRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/source/model/SimpleScalarPropertiesRequest.cpp new file mode 100644 index 00000000000..395887a6f90 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/source/model/SimpleScalarPropertiesRequest.cpp @@ -0,0 +1,62 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include + +#include + +using namespace Aws::JsonProtocol::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +SimpleScalarPropertiesRequest::SimpleScalarPropertiesRequest() : + m_floatValue(0.0), + m_floatValueHasBeenSet(false), + m_doubleValue(0.0), + m_doubleValueHasBeenSet(false), + m_requestIdHasBeenSet(false) +{ +} + +Aws::String SimpleScalarPropertiesRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_floatValueHasBeenSet) + { + payload.WithDouble("floatValue", m_floatValue); + + } + + if(m_doubleValueHasBeenSet) + { + payload.WithDouble("doubleValue", m_doubleValue); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection SimpleScalarPropertiesRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "JsonProtocol.SimpleScalarProperties")); + Aws::StringStream ss; + if(m_requestIdHasBeenSet) + { + ss << m_requestId; + headers.emplace("x-amzn-requestid", ss.str()); + ss.str(""); + } + + return headers; + +} + + + + diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/source/model/SimpleScalarPropertiesResult.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/source/model/SimpleScalarPropertiesResult.cpp new file mode 100644 index 00000000000..d18453bfba8 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/source/model/SimpleScalarPropertiesResult.cpp @@ -0,0 +1,57 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::JsonProtocol::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +SimpleScalarPropertiesResult::SimpleScalarPropertiesResult() : + m_floatValue(0.0), + m_doubleValue(0.0) +{ +} + +SimpleScalarPropertiesResult::SimpleScalarPropertiesResult(const Aws::AmazonWebServiceResult& result) + : SimpleScalarPropertiesResult() +{ + *this = result; +} + +SimpleScalarPropertiesResult& SimpleScalarPropertiesResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("floatValue")) + { + m_floatValue = jsonValue.GetDouble("floatValue"); + + } + + if(jsonValue.ValueExists("doubleValue")) + { + m_doubleValue = jsonValue.GetDouble("doubleValue"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/source/model/SimpleStruct.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/source/model/SimpleStruct.cpp new file mode 100644 index 00000000000..13cb5fedf02 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/source/model/SimpleStruct.cpp @@ -0,0 +1,59 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace JsonProtocol +{ +namespace Model +{ + +SimpleStruct::SimpleStruct() : + m_valueHasBeenSet(false) +{ +} + +SimpleStruct::SimpleStruct(JsonView jsonValue) + : SimpleStruct() +{ + *this = jsonValue; +} + +SimpleStruct& SimpleStruct::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Value")) + { + m_value = jsonValue.GetString("Value"); + + m_valueHasBeenSet = true; + } + + return *this; +} + +JsonValue SimpleStruct::Jsonize() const +{ + JsonValue payload; + + if(m_valueHasBeenSet) + { + payload.WithString("Value", m_value); + + } + + return payload; +} + +} // namespace Model +} // namespace JsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/source/model/StructWithJsonName.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/source/model/StructWithJsonName.cpp new file mode 100644 index 00000000000..c28a3516f55 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/source/model/StructWithJsonName.cpp @@ -0,0 +1,59 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace JsonProtocol +{ +namespace Model +{ + +StructWithJsonName::StructWithJsonName() : + m_valueHasBeenSet(false) +{ +} + +StructWithJsonName::StructWithJsonName(JsonView jsonValue) + : StructWithJsonName() +{ + *this = jsonValue; +} + +StructWithJsonName& StructWithJsonName::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Value")) + { + m_value = jsonValue.GetString("Value"); + + m_valueHasBeenSet = true; + } + + return *this; +} + +JsonValue StructWithJsonName::Jsonize() const +{ + JsonValue payload; + + if(m_valueHasBeenSet) + { + payload.WithString("Value", m_value); + + } + + return payload; +} + +} // namespace Model +} // namespace JsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/CMakeLists.txt b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/CMakeLists.txt new file mode 100644 index 00000000000..f30f70d40ce --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/CMakeLists.txt @@ -0,0 +1,76 @@ +add_project(aws-cpp-sdk-json-rpc-10 "C++ SDK for the AWS json-rpc-10 service" aws-cpp-sdk-core) + +file(GLOB AWS_JSON-RPC-10_HEADERS + "include/aws/json-rpc-10/*.h" +) + +file(GLOB AWS_JSON-RPC-10_MODEL_HEADERS + "include/aws/json-rpc-10/model/*.h" +) + +file(GLOB AWS_JSON-RPC-10_SOURCE + "source/*.cpp" +) + +file(GLOB AWS_JSON-RPC-10_MODEL_SOURCE + "source/model/*.cpp" +) + +file(GLOB JSON-RPC-10_UNIFIED_HEADERS + ${AWS_JSON-RPC-10_HEADERS} + ${AWS_JSON-RPC-10_MODEL_HEADERS} +) + +file(GLOB JSON-RPC-10_UNITY_SRC + ${AWS_JSON-RPC-10_SOURCE} + ${AWS_JSON-RPC-10_MODEL_SOURCE} +) + +if(ENABLE_UNITY_BUILD) + enable_unity_build("JSON-RPC-10" JSON-RPC-10_UNITY_SRC) +endif() + +file(GLOB JSON-RPC-10_SRC + ${JSON-RPC-10_UNIFIED_HEADERS} + ${JSON-RPC-10_UNITY_SRC} +) + +if(WIN32) + #if we are compiling for visual studio, create a sane directory tree. + if(MSVC) + source_group("Header Files\\aws\\json-rpc-10" FILES ${AWS_JSON-RPC-10_HEADERS}) + source_group("Header Files\\aws\\json-rpc-10\\model" FILES ${AWS_JSON-RPC-10_MODEL_HEADERS}) + source_group("Source Files" FILES ${AWS_JSON-RPC-10_SOURCE}) + source_group("Source Files\\model" FILES ${AWS_JSON-RPC-10_MODEL_SOURCE}) + endif(MSVC) +endif() + +set(JSON-RPC-10_INCLUDES + "${CMAKE_CURRENT_SOURCE_DIR}/include/" +) + +add_library(${PROJECT_NAME} ${JSON-RPC-10_SRC}) +add_library(AWS::${PROJECT_NAME} ALIAS ${PROJECT_NAME}) + +set_compiler_flags(${PROJECT_NAME}) +set_compiler_warnings(${PROJECT_NAME}) + +if(USE_WINDOWS_DLL_SEMANTICS AND BUILD_SHARED_LIBS) + target_compile_definitions(${PROJECT_NAME} PRIVATE "AWS_JSONRPC10_EXPORTS") +endif() + +target_include_directories(${PROJECT_NAME} PUBLIC + $ + $) + +target_link_libraries(${PROJECT_NAME} PRIVATE ${PLATFORM_DEP_LIBS} ${PROJECT_LIBS}) + + +setup_install() + +install (FILES ${AWS_JSON-RPC-10_HEADERS} DESTINATION ${INCLUDE_DIRECTORY}/aws/json-rpc-10) +install (FILES ${AWS_JSON-RPC-10_MODEL_HEADERS} DESTINATION ${INCLUDE_DIRECTORY}/aws/json-rpc-10/model) + +do_packaging() + + diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/include/aws/json-rpc-10/JSONRPC10Client.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/include/aws/json-rpc-10/JSONRPC10Client.h new file mode 100644 index 00000000000..947422521d6 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/include/aws/json-rpc-10/JSONRPC10Client.h @@ -0,0 +1,377 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace JSONRPC10 +{ + AWS_JSONRPC10_API extern const char SERVICE_NAME[]; + class AWS_JSONRPC10_API JSONRPC10Client : smithy::client::AwsSmithyClientT, + Aws::Crt::Variant, + JSONRPC10EndpointProviderBase, + smithy::client::JsonOutcomeSerializer, + smithy::client::JsonOutcome, + Aws::Client::JSONRPC10ErrorMarshaller>, + Aws::Client::ClientWithAsyncTemplateMethods + { + public: + static const char* GetServiceName(); + static const char* GetAllocationTag(); + inline const char* GetServiceClientName() const override { return "JSON RPC 10"; } + + typedef JSONRPC10ClientConfiguration ClientConfigurationType; + typedef JSONRPC10EndpointProvider EndpointProviderType; + + /** + * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client config + * is not specified, it will be initialized to default values. + */ + JSONRPC10Client(const Aws::JSONRPC10::JSONRPC10ClientConfiguration& clientConfiguration = Aws::JSONRPC10::JSONRPC10ClientConfiguration(), + std::shared_ptr endpointProvider = nullptr); + + /** + * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config + * is not specified, it will be initialized to default values. + */ + JSONRPC10Client(const Aws::Auth::AWSCredentials& credentials, + std::shared_ptr endpointProvider = nullptr, + const Aws::JSONRPC10::JSONRPC10ClientConfiguration& clientConfiguration = Aws::JSONRPC10::JSONRPC10ClientConfiguration()); + + /** + * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, + * the default http client factory will be used + */ + JSONRPC10Client(const std::shared_ptr& credentialsProvider, + std::shared_ptr endpointProvider = nullptr, + const Aws::JSONRPC10::JSONRPC10ClientConfiguration& clientConfiguration = Aws::JSONRPC10::JSONRPC10ClientConfiguration()); + + + /* Legacy constructors due deprecation */ + /** + * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client config + * is not specified, it will be initialized to default values. + */ + JSONRPC10Client(const Aws::Client::ClientConfiguration& clientConfiguration); + + /** + * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config + * is not specified, it will be initialized to default values. + */ + JSONRPC10Client(const Aws::Auth::AWSCredentials& credentials, + const Aws::Client::ClientConfiguration& clientConfiguration); + + /** + * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, + * the default http client factory will be used + */ + JSONRPC10Client(const std::shared_ptr& credentialsProvider, + const Aws::Client::ClientConfiguration& clientConfiguration); + + /* End of legacy constructors due deprecation */ + virtual ~JSONRPC10Client(); + + /** + *

The example tests how servers must support requests containing a + * Content-Type header with parameters.

See Also:

AWS + * API Reference

+ */ + virtual Model::ContentTypeParametersOutcome ContentTypeParameters(const Model::ContentTypeParametersRequest& request = {}) const; + + /** + * A Callable wrapper for ContentTypeParameters that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::ContentTypeParametersOutcomeCallable ContentTypeParametersCallable(const ContentTypeParametersRequestT& request = {}) const + { + return SubmitCallable(&JSONRPC10Client::ContentTypeParameters, request); + } + + /** + * An Async wrapper for ContentTypeParameters that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void ContentTypeParametersAsync(const ContentTypeParametersResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const ContentTypeParametersRequestT& request = {}) const + { + return SubmitAsync(&JSONRPC10Client::ContentTypeParameters, request, handler, context); + } + + /** + *

The example tests how requests and responses are serialized when there's no + * request or response payload because the operation has an empty input and empty + * output structure that reuses the same shape. While this should be rare, code + * generators must support this.

See Also:

AWS + * API Reference

+ */ + virtual Model::EmptyInputAndEmptyOutputOutcome EmptyInputAndEmptyOutput(const Model::EmptyInputAndEmptyOutputRequest& request = {}) const; + + /** + * A Callable wrapper for EmptyInputAndEmptyOutput that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::EmptyInputAndEmptyOutputOutcomeCallable EmptyInputAndEmptyOutputCallable(const EmptyInputAndEmptyOutputRequestT& request = {}) const + { + return SubmitCallable(&JSONRPC10Client::EmptyInputAndEmptyOutput, request); + } + + /** + * An Async wrapper for EmptyInputAndEmptyOutput that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void EmptyInputAndEmptyOutputAsync(const EmptyInputAndEmptyOutputResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const EmptyInputAndEmptyOutputRequestT& request = {}) const + { + return SubmitAsync(&JSONRPC10Client::EmptyInputAndEmptyOutput, request, handler, context); + } + + /** + * + */ + virtual Model::EndpointOperationOutcome EndpointOperation(const Model::EndpointOperationRequest& request = {}) const; + + /** + * A Callable wrapper for EndpointOperation that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::EndpointOperationOutcomeCallable EndpointOperationCallable(const EndpointOperationRequestT& request = {}) const + { + return SubmitCallable(&JSONRPC10Client::EndpointOperation, request); + } + + /** + * An Async wrapper for EndpointOperation that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void EndpointOperationAsync(const EndpointOperationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const EndpointOperationRequestT& request = {}) const + { + return SubmitAsync(&JSONRPC10Client::EndpointOperation, request, handler, context); + } + + /** + * + */ + virtual Model::EndpointWithHostLabelOperationOutcome EndpointWithHostLabelOperation(const Model::EndpointWithHostLabelOperationRequest& request) const; + + /** + * A Callable wrapper for EndpointWithHostLabelOperation that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::EndpointWithHostLabelOperationOutcomeCallable EndpointWithHostLabelOperationCallable(const EndpointWithHostLabelOperationRequestT& request) const + { + return SubmitCallable(&JSONRPC10Client::EndpointWithHostLabelOperation, request); + } + + /** + * An Async wrapper for EndpointWithHostLabelOperation that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void EndpointWithHostLabelOperationAsync(const EndpointWithHostLabelOperationRequestT& request, const EndpointWithHostLabelOperationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&JSONRPC10Client::EndpointWithHostLabelOperation, request, handler, context); + } + + /** + *

This operation has three possible return values:

  1. A successful + * response in the form of GreetingWithErrorsOutput
  2. An InvalidGreeting + * error.
  3. A ComplexError error.

Implementations must be able + * to successfully take a response and properly deserialize successful and error + * responses.

See Also:

AWS + * API Reference

+ */ + virtual Model::GreetingWithErrorsOutcome GreetingWithErrors(const Model::GreetingWithErrorsRequest& request = {}) const; + + /** + * A Callable wrapper for GreetingWithErrors that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::GreetingWithErrorsOutcomeCallable GreetingWithErrorsCallable(const GreetingWithErrorsRequestT& request = {}) const + { + return SubmitCallable(&JSONRPC10Client::GreetingWithErrors, request); + } + + /** + * An Async wrapper for GreetingWithErrors that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void GreetingWithErrorsAsync(const GreetingWithErrorsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const GreetingWithErrorsRequestT& request = {}) const + { + return SubmitAsync(&JSONRPC10Client::GreetingWithErrors, request, handler, context); + } + + /** + * + */ + virtual Model::HostWithPathOperationOutcome HostWithPathOperation(const Model::HostWithPathOperationRequest& request = {}) const; + + /** + * A Callable wrapper for HostWithPathOperation that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::HostWithPathOperationOutcomeCallable HostWithPathOperationCallable(const HostWithPathOperationRequestT& request = {}) const + { + return SubmitCallable(&JSONRPC10Client::HostWithPathOperation, request); + } + + /** + * An Async wrapper for HostWithPathOperation that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void HostWithPathOperationAsync(const HostWithPathOperationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const HostWithPathOperationRequestT& request = {}) const + { + return SubmitAsync(&JSONRPC10Client::HostWithPathOperation, request, handler, context); + } + + /** + *

This operation uses unions for inputs and outputs.

See Also:

+ * AWS + * API Reference

+ */ + virtual Model::JsonUnionsOutcome JsonUnions(const Model::JsonUnionsRequest& request = {}) const; + + /** + * A Callable wrapper for JsonUnions that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::JsonUnionsOutcomeCallable JsonUnionsCallable(const JsonUnionsRequestT& request = {}) const + { + return SubmitCallable(&JSONRPC10Client::JsonUnions, request); + } + + /** + * An Async wrapper for JsonUnions that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void JsonUnionsAsync(const JsonUnionsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const JsonUnionsRequestT& request = {}) const + { + return SubmitAsync(&JSONRPC10Client::JsonUnions, request, handler, context); + } + + /** + *

The example tests how requests and responses are serialized when there's no + * request or response payload because the operation has no input or output. While + * this should be rare, code generators must support this.

See Also:

+ * AWS + * API Reference

+ */ + virtual Model::NoInputAndNoOutputOutcome NoInputAndNoOutput(const Model::NoInputAndNoOutputRequest& request = {}) const; + + /** + * A Callable wrapper for NoInputAndNoOutput that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::NoInputAndNoOutputOutcomeCallable NoInputAndNoOutputCallable(const NoInputAndNoOutputRequestT& request = {}) const + { + return SubmitCallable(&JSONRPC10Client::NoInputAndNoOutput, request); + } + + /** + * An Async wrapper for NoInputAndNoOutput that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void NoInputAndNoOutputAsync(const NoInputAndNoOutputResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const NoInputAndNoOutputRequestT& request = {}) const + { + return SubmitAsync(&JSONRPC10Client::NoInputAndNoOutput, request, handler, context); + } + + /** + *

The example tests how requests and responses are serialized when there's no + * request or response payload because the operation has no input and the output is + * empty. While this should be rare, code generators must support + * this.

See Also:

AWS + * API Reference

+ */ + virtual Model::NoInputAndOutputOutcome NoInputAndOutput(const Model::NoInputAndOutputRequest& request = {}) const; + + /** + * A Callable wrapper for NoInputAndOutput that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::NoInputAndOutputOutcomeCallable NoInputAndOutputCallable(const NoInputAndOutputRequestT& request = {}) const + { + return SubmitCallable(&JSONRPC10Client::NoInputAndOutput, request); + } + + /** + * An Async wrapper for NoInputAndOutput that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void NoInputAndOutputAsync(const NoInputAndOutputResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const NoInputAndOutputRequestT& request = {}) const + { + return SubmitAsync(&JSONRPC10Client::NoInputAndOutput, request, handler, context); + } + + /** + * + */ + virtual Model::PutWithContentEncodingOutcome PutWithContentEncoding(const Model::PutWithContentEncodingRequest& request = {}) const; + + /** + * A Callable wrapper for PutWithContentEncoding that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::PutWithContentEncodingOutcomeCallable PutWithContentEncodingCallable(const PutWithContentEncodingRequestT& request = {}) const + { + return SubmitCallable(&JSONRPC10Client::PutWithContentEncoding, request); + } + + /** + * An Async wrapper for PutWithContentEncoding that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void PutWithContentEncodingAsync(const PutWithContentEncodingResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const PutWithContentEncodingRequestT& request = {}) const + { + return SubmitAsync(&JSONRPC10Client::PutWithContentEncoding, request, handler, context); + } + + /** + * + */ + virtual Model::SimpleScalarPropertiesOutcome SimpleScalarProperties(const Model::SimpleScalarPropertiesRequest& request = {}) const; + + /** + * A Callable wrapper for SimpleScalarProperties that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::SimpleScalarPropertiesOutcomeCallable SimpleScalarPropertiesCallable(const SimpleScalarPropertiesRequestT& request = {}) const + { + return SubmitCallable(&JSONRPC10Client::SimpleScalarProperties, request); + } + + /** + * An Async wrapper for SimpleScalarProperties that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void SimpleScalarPropertiesAsync(const SimpleScalarPropertiesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const SimpleScalarPropertiesRequestT& request = {}) const + { + return SubmitAsync(&JSONRPC10Client::SimpleScalarProperties, request, handler, context); + } + + + void OverrideEndpoint(const Aws::String& endpoint); + std::shared_ptr& accessEndpointProvider(); + private: + friend class Aws::Client::ClientWithAsyncTemplateMethods; + + }; + +} // namespace JSONRPC10 +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/include/aws/json-rpc-10/JSONRPC10EndpointProvider.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/include/aws/json-rpc-10/JSONRPC10EndpointProvider.h new file mode 100644 index 00000000000..9121b3d0793 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/include/aws/json-rpc-10/JSONRPC10EndpointProvider.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +#include + + +namespace Aws +{ +namespace JSONRPC10 +{ +namespace Endpoint +{ +using EndpointParameters = Aws::Endpoint::EndpointParameters; +using Aws::Endpoint::EndpointProviderBase; +using Aws::Endpoint::DefaultEndpointProvider; + +using JSONRPC10ClientContextParameters = Aws::Endpoint::ClientContextParameters; + +using JSONRPC10ClientConfiguration = Aws::Client::GenericClientConfiguration; +using JSONRPC10BuiltInParameters = Aws::Endpoint::BuiltInParameters; + +/** + * The type for the JSONRPC10 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 JSONRPC10EndpointProviderBase = + EndpointProviderBase; + +using JSONRPC10DefaultEpProviderBase = + DefaultEndpointProvider; + +/** + * Default endpoint provider used for this service + */ +class AWS_JSONRPC10_API JSONRPC10EndpointProvider : public JSONRPC10DefaultEpProviderBase +{ +public: + using JSONRPC10ResolveEndpointOutcome = Aws::Endpoint::ResolveEndpointOutcome; + + JSONRPC10EndpointProvider() + : JSONRPC10DefaultEpProviderBase(Aws::JSONRPC10::JSONRPC10EndpointRules::GetRulesBlob(), Aws::JSONRPC10::JSONRPC10EndpointRules::RulesBlobSize) + {} + + ~JSONRPC10EndpointProvider() + { + } +}; +} // namespace Endpoint +} // namespace JSONRPC10 +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/include/aws/json-rpc-10/JSONRPC10EndpointRules.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/include/aws/json-rpc-10/JSONRPC10EndpointRules.h new file mode 100644 index 00000000000..d2c9f224e65 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/include/aws/json-rpc-10/JSONRPC10EndpointRules.h @@ -0,0 +1,23 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace JSONRPC10 +{ +class JSONRPC10EndpointRules +{ +public: + static const size_t RulesBlobStrLen; + static const size_t RulesBlobSize; + + static const char* GetRulesBlob(); +}; +} // namespace JSONRPC10 +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/include/aws/json-rpc-10/JSONRPC10ErrorMarshaller.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/include/aws/json-rpc-10/JSONRPC10ErrorMarshaller.h new file mode 100644 index 00000000000..7e3ea1f959a --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/include/aws/json-rpc-10/JSONRPC10ErrorMarshaller.h @@ -0,0 +1,23 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws +{ +namespace Client +{ + +class AWS_JSONRPC10_API JSONRPC10ErrorMarshaller : public Aws::Client::JsonErrorMarshaller +{ +public: + Aws::Client::AWSError FindErrorByName(const char* exceptionName) const override; +}; + +} // namespace Client +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/include/aws/json-rpc-10/JSONRPC10Errors.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/include/aws/json-rpc-10/JSONRPC10Errors.h new file mode 100644 index 00000000000..f93a929ff82 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/include/aws/json-rpc-10/JSONRPC10Errors.h @@ -0,0 +1,74 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include +#include + +namespace Aws +{ +namespace JSONRPC10 +{ +enum class JSONRPC10Errors +{ + //From Core// + ////////////////////////////////////////////////////////////////////////////////////////// + INCOMPLETE_SIGNATURE = 0, + INTERNAL_FAILURE = 1, + INVALID_ACTION = 2, + INVALID_CLIENT_TOKEN_ID = 3, + INVALID_PARAMETER_COMBINATION = 4, + INVALID_QUERY_PARAMETER = 5, + INVALID_PARAMETER_VALUE = 6, + MISSING_ACTION = 7, // SDK should never allow + MISSING_AUTHENTICATION_TOKEN = 8, // SDK should never allow + MISSING_PARAMETER = 9, // SDK should never allow + OPT_IN_REQUIRED = 10, + REQUEST_EXPIRED = 11, + SERVICE_UNAVAILABLE = 12, + THROTTLING = 13, + VALIDATION = 14, + ACCESS_DENIED = 15, + RESOURCE_NOT_FOUND = 16, + UNRECOGNIZED_CLIENT = 17, + MALFORMED_QUERY_STRING = 18, + SLOW_DOWN = 19, + REQUEST_TIME_TOO_SKEWED = 20, + INVALID_SIGNATURE = 21, + SIGNATURE_DOES_NOT_MATCH = 22, + INVALID_ACCESS_KEY_ID = 23, + REQUEST_TIMEOUT = 24, + NETWORK_CONNECTION = 99, + + UNKNOWN = 100, + /////////////////////////////////////////////////////////////////////////////////////////// + + COMPLEX= static_cast(Aws::Client::CoreErrors::SERVICE_EXTENSION_START_RANGE) + 1, + FOO, + INVALID_GREETING +}; + +class AWS_JSONRPC10_API JSONRPC10Error : public Aws::Client::AWSError +{ +public: + JSONRPC10Error() {} + JSONRPC10Error(const Aws::Client::AWSError& rhs) : Aws::Client::AWSError(rhs) {} + JSONRPC10Error(Aws::Client::AWSError&& rhs) : Aws::Client::AWSError(rhs) {} + JSONRPC10Error(const Aws::Client::AWSError& rhs) : Aws::Client::AWSError(rhs) {} + JSONRPC10Error(Aws::Client::AWSError&& rhs) : Aws::Client::AWSError(rhs) {} + + template + T GetModeledError(); +}; + +namespace JSONRPC10ErrorMapper +{ + AWS_JSONRPC10_API Aws::Client::AWSError GetErrorForName(const char* errorName); +} + +} // namespace JSONRPC10 +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/include/aws/json-rpc-10/JSONRPC10Request.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/include/aws/json-rpc-10/JSONRPC10Request.h new file mode 100644 index 00000000000..212f53f4644 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/include/aws/json-rpc-10/JSONRPC10Request.h @@ -0,0 +1,46 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace JSONRPC10 +{ + class AWS_JSONRPC10_API JSONRPC10Request : public Aws::AmazonSerializableWebServiceRequest + { + public: + using EndpointParameter = Aws::Endpoint::EndpointParameter; + using EndpointParameters = Aws::Endpoint::EndpointParameters; + + virtual ~JSONRPC10Request () {} + + void AddParametersToRequest(Aws::Http::HttpRequest& httpRequest) const { AWS_UNREFERENCED_PARAM(httpRequest); } + + inline Aws::Http::HeaderValueCollection GetHeaders() const override + { + auto headers = GetRequestSpecificHeaders(); + + if(headers.size() == 0 || (headers.size() > 0 && headers.count(Aws::Http::CONTENT_TYPE_HEADER) == 0)) + { + headers.emplace(Aws::Http::HeaderValuePair(Aws::Http::CONTENT_TYPE_HEADER, Aws::AMZN_JSON_CONTENT_TYPE_1_0 )); + } + headers.emplace(Aws::Http::HeaderValuePair(Aws::Http::API_VERSION_HEADER, "2020-07-14")); + return headers; + } + + protected: + virtual Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const { return Aws::Http::HeaderValueCollection(); } + + }; + + +} // namespace JSONRPC10 +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/include/aws/json-rpc-10/JSONRPC10ServiceClientModel.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/include/aws/json-rpc-10/JSONRPC10ServiceClientModel.h new file mode 100644 index 00000000000..022e2bb6973 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/include/aws/json-rpc-10/JSONRPC10ServiceClientModel.h @@ -0,0 +1,136 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +/* Generic header includes */ +#include +#include +#include +#include +#include +#include +#include +#include +#include +/* End of generic header includes */ + +/* Service model headers required in JSONRPC10Client header */ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +/* End of service model headers required in JSONRPC10Client header */ + +namespace Aws +{ + namespace Http + { + class HttpClient; + class HttpClientFactory; + } // namespace Http + + namespace Utils + { + template< typename R, typename E> class Outcome; + + namespace Threading + { + class Executor; + } // namespace Threading + } // namespace Utils + + namespace Auth + { + class AWSCredentials; + class AWSCredentialsProvider; + } // namespace Auth + + namespace Client + { + class RetryStrategy; + } // namespace Client + + namespace JSONRPC10 + { + using JSONRPC10ClientConfiguration = Aws::Client::GenericClientConfiguration; + using JSONRPC10EndpointProviderBase = Aws::JSONRPC10::Endpoint::JSONRPC10EndpointProviderBase; + using JSONRPC10EndpointProvider = Aws::JSONRPC10::Endpoint::JSONRPC10EndpointProvider; + + namespace Model + { + /* Service model forward declarations required in JSONRPC10Client header */ + class ContentTypeParametersRequest; + class EmptyInputAndEmptyOutputRequest; + class EndpointOperationRequest; + class EndpointWithHostLabelOperationRequest; + class GreetingWithErrorsRequest; + class HostWithPathOperationRequest; + class JsonUnionsRequest; + class NoInputAndNoOutputRequest; + class NoInputAndOutputRequest; + class PutWithContentEncodingRequest; + class SimpleScalarPropertiesRequest; + /* End of service model forward declarations required in JSONRPC10Client header */ + + /* Service model Outcome class definitions */ + typedef Aws::Utils::Outcome ContentTypeParametersOutcome; + typedef Aws::Utils::Outcome EmptyInputAndEmptyOutputOutcome; + typedef Aws::Utils::Outcome EndpointOperationOutcome; + typedef Aws::Utils::Outcome EndpointWithHostLabelOperationOutcome; + typedef Aws::Utils::Outcome GreetingWithErrorsOutcome; + typedef Aws::Utils::Outcome HostWithPathOperationOutcome; + typedef Aws::Utils::Outcome JsonUnionsOutcome; + typedef Aws::Utils::Outcome NoInputAndNoOutputOutcome; + typedef Aws::Utils::Outcome NoInputAndOutputOutcome; + typedef Aws::Utils::Outcome PutWithContentEncodingOutcome; + typedef Aws::Utils::Outcome SimpleScalarPropertiesOutcome; + /* End of service model Outcome class definitions */ + + /* Service model Outcome callable definitions */ + typedef std::future ContentTypeParametersOutcomeCallable; + typedef std::future EmptyInputAndEmptyOutputOutcomeCallable; + typedef std::future EndpointOperationOutcomeCallable; + typedef std::future EndpointWithHostLabelOperationOutcomeCallable; + typedef std::future GreetingWithErrorsOutcomeCallable; + typedef std::future HostWithPathOperationOutcomeCallable; + typedef std::future JsonUnionsOutcomeCallable; + typedef std::future NoInputAndNoOutputOutcomeCallable; + typedef std::future NoInputAndOutputOutcomeCallable; + typedef std::future PutWithContentEncodingOutcomeCallable; + typedef std::future SimpleScalarPropertiesOutcomeCallable; + /* End of service model Outcome callable definitions */ + } // namespace Model + + class JSONRPC10Client; + + /* Service model async handlers definitions */ + typedef std::function&) > ContentTypeParametersResponseReceivedHandler; + typedef std::function&) > EmptyInputAndEmptyOutputResponseReceivedHandler; + typedef std::function&) > EndpointOperationResponseReceivedHandler; + typedef std::function&) > EndpointWithHostLabelOperationResponseReceivedHandler; + typedef std::function&) > GreetingWithErrorsResponseReceivedHandler; + typedef std::function&) > HostWithPathOperationResponseReceivedHandler; + typedef std::function&) > JsonUnionsResponseReceivedHandler; + typedef std::function&) > NoInputAndNoOutputResponseReceivedHandler; + typedef std::function&) > NoInputAndOutputResponseReceivedHandler; + typedef std::function&) > PutWithContentEncodingResponseReceivedHandler; + typedef std::function&) > SimpleScalarPropertiesResponseReceivedHandler; + /* End of service model async handlers definitions */ + } // namespace JSONRPC10 +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/include/aws/json-rpc-10/JSONRPC10_EXPORTS.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/include/aws/json-rpc-10/JSONRPC10_EXPORTS.h new file mode 100644 index 00000000000..3ab29ce859d --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/include/aws/json-rpc-10/JSONRPC10_EXPORTS.h @@ -0,0 +1,32 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#ifdef _MSC_VER + //disable windows complaining about max template size. + #pragma warning (disable : 4503) +#endif // _MSC_VER + +#if defined (USE_WINDOWS_DLL_SEMANTICS) || defined (_WIN32) + #ifdef _MSC_VER + #pragma warning(disable : 4251) + #endif // _MSC_VER + + #ifdef USE_IMPORT_EXPORT + #ifdef AWS_JSONRPC10_EXPORTS + #define AWS_JSONRPC10_API __declspec(dllexport) + #else + #define AWS_JSONRPC10_API __declspec(dllimport) + #endif /* AWS_JSONRPC10_EXPORTS */ + #define AWS_JSONRPC10_EXTERN + #else + #define AWS_JSONRPC10_API + #define AWS_JSONRPC10_EXTERN extern + #endif // USE_IMPORT_EXPORT +#else // defined (USE_WINDOWS_DLL_SEMANTICS) || defined (WIN32) + #define AWS_JSONRPC10_API + #define AWS_JSONRPC10_EXTERN extern +#endif // defined (USE_WINDOWS_DLL_SEMANTICS) || defined (WIN32) diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/include/aws/json-rpc-10/model/ComplexError.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/include/aws/json-rpc-10/model/ComplexError.h new file mode 100644 index 00000000000..f963457ed2b --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/include/aws/json-rpc-10/model/ComplexError.h @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace JSONRPC10 +{ +namespace Model +{ + + /** + *

This error is thrown when a request is invalid.

See Also:

AWS + * API Reference

+ */ + class ComplexError + { + public: + AWS_JSONRPC10_API ComplexError(); + AWS_JSONRPC10_API ComplexError(Aws::Utils::Json::JsonView jsonValue); + AWS_JSONRPC10_API ComplexError& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_JSONRPC10_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + + inline const Aws::String& GetTopLevel() const{ return m_topLevel; } + inline bool TopLevelHasBeenSet() const { return m_topLevelHasBeenSet; } + inline void SetTopLevel(const Aws::String& value) { m_topLevelHasBeenSet = true; m_topLevel = value; } + inline void SetTopLevel(Aws::String&& value) { m_topLevelHasBeenSet = true; m_topLevel = std::move(value); } + inline void SetTopLevel(const char* value) { m_topLevelHasBeenSet = true; m_topLevel.assign(value); } + inline ComplexError& WithTopLevel(const Aws::String& value) { SetTopLevel(value); return *this;} + inline ComplexError& WithTopLevel(Aws::String&& value) { SetTopLevel(std::move(value)); return *this;} + inline ComplexError& WithTopLevel(const char* value) { SetTopLevel(value); return *this;} + ///@} + + ///@{ + + inline const ComplexNestedErrorData& GetNested() const{ return m_nested; } + inline bool NestedHasBeenSet() const { return m_nestedHasBeenSet; } + inline void SetNested(const ComplexNestedErrorData& value) { m_nestedHasBeenSet = true; m_nested = value; } + inline void SetNested(ComplexNestedErrorData&& value) { m_nestedHasBeenSet = true; m_nested = std::move(value); } + inline ComplexError& WithNested(const ComplexNestedErrorData& value) { SetNested(value); return *this;} + inline ComplexError& WithNested(ComplexNestedErrorData&& value) { SetNested(std::move(value)); return *this;} + ///@} + private: + + Aws::String m_topLevel; + bool m_topLevelHasBeenSet = false; + + ComplexNestedErrorData m_nested; + bool m_nestedHasBeenSet = false; + }; + +} // namespace Model +} // namespace JSONRPC10 +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/include/aws/json-rpc-10/model/ComplexNestedErrorData.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/include/aws/json-rpc-10/model/ComplexNestedErrorData.h new file mode 100644 index 00000000000..188ef0d853e --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/include/aws/json-rpc-10/model/ComplexNestedErrorData.h @@ -0,0 +1,54 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace JSONRPC10 +{ +namespace Model +{ + + class ComplexNestedErrorData + { + public: + AWS_JSONRPC10_API ComplexNestedErrorData(); + AWS_JSONRPC10_API ComplexNestedErrorData(Aws::Utils::Json::JsonView jsonValue); + AWS_JSONRPC10_API ComplexNestedErrorData& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_JSONRPC10_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + + inline const Aws::String& GetFoo() const{ return m_foo; } + inline bool FooHasBeenSet() const { return m_fooHasBeenSet; } + inline void SetFoo(const Aws::String& value) { m_fooHasBeenSet = true; m_foo = value; } + inline void SetFoo(Aws::String&& value) { m_fooHasBeenSet = true; m_foo = std::move(value); } + inline void SetFoo(const char* value) { m_fooHasBeenSet = true; m_foo.assign(value); } + inline ComplexNestedErrorData& WithFoo(const Aws::String& value) { SetFoo(value); return *this;} + inline ComplexNestedErrorData& WithFoo(Aws::String&& value) { SetFoo(std::move(value)); return *this;} + inline ComplexNestedErrorData& WithFoo(const char* value) { SetFoo(value); return *this;} + ///@} + private: + + Aws::String m_foo; + bool m_fooHasBeenSet = false; + }; + +} // namespace Model +} // namespace JSONRPC10 +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/include/aws/json-rpc-10/model/ContentTypeParametersRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/include/aws/json-rpc-10/model/ContentTypeParametersRequest.h new file mode 100644 index 00000000000..d4c61ae8f65 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/include/aws/json-rpc-10/model/ContentTypeParametersRequest.h @@ -0,0 +1,50 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace JSONRPC10 +{ +namespace Model +{ + + /** + */ + class ContentTypeParametersRequest : public JSONRPC10Request + { + public: + AWS_JSONRPC10_API ContentTypeParametersRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "ContentTypeParameters"; } + + AWS_JSONRPC10_API Aws::String SerializePayload() const override; + + AWS_JSONRPC10_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + + inline int GetValue() const{ return m_value; } + inline bool ValueHasBeenSet() const { return m_valueHasBeenSet; } + inline void SetValue(int value) { m_valueHasBeenSet = true; m_value = value; } + inline ContentTypeParametersRequest& WithValue(int value) { SetValue(value); return *this;} + ///@} + private: + + int m_value; + bool m_valueHasBeenSet = false; + }; + +} // namespace Model +} // namespace JSONRPC10 +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/include/aws/json-rpc-10/model/ContentTypeParametersResult.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/include/aws/json-rpc-10/model/ContentTypeParametersResult.h new file mode 100644 index 00000000000..d4164659327 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/include/aws/json-rpc-10/model/ContentTypeParametersResult.h @@ -0,0 +1,52 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace JSONRPC10 +{ +namespace Model +{ + class ContentTypeParametersResult + { + public: + AWS_JSONRPC10_API ContentTypeParametersResult(); + AWS_JSONRPC10_API ContentTypeParametersResult(const Aws::AmazonWebServiceResult& result); + AWS_JSONRPC10_API ContentTypeParametersResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline ContentTypeParametersResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline ContentTypeParametersResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline ContentTypeParametersResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace JSONRPC10 +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/include/aws/json-rpc-10/model/EmptyInputAndEmptyOutputRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/include/aws/json-rpc-10/model/EmptyInputAndEmptyOutputRequest.h new file mode 100644 index 00000000000..aecdb7b857b --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/include/aws/json-rpc-10/model/EmptyInputAndEmptyOutputRequest.h @@ -0,0 +1,38 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace JSONRPC10 +{ +namespace Model +{ + + /** + */ + class EmptyInputAndEmptyOutputRequest : public JSONRPC10Request + { + public: + AWS_JSONRPC10_API EmptyInputAndEmptyOutputRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "EmptyInputAndEmptyOutput"; } + + AWS_JSONRPC10_API Aws::String SerializePayload() const override; + + AWS_JSONRPC10_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + }; + +} // namespace Model +} // namespace JSONRPC10 +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/include/aws/json-rpc-10/model/EmptyInputAndEmptyOutputResult.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/include/aws/json-rpc-10/model/EmptyInputAndEmptyOutputResult.h new file mode 100644 index 00000000000..2e62089bef6 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/include/aws/json-rpc-10/model/EmptyInputAndEmptyOutputResult.h @@ -0,0 +1,52 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace JSONRPC10 +{ +namespace Model +{ + class EmptyInputAndEmptyOutputResult + { + public: + AWS_JSONRPC10_API EmptyInputAndEmptyOutputResult(); + AWS_JSONRPC10_API EmptyInputAndEmptyOutputResult(const Aws::AmazonWebServiceResult& result); + AWS_JSONRPC10_API EmptyInputAndEmptyOutputResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline EmptyInputAndEmptyOutputResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline EmptyInputAndEmptyOutputResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline EmptyInputAndEmptyOutputResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace JSONRPC10 +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/include/aws/json-rpc-10/model/EndpointOperationRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/include/aws/json-rpc-10/model/EndpointOperationRequest.h new file mode 100644 index 00000000000..dc25b1712ae --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/include/aws/json-rpc-10/model/EndpointOperationRequest.h @@ -0,0 +1,38 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace JSONRPC10 +{ +namespace Model +{ + + /** + */ + class EndpointOperationRequest : public JSONRPC10Request + { + public: + AWS_JSONRPC10_API EndpointOperationRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "EndpointOperation"; } + + AWS_JSONRPC10_API Aws::String SerializePayload() const override; + + AWS_JSONRPC10_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + }; + +} // namespace Model +} // namespace JSONRPC10 +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/include/aws/json-rpc-10/model/EndpointWithHostLabelOperationRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/include/aws/json-rpc-10/model/EndpointWithHostLabelOperationRequest.h new file mode 100644 index 00000000000..451785f601e --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/include/aws/json-rpc-10/model/EndpointWithHostLabelOperationRequest.h @@ -0,0 +1,56 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace JSONRPC10 +{ +namespace Model +{ + + /** + */ + class EndpointWithHostLabelOperationRequest : public JSONRPC10Request + { + public: + AWS_JSONRPC10_API EndpointWithHostLabelOperationRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "EndpointWithHostLabelOperation"; } + + AWS_JSONRPC10_API Aws::String SerializePayload() const override; + + AWS_JSONRPC10_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + + inline const Aws::String& GetLabel() const{ return m_label; } + inline bool LabelHasBeenSet() const { return m_labelHasBeenSet; } + inline void SetLabel(const Aws::String& value) { m_labelHasBeenSet = true; m_label = value; } + inline void SetLabel(Aws::String&& value) { m_labelHasBeenSet = true; m_label = std::move(value); } + inline void SetLabel(const char* value) { m_labelHasBeenSet = true; m_label.assign(value); } + inline EndpointWithHostLabelOperationRequest& WithLabel(const Aws::String& value) { SetLabel(value); return *this;} + inline EndpointWithHostLabelOperationRequest& WithLabel(Aws::String&& value) { SetLabel(std::move(value)); return *this;} + inline EndpointWithHostLabelOperationRequest& WithLabel(const char* value) { SetLabel(value); return *this;} + ///@} + private: + + Aws::String m_label; + bool m_labelHasBeenSet = false; + }; + +} // namespace Model +} // namespace JSONRPC10 +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/include/aws/json-rpc-10/model/FooEnum.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/include/aws/json-rpc-10/model/FooEnum.h new file mode 100644 index 00000000000..adcd11e8aab --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/include/aws/json-rpc-10/model/FooEnum.h @@ -0,0 +1,34 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace JSONRPC10 +{ +namespace Model +{ + enum class FooEnum + { + NOT_SET, + Foo, + Baz, + Bar, + _1, + _0 + }; + +namespace FooEnumMapper +{ +AWS_JSONRPC10_API FooEnum GetFooEnumForName(const Aws::String& name); + +AWS_JSONRPC10_API Aws::String GetNameForFooEnum(FooEnum value); +} // namespace FooEnumMapper +} // namespace Model +} // namespace JSONRPC10 +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/include/aws/json-rpc-10/model/GreetingStruct.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/include/aws/json-rpc-10/model/GreetingStruct.h new file mode 100644 index 00000000000..bbe114da123 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/include/aws/json-rpc-10/model/GreetingStruct.h @@ -0,0 +1,54 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace JSONRPC10 +{ +namespace Model +{ + + class GreetingStruct + { + public: + AWS_JSONRPC10_API GreetingStruct(); + AWS_JSONRPC10_API GreetingStruct(Aws::Utils::Json::JsonView jsonValue); + AWS_JSONRPC10_API GreetingStruct& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_JSONRPC10_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + + inline const Aws::String& GetHi() const{ return m_hi; } + inline bool HiHasBeenSet() const { return m_hiHasBeenSet; } + inline void SetHi(const Aws::String& value) { m_hiHasBeenSet = true; m_hi = value; } + inline void SetHi(Aws::String&& value) { m_hiHasBeenSet = true; m_hi = std::move(value); } + inline void SetHi(const char* value) { m_hiHasBeenSet = true; m_hi.assign(value); } + inline GreetingStruct& WithHi(const Aws::String& value) { SetHi(value); return *this;} + inline GreetingStruct& WithHi(Aws::String&& value) { SetHi(std::move(value)); return *this;} + inline GreetingStruct& WithHi(const char* value) { SetHi(value); return *this;} + ///@} + private: + + Aws::String m_hi; + bool m_hiHasBeenSet = false; + }; + +} // namespace Model +} // namespace JSONRPC10 +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/include/aws/json-rpc-10/model/GreetingWithErrorsRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/include/aws/json-rpc-10/model/GreetingWithErrorsRequest.h new file mode 100644 index 00000000000..b5ca2677bdf --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/include/aws/json-rpc-10/model/GreetingWithErrorsRequest.h @@ -0,0 +1,56 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace JSONRPC10 +{ +namespace Model +{ + + /** + */ + class GreetingWithErrorsRequest : public JSONRPC10Request + { + public: + AWS_JSONRPC10_API GreetingWithErrorsRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "GreetingWithErrors"; } + + AWS_JSONRPC10_API Aws::String SerializePayload() const override; + + AWS_JSONRPC10_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + + inline const Aws::String& GetGreeting() const{ return m_greeting; } + inline bool GreetingHasBeenSet() const { return m_greetingHasBeenSet; } + inline void SetGreeting(const Aws::String& value) { m_greetingHasBeenSet = true; m_greeting = value; } + inline void SetGreeting(Aws::String&& value) { m_greetingHasBeenSet = true; m_greeting = std::move(value); } + inline void SetGreeting(const char* value) { m_greetingHasBeenSet = true; m_greeting.assign(value); } + inline GreetingWithErrorsRequest& WithGreeting(const Aws::String& value) { SetGreeting(value); return *this;} + inline GreetingWithErrorsRequest& WithGreeting(Aws::String&& value) { SetGreeting(std::move(value)); return *this;} + inline GreetingWithErrorsRequest& WithGreeting(const char* value) { SetGreeting(value); return *this;} + ///@} + private: + + Aws::String m_greeting; + bool m_greetingHasBeenSet = false; + }; + +} // namespace Model +} // namespace JSONRPC10 +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/include/aws/json-rpc-10/model/GreetingWithErrorsResult.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/include/aws/json-rpc-10/model/GreetingWithErrorsResult.h new file mode 100644 index 00000000000..64890cb0b32 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/include/aws/json-rpc-10/model/GreetingWithErrorsResult.h @@ -0,0 +1,65 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace JSONRPC10 +{ +namespace Model +{ + class GreetingWithErrorsResult + { + public: + AWS_JSONRPC10_API GreetingWithErrorsResult(); + AWS_JSONRPC10_API GreetingWithErrorsResult(const Aws::AmazonWebServiceResult& result); + AWS_JSONRPC10_API GreetingWithErrorsResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::String& GetGreeting() const{ return m_greeting; } + inline void SetGreeting(const Aws::String& value) { m_greeting = value; } + inline void SetGreeting(Aws::String&& value) { m_greeting = std::move(value); } + inline void SetGreeting(const char* value) { m_greeting.assign(value); } + inline GreetingWithErrorsResult& WithGreeting(const Aws::String& value) { SetGreeting(value); return *this;} + inline GreetingWithErrorsResult& WithGreeting(Aws::String&& value) { SetGreeting(std::move(value)); return *this;} + inline GreetingWithErrorsResult& WithGreeting(const char* value) { SetGreeting(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline GreetingWithErrorsResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline GreetingWithErrorsResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline GreetingWithErrorsResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_greeting; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace JSONRPC10 +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/include/aws/json-rpc-10/model/HostWithPathOperationRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/include/aws/json-rpc-10/model/HostWithPathOperationRequest.h new file mode 100644 index 00000000000..4a5c97714f6 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/include/aws/json-rpc-10/model/HostWithPathOperationRequest.h @@ -0,0 +1,38 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace JSONRPC10 +{ +namespace Model +{ + + /** + */ + class HostWithPathOperationRequest : public JSONRPC10Request + { + public: + AWS_JSONRPC10_API HostWithPathOperationRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "HostWithPathOperation"; } + + AWS_JSONRPC10_API Aws::String SerializePayload() const override; + + AWS_JSONRPC10_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + }; + +} // namespace Model +} // namespace JSONRPC10 +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/include/aws/json-rpc-10/model/JsonUnionsRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/include/aws/json-rpc-10/model/JsonUnionsRequest.h new file mode 100644 index 00000000000..27fef7ccdef --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/include/aws/json-rpc-10/model/JsonUnionsRequest.h @@ -0,0 +1,54 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace JSONRPC10 +{ +namespace Model +{ + + /** + */ + class JsonUnionsRequest : public JSONRPC10Request + { + public: + AWS_JSONRPC10_API JsonUnionsRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "JsonUnions"; } + + AWS_JSONRPC10_API Aws::String SerializePayload() const override; + + AWS_JSONRPC10_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + + inline const MyUnion& GetContents() const{ return m_contents; } + inline bool ContentsHasBeenSet() const { return m_contentsHasBeenSet; } + inline void SetContents(const MyUnion& value) { m_contentsHasBeenSet = true; m_contents = value; } + inline void SetContents(MyUnion&& value) { m_contentsHasBeenSet = true; m_contents = std::move(value); } + inline JsonUnionsRequest& WithContents(const MyUnion& value) { SetContents(value); return *this;} + inline JsonUnionsRequest& WithContents(MyUnion&& value) { SetContents(std::move(value)); return *this;} + ///@} + private: + + MyUnion m_contents; + bool m_contentsHasBeenSet = false; + }; + +} // namespace Model +} // namespace JSONRPC10 +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/include/aws/json-rpc-10/model/JsonUnionsResult.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/include/aws/json-rpc-10/model/JsonUnionsResult.h new file mode 100644 index 00000000000..d7b4da2612d --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/include/aws/json-rpc-10/model/JsonUnionsResult.h @@ -0,0 +1,64 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace JSONRPC10 +{ +namespace Model +{ + class JsonUnionsResult + { + public: + AWS_JSONRPC10_API JsonUnionsResult(); + AWS_JSONRPC10_API JsonUnionsResult(const Aws::AmazonWebServiceResult& result); + AWS_JSONRPC10_API JsonUnionsResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const MyUnion& GetContents() const{ return m_contents; } + inline void SetContents(const MyUnion& value) { m_contents = value; } + inline void SetContents(MyUnion&& value) { m_contents = std::move(value); } + inline JsonUnionsResult& WithContents(const MyUnion& value) { SetContents(value); return *this;} + inline JsonUnionsResult& WithContents(MyUnion&& value) { SetContents(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline JsonUnionsResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline JsonUnionsResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline JsonUnionsResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + MyUnion m_contents; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace JSONRPC10 +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/include/aws/json-rpc-10/model/MyUnion.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/include/aws/json-rpc-10/model/MyUnion.h new file mode 100644 index 00000000000..4f5e8ccb4d9 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/include/aws/json-rpc-10/model/MyUnion.h @@ -0,0 +1,187 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace JSONRPC10 +{ +namespace Model +{ + + /** + *

A union with a representative set of types for members.

See + * Also:

AWS + * API Reference

+ */ + class MyUnion + { + public: + AWS_JSONRPC10_API MyUnion(); + AWS_JSONRPC10_API MyUnion(Aws::Utils::Json::JsonView jsonValue); + AWS_JSONRPC10_API MyUnion& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_JSONRPC10_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + + inline const Aws::String& GetStringValue() const{ return m_stringValue; } + inline bool StringValueHasBeenSet() const { return m_stringValueHasBeenSet; } + inline void SetStringValue(const Aws::String& value) { m_stringValueHasBeenSet = true; m_stringValue = value; } + inline void SetStringValue(Aws::String&& value) { m_stringValueHasBeenSet = true; m_stringValue = std::move(value); } + inline void SetStringValue(const char* value) { m_stringValueHasBeenSet = true; m_stringValue.assign(value); } + inline MyUnion& WithStringValue(const Aws::String& value) { SetStringValue(value); return *this;} + inline MyUnion& WithStringValue(Aws::String&& value) { SetStringValue(std::move(value)); return *this;} + inline MyUnion& WithStringValue(const char* value) { SetStringValue(value); return *this;} + ///@} + + ///@{ + + inline bool GetBooleanValue() const{ return m_booleanValue; } + inline bool BooleanValueHasBeenSet() const { return m_booleanValueHasBeenSet; } + inline void SetBooleanValue(bool value) { m_booleanValueHasBeenSet = true; m_booleanValue = value; } + inline MyUnion& WithBooleanValue(bool value) { SetBooleanValue(value); return *this;} + ///@} + + ///@{ + + inline int GetNumberValue() const{ return m_numberValue; } + inline bool NumberValueHasBeenSet() const { return m_numberValueHasBeenSet; } + inline void SetNumberValue(int value) { m_numberValueHasBeenSet = true; m_numberValue = value; } + inline MyUnion& WithNumberValue(int value) { SetNumberValue(value); return *this;} + ///@} + + ///@{ + + inline const Aws::Utils::ByteBuffer& GetBlobValue() const{ return m_blobValue; } + inline bool BlobValueHasBeenSet() const { return m_blobValueHasBeenSet; } + inline void SetBlobValue(const Aws::Utils::ByteBuffer& value) { m_blobValueHasBeenSet = true; m_blobValue = value; } + inline void SetBlobValue(Aws::Utils::ByteBuffer&& value) { m_blobValueHasBeenSet = true; m_blobValue = std::move(value); } + inline MyUnion& WithBlobValue(const Aws::Utils::ByteBuffer& value) { SetBlobValue(value); return *this;} + inline MyUnion& WithBlobValue(Aws::Utils::ByteBuffer&& value) { SetBlobValue(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::Utils::DateTime& GetTimestampValue() const{ return m_timestampValue; } + inline bool TimestampValueHasBeenSet() const { return m_timestampValueHasBeenSet; } + inline void SetTimestampValue(const Aws::Utils::DateTime& value) { m_timestampValueHasBeenSet = true; m_timestampValue = value; } + inline void SetTimestampValue(Aws::Utils::DateTime&& value) { m_timestampValueHasBeenSet = true; m_timestampValue = std::move(value); } + inline MyUnion& WithTimestampValue(const Aws::Utils::DateTime& value) { SetTimestampValue(value); return *this;} + inline MyUnion& WithTimestampValue(Aws::Utils::DateTime&& value) { SetTimestampValue(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const FooEnum& GetEnumValue() const{ return m_enumValue; } + inline bool EnumValueHasBeenSet() const { return m_enumValueHasBeenSet; } + inline void SetEnumValue(const FooEnum& value) { m_enumValueHasBeenSet = true; m_enumValue = value; } + inline void SetEnumValue(FooEnum&& value) { m_enumValueHasBeenSet = true; m_enumValue = std::move(value); } + inline MyUnion& WithEnumValue(const FooEnum& value) { SetEnumValue(value); return *this;} + inline MyUnion& WithEnumValue(FooEnum&& value) { SetEnumValue(std::move(value)); return *this;} + ///@} + + ///@{ + + inline int GetIntEnumValue() const{ return m_intEnumValue; } + inline bool IntEnumValueHasBeenSet() const { return m_intEnumValueHasBeenSet; } + inline void SetIntEnumValue(int value) { m_intEnumValueHasBeenSet = true; m_intEnumValue = value; } + inline MyUnion& WithIntEnumValue(int value) { SetIntEnumValue(value); return *this;} + ///@} + + ///@{ + + inline const Aws::Vector& GetListValue() const{ return m_listValue; } + inline bool ListValueHasBeenSet() const { return m_listValueHasBeenSet; } + inline void SetListValue(const Aws::Vector& value) { m_listValueHasBeenSet = true; m_listValue = value; } + inline void SetListValue(Aws::Vector&& value) { m_listValueHasBeenSet = true; m_listValue = std::move(value); } + inline MyUnion& WithListValue(const Aws::Vector& value) { SetListValue(value); return *this;} + inline MyUnion& WithListValue(Aws::Vector&& value) { SetListValue(std::move(value)); return *this;} + inline MyUnion& AddListValue(const Aws::String& value) { m_listValueHasBeenSet = true; m_listValue.push_back(value); return *this; } + inline MyUnion& AddListValue(Aws::String&& value) { m_listValueHasBeenSet = true; m_listValue.push_back(std::move(value)); return *this; } + inline MyUnion& AddListValue(const char* value) { m_listValueHasBeenSet = true; m_listValue.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::Map& GetMapValue() const{ return m_mapValue; } + inline bool MapValueHasBeenSet() const { return m_mapValueHasBeenSet; } + inline void SetMapValue(const Aws::Map& value) { m_mapValueHasBeenSet = true; m_mapValue = value; } + inline void SetMapValue(Aws::Map&& value) { m_mapValueHasBeenSet = true; m_mapValue = std::move(value); } + inline MyUnion& WithMapValue(const Aws::Map& value) { SetMapValue(value); return *this;} + inline MyUnion& WithMapValue(Aws::Map&& value) { SetMapValue(std::move(value)); return *this;} + inline MyUnion& AddMapValue(const Aws::String& key, const Aws::String& value) { m_mapValueHasBeenSet = true; m_mapValue.emplace(key, value); return *this; } + inline MyUnion& AddMapValue(Aws::String&& key, const Aws::String& value) { m_mapValueHasBeenSet = true; m_mapValue.emplace(std::move(key), value); return *this; } + inline MyUnion& AddMapValue(const Aws::String& key, Aws::String&& value) { m_mapValueHasBeenSet = true; m_mapValue.emplace(key, std::move(value)); return *this; } + inline MyUnion& AddMapValue(Aws::String&& key, Aws::String&& value) { m_mapValueHasBeenSet = true; m_mapValue.emplace(std::move(key), std::move(value)); return *this; } + inline MyUnion& AddMapValue(const char* key, Aws::String&& value) { m_mapValueHasBeenSet = true; m_mapValue.emplace(key, std::move(value)); return *this; } + inline MyUnion& AddMapValue(Aws::String&& key, const char* value) { m_mapValueHasBeenSet = true; m_mapValue.emplace(std::move(key), value); return *this; } + inline MyUnion& AddMapValue(const char* key, const char* value) { m_mapValueHasBeenSet = true; m_mapValue.emplace(key, value); return *this; } + ///@} + + ///@{ + + inline const GreetingStruct& GetStructureValue() const{ return m_structureValue; } + inline bool StructureValueHasBeenSet() const { return m_structureValueHasBeenSet; } + inline void SetStructureValue(const GreetingStruct& value) { m_structureValueHasBeenSet = true; m_structureValue = value; } + inline void SetStructureValue(GreetingStruct&& value) { m_structureValueHasBeenSet = true; m_structureValue = std::move(value); } + inline MyUnion& WithStructureValue(const GreetingStruct& value) { SetStructureValue(value); return *this;} + inline MyUnion& WithStructureValue(GreetingStruct&& value) { SetStructureValue(std::move(value)); return *this;} + ///@} + private: + + Aws::String m_stringValue; + bool m_stringValueHasBeenSet = false; + + bool m_booleanValue; + bool m_booleanValueHasBeenSet = false; + + int m_numberValue; + bool m_numberValueHasBeenSet = false; + + Aws::Utils::ByteBuffer m_blobValue; + bool m_blobValueHasBeenSet = false; + + Aws::Utils::DateTime m_timestampValue; + bool m_timestampValueHasBeenSet = false; + + FooEnum m_enumValue; + bool m_enumValueHasBeenSet = false; + + int m_intEnumValue; + bool m_intEnumValueHasBeenSet = false; + + Aws::Vector m_listValue; + bool m_listValueHasBeenSet = false; + + Aws::Map m_mapValue; + bool m_mapValueHasBeenSet = false; + + GreetingStruct m_structureValue; + bool m_structureValueHasBeenSet = false; + }; + +} // namespace Model +} // namespace JSONRPC10 +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/include/aws/json-rpc-10/model/NoInputAndNoOutputRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/include/aws/json-rpc-10/model/NoInputAndNoOutputRequest.h new file mode 100644 index 00000000000..bac481199f6 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/include/aws/json-rpc-10/model/NoInputAndNoOutputRequest.h @@ -0,0 +1,38 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace JSONRPC10 +{ +namespace Model +{ + + /** + */ + class NoInputAndNoOutputRequest : public JSONRPC10Request + { + public: + AWS_JSONRPC10_API NoInputAndNoOutputRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "NoInputAndNoOutput"; } + + AWS_JSONRPC10_API Aws::String SerializePayload() const override; + + AWS_JSONRPC10_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + }; + +} // namespace Model +} // namespace JSONRPC10 +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/include/aws/json-rpc-10/model/NoInputAndOutputRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/include/aws/json-rpc-10/model/NoInputAndOutputRequest.h new file mode 100644 index 00000000000..a5b3cf851a0 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/include/aws/json-rpc-10/model/NoInputAndOutputRequest.h @@ -0,0 +1,38 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace JSONRPC10 +{ +namespace Model +{ + + /** + */ + class NoInputAndOutputRequest : public JSONRPC10Request + { + public: + AWS_JSONRPC10_API NoInputAndOutputRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "NoInputAndOutput"; } + + AWS_JSONRPC10_API Aws::String SerializePayload() const override; + + AWS_JSONRPC10_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + }; + +} // namespace Model +} // namespace JSONRPC10 +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/include/aws/json-rpc-10/model/NoInputAndOutputResult.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/include/aws/json-rpc-10/model/NoInputAndOutputResult.h new file mode 100644 index 00000000000..f48fa1d23ed --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/include/aws/json-rpc-10/model/NoInputAndOutputResult.h @@ -0,0 +1,52 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace JSONRPC10 +{ +namespace Model +{ + class NoInputAndOutputResult + { + public: + AWS_JSONRPC10_API NoInputAndOutputResult(); + AWS_JSONRPC10_API NoInputAndOutputResult(const Aws::AmazonWebServiceResult& result); + AWS_JSONRPC10_API NoInputAndOutputResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline NoInputAndOutputResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline NoInputAndOutputResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline NoInputAndOutputResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace JSONRPC10 +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/include/aws/json-rpc-10/model/PutWithContentEncodingRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/include/aws/json-rpc-10/model/PutWithContentEncodingRequest.h new file mode 100644 index 00000000000..39ae3ae68be --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/include/aws/json-rpc-10/model/PutWithContentEncodingRequest.h @@ -0,0 +1,76 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace JSONRPC10 +{ +namespace Model +{ + + /** + */ + class PutWithContentEncodingRequest : public JSONRPC10Request + { + public: + AWS_JSONRPC10_API PutWithContentEncodingRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "PutWithContentEncoding"; } + + AWS_JSONRPC10_API Aws::String SerializePayload() const override; + + AWS_JSONRPC10_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + +#ifdef ENABLED_ZLIB_REQUEST_COMPRESSION + virtual Aws::Client::CompressionAlgorithm + GetSelectedCompressionAlgorithm(Aws::Client::RequestCompressionConfig config) const override; +#endif + + + ///@{ + + inline const Aws::String& GetEncoding() const{ return m_encoding; } + inline bool EncodingHasBeenSet() const { return m_encodingHasBeenSet; } + inline void SetEncoding(const Aws::String& value) { m_encodingHasBeenSet = true; m_encoding = value; } + inline void SetEncoding(Aws::String&& value) { m_encodingHasBeenSet = true; m_encoding = std::move(value); } + inline void SetEncoding(const char* value) { m_encodingHasBeenSet = true; m_encoding.assign(value); } + inline PutWithContentEncodingRequest& WithEncoding(const Aws::String& value) { SetEncoding(value); return *this;} + inline PutWithContentEncodingRequest& WithEncoding(Aws::String&& value) { SetEncoding(std::move(value)); return *this;} + inline PutWithContentEncodingRequest& WithEncoding(const char* value) { SetEncoding(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetData() const{ return m_data; } + inline bool DataHasBeenSet() const { return m_dataHasBeenSet; } + inline void SetData(const Aws::String& value) { m_dataHasBeenSet = true; m_data = value; } + inline void SetData(Aws::String&& value) { m_dataHasBeenSet = true; m_data = std::move(value); } + inline void SetData(const char* value) { m_dataHasBeenSet = true; m_data.assign(value); } + inline PutWithContentEncodingRequest& WithData(const Aws::String& value) { SetData(value); return *this;} + inline PutWithContentEncodingRequest& WithData(Aws::String&& value) { SetData(std::move(value)); return *this;} + inline PutWithContentEncodingRequest& WithData(const char* value) { SetData(value); return *this;} + ///@} + private: + + Aws::String m_encoding; + bool m_encodingHasBeenSet = false; + + Aws::String m_data; + bool m_dataHasBeenSet = false; + }; + +} // namespace Model +} // namespace JSONRPC10 +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/include/aws/json-rpc-10/model/SimpleScalarPropertiesRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/include/aws/json-rpc-10/model/SimpleScalarPropertiesRequest.h new file mode 100644 index 00000000000..1e918b35f4e --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/include/aws/json-rpc-10/model/SimpleScalarPropertiesRequest.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace JSONRPC10 +{ +namespace Model +{ + + /** + */ + class SimpleScalarPropertiesRequest : public JSONRPC10Request + { + public: + AWS_JSONRPC10_API SimpleScalarPropertiesRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "SimpleScalarProperties"; } + + AWS_JSONRPC10_API Aws::String SerializePayload() const override; + + AWS_JSONRPC10_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + + inline double GetFloatValue() const{ return m_floatValue; } + inline bool FloatValueHasBeenSet() const { return m_floatValueHasBeenSet; } + inline void SetFloatValue(double value) { m_floatValueHasBeenSet = true; m_floatValue = value; } + inline SimpleScalarPropertiesRequest& WithFloatValue(double value) { SetFloatValue(value); return *this;} + ///@} + + ///@{ + + inline double GetDoubleValue() const{ return m_doubleValue; } + inline bool DoubleValueHasBeenSet() const { return m_doubleValueHasBeenSet; } + inline void SetDoubleValue(double value) { m_doubleValueHasBeenSet = true; m_doubleValue = value; } + inline SimpleScalarPropertiesRequest& WithDoubleValue(double value) { SetDoubleValue(value); return *this;} + ///@} + private: + + double m_floatValue; + bool m_floatValueHasBeenSet = false; + + double m_doubleValue; + bool m_doubleValueHasBeenSet = false; + }; + +} // namespace Model +} // namespace JSONRPC10 +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/include/aws/json-rpc-10/model/SimpleScalarPropertiesResult.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/include/aws/json-rpc-10/model/SimpleScalarPropertiesResult.h new file mode 100644 index 00000000000..871a9f0f160 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/include/aws/json-rpc-10/model/SimpleScalarPropertiesResult.h @@ -0,0 +1,70 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace JSONRPC10 +{ +namespace Model +{ + class SimpleScalarPropertiesResult + { + public: + AWS_JSONRPC10_API SimpleScalarPropertiesResult(); + AWS_JSONRPC10_API SimpleScalarPropertiesResult(const Aws::AmazonWebServiceResult& result); + AWS_JSONRPC10_API SimpleScalarPropertiesResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline double GetFloatValue() const{ return m_floatValue; } + inline void SetFloatValue(double value) { m_floatValue = value; } + inline SimpleScalarPropertiesResult& WithFloatValue(double value) { SetFloatValue(value); return *this;} + ///@} + + ///@{ + + inline double GetDoubleValue() const{ return m_doubleValue; } + inline void SetDoubleValue(double value) { m_doubleValue = value; } + inline SimpleScalarPropertiesResult& WithDoubleValue(double value) { SetDoubleValue(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline SimpleScalarPropertiesResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline SimpleScalarPropertiesResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline SimpleScalarPropertiesResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + double m_floatValue; + + double m_doubleValue; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace JSONRPC10 +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/source/JSONRPC10Client.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/source/JSONRPC10Client.cpp new file mode 100644 index 00000000000..9001001336e --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/source/JSONRPC10Client.cpp @@ -0,0 +1,405 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include + +#include +#include +#include + +using namespace Aws; +using namespace Aws::Auth; +using namespace Aws::Client; +using namespace Aws::JSONRPC10; +using namespace Aws::JSONRPC10::Model; +using namespace Aws::Http; +using namespace Aws::Utils::Json; +using namespace smithy::components::tracing; +using ResolveEndpointOutcome = Aws::Endpoint::ResolveEndpointOutcome; + +namespace Aws +{ + namespace JSONRPC10 + { + const char ALLOCATION_TAG[] = "JSONRPC10Client"; + const char SERVICE_NAME[] = "jsonrpc10"; + } +} +const char* JSONRPC10Client::GetServiceName() {return SERVICE_NAME;} +const char* JSONRPC10Client::GetAllocationTag() {return ALLOCATION_TAG;} + +JSONRPC10Client::JSONRPC10Client(const JSONRPC10::JSONRPC10ClientConfiguration& clientConfiguration, + std::shared_ptr endpointProvider) : + AwsSmithyClientT(clientConfiguration, + GetServiceName(), + "JSON RPC 10", + Aws::Http::CreateHttpClient(clientConfiguration), + Aws::MakeShared(ALLOCATION_TAG), + endpointProvider ? endpointProvider : Aws::MakeShared(ALLOCATION_TAG), + Aws::MakeShared>(ALLOCATION_TAG), + { + {smithy::SigV4AuthSchemeOption::sigV4AuthSchemeOption.schemeId, smithy::SigV4AuthScheme{GetServiceName(), clientConfiguration.region}}, + }) +{} + +JSONRPC10Client::JSONRPC10Client(const AWSCredentials& credentials, + std::shared_ptr endpointProvider, + const JSONRPC10::JSONRPC10ClientConfiguration& clientConfiguration) : + AwsSmithyClientT(clientConfiguration, + GetServiceName(), + "JSON RPC 10", + Aws::Http::CreateHttpClient(clientConfiguration), + Aws::MakeShared(ALLOCATION_TAG), + endpointProvider ? endpointProvider : Aws::MakeShared(ALLOCATION_TAG), + Aws::MakeShared>(ALLOCATION_TAG), + { + {smithy::SigV4AuthSchemeOption::sigV4AuthSchemeOption.schemeId, smithy::SigV4AuthScheme{Aws::MakeShared(ALLOCATION_TAG, credentials), GetServiceName(), clientConfiguration.region}}, + }) +{} + +JSONRPC10Client::JSONRPC10Client(const std::shared_ptr& credentialsProvider, + std::shared_ptr endpointProvider, + const JSONRPC10::JSONRPC10ClientConfiguration& clientConfiguration) : + AwsSmithyClientT(clientConfiguration, + GetServiceName(), + "JSON RPC 10", + Aws::Http::CreateHttpClient(clientConfiguration), + Aws::MakeShared(ALLOCATION_TAG), + endpointProvider ? endpointProvider : Aws::MakeShared(ALLOCATION_TAG), + Aws::MakeShared>(ALLOCATION_TAG), + { + {smithy::SigV4AuthSchemeOption::sigV4AuthSchemeOption.schemeId, smithy::SigV4AuthScheme{ Aws::MakeShared(ALLOCATION_TAG, credentialsProvider), GetServiceName(), clientConfiguration.region}} + }) +{} + +/* Legacy constructors due deprecation */ +JSONRPC10Client::JSONRPC10Client(const Client::ClientConfiguration& clientConfiguration) : + AwsSmithyClientT(clientConfiguration, + GetServiceName(), + "JSON RPC 10", + Aws::Http::CreateHttpClient(clientConfiguration), + Aws::MakeShared(ALLOCATION_TAG), + Aws::MakeShared(ALLOCATION_TAG), + Aws::MakeShared>(ALLOCATION_TAG), + { + {smithy::SigV4AuthSchemeOption::sigV4AuthSchemeOption.schemeId, smithy::SigV4AuthScheme{Aws::MakeShared(ALLOCATION_TAG), GetServiceName(), clientConfiguration.region}} + }) +{} + +JSONRPC10Client::JSONRPC10Client(const AWSCredentials& credentials, + const Client::ClientConfiguration& clientConfiguration) : + AwsSmithyClientT(clientConfiguration, + GetServiceName(), + "JSON RPC 10", + Aws::Http::CreateHttpClient(clientConfiguration), + Aws::MakeShared(ALLOCATION_TAG), + Aws::MakeShared(ALLOCATION_TAG), + Aws::MakeShared>(ALLOCATION_TAG), + { + {smithy::SigV4AuthSchemeOption::sigV4AuthSchemeOption.schemeId, smithy::SigV4AuthScheme{Aws::MakeShared(ALLOCATION_TAG, credentials), GetServiceName(), clientConfiguration.region}} + }) +{} + +JSONRPC10Client::JSONRPC10Client(const std::shared_ptr& credentialsProvider, + const Client::ClientConfiguration& clientConfiguration) : + AwsSmithyClientT(clientConfiguration, + GetServiceName(), + "JSON RPC 10", + Aws::Http::CreateHttpClient(clientConfiguration), + Aws::MakeShared(ALLOCATION_TAG), + Aws::MakeShared(ALLOCATION_TAG), + Aws::MakeShared>(ALLOCATION_TAG), + { + {smithy::SigV4AuthSchemeOption::sigV4AuthSchemeOption.schemeId, smithy::SigV4AuthScheme{Aws::MakeShared(ALLOCATION_TAG, credentialsProvider), GetServiceName(), clientConfiguration.region}} + }) +{} +/* End of legacy constructors due deprecation */ + +JSONRPC10Client::~JSONRPC10Client() +{ + ShutdownSdkClient(this, -1); +} + +std::shared_ptr& JSONRPC10Client::accessEndpointProvider() +{ + return m_endpointProvider; +} + +void JSONRPC10Client::OverrideEndpoint(const Aws::String& endpoint) +{ + AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); + m_endpointProvider->OverrideEndpoint(endpoint); +} +ContentTypeParametersOutcome JSONRPC10Client::ContentTypeParameters(const ContentTypeParametersRequest& request) const +{ + AWS_OPERATION_GUARD(ContentTypeParameters); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, ContentTypeParameters, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_clientConfiguration.telemetryProvider, ContentTypeParameters, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_clientConfiguration.telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_clientConfiguration.telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, ContentTypeParameters, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".ContentTypeParameters", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> ContentTypeParametersOutcome { + return ContentTypeParametersOutcome(MakeRequestDeserialize(&request, request.GetServiceRequestName(), Aws::Http::HttpMethod::HTTP_POST, [&](Aws::Endpoint::AWSEndpoint& resolvedEndpoint) -> void { + AWS_UNREFERENCED_PARAM(resolvedEndpoint); + })); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +EmptyInputAndEmptyOutputOutcome JSONRPC10Client::EmptyInputAndEmptyOutput(const EmptyInputAndEmptyOutputRequest& request) const +{ + AWS_OPERATION_GUARD(EmptyInputAndEmptyOutput); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, EmptyInputAndEmptyOutput, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_clientConfiguration.telemetryProvider, EmptyInputAndEmptyOutput, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_clientConfiguration.telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_clientConfiguration.telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, EmptyInputAndEmptyOutput, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".EmptyInputAndEmptyOutput", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> EmptyInputAndEmptyOutputOutcome { + return EmptyInputAndEmptyOutputOutcome(MakeRequestDeserialize(&request, request.GetServiceRequestName(), Aws::Http::HttpMethod::HTTP_POST, [&](Aws::Endpoint::AWSEndpoint& resolvedEndpoint) -> void { + AWS_UNREFERENCED_PARAM(resolvedEndpoint); + })); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +EndpointOperationOutcome JSONRPC10Client::EndpointOperation(const EndpointOperationRequest& request) const +{ + AWS_OPERATION_GUARD(EndpointOperation); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, EndpointOperation, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_clientConfiguration.telemetryProvider, EndpointOperation, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_clientConfiguration.telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_clientConfiguration.telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, EndpointOperation, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".EndpointOperation", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> EndpointOperationOutcome { + return EndpointOperationOutcome(MakeRequestDeserialize(&request, request.GetServiceRequestName(), Aws::Http::HttpMethod::HTTP_POST, [&](Aws::Endpoint::AWSEndpoint& resolvedEndpoint) -> void { + AWS_UNREFERENCED_PARAM(resolvedEndpoint); + })); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +EndpointWithHostLabelOperationOutcome JSONRPC10Client::EndpointWithHostLabelOperation(const EndpointWithHostLabelOperationRequest& request) const +{ + AWS_OPERATION_GUARD(EndpointWithHostLabelOperation); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, EndpointWithHostLabelOperation, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_clientConfiguration.telemetryProvider, EndpointWithHostLabelOperation, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_clientConfiguration.telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_clientConfiguration.telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, EndpointWithHostLabelOperation, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".EndpointWithHostLabelOperation", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> EndpointWithHostLabelOperationOutcome { + return EndpointWithHostLabelOperationOutcome(MakeRequestDeserialize(&request, request.GetServiceRequestName(), Aws::Http::HttpMethod::HTTP_POST, [&](Aws::Endpoint::AWSEndpoint& resolvedEndpoint) -> void { + AWS_UNREFERENCED_PARAM(resolvedEndpoint); + })); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +GreetingWithErrorsOutcome JSONRPC10Client::GreetingWithErrors(const GreetingWithErrorsRequest& request) const +{ + AWS_OPERATION_GUARD(GreetingWithErrors); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GreetingWithErrors, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_clientConfiguration.telemetryProvider, GreetingWithErrors, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_clientConfiguration.telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_clientConfiguration.telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, GreetingWithErrors, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".GreetingWithErrors", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> GreetingWithErrorsOutcome { + return GreetingWithErrorsOutcome(MakeRequestDeserialize(&request, request.GetServiceRequestName(), Aws::Http::HttpMethod::HTTP_POST, [&](Aws::Endpoint::AWSEndpoint& resolvedEndpoint) -> void { + AWS_UNREFERENCED_PARAM(resolvedEndpoint); + })); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +HostWithPathOperationOutcome JSONRPC10Client::HostWithPathOperation(const HostWithPathOperationRequest& request) const +{ + AWS_OPERATION_GUARD(HostWithPathOperation); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, HostWithPathOperation, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_clientConfiguration.telemetryProvider, HostWithPathOperation, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_clientConfiguration.telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_clientConfiguration.telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, HostWithPathOperation, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".HostWithPathOperation", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> HostWithPathOperationOutcome { + return HostWithPathOperationOutcome(MakeRequestDeserialize(&request, request.GetServiceRequestName(), Aws::Http::HttpMethod::HTTP_POST, [&](Aws::Endpoint::AWSEndpoint& resolvedEndpoint) -> void { + AWS_UNREFERENCED_PARAM(resolvedEndpoint); + })); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +JsonUnionsOutcome JSONRPC10Client::JsonUnions(const JsonUnionsRequest& request) const +{ + AWS_OPERATION_GUARD(JsonUnions); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, JsonUnions, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_clientConfiguration.telemetryProvider, JsonUnions, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_clientConfiguration.telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_clientConfiguration.telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, JsonUnions, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".JsonUnions", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> JsonUnionsOutcome { + return JsonUnionsOutcome(MakeRequestDeserialize(&request, request.GetServiceRequestName(), Aws::Http::HttpMethod::HTTP_POST, [&](Aws::Endpoint::AWSEndpoint& resolvedEndpoint) -> void { + AWS_UNREFERENCED_PARAM(resolvedEndpoint); + })); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +NoInputAndNoOutputOutcome JSONRPC10Client::NoInputAndNoOutput(const NoInputAndNoOutputRequest& request) const +{ + AWS_OPERATION_GUARD(NoInputAndNoOutput); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, NoInputAndNoOutput, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_clientConfiguration.telemetryProvider, NoInputAndNoOutput, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_clientConfiguration.telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_clientConfiguration.telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, NoInputAndNoOutput, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".NoInputAndNoOutput", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> NoInputAndNoOutputOutcome { + return NoInputAndNoOutputOutcome(MakeRequestDeserialize(&request, request.GetServiceRequestName(), Aws::Http::HttpMethod::HTTP_POST, [&](Aws::Endpoint::AWSEndpoint& resolvedEndpoint) -> void { + AWS_UNREFERENCED_PARAM(resolvedEndpoint); + })); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +NoInputAndOutputOutcome JSONRPC10Client::NoInputAndOutput(const NoInputAndOutputRequest& request) const +{ + AWS_OPERATION_GUARD(NoInputAndOutput); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, NoInputAndOutput, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_clientConfiguration.telemetryProvider, NoInputAndOutput, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_clientConfiguration.telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_clientConfiguration.telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, NoInputAndOutput, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".NoInputAndOutput", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> NoInputAndOutputOutcome { + return NoInputAndOutputOutcome(MakeRequestDeserialize(&request, request.GetServiceRequestName(), Aws::Http::HttpMethod::HTTP_POST, [&](Aws::Endpoint::AWSEndpoint& resolvedEndpoint) -> void { + AWS_UNREFERENCED_PARAM(resolvedEndpoint); + })); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +PutWithContentEncodingOutcome JSONRPC10Client::PutWithContentEncoding(const PutWithContentEncodingRequest& request) const +{ + AWS_OPERATION_GUARD(PutWithContentEncoding); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, PutWithContentEncoding, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_clientConfiguration.telemetryProvider, PutWithContentEncoding, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_clientConfiguration.telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_clientConfiguration.telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, PutWithContentEncoding, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".PutWithContentEncoding", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> PutWithContentEncodingOutcome { + return PutWithContentEncodingOutcome(MakeRequestDeserialize(&request, request.GetServiceRequestName(), Aws::Http::HttpMethod::HTTP_POST, [&](Aws::Endpoint::AWSEndpoint& resolvedEndpoint) -> void { + AWS_UNREFERENCED_PARAM(resolvedEndpoint); + })); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +SimpleScalarPropertiesOutcome JSONRPC10Client::SimpleScalarProperties(const SimpleScalarPropertiesRequest& request) const +{ + AWS_OPERATION_GUARD(SimpleScalarProperties); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, SimpleScalarProperties, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_clientConfiguration.telemetryProvider, SimpleScalarProperties, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_clientConfiguration.telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_clientConfiguration.telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, SimpleScalarProperties, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".SimpleScalarProperties", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> SimpleScalarPropertiesOutcome { + return SimpleScalarPropertiesOutcome(MakeRequestDeserialize(&request, request.GetServiceRequestName(), Aws::Http::HttpMethod::HTTP_POST, [&](Aws::Endpoint::AWSEndpoint& resolvedEndpoint) -> void { + AWS_UNREFERENCED_PARAM(resolvedEndpoint); + })); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + + diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/source/JSONRPC10EndpointProvider.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/source/JSONRPC10EndpointProvider.cpp new file mode 100644 index 00000000000..bfdee5cac00 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/source/JSONRPC10EndpointProvider.cpp @@ -0,0 +1,16 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws +{ +namespace JSONRPC10 +{ +namespace Endpoint +{ +} // namespace Endpoint +} // namespace JSONRPC10 +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/source/JSONRPC10EndpointRules.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/source/JSONRPC10EndpointRules.cpp new file mode 100644 index 00000000000..87cb869b58a --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/source/JSONRPC10EndpointRules.cpp @@ -0,0 +1,70 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +namespace Aws +{ +namespace JSONRPC10 +{ +const size_t JSONRPC10EndpointRules::RulesBlobStrLen = 1086; +const size_t JSONRPC10EndpointRules::RulesBlobSize = 1087; + +using RulesBlobT = Aws::Array; +static constexpr RulesBlobT RulesBlob = {{ +'{','"','v','e','r','s','i','o','n','"',':','"','1','.','3','"',',','"','p','a','r','a','m','e','t', +'e','r','s','"',':','{','"','R','e','g','i','o','n','"',':','{','"','b','u','i','l','t','I','n','"', +':','"','A','W','S',':',':','R','e','g','i','o','n','"',',','"','r','e','q','u','i','r','e','d','"', +':','t','r','u','e',',','"','d','o','c','u','m','e','n','t','a','t','i','o','n','"',':','"','T','h', +'e',' ','A','W','S',' ','r','e','g','i','o','n',' ','u','s','e','d',' ','t','o',' ','d','i','s','p', +'a','t','c','h',' ','t','h','e',' ','r','e','q','u','e','s','t','.','"',',','"','t','y','p','e','"', +':','"','S','t','r','i','n','g','"','}',',','"','U','s','e','D','u','a','l','S','t','a','c','k','"', +':','{','"','b','u','i','l','t','I','n','"',':','"','A','W','S',':',':','U','s','e','D','u','a','l', +'S','t','a','c','k','"',',','"','r','e','q','u','i','r','e','d','"',':','t','r','u','e',',','"','d', +'e','f','a','u','l','t','"',':','f','a','l','s','e',',','"','d','o','c','u','m','e','n','t','a','t', +'i','o','n','"',':','"','W','h','e','n',' ','t','r','u','e',',',' ','u','s','e',' ','t','h','e',' ', +'d','u','a','l','-','s','t','a','c','k',' ','e','n','d','p','o','i','n','t','.',' ','I','f',' ','t', +'h','e',' ','c','o','n','f','i','g','u','r','e','d',' ','e','n','d','p','o','i','n','t',' ','d','o', +'e','s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ','d','u','a','l','-','s','t','a','c','k', +',',' ','d','i','s','p','a','t','c','h','i','n','g',' ','t','h','e',' ','r','e','q','u','e','s','t', +' ','M','A','Y',' ','r','e','t','u','r','n',' ','a','n',' ','e','r','r','o','r','.','"',',','"','t', +'y','p','e','"',':','"','B','o','o','l','e','a','n','"','}',',','"','U','s','e','F','I','P','S','"', +':','{','"','b','u','i','l','t','I','n','"',':','"','A','W','S',':',':','U','s','e','F','I','P','S', +'"',',','"','r','e','q','u','i','r','e','d','"',':','t','r','u','e',',','"','d','e','f','a','u','l', +'t','"',':','f','a','l','s','e',',','"','d','o','c','u','m','e','n','t','a','t','i','o','n','"',':', +'"','W','h','e','n',' ','t','r','u','e',',',' ','s','e','n','d',' ','t','h','i','s',' ','r','e','q', +'u','e','s','t',' ','t','o',' ','t','h','e',' ','F','I','P','S','-','c','o','m','p','l','i','a','n', +'t',' ','r','e','g','i','o','n','a','l',' ','e','n','d','p','o','i','n','t','.',' ','I','f',' ','t', +'h','e',' ','c','o','n','f','i','g','u','r','e','d',' ','e','n','d','p','o','i','n','t',' ','d','o', +'e','s',' ','n','o','t',' ','h','a','v','e',' ','a',' ','F','I','P','S',' ','c','o','m','p','l','i', +'a','n','t',' ','e','n','d','p','o','i','n','t',',',' ','d','i','s','p','a','t','c','h','i','n','g', +' ','t','h','e',' ','r','e','q','u','e','s','t',' ','w','i','l','l',' ','r','e','t','u','r','n',' ', +'a','n',' ','e','r','r','o','r','.','"',',','"','t','y','p','e','"',':','"','B','o','o','l','e','a', +'n','"','}',',','"','E','n','d','p','o','i','n','t','"',':','{','"','b','u','i','l','t','I','n','"', +':','"','S','D','K',':',':','E','n','d','p','o','i','n','t','"',',','"','r','e','q','u','i','r','e', +'d','"',':','f','a','l','s','e',',','"','d','o','c','u','m','e','n','t','a','t','i','o','n','"',':', +'"','O','v','e','r','r','i','d','e',' ','t','h','e',' ','e','n','d','p','o','i','n','t',' ','u','s', +'e','d',' ','t','o',' ','s','e','n','d',' ','t','h','i','s',' ','r','e','q','u','e','s','t','"',',', +'"','t','y','p','e','"',':','"','S','t','r','i','n','g','"','}','}',',','"','r','u','l','e','s','"', +':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','t','y','p','e','"', +':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t', +'i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l', +'"',':','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',',','"','p','r','o', +'p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[', +'{','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','R', +'e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"',',','"','s','i','g','n','i','n', +'g','N','a','m','e','"',':','"','t','e','s','t','-','s','e','r','v','i','c','e','"','}',']','}',',', +'"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d', +'p','o','i','n','t','"','}',']','}',']','}','\0' +}}; + +const char* JSONRPC10EndpointRules::GetRulesBlob() +{ + return RulesBlob.data(); +} + +} // namespace JSONRPC10 +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/source/JSONRPC10ErrorMarshaller.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/source/JSONRPC10ErrorMarshaller.cpp new file mode 100644 index 00000000000..d49877e1455 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/source/JSONRPC10ErrorMarshaller.cpp @@ -0,0 +1,22 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include + +using namespace Aws::Client; +using namespace Aws::JSONRPC10; + +AWSError JSONRPC10ErrorMarshaller::FindErrorByName(const char* errorName) const +{ + AWSError error = JSONRPC10ErrorMapper::GetErrorForName(errorName); + if(error.GetErrorType() != CoreErrors::UNKNOWN) + { + return error; + } + + return AWSErrorMarshaller::FindErrorByName(errorName); +} \ No newline at end of file diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/source/JSONRPC10Errors.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/source/JSONRPC10Errors.cpp new file mode 100644 index 00000000000..612825bf775 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/source/JSONRPC10Errors.cpp @@ -0,0 +1,55 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Client; +using namespace Aws::Utils; +using namespace Aws::JSONRPC10; +using namespace Aws::JSONRPC10::Model; + +namespace Aws +{ +namespace JSONRPC10 +{ +template<> AWS_JSONRPC10_API ComplexError JSONRPC10Error::GetModeledError() +{ + assert(this->GetErrorType() == JSONRPC10Errors::COMPLEX); + return ComplexError(this->GetJsonPayload().View()); +} + +namespace JSONRPC10ErrorMapper +{ + +static const int INVALID_GREETING_HASH = HashingUtils::HashString("InvalidGreeting"); +static const int COMPLEX_HASH = HashingUtils::HashString("ComplexError"); +static const int FOO_HASH = HashingUtils::HashString("FooError"); + + +AWSError GetErrorForName(const char* errorName) +{ + int hashCode = HashingUtils::HashString(errorName); + + if (hashCode == INVALID_GREETING_HASH) + { + return AWSError(static_cast(JSONRPC10Errors::INVALID_GREETING), RetryableType::NOT_RETRYABLE); + } + else if (hashCode == COMPLEX_HASH) + { + return AWSError(static_cast(JSONRPC10Errors::COMPLEX), RetryableType::NOT_RETRYABLE); + } + else if (hashCode == FOO_HASH) + { + return AWSError(static_cast(JSONRPC10Errors::FOO), RetryableType::NOT_RETRYABLE); + } + return AWSError(CoreErrors::UNKNOWN, false); +} + +} // namespace JSONRPC10ErrorMapper +} // namespace JSONRPC10 +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/source/JSONRPC10Request.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/source/JSONRPC10Request.cpp new file mode 100644 index 00000000000..eecba6b1485 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/source/JSONRPC10Request.cpp @@ -0,0 +1,14 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + + +#include + +namespace Aws +{ +namespace JSONRPC10 +{ +} // namespace JSONRPC10 +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/source/model/ComplexError.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/source/model/ComplexError.cpp new file mode 100644 index 00000000000..871af4606a3 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/source/model/ComplexError.cpp @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace JSONRPC10 +{ +namespace Model +{ + +ComplexError::ComplexError() : + m_topLevelHasBeenSet(false), + m_nestedHasBeenSet(false) +{ +} + +ComplexError::ComplexError(JsonView jsonValue) + : ComplexError() +{ + *this = jsonValue; +} + +ComplexError& ComplexError::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("TopLevel")) + { + m_topLevel = jsonValue.GetString("TopLevel"); + + m_topLevelHasBeenSet = true; + } + + if(jsonValue.ValueExists("Nested")) + { + m_nested = jsonValue.GetObject("Nested"); + + m_nestedHasBeenSet = true; + } + + return *this; +} + +JsonValue ComplexError::Jsonize() const +{ + JsonValue payload; + + if(m_topLevelHasBeenSet) + { + payload.WithString("TopLevel", m_topLevel); + + } + + if(m_nestedHasBeenSet) + { + payload.WithObject("Nested", m_nested.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace JSONRPC10 +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/source/model/ComplexNestedErrorData.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/source/model/ComplexNestedErrorData.cpp new file mode 100644 index 00000000000..fedc1a3d42b --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/source/model/ComplexNestedErrorData.cpp @@ -0,0 +1,59 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace JSONRPC10 +{ +namespace Model +{ + +ComplexNestedErrorData::ComplexNestedErrorData() : + m_fooHasBeenSet(false) +{ +} + +ComplexNestedErrorData::ComplexNestedErrorData(JsonView jsonValue) + : ComplexNestedErrorData() +{ + *this = jsonValue; +} + +ComplexNestedErrorData& ComplexNestedErrorData::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Foo")) + { + m_foo = jsonValue.GetString("Foo"); + + m_fooHasBeenSet = true; + } + + return *this; +} + +JsonValue ComplexNestedErrorData::Jsonize() const +{ + JsonValue payload; + + if(m_fooHasBeenSet) + { + payload.WithString("Foo", m_foo); + + } + + return payload; +} + +} // namespace Model +} // namespace JSONRPC10 +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/source/model/ContentTypeParametersRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/source/model/ContentTypeParametersRequest.cpp new file mode 100644 index 00000000000..3471db77dcb --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/source/model/ContentTypeParametersRequest.cpp @@ -0,0 +1,44 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::JSONRPC10::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +ContentTypeParametersRequest::ContentTypeParametersRequest() : + m_value(0), + m_valueHasBeenSet(false) +{ +} + +Aws::String ContentTypeParametersRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_valueHasBeenSet) + { + payload.WithInteger("value", m_value); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection ContentTypeParametersRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "JsonRpc10.ContentTypeParameters")); + return headers; + +} + + + + diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/source/model/ContentTypeParametersResult.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/source/model/ContentTypeParametersResult.cpp new file mode 100644 index 00000000000..5df02f89437 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/source/model/ContentTypeParametersResult.cpp @@ -0,0 +1,42 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::JSONRPC10::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +ContentTypeParametersResult::ContentTypeParametersResult() +{ +} + +ContentTypeParametersResult::ContentTypeParametersResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +ContentTypeParametersResult& ContentTypeParametersResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + AWS_UNREFERENCED_PARAM(result); + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/source/model/EmptyInputAndEmptyOutputRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/source/model/EmptyInputAndEmptyOutputRequest.cpp new file mode 100644 index 00000000000..a3410eebe74 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/source/model/EmptyInputAndEmptyOutputRequest.cpp @@ -0,0 +1,34 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::JSONRPC10::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +EmptyInputAndEmptyOutputRequest::EmptyInputAndEmptyOutputRequest() +{ +} + +Aws::String EmptyInputAndEmptyOutputRequest::SerializePayload() const +{ + return "{}"; +} + +Aws::Http::HeaderValueCollection EmptyInputAndEmptyOutputRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "JsonRpc10.EmptyInputAndEmptyOutput")); + return headers; + +} + + + + diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/source/model/EmptyInputAndEmptyOutputResult.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/source/model/EmptyInputAndEmptyOutputResult.cpp new file mode 100644 index 00000000000..a05e6fededf --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/source/model/EmptyInputAndEmptyOutputResult.cpp @@ -0,0 +1,42 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::JSONRPC10::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +EmptyInputAndEmptyOutputResult::EmptyInputAndEmptyOutputResult() +{ +} + +EmptyInputAndEmptyOutputResult::EmptyInputAndEmptyOutputResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +EmptyInputAndEmptyOutputResult& EmptyInputAndEmptyOutputResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + AWS_UNREFERENCED_PARAM(result); + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/source/model/EndpointOperationRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/source/model/EndpointOperationRequest.cpp new file mode 100644 index 00000000000..f57437a1f37 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/source/model/EndpointOperationRequest.cpp @@ -0,0 +1,34 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::JSONRPC10::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +EndpointOperationRequest::EndpointOperationRequest() +{ +} + +Aws::String EndpointOperationRequest::SerializePayload() const +{ + return "{}"; +} + +Aws::Http::HeaderValueCollection EndpointOperationRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "JsonRpc10.EndpointOperation")); + return headers; + +} + + + + diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/source/model/EndpointWithHostLabelOperationRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/source/model/EndpointWithHostLabelOperationRequest.cpp new file mode 100644 index 00000000000..44a5769c0f7 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/source/model/EndpointWithHostLabelOperationRequest.cpp @@ -0,0 +1,43 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::JSONRPC10::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +EndpointWithHostLabelOperationRequest::EndpointWithHostLabelOperationRequest() : + m_labelHasBeenSet(false) +{ +} + +Aws::String EndpointWithHostLabelOperationRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_labelHasBeenSet) + { + payload.WithString("label", m_label); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection EndpointWithHostLabelOperationRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "JsonRpc10.EndpointWithHostLabelOperation")); + return headers; + +} + + + + diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/source/model/FooEnum.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/source/model/FooEnum.cpp new file mode 100644 index 00000000000..ae692bfedcb --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/source/model/FooEnum.cpp @@ -0,0 +1,93 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace JSONRPC10 + { + namespace Model + { + namespace FooEnumMapper + { + + static const int Foo_HASH = HashingUtils::HashString("Foo"); + static const int Baz_HASH = HashingUtils::HashString("Baz"); + static const int Bar_HASH = HashingUtils::HashString("Bar"); + static const int _1_HASH = HashingUtils::HashString("1"); + static const int _0_HASH = HashingUtils::HashString("0"); + + + FooEnum GetFooEnumForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == Foo_HASH) + { + return FooEnum::Foo; + } + else if (hashCode == Baz_HASH) + { + return FooEnum::Baz; + } + else if (hashCode == Bar_HASH) + { + return FooEnum::Bar; + } + else if (hashCode == _1_HASH) + { + return FooEnum::_1; + } + else if (hashCode == _0_HASH) + { + return FooEnum::_0; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return FooEnum::NOT_SET; + } + + Aws::String GetNameForFooEnum(FooEnum enumValue) + { + switch(enumValue) + { + case FooEnum::NOT_SET: + return {}; + case FooEnum::Foo: + return "Foo"; + case FooEnum::Baz: + return "Baz"; + case FooEnum::Bar: + return "Bar"; + case FooEnum::_1: + return "1"; + case FooEnum::_0: + return "0"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace FooEnumMapper + } // namespace Model + } // namespace JSONRPC10 +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/source/model/GreetingStruct.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/source/model/GreetingStruct.cpp new file mode 100644 index 00000000000..bfd1289c590 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/source/model/GreetingStruct.cpp @@ -0,0 +1,59 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace JSONRPC10 +{ +namespace Model +{ + +GreetingStruct::GreetingStruct() : + m_hiHasBeenSet(false) +{ +} + +GreetingStruct::GreetingStruct(JsonView jsonValue) + : GreetingStruct() +{ + *this = jsonValue; +} + +GreetingStruct& GreetingStruct::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("hi")) + { + m_hi = jsonValue.GetString("hi"); + + m_hiHasBeenSet = true; + } + + return *this; +} + +JsonValue GreetingStruct::Jsonize() const +{ + JsonValue payload; + + if(m_hiHasBeenSet) + { + payload.WithString("hi", m_hi); + + } + + return payload; +} + +} // namespace Model +} // namespace JSONRPC10 +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/source/model/GreetingWithErrorsRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/source/model/GreetingWithErrorsRequest.cpp new file mode 100644 index 00000000000..3309b27fbeb --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/source/model/GreetingWithErrorsRequest.cpp @@ -0,0 +1,43 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::JSONRPC10::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +GreetingWithErrorsRequest::GreetingWithErrorsRequest() : + m_greetingHasBeenSet(false) +{ +} + +Aws::String GreetingWithErrorsRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_greetingHasBeenSet) + { + payload.WithString("greeting", m_greeting); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection GreetingWithErrorsRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "JsonRpc10.GreetingWithErrors")); + return headers; + +} + + + + diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/source/model/GreetingWithErrorsResult.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/source/model/GreetingWithErrorsResult.cpp new file mode 100644 index 00000000000..98a8fd286f2 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/source/model/GreetingWithErrorsResult.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::JSONRPC10::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +GreetingWithErrorsResult::GreetingWithErrorsResult() +{ +} + +GreetingWithErrorsResult::GreetingWithErrorsResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +GreetingWithErrorsResult& GreetingWithErrorsResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("greeting")) + { + m_greeting = jsonValue.GetString("greeting"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/source/model/HostWithPathOperationRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/source/model/HostWithPathOperationRequest.cpp new file mode 100644 index 00000000000..2f8fd143757 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/source/model/HostWithPathOperationRequest.cpp @@ -0,0 +1,34 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::JSONRPC10::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +HostWithPathOperationRequest::HostWithPathOperationRequest() +{ +} + +Aws::String HostWithPathOperationRequest::SerializePayload() const +{ + return "{}"; +} + +Aws::Http::HeaderValueCollection HostWithPathOperationRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "JsonRpc10.HostWithPathOperation")); + return headers; + +} + + + + diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/source/model/JsonUnionsRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/source/model/JsonUnionsRequest.cpp new file mode 100644 index 00000000000..5033f18c8a8 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/source/model/JsonUnionsRequest.cpp @@ -0,0 +1,43 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::JSONRPC10::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +JsonUnionsRequest::JsonUnionsRequest() : + m_contentsHasBeenSet(false) +{ +} + +Aws::String JsonUnionsRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_contentsHasBeenSet) + { + payload.WithObject("contents", m_contents.Jsonize()); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection JsonUnionsRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "JsonRpc10.JsonUnions")); + return headers; + +} + + + + diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/source/model/JsonUnionsResult.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/source/model/JsonUnionsResult.cpp new file mode 100644 index 00000000000..eaf2e064c7f --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/source/model/JsonUnionsResult.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::JSONRPC10::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +JsonUnionsResult::JsonUnionsResult() +{ +} + +JsonUnionsResult::JsonUnionsResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +JsonUnionsResult& JsonUnionsResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("contents")) + { + m_contents = jsonValue.GetObject("contents"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/source/model/MyUnion.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/source/model/MyUnion.cpp new file mode 100644 index 00000000000..0476b16b094 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/source/model/MyUnion.cpp @@ -0,0 +1,202 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace JSONRPC10 +{ +namespace Model +{ + +MyUnion::MyUnion() : + m_stringValueHasBeenSet(false), + m_booleanValue(false), + m_booleanValueHasBeenSet(false), + m_numberValue(0), + m_numberValueHasBeenSet(false), + m_blobValueHasBeenSet(false), + m_timestampValueHasBeenSet(false), + m_enumValue(FooEnum::NOT_SET), + m_enumValueHasBeenSet(false), + m_intEnumValue(0), + m_intEnumValueHasBeenSet(false), + m_listValueHasBeenSet(false), + m_mapValueHasBeenSet(false), + m_structureValueHasBeenSet(false) +{ +} + +MyUnion::MyUnion(JsonView jsonValue) + : MyUnion() +{ + *this = jsonValue; +} + +MyUnion& MyUnion::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("stringValue")) + { + m_stringValue = jsonValue.GetString("stringValue"); + + m_stringValueHasBeenSet = true; + } + + if(jsonValue.ValueExists("booleanValue")) + { + m_booleanValue = jsonValue.GetBool("booleanValue"); + + m_booleanValueHasBeenSet = true; + } + + if(jsonValue.ValueExists("numberValue")) + { + m_numberValue = jsonValue.GetInteger("numberValue"); + + m_numberValueHasBeenSet = true; + } + + if(jsonValue.ValueExists("blobValue")) + { + m_blobValue = HashingUtils::Base64Decode(jsonValue.GetString("blobValue")); + m_blobValueHasBeenSet = true; + } + + if(jsonValue.ValueExists("timestampValue")) + { + m_timestampValue = jsonValue.GetDouble("timestampValue"); + + m_timestampValueHasBeenSet = true; + } + + if(jsonValue.ValueExists("enumValue")) + { + m_enumValue = FooEnumMapper::GetFooEnumForName(jsonValue.GetString("enumValue")); + + m_enumValueHasBeenSet = true; + } + + if(jsonValue.ValueExists("intEnumValue")) + { + m_intEnumValue = jsonValue.GetInteger("intEnumValue"); + + m_intEnumValueHasBeenSet = true; + } + + if(jsonValue.ValueExists("listValue")) + { + Aws::Utils::Array listValueJsonList = jsonValue.GetArray("listValue"); + for(unsigned listValueIndex = 0; listValueIndex < listValueJsonList.GetLength(); ++listValueIndex) + { + m_listValue.push_back(listValueJsonList[listValueIndex].AsString()); + } + m_listValueHasBeenSet = true; + } + + if(jsonValue.ValueExists("mapValue")) + { + Aws::Map mapValueJsonMap = jsonValue.GetObject("mapValue").GetAllObjects(); + for(auto& mapValueItem : mapValueJsonMap) + { + m_mapValue[mapValueItem.first] = mapValueItem.second.AsString(); + } + m_mapValueHasBeenSet = true; + } + + if(jsonValue.ValueExists("structureValue")) + { + m_structureValue = jsonValue.GetObject("structureValue"); + + m_structureValueHasBeenSet = true; + } + + return *this; +} + +JsonValue MyUnion::Jsonize() const +{ + JsonValue payload; + + if(m_stringValueHasBeenSet) + { + payload.WithString("stringValue", m_stringValue); + + } + + if(m_booleanValueHasBeenSet) + { + payload.WithBool("booleanValue", m_booleanValue); + + } + + if(m_numberValueHasBeenSet) + { + payload.WithInteger("numberValue", m_numberValue); + + } + + if(m_blobValueHasBeenSet) + { + payload.WithString("blobValue", HashingUtils::Base64Encode(m_blobValue)); + } + + if(m_timestampValueHasBeenSet) + { + payload.WithDouble("timestampValue", m_timestampValue.SecondsWithMSPrecision()); + } + + if(m_enumValueHasBeenSet) + { + payload.WithString("enumValue", FooEnumMapper::GetNameForFooEnum(m_enumValue)); + } + + if(m_intEnumValueHasBeenSet) + { + payload.WithInteger("intEnumValue", m_intEnumValue); + + } + + if(m_listValueHasBeenSet) + { + Aws::Utils::Array listValueJsonList(m_listValue.size()); + for(unsigned listValueIndex = 0; listValueIndex < listValueJsonList.GetLength(); ++listValueIndex) + { + listValueJsonList[listValueIndex].AsString(m_listValue[listValueIndex]); + } + payload.WithArray("listValue", std::move(listValueJsonList)); + + } + + if(m_mapValueHasBeenSet) + { + JsonValue mapValueJsonMap; + for(auto& mapValueItem : m_mapValue) + { + mapValueJsonMap.WithString(mapValueItem.first, mapValueItem.second); + } + payload.WithObject("mapValue", std::move(mapValueJsonMap)); + + } + + if(m_structureValueHasBeenSet) + { + payload.WithObject("structureValue", m_structureValue.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace JSONRPC10 +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/source/model/NoInputAndNoOutputRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/source/model/NoInputAndNoOutputRequest.cpp new file mode 100644 index 00000000000..ca749b56881 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/source/model/NoInputAndNoOutputRequest.cpp @@ -0,0 +1,34 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::JSONRPC10::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +NoInputAndNoOutputRequest::NoInputAndNoOutputRequest() +{ +} + +Aws::String NoInputAndNoOutputRequest::SerializePayload() const +{ + return "{}"; +} + +Aws::Http::HeaderValueCollection NoInputAndNoOutputRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "JsonRpc10.NoInputAndNoOutput")); + return headers; + +} + + + + diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/source/model/NoInputAndOutputRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/source/model/NoInputAndOutputRequest.cpp new file mode 100644 index 00000000000..a05f4e0e85a --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/source/model/NoInputAndOutputRequest.cpp @@ -0,0 +1,34 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::JSONRPC10::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +NoInputAndOutputRequest::NoInputAndOutputRequest() +{ +} + +Aws::String NoInputAndOutputRequest::SerializePayload() const +{ + return "{}"; +} + +Aws::Http::HeaderValueCollection NoInputAndOutputRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "JsonRpc10.NoInputAndOutput")); + return headers; + +} + + + + diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/source/model/NoInputAndOutputResult.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/source/model/NoInputAndOutputResult.cpp new file mode 100644 index 00000000000..60f62378907 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/source/model/NoInputAndOutputResult.cpp @@ -0,0 +1,42 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::JSONRPC10::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +NoInputAndOutputResult::NoInputAndOutputResult() +{ +} + +NoInputAndOutputResult::NoInputAndOutputResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +NoInputAndOutputResult& NoInputAndOutputResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + AWS_UNREFERENCED_PARAM(result); + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/source/model/PutWithContentEncodingRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/source/model/PutWithContentEncodingRequest.cpp new file mode 100644 index 00000000000..44ceadd3ea5 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/source/model/PutWithContentEncodingRequest.cpp @@ -0,0 +1,74 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::JSONRPC10::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +PutWithContentEncodingRequest::PutWithContentEncodingRequest() : + m_encodingHasBeenSet(false), + m_dataHasBeenSet(false) +{ +} + +Aws::String PutWithContentEncodingRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_encodingHasBeenSet) + { + payload.WithString("encoding", m_encoding); + + } + + if(m_dataHasBeenSet) + { + payload.WithString("data", m_data); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection PutWithContentEncodingRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "JsonRpc10.PutWithContentEncoding")); + return headers; + +} + + + +#ifdef ENABLED_ZLIB_REQUEST_COMPRESSION +Aws::Client::CompressionAlgorithm PutWithContentEncodingRequest::GetSelectedCompressionAlgorithm(Aws::Client::RequestCompressionConfig config) const +{ + if (config.useRequestCompression == Aws::Client::UseRequestCompression::DISABLE) + { + return Aws::Client::CompressionAlgorithm::NONE; + } + + const auto& body = AmazonSerializableWebServiceRequest::GetBody(); + body->seekg(0, body->end); + size_t bodySize = body->tellg(); + body->seekg(0, body->beg); + if ( bodySize < config.requestMinCompressionSizeBytes) + { + return Aws::Client::CompressionAlgorithm::NONE; + } + else + { + return Aws::Client::CompressionAlgorithm::GZIP; + } +} +#endif + + + diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/source/model/SimpleScalarPropertiesRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/source/model/SimpleScalarPropertiesRequest.cpp new file mode 100644 index 00000000000..494f88b4904 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/source/model/SimpleScalarPropertiesRequest.cpp @@ -0,0 +1,52 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::JSONRPC10::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +SimpleScalarPropertiesRequest::SimpleScalarPropertiesRequest() : + m_floatValue(0.0), + m_floatValueHasBeenSet(false), + m_doubleValue(0.0), + m_doubleValueHasBeenSet(false) +{ +} + +Aws::String SimpleScalarPropertiesRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_floatValueHasBeenSet) + { + payload.WithDouble("floatValue", m_floatValue); + + } + + if(m_doubleValueHasBeenSet) + { + payload.WithDouble("doubleValue", m_doubleValue); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection SimpleScalarPropertiesRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "JsonRpc10.SimpleScalarProperties")); + return headers; + +} + + + + diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/source/model/SimpleScalarPropertiesResult.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/source/model/SimpleScalarPropertiesResult.cpp new file mode 100644 index 00000000000..505bd3a8b82 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/source/model/SimpleScalarPropertiesResult.cpp @@ -0,0 +1,57 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::JSONRPC10::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +SimpleScalarPropertiesResult::SimpleScalarPropertiesResult() : + m_floatValue(0.0), + m_doubleValue(0.0) +{ +} + +SimpleScalarPropertiesResult::SimpleScalarPropertiesResult(const Aws::AmazonWebServiceResult& result) + : SimpleScalarPropertiesResult() +{ + *this = result; +} + +SimpleScalarPropertiesResult& SimpleScalarPropertiesResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("floatValue")) + { + m_floatValue = jsonValue.GetDouble("floatValue"); + + } + + if(jsonValue.ValueExists("doubleValue")) + { + m_doubleValue = jsonValue.GetDouble("doubleValue"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/CMakeLists.txt b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/CMakeLists.txt new file mode 100644 index 00000000000..b44aa26cc1a --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/CMakeLists.txt @@ -0,0 +1,76 @@ +add_project(aws-cpp-sdk-query-protocol "C++ SDK for the AWS query-protocol service" aws-cpp-sdk-core) + +file(GLOB AWS_QUERY-PROTOCOL_HEADERS + "include/aws/query-protocol/*.h" +) + +file(GLOB AWS_QUERY-PROTOCOL_MODEL_HEADERS + "include/aws/query-protocol/model/*.h" +) + +file(GLOB AWS_QUERY-PROTOCOL_SOURCE + "source/*.cpp" +) + +file(GLOB AWS_QUERY-PROTOCOL_MODEL_SOURCE + "source/model/*.cpp" +) + +file(GLOB QUERY-PROTOCOL_UNIFIED_HEADERS + ${AWS_QUERY-PROTOCOL_HEADERS} + ${AWS_QUERY-PROTOCOL_MODEL_HEADERS} +) + +file(GLOB QUERY-PROTOCOL_UNITY_SRC + ${AWS_QUERY-PROTOCOL_SOURCE} + ${AWS_QUERY-PROTOCOL_MODEL_SOURCE} +) + +if(ENABLE_UNITY_BUILD) + enable_unity_build("QUERY-PROTOCOL" QUERY-PROTOCOL_UNITY_SRC) +endif() + +file(GLOB QUERY-PROTOCOL_SRC + ${QUERY-PROTOCOL_UNIFIED_HEADERS} + ${QUERY-PROTOCOL_UNITY_SRC} +) + +if(WIN32) + #if we are compiling for visual studio, create a sane directory tree. + if(MSVC) + source_group("Header Files\\aws\\query-protocol" FILES ${AWS_QUERY-PROTOCOL_HEADERS}) + source_group("Header Files\\aws\\query-protocol\\model" FILES ${AWS_QUERY-PROTOCOL_MODEL_HEADERS}) + source_group("Source Files" FILES ${AWS_QUERY-PROTOCOL_SOURCE}) + source_group("Source Files\\model" FILES ${AWS_QUERY-PROTOCOL_MODEL_SOURCE}) + endif(MSVC) +endif() + +set(QUERY-PROTOCOL_INCLUDES + "${CMAKE_CURRENT_SOURCE_DIR}/include/" +) + +add_library(${PROJECT_NAME} ${QUERY-PROTOCOL_SRC}) +add_library(AWS::${PROJECT_NAME} ALIAS ${PROJECT_NAME}) + +set_compiler_flags(${PROJECT_NAME}) +set_compiler_warnings(${PROJECT_NAME}) + +if(USE_WINDOWS_DLL_SEMANTICS AND BUILD_SHARED_LIBS) + target_compile_definitions(${PROJECT_NAME} PRIVATE "AWS_QUERYPROTOCOL_EXPORTS") +endif() + +target_include_directories(${PROJECT_NAME} PUBLIC + $ + $) + +target_link_libraries(${PROJECT_NAME} PRIVATE ${PLATFORM_DEP_LIBS} ${PROJECT_LIBS}) + + +setup_install() + +install (FILES ${AWS_QUERY-PROTOCOL_HEADERS} DESTINATION ${INCLUDE_DIRECTORY}/aws/query-protocol) +install (FILES ${AWS_QUERY-PROTOCOL_MODEL_HEADERS} DESTINATION ${INCLUDE_DIRECTORY}/aws/query-protocol/model) + +do_packaging() + + diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/QueryProtocolClient.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/QueryProtocolClient.h new file mode 100644 index 00000000000..3c5acd24b46 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/QueryProtocolClient.h @@ -0,0 +1,925 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace QueryProtocol +{ + /** + *

A query service that sends query requests and XML responses.

+ */ + class AWS_QUERYPROTOCOL_API QueryProtocolClient : public Aws::Client::AWSXMLClient, public Aws::Client::ClientWithAsyncTemplateMethods + { + public: + typedef Aws::Client::AWSXMLClient BASECLASS; + static const char* GetServiceName(); + static const char* GetAllocationTag(); + + typedef QueryProtocolClientConfiguration ClientConfigurationType; + typedef QueryProtocolEndpointProvider EndpointProviderType; + + /** + * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client config + * is not specified, it will be initialized to default values. + */ + QueryProtocolClient(const Aws::QueryProtocol::QueryProtocolClientConfiguration& clientConfiguration = Aws::QueryProtocol::QueryProtocolClientConfiguration(), + std::shared_ptr endpointProvider = nullptr); + + /** + * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config + * is not specified, it will be initialized to default values. + */ + QueryProtocolClient(const Aws::Auth::AWSCredentials& credentials, + std::shared_ptr endpointProvider = nullptr, + const Aws::QueryProtocol::QueryProtocolClientConfiguration& clientConfiguration = Aws::QueryProtocol::QueryProtocolClientConfiguration()); + + /** + * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, + * the default http client factory will be used + */ + QueryProtocolClient(const std::shared_ptr& credentialsProvider, + std::shared_ptr endpointProvider = nullptr, + const Aws::QueryProtocol::QueryProtocolClientConfiguration& clientConfiguration = Aws::QueryProtocol::QueryProtocolClientConfiguration()); + + + /* Legacy constructors due deprecation */ + /** + * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client config + * is not specified, it will be initialized to default values. + */ + QueryProtocolClient(const Aws::Client::ClientConfiguration& clientConfiguration); + + /** + * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config + * is not specified, it will be initialized to default values. + */ + QueryProtocolClient(const Aws::Auth::AWSCredentials& credentials, + const Aws::Client::ClientConfiguration& clientConfiguration); + + /** + * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, + * the default http client factory will be used + */ + QueryProtocolClient(const std::shared_ptr& credentialsProvider, + const Aws::Client::ClientConfiguration& clientConfiguration); + + /* End of legacy constructors due deprecation */ + virtual ~QueryProtocolClient(); + + + /** + * Converts any request object to a presigned URL with the GET method, using region for the signer and a timeout of 15 minutes. + */ + Aws::String ConvertRequestToPresignedUrl(const Aws::AmazonSerializableWebServiceRequest& requestToConvert, const char* region) const; + + + /** + * + */ + virtual Model::DatetimeOffsetsOutcome DatetimeOffsets(const Model::DatetimeOffsetsRequest& request = {}) const; + + /** + * A Callable wrapper for DatetimeOffsets that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::DatetimeOffsetsOutcomeCallable DatetimeOffsetsCallable(const DatetimeOffsetsRequestT& request = {}) const + { + return SubmitCallable(&QueryProtocolClient::DatetimeOffsets, request); + } + + /** + * An Async wrapper for DatetimeOffsets that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void DatetimeOffsetsAsync(const DatetimeOffsetsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const DatetimeOffsetsRequestT& request = {}) const + { + return SubmitAsync(&QueryProtocolClient::DatetimeOffsets, request, handler, context); + } + + /** + *

The example tests how requests and responses are serialized when there's no + * request or response members.

While this should be rare, code generators + * must support this.

See Also:

AWS + * API Reference

+ */ + virtual Model::EmptyInputAndEmptyOutputOutcome EmptyInputAndEmptyOutput(const Model::EmptyInputAndEmptyOutputRequest& request = {}) const; + + /** + * A Callable wrapper for EmptyInputAndEmptyOutput that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::EmptyInputAndEmptyOutputOutcomeCallable EmptyInputAndEmptyOutputCallable(const EmptyInputAndEmptyOutputRequestT& request = {}) const + { + return SubmitCallable(&QueryProtocolClient::EmptyInputAndEmptyOutput, request); + } + + /** + * An Async wrapper for EmptyInputAndEmptyOutput that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void EmptyInputAndEmptyOutputAsync(const EmptyInputAndEmptyOutputResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const EmptyInputAndEmptyOutputRequestT& request = {}) const + { + return SubmitAsync(&QueryProtocolClient::EmptyInputAndEmptyOutput, request, handler, context); + } + + /** + * + */ + virtual Model::EndpointOperationOutcome EndpointOperation(const Model::EndpointOperationRequest& request = {}) const; + + /** + * A Callable wrapper for EndpointOperation that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::EndpointOperationOutcomeCallable EndpointOperationCallable(const EndpointOperationRequestT& request = {}) const + { + return SubmitCallable(&QueryProtocolClient::EndpointOperation, request); + } + + /** + * An Async wrapper for EndpointOperation that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void EndpointOperationAsync(const EndpointOperationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const EndpointOperationRequestT& request = {}) const + { + return SubmitAsync(&QueryProtocolClient::EndpointOperation, request, handler, context); + } + + /** + * + */ + virtual Model::EndpointWithHostLabelOperationOutcome EndpointWithHostLabelOperation(const Model::EndpointWithHostLabelOperationRequest& request) const; + + /** + * A Callable wrapper for EndpointWithHostLabelOperation that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::EndpointWithHostLabelOperationOutcomeCallable EndpointWithHostLabelOperationCallable(const EndpointWithHostLabelOperationRequestT& request) const + { + return SubmitCallable(&QueryProtocolClient::EndpointWithHostLabelOperation, request); + } + + /** + * An Async wrapper for EndpointWithHostLabelOperation that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void EndpointWithHostLabelOperationAsync(const EndpointWithHostLabelOperationRequestT& request, const EndpointWithHostLabelOperationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&QueryProtocolClient::EndpointWithHostLabelOperation, request, handler, context); + } + + /** + *

Flattened maps

See Also:

AWS + * API Reference

+ */ + virtual Model::FlattenedXmlMapOutcome FlattenedXmlMap(const Model::FlattenedXmlMapRequest& request = {}) const; + + /** + * A Callable wrapper for FlattenedXmlMap that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::FlattenedXmlMapOutcomeCallable FlattenedXmlMapCallable(const FlattenedXmlMapRequestT& request = {}) const + { + return SubmitCallable(&QueryProtocolClient::FlattenedXmlMap, request); + } + + /** + * An Async wrapper for FlattenedXmlMap that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void FlattenedXmlMapAsync(const FlattenedXmlMapResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const FlattenedXmlMapRequestT& request = {}) const + { + return SubmitAsync(&QueryProtocolClient::FlattenedXmlMap, request, handler, context); + } + + /** + *

Flattened maps with @xmlName

See Also:

AWS + * API Reference

+ */ + virtual Model::FlattenedXmlMapWithXmlNameOutcome FlattenedXmlMapWithXmlName(const Model::FlattenedXmlMapWithXmlNameRequest& request = {}) const; + + /** + * A Callable wrapper for FlattenedXmlMapWithXmlName that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::FlattenedXmlMapWithXmlNameOutcomeCallable FlattenedXmlMapWithXmlNameCallable(const FlattenedXmlMapWithXmlNameRequestT& request = {}) const + { + return SubmitCallable(&QueryProtocolClient::FlattenedXmlMapWithXmlName, request); + } + + /** + * An Async wrapper for FlattenedXmlMapWithXmlName that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void FlattenedXmlMapWithXmlNameAsync(const FlattenedXmlMapWithXmlNameResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const FlattenedXmlMapWithXmlNameRequestT& request = {}) const + { + return SubmitAsync(&QueryProtocolClient::FlattenedXmlMapWithXmlName, request, handler, context); + } + + /** + *

Flattened maps with @xmlNamespace and @xmlName

See Also:

AWS + * API Reference

+ */ + virtual Model::FlattenedXmlMapWithXmlNamespaceOutcome FlattenedXmlMapWithXmlNamespace(const Model::FlattenedXmlMapWithXmlNamespaceRequest& request = {}) const; + + /** + * A Callable wrapper for FlattenedXmlMapWithXmlNamespace that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::FlattenedXmlMapWithXmlNamespaceOutcomeCallable FlattenedXmlMapWithXmlNamespaceCallable(const FlattenedXmlMapWithXmlNamespaceRequestT& request = {}) const + { + return SubmitCallable(&QueryProtocolClient::FlattenedXmlMapWithXmlNamespace, request); + } + + /** + * An Async wrapper for FlattenedXmlMapWithXmlNamespace that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void FlattenedXmlMapWithXmlNamespaceAsync(const FlattenedXmlMapWithXmlNamespaceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const FlattenedXmlMapWithXmlNamespaceRequestT& request = {}) const + { + return SubmitAsync(&QueryProtocolClient::FlattenedXmlMapWithXmlNamespace, request, handler, context); + } + + /** + * + */ + virtual Model::FractionalSecondsOutcome FractionalSeconds(const Model::FractionalSecondsRequest& request = {}) const; + + /** + * A Callable wrapper for FractionalSeconds that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::FractionalSecondsOutcomeCallable FractionalSecondsCallable(const FractionalSecondsRequestT& request = {}) const + { + return SubmitCallable(&QueryProtocolClient::FractionalSeconds, request); + } + + /** + * An Async wrapper for FractionalSeconds that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void FractionalSecondsAsync(const FractionalSecondsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const FractionalSecondsRequestT& request = {}) const + { + return SubmitAsync(&QueryProtocolClient::FractionalSeconds, request, handler, context); + } + + /** + *

This operation has three possible return values:

  1. A successful + * response in the form of GreetingWithErrorsOutput
  2. An InvalidGreeting + * error.
  3. A BadRequest error.

See Also:

AWS + * API Reference

+ */ + virtual Model::GreetingWithErrorsOutcome GreetingWithErrors(const Model::GreetingWithErrorsRequest& request = {}) const; + + /** + * A Callable wrapper for GreetingWithErrors that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::GreetingWithErrorsOutcomeCallable GreetingWithErrorsCallable(const GreetingWithErrorsRequestT& request = {}) const + { + return SubmitCallable(&QueryProtocolClient::GreetingWithErrors, request); + } + + /** + * An Async wrapper for GreetingWithErrors that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void GreetingWithErrorsAsync(const GreetingWithErrorsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const GreetingWithErrorsRequestT& request = {}) const + { + return SubmitAsync(&QueryProtocolClient::GreetingWithErrors, request, handler, context); + } + + /** + * + */ + virtual Model::HostWithPathOperationOutcome HostWithPathOperation(const Model::HostWithPathOperationRequest& request = {}) const; + + /** + * A Callable wrapper for HostWithPathOperation that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::HostWithPathOperationOutcomeCallable HostWithPathOperationCallable(const HostWithPathOperationRequestT& request = {}) const + { + return SubmitCallable(&QueryProtocolClient::HostWithPathOperation, request); + } + + /** + * An Async wrapper for HostWithPathOperation that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void HostWithPathOperationAsync(const HostWithPathOperationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const HostWithPathOperationRequestT& request = {}) const + { + return SubmitAsync(&QueryProtocolClient::HostWithPathOperation, request, handler, context); + } + + /** + *

The xmlName trait on the output structure is ignored in AWS Query.

The + * wrapping element is always operation name + "Response", and inside of + * that wrapper is another wrapper named operation name + + * "Result".

See Also:

AWS + * API Reference

+ */ + virtual Model::IgnoresWrappingXmlNameOutcome IgnoresWrappingXmlName(const Model::IgnoresWrappingXmlNameRequest& request = {}) const; + + /** + * A Callable wrapper for IgnoresWrappingXmlName that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::IgnoresWrappingXmlNameOutcomeCallable IgnoresWrappingXmlNameCallable(const IgnoresWrappingXmlNameRequestT& request = {}) const + { + return SubmitCallable(&QueryProtocolClient::IgnoresWrappingXmlName, request); + } + + /** + * An Async wrapper for IgnoresWrappingXmlName that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void IgnoresWrappingXmlNameAsync(const IgnoresWrappingXmlNameResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const IgnoresWrappingXmlNameRequestT& request = {}) const + { + return SubmitAsync(&QueryProtocolClient::IgnoresWrappingXmlName, request, handler, context); + } + + /** + *

This test serializes nested and recursive structure members.

See + * Also:

AWS + * API Reference

+ */ + virtual Model::NestedStructuresOutcome NestedStructures(const Model::NestedStructuresRequest& request = {}) const; + + /** + * A Callable wrapper for NestedStructures that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::NestedStructuresOutcomeCallable NestedStructuresCallable(const NestedStructuresRequestT& request = {}) const + { + return SubmitCallable(&QueryProtocolClient::NestedStructures, request); + } + + /** + * An Async wrapper for NestedStructures that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void NestedStructuresAsync(const NestedStructuresResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const NestedStructuresRequestT& request = {}) const + { + return SubmitAsync(&QueryProtocolClient::NestedStructures, request, handler, context); + } + + /** + *

The example tests how requests and responses are serialized when there's no + * request or response payload because the operation has no input or output.

+ *

While this should be rare, code generators must support this.

See + * Also:

AWS + * API Reference

+ */ + virtual Model::NoInputAndNoOutputOutcome NoInputAndNoOutput(const Model::NoInputAndNoOutputRequest& request = {}) const; + + /** + * A Callable wrapper for NoInputAndNoOutput that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::NoInputAndNoOutputOutcomeCallable NoInputAndNoOutputCallable(const NoInputAndNoOutputRequestT& request = {}) const + { + return SubmitCallable(&QueryProtocolClient::NoInputAndNoOutput, request); + } + + /** + * An Async wrapper for NoInputAndNoOutput that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void NoInputAndNoOutputAsync(const NoInputAndNoOutputResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const NoInputAndNoOutputRequestT& request = {}) const + { + return SubmitAsync(&QueryProtocolClient::NoInputAndNoOutput, request, handler, context); + } + + /** + *

The example tests how requests and responses are serialized when there's no + * request payload or response members.

While this should be rare, code + * generators must support this.

See Also:

AWS + * API Reference

+ */ + virtual Model::NoInputAndOutputOutcome NoInputAndOutput(const Model::NoInputAndOutputRequest& request = {}) const; + + /** + * A Callable wrapper for NoInputAndOutput that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::NoInputAndOutputOutcomeCallable NoInputAndOutputCallable(const NoInputAndOutputRequestT& request = {}) const + { + return SubmitCallable(&QueryProtocolClient::NoInputAndOutput, request); + } + + /** + * An Async wrapper for NoInputAndOutput that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void NoInputAndOutputAsync(const NoInputAndOutputResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const NoInputAndOutputRequestT& request = {}) const + { + return SubmitAsync(&QueryProtocolClient::NoInputAndOutput, request, handler, context); + } + + /** + * + */ + virtual Model::PutWithContentEncodingOutcome PutWithContentEncoding(const Model::PutWithContentEncodingRequest& request = {}) const; + + /** + * A Callable wrapper for PutWithContentEncoding that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::PutWithContentEncodingOutcomeCallable PutWithContentEncodingCallable(const PutWithContentEncodingRequestT& request = {}) const + { + return SubmitCallable(&QueryProtocolClient::PutWithContentEncoding, request); + } + + /** + * An Async wrapper for PutWithContentEncoding that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void PutWithContentEncodingAsync(const PutWithContentEncodingResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const PutWithContentEncodingRequestT& request = {}) const + { + return SubmitAsync(&QueryProtocolClient::PutWithContentEncoding, request, handler, context); + } + + /** + *

Automatically adds idempotency tokens.

See Also:

AWS + * API Reference

+ */ + virtual Model::QueryIdempotencyTokenAutoFillOutcome QueryIdempotencyTokenAutoFill(const Model::QueryIdempotencyTokenAutoFillRequest& request = {}) const; + + /** + * A Callable wrapper for QueryIdempotencyTokenAutoFill that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::QueryIdempotencyTokenAutoFillOutcomeCallable QueryIdempotencyTokenAutoFillCallable(const QueryIdempotencyTokenAutoFillRequestT& request = {}) const + { + return SubmitCallable(&QueryProtocolClient::QueryIdempotencyTokenAutoFill, request); + } + + /** + * An Async wrapper for QueryIdempotencyTokenAutoFill that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void QueryIdempotencyTokenAutoFillAsync(const QueryIdempotencyTokenAutoFillResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const QueryIdempotencyTokenAutoFillRequestT& request = {}) const + { + return SubmitAsync(&QueryProtocolClient::QueryIdempotencyTokenAutoFill, request, handler, context); + } + + /** + *

This test serializes simple and complex lists.

See Also:

AWS + * API Reference

+ */ + virtual Model::QueryListsOutcome QueryLists(const Model::QueryListsRequest& request = {}) const; + + /** + * A Callable wrapper for QueryLists that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::QueryListsOutcomeCallable QueryListsCallable(const QueryListsRequestT& request = {}) const + { + return SubmitCallable(&QueryProtocolClient::QueryLists, request); + } + + /** + * An Async wrapper for QueryLists that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void QueryListsAsync(const QueryListsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const QueryListsRequestT& request = {}) const + { + return SubmitAsync(&QueryProtocolClient::QueryLists, request, handler, context); + } + + /** + *

This test serializes simple and complex maps.

See Also:

AWS + * API Reference

+ */ + virtual Model::QueryMapsOutcome QueryMaps(const Model::QueryMapsRequest& request = {}) const; + + /** + * A Callable wrapper for QueryMaps that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::QueryMapsOutcomeCallable QueryMapsCallable(const QueryMapsRequestT& request = {}) const + { + return SubmitCallable(&QueryProtocolClient::QueryMaps, request); + } + + /** + * An Async wrapper for QueryMaps that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void QueryMapsAsync(const QueryMapsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const QueryMapsRequestT& request = {}) const + { + return SubmitAsync(&QueryProtocolClient::QueryMaps, request, handler, context); + } + + /** + *

This test serializes timestamps.

  1. Timestamps are serialized as + * RFC 3339 date-time values by default.
  2. A timestampFormat trait on a + * member changes the format.
  3. A timestampFormat trait on the shape + * targeted by the member changes the format.

See Also:

AWS + * API Reference

+ */ + virtual Model::QueryTimestampsOutcome QueryTimestamps(const Model::QueryTimestampsRequest& request = {}) const; + + /** + * A Callable wrapper for QueryTimestamps that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::QueryTimestampsOutcomeCallable QueryTimestampsCallable(const QueryTimestampsRequestT& request = {}) const + { + return SubmitCallable(&QueryProtocolClient::QueryTimestamps, request); + } + + /** + * An Async wrapper for QueryTimestamps that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void QueryTimestampsAsync(const QueryTimestampsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const QueryTimestampsRequestT& request = {}) const + { + return SubmitAsync(&QueryProtocolClient::QueryTimestamps, request, handler, context); + } + + /** + *

Recursive shapes

See Also:

AWS + * API Reference

+ */ + virtual Model::RecursiveXmlShapesOutcome RecursiveXmlShapes(const Model::RecursiveXmlShapesRequest& request = {}) const; + + /** + * A Callable wrapper for RecursiveXmlShapes that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::RecursiveXmlShapesOutcomeCallable RecursiveXmlShapesCallable(const RecursiveXmlShapesRequestT& request = {}) const + { + return SubmitCallable(&QueryProtocolClient::RecursiveXmlShapes, request); + } + + /** + * An Async wrapper for RecursiveXmlShapes that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void RecursiveXmlShapesAsync(const RecursiveXmlShapesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const RecursiveXmlShapesRequestT& request = {}) const + { + return SubmitAsync(&QueryProtocolClient::RecursiveXmlShapes, request, handler, context); + } + + /** + *

This test serializes strings, numbers, and boolean values.

See + * Also:

AWS + * API Reference

+ */ + virtual Model::SimpleInputParamsOutcome SimpleInputParams(const Model::SimpleInputParamsRequest& request = {}) const; + + /** + * A Callable wrapper for SimpleInputParams that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::SimpleInputParamsOutcomeCallable SimpleInputParamsCallable(const SimpleInputParamsRequestT& request = {}) const + { + return SubmitCallable(&QueryProtocolClient::SimpleInputParams, request); + } + + /** + * An Async wrapper for SimpleInputParams that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void SimpleInputParamsAsync(const SimpleInputParamsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const SimpleInputParamsRequestT& request = {}) const + { + return SubmitAsync(&QueryProtocolClient::SimpleInputParams, request, handler, context); + } + + /** + * + */ + virtual Model::SimpleScalarXmlPropertiesOutcome SimpleScalarXmlProperties(const Model::SimpleScalarXmlPropertiesRequest& request = {}) const; + + /** + * A Callable wrapper for SimpleScalarXmlProperties that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::SimpleScalarXmlPropertiesOutcomeCallable SimpleScalarXmlPropertiesCallable(const SimpleScalarXmlPropertiesRequestT& request = {}) const + { + return SubmitCallable(&QueryProtocolClient::SimpleScalarXmlProperties, request); + } + + /** + * An Async wrapper for SimpleScalarXmlProperties that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void SimpleScalarXmlPropertiesAsync(const SimpleScalarXmlPropertiesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const SimpleScalarXmlPropertiesRequestT& request = {}) const + { + return SubmitAsync(&QueryProtocolClient::SimpleScalarXmlProperties, request, handler, context); + } + + /** + *

Blobs are base64 encoded

See Also:

AWS + * API Reference

+ */ + virtual Model::XmlBlobsOutcome XmlBlobs(const Model::XmlBlobsRequest& request = {}) const; + + /** + * A Callable wrapper for XmlBlobs that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::XmlBlobsOutcomeCallable XmlBlobsCallable(const XmlBlobsRequestT& request = {}) const + { + return SubmitCallable(&QueryProtocolClient::XmlBlobs, request); + } + + /** + * An Async wrapper for XmlBlobs that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void XmlBlobsAsync(const XmlBlobsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const XmlBlobsRequestT& request = {}) const + { + return SubmitAsync(&QueryProtocolClient::XmlBlobs, request, handler, context); + } + + /** + * + */ + virtual Model::XmlEmptyBlobsOutcome XmlEmptyBlobs(const Model::XmlEmptyBlobsRequest& request = {}) const; + + /** + * A Callable wrapper for XmlEmptyBlobs that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::XmlEmptyBlobsOutcomeCallable XmlEmptyBlobsCallable(const XmlEmptyBlobsRequestT& request = {}) const + { + return SubmitCallable(&QueryProtocolClient::XmlEmptyBlobs, request); + } + + /** + * An Async wrapper for XmlEmptyBlobs that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void XmlEmptyBlobsAsync(const XmlEmptyBlobsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const XmlEmptyBlobsRequestT& request = {}) const + { + return SubmitAsync(&QueryProtocolClient::XmlEmptyBlobs, request, handler, context); + } + + /** + * + */ + virtual Model::XmlEmptyListsOutcome XmlEmptyLists(const Model::XmlEmptyListsRequest& request = {}) const; + + /** + * A Callable wrapper for XmlEmptyLists that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::XmlEmptyListsOutcomeCallable XmlEmptyListsCallable(const XmlEmptyListsRequestT& request = {}) const + { + return SubmitCallable(&QueryProtocolClient::XmlEmptyLists, request); + } + + /** + * An Async wrapper for XmlEmptyLists that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void XmlEmptyListsAsync(const XmlEmptyListsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const XmlEmptyListsRequestT& request = {}) const + { + return SubmitAsync(&QueryProtocolClient::XmlEmptyLists, request, handler, context); + } + + /** + * + */ + virtual Model::XmlEmptyMapsOutcome XmlEmptyMaps(const Model::XmlEmptyMapsRequest& request = {}) const; + + /** + * A Callable wrapper for XmlEmptyMaps that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::XmlEmptyMapsOutcomeCallable XmlEmptyMapsCallable(const XmlEmptyMapsRequestT& request = {}) const + { + return SubmitCallable(&QueryProtocolClient::XmlEmptyMaps, request); + } + + /** + * An Async wrapper for XmlEmptyMaps that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void XmlEmptyMapsAsync(const XmlEmptyMapsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const XmlEmptyMapsRequestT& request = {}) const + { + return SubmitAsync(&QueryProtocolClient::XmlEmptyMaps, request, handler, context); + } + + /** + *

This example serializes enums as top level properties, in lists, sets, and + * maps.

See Also:

AWS + * API Reference

+ */ + virtual Model::XmlEnumsOutcome XmlEnums(const Model::XmlEnumsRequest& request = {}) const; + + /** + * A Callable wrapper for XmlEnums that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::XmlEnumsOutcomeCallable XmlEnumsCallable(const XmlEnumsRequestT& request = {}) const + { + return SubmitCallable(&QueryProtocolClient::XmlEnums, request); + } + + /** + * An Async wrapper for XmlEnums that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void XmlEnumsAsync(const XmlEnumsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const XmlEnumsRequestT& request = {}) const + { + return SubmitAsync(&QueryProtocolClient::XmlEnums, request, handler, context); + } + + /** + *

This example serializes enums as top level properties, in lists, sets, and + * maps.

See Also:

AWS + * API Reference

+ */ + virtual Model::XmlIntEnumsOutcome XmlIntEnums(const Model::XmlIntEnumsRequest& request = {}) const; + + /** + * A Callable wrapper for XmlIntEnums that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::XmlIntEnumsOutcomeCallable XmlIntEnumsCallable(const XmlIntEnumsRequestT& request = {}) const + { + return SubmitCallable(&QueryProtocolClient::XmlIntEnums, request); + } + + /** + * An Async wrapper for XmlIntEnums that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void XmlIntEnumsAsync(const XmlIntEnumsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const XmlIntEnumsRequestT& request = {}) const + { + return SubmitAsync(&QueryProtocolClient::XmlIntEnums, request, handler, context); + } + + /** + *

This test case serializes XML lists for the following cases for both input + * and output:

  1. Normal XML lists.
  2. Normal XML sets.
  3. + *
  4. XML lists of lists.
  5. XML lists with @xmlName on its members
  6. + *
  7. Flattened XML lists.
  8. Flattened XML lists with @xmlName.
  9. + *
  10. Lists of structures.

See Also:

AWS + * API Reference

+ */ + virtual Model::XmlListsOutcome XmlLists(const Model::XmlListsRequest& request = {}) const; + + /** + * A Callable wrapper for XmlLists that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::XmlListsOutcomeCallable XmlListsCallable(const XmlListsRequestT& request = {}) const + { + return SubmitCallable(&QueryProtocolClient::XmlLists, request); + } + + /** + * An Async wrapper for XmlLists that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void XmlListsAsync(const XmlListsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const XmlListsRequestT& request = {}) const + { + return SubmitAsync(&QueryProtocolClient::XmlLists, request, handler, context); + } + + /** + *

The example tests basic map serialization.

See Also:

AWS + * API Reference

+ */ + virtual Model::XmlMapsOutcome XmlMaps(const Model::XmlMapsRequest& request = {}) const; + + /** + * A Callable wrapper for XmlMaps that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::XmlMapsOutcomeCallable XmlMapsCallable(const XmlMapsRequestT& request = {}) const + { + return SubmitCallable(&QueryProtocolClient::XmlMaps, request); + } + + /** + * An Async wrapper for XmlMaps that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void XmlMapsAsync(const XmlMapsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const XmlMapsRequestT& request = {}) const + { + return SubmitAsync(&QueryProtocolClient::XmlMaps, request, handler, context); + } + + /** + * + */ + virtual Model::XmlMapsXmlNameOutcome XmlMapsXmlName(const Model::XmlMapsXmlNameRequest& request = {}) const; + + /** + * A Callable wrapper for XmlMapsXmlName that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::XmlMapsXmlNameOutcomeCallable XmlMapsXmlNameCallable(const XmlMapsXmlNameRequestT& request = {}) const + { + return SubmitCallable(&QueryProtocolClient::XmlMapsXmlName, request); + } + + /** + * An Async wrapper for XmlMapsXmlName that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void XmlMapsXmlNameAsync(const XmlMapsXmlNameResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const XmlMapsXmlNameRequestT& request = {}) const + { + return SubmitAsync(&QueryProtocolClient::XmlMapsXmlName, request, handler, context); + } + + /** + * + */ + virtual Model::XmlNamespacesOutcome XmlNamespaces(const Model::XmlNamespacesRequest& request = {}) const; + + /** + * A Callable wrapper for XmlNamespaces that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::XmlNamespacesOutcomeCallable XmlNamespacesCallable(const XmlNamespacesRequestT& request = {}) const + { + return SubmitCallable(&QueryProtocolClient::XmlNamespaces, request); + } + + /** + * An Async wrapper for XmlNamespaces that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void XmlNamespacesAsync(const XmlNamespacesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const XmlNamespacesRequestT& request = {}) const + { + return SubmitAsync(&QueryProtocolClient::XmlNamespaces, request, handler, context); + } + + /** + *

This tests how timestamps are serialized, including using the default format + * of date-time and various @timestampFormat trait values.

See Also:

+ * AWS + * API Reference

+ */ + virtual Model::XmlTimestampsOutcome XmlTimestamps(const Model::XmlTimestampsRequest& request = {}) const; + + /** + * A Callable wrapper for XmlTimestamps that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::XmlTimestampsOutcomeCallable XmlTimestampsCallable(const XmlTimestampsRequestT& request = {}) const + { + return SubmitCallable(&QueryProtocolClient::XmlTimestamps, request); + } + + /** + * An Async wrapper for XmlTimestamps that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void XmlTimestampsAsync(const XmlTimestampsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const XmlTimestampsRequestT& request = {}) const + { + return SubmitAsync(&QueryProtocolClient::XmlTimestamps, request, handler, context); + } + + + void OverrideEndpoint(const Aws::String& endpoint); + std::shared_ptr& accessEndpointProvider(); + private: + friend class Aws::Client::ClientWithAsyncTemplateMethods; + void init(const QueryProtocolClientConfiguration& clientConfiguration); + + QueryProtocolClientConfiguration m_clientConfiguration; + std::shared_ptr m_endpointProvider; + }; + +} // namespace QueryProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/QueryProtocolEndpointProvider.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/QueryProtocolEndpointProvider.h new file mode 100644 index 00000000000..74e7e416eda --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/QueryProtocolEndpointProvider.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +#include + + +namespace Aws +{ +namespace QueryProtocol +{ +namespace Endpoint +{ +using EndpointParameters = Aws::Endpoint::EndpointParameters; +using Aws::Endpoint::EndpointProviderBase; +using Aws::Endpoint::DefaultEndpointProvider; + +using QueryProtocolClientContextParameters = Aws::Endpoint::ClientContextParameters; + +using QueryProtocolClientConfiguration = Aws::Client::GenericClientConfiguration; +using QueryProtocolBuiltInParameters = Aws::Endpoint::BuiltInParameters; + +/** + * The type for the QueryProtocol 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 QueryProtocolEndpointProviderBase = + EndpointProviderBase; + +using QueryProtocolDefaultEpProviderBase = + DefaultEndpointProvider; + +/** + * Default endpoint provider used for this service + */ +class AWS_QUERYPROTOCOL_API QueryProtocolEndpointProvider : public QueryProtocolDefaultEpProviderBase +{ +public: + using QueryProtocolResolveEndpointOutcome = Aws::Endpoint::ResolveEndpointOutcome; + + QueryProtocolEndpointProvider() + : QueryProtocolDefaultEpProviderBase(Aws::QueryProtocol::QueryProtocolEndpointRules::GetRulesBlob(), Aws::QueryProtocol::QueryProtocolEndpointRules::RulesBlobSize) + {} + + ~QueryProtocolEndpointProvider() + { + } +}; +} // namespace Endpoint +} // namespace QueryProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/QueryProtocolEndpointRules.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/QueryProtocolEndpointRules.h new file mode 100644 index 00000000000..09a50534640 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/QueryProtocolEndpointRules.h @@ -0,0 +1,23 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace QueryProtocol +{ +class QueryProtocolEndpointRules +{ +public: + static const size_t RulesBlobStrLen; + static const size_t RulesBlobSize; + + static const char* GetRulesBlob(); +}; +} // namespace QueryProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/QueryProtocolErrorMarshaller.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/QueryProtocolErrorMarshaller.h new file mode 100644 index 00000000000..fa6bd0bb45d --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/QueryProtocolErrorMarshaller.h @@ -0,0 +1,23 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws +{ +namespace Client +{ + +class AWS_QUERYPROTOCOL_API QueryProtocolErrorMarshaller : public Aws::Client::XmlErrorMarshaller +{ +public: + Aws::Client::AWSError FindErrorByName(const char* exceptionName) const override; +}; + +} // namespace Client +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/QueryProtocolErrors.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/QueryProtocolErrors.h new file mode 100644 index 00000000000..a4e8374c7eb --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/QueryProtocolErrors.h @@ -0,0 +1,74 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include +#include + +namespace Aws +{ +namespace QueryProtocol +{ +enum class QueryProtocolErrors +{ + //From Core// + ////////////////////////////////////////////////////////////////////////////////////////// + INCOMPLETE_SIGNATURE = 0, + INTERNAL_FAILURE = 1, + INVALID_ACTION = 2, + INVALID_CLIENT_TOKEN_ID = 3, + INVALID_PARAMETER_COMBINATION = 4, + INVALID_QUERY_PARAMETER = 5, + INVALID_PARAMETER_VALUE = 6, + MISSING_ACTION = 7, // SDK should never allow + MISSING_AUTHENTICATION_TOKEN = 8, // SDK should never allow + MISSING_PARAMETER = 9, // SDK should never allow + OPT_IN_REQUIRED = 10, + REQUEST_EXPIRED = 11, + SERVICE_UNAVAILABLE = 12, + THROTTLING = 13, + VALIDATION = 14, + ACCESS_DENIED = 15, + RESOURCE_NOT_FOUND = 16, + UNRECOGNIZED_CLIENT = 17, + MALFORMED_QUERY_STRING = 18, + SLOW_DOWN = 19, + REQUEST_TIME_TOO_SKEWED = 20, + INVALID_SIGNATURE = 21, + SIGNATURE_DOES_NOT_MATCH = 22, + INVALID_ACCESS_KEY_ID = 23, + REQUEST_TIMEOUT = 24, + NETWORK_CONNECTION = 99, + + UNKNOWN = 100, + /////////////////////////////////////////////////////////////////////////////////////////// + + COMPLEX= static_cast(Aws::Client::CoreErrors::SERVICE_EXTENSION_START_RANGE) + 1, + CUSTOM_CODE, + INVALID_GREETING +}; + +class AWS_QUERYPROTOCOL_API QueryProtocolError : public Aws::Client::AWSError +{ +public: + QueryProtocolError() {} + QueryProtocolError(const Aws::Client::AWSError& rhs) : Aws::Client::AWSError(rhs) {} + QueryProtocolError(Aws::Client::AWSError&& rhs) : Aws::Client::AWSError(rhs) {} + QueryProtocolError(const Aws::Client::AWSError& rhs) : Aws::Client::AWSError(rhs) {} + QueryProtocolError(Aws::Client::AWSError&& rhs) : Aws::Client::AWSError(rhs) {} + + template + T GetModeledError(); +}; + +namespace QueryProtocolErrorMapper +{ + AWS_QUERYPROTOCOL_API Aws::Client::AWSError GetErrorForName(const char* errorName); +} + +} // namespace QueryProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/QueryProtocolRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/QueryProtocolRequest.h new file mode 100644 index 00000000000..02ed42ec736 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/QueryProtocolRequest.h @@ -0,0 +1,46 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace QueryProtocol +{ + class AWS_QUERYPROTOCOL_API QueryProtocolRequest : public Aws::AmazonSerializableWebServiceRequest + { + public: + using EndpointParameter = Aws::Endpoint::EndpointParameter; + using EndpointParameters = Aws::Endpoint::EndpointParameters; + + virtual ~QueryProtocolRequest () {} + + void AddParametersToRequest(Aws::Http::HttpRequest& httpRequest) const { AWS_UNREFERENCED_PARAM(httpRequest); } + + inline Aws::Http::HeaderValueCollection GetHeaders() const override + { + auto headers = GetRequestSpecificHeaders(); + + if(headers.size() == 0 || (headers.size() > 0 && headers.count(Aws::Http::CONTENT_TYPE_HEADER) == 0)) + { + headers.emplace(Aws::Http::HeaderValuePair(Aws::Http::CONTENT_TYPE_HEADER, Aws::FORM_CONTENT_TYPE )); + } + headers.emplace(Aws::Http::HeaderValuePair(Aws::Http::API_VERSION_HEADER, "2020-01-08")); + return headers; + } + + protected: + virtual Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const { return Aws::Http::HeaderValueCollection(); } + + }; + + +} // namespace QueryProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/QueryProtocolServiceClientModel.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/QueryProtocolServiceClientModel.h new file mode 100644 index 00000000000..6c7d81f8db9 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/QueryProtocolServiceClientModel.h @@ -0,0 +1,262 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +/* Generic header includes */ +#include +#include +#include +#include +#include +#include +#include +#include +#include +/* End of generic header includes */ + +/* Service model headers required in QueryProtocolClient header */ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +/* End of service model headers required in QueryProtocolClient header */ + +namespace Aws +{ + namespace Http + { + class HttpClient; + class HttpClientFactory; + } // namespace Http + + namespace Utils + { + template< typename R, typename E> class Outcome; + + namespace Threading + { + class Executor; + } // namespace Threading + } // namespace Utils + + namespace Auth + { + class AWSCredentials; + class AWSCredentialsProvider; + } // namespace Auth + + namespace Client + { + class RetryStrategy; + } // namespace Client + + namespace QueryProtocol + { + using QueryProtocolClientConfiguration = Aws::Client::GenericClientConfiguration; + using QueryProtocolEndpointProviderBase = Aws::QueryProtocol::Endpoint::QueryProtocolEndpointProviderBase; + using QueryProtocolEndpointProvider = Aws::QueryProtocol::Endpoint::QueryProtocolEndpointProvider; + + namespace Model + { + /* Service model forward declarations required in QueryProtocolClient header */ + class DatetimeOffsetsRequest; + class EmptyInputAndEmptyOutputRequest; + class EndpointOperationRequest; + class EndpointWithHostLabelOperationRequest; + class FlattenedXmlMapRequest; + class FlattenedXmlMapWithXmlNameRequest; + class FlattenedXmlMapWithXmlNamespaceRequest; + class FractionalSecondsRequest; + class GreetingWithErrorsRequest; + class HostWithPathOperationRequest; + class IgnoresWrappingXmlNameRequest; + class NestedStructuresRequest; + class NoInputAndNoOutputRequest; + class NoInputAndOutputRequest; + class PutWithContentEncodingRequest; + class QueryIdempotencyTokenAutoFillRequest; + class QueryListsRequest; + class QueryMapsRequest; + class QueryTimestampsRequest; + class RecursiveXmlShapesRequest; + class SimpleInputParamsRequest; + class SimpleScalarXmlPropertiesRequest; + class XmlBlobsRequest; + class XmlEmptyBlobsRequest; + class XmlEmptyListsRequest; + class XmlEmptyMapsRequest; + class XmlEnumsRequest; + class XmlIntEnumsRequest; + class XmlListsRequest; + class XmlMapsRequest; + class XmlMapsXmlNameRequest; + class XmlNamespacesRequest; + class XmlTimestampsRequest; + /* End of service model forward declarations required in QueryProtocolClient header */ + + /* Service model Outcome class definitions */ + typedef Aws::Utils::Outcome DatetimeOffsetsOutcome; + typedef Aws::Utils::Outcome EmptyInputAndEmptyOutputOutcome; + typedef Aws::Utils::Outcome EndpointOperationOutcome; + typedef Aws::Utils::Outcome EndpointWithHostLabelOperationOutcome; + typedef Aws::Utils::Outcome FlattenedXmlMapOutcome; + typedef Aws::Utils::Outcome FlattenedXmlMapWithXmlNameOutcome; + typedef Aws::Utils::Outcome FlattenedXmlMapWithXmlNamespaceOutcome; + typedef Aws::Utils::Outcome FractionalSecondsOutcome; + typedef Aws::Utils::Outcome GreetingWithErrorsOutcome; + typedef Aws::Utils::Outcome HostWithPathOperationOutcome; + typedef Aws::Utils::Outcome IgnoresWrappingXmlNameOutcome; + typedef Aws::Utils::Outcome NestedStructuresOutcome; + typedef Aws::Utils::Outcome NoInputAndNoOutputOutcome; + typedef Aws::Utils::Outcome NoInputAndOutputOutcome; + typedef Aws::Utils::Outcome PutWithContentEncodingOutcome; + typedef Aws::Utils::Outcome QueryIdempotencyTokenAutoFillOutcome; + typedef Aws::Utils::Outcome QueryListsOutcome; + typedef Aws::Utils::Outcome QueryMapsOutcome; + typedef Aws::Utils::Outcome QueryTimestampsOutcome; + typedef Aws::Utils::Outcome RecursiveXmlShapesOutcome; + typedef Aws::Utils::Outcome SimpleInputParamsOutcome; + typedef Aws::Utils::Outcome SimpleScalarXmlPropertiesOutcome; + typedef Aws::Utils::Outcome XmlBlobsOutcome; + typedef Aws::Utils::Outcome XmlEmptyBlobsOutcome; + typedef Aws::Utils::Outcome XmlEmptyListsOutcome; + typedef Aws::Utils::Outcome XmlEmptyMapsOutcome; + typedef Aws::Utils::Outcome XmlEnumsOutcome; + typedef Aws::Utils::Outcome XmlIntEnumsOutcome; + typedef Aws::Utils::Outcome XmlListsOutcome; + typedef Aws::Utils::Outcome XmlMapsOutcome; + typedef Aws::Utils::Outcome XmlMapsXmlNameOutcome; + typedef Aws::Utils::Outcome XmlNamespacesOutcome; + typedef Aws::Utils::Outcome XmlTimestampsOutcome; + /* End of service model Outcome class definitions */ + + /* Service model Outcome callable definitions */ + typedef std::future DatetimeOffsetsOutcomeCallable; + typedef std::future EmptyInputAndEmptyOutputOutcomeCallable; + typedef std::future EndpointOperationOutcomeCallable; + typedef std::future EndpointWithHostLabelOperationOutcomeCallable; + typedef std::future FlattenedXmlMapOutcomeCallable; + typedef std::future FlattenedXmlMapWithXmlNameOutcomeCallable; + typedef std::future FlattenedXmlMapWithXmlNamespaceOutcomeCallable; + typedef std::future FractionalSecondsOutcomeCallable; + typedef std::future GreetingWithErrorsOutcomeCallable; + typedef std::future HostWithPathOperationOutcomeCallable; + typedef std::future IgnoresWrappingXmlNameOutcomeCallable; + typedef std::future NestedStructuresOutcomeCallable; + typedef std::future NoInputAndNoOutputOutcomeCallable; + typedef std::future NoInputAndOutputOutcomeCallable; + typedef std::future PutWithContentEncodingOutcomeCallable; + typedef std::future QueryIdempotencyTokenAutoFillOutcomeCallable; + typedef std::future QueryListsOutcomeCallable; + typedef std::future QueryMapsOutcomeCallable; + typedef std::future QueryTimestampsOutcomeCallable; + typedef std::future RecursiveXmlShapesOutcomeCallable; + typedef std::future SimpleInputParamsOutcomeCallable; + typedef std::future SimpleScalarXmlPropertiesOutcomeCallable; + typedef std::future XmlBlobsOutcomeCallable; + typedef std::future XmlEmptyBlobsOutcomeCallable; + typedef std::future XmlEmptyListsOutcomeCallable; + typedef std::future XmlEmptyMapsOutcomeCallable; + typedef std::future XmlEnumsOutcomeCallable; + typedef std::future XmlIntEnumsOutcomeCallable; + typedef std::future XmlListsOutcomeCallable; + typedef std::future XmlMapsOutcomeCallable; + typedef std::future XmlMapsXmlNameOutcomeCallable; + typedef std::future XmlNamespacesOutcomeCallable; + typedef std::future XmlTimestampsOutcomeCallable; + /* End of service model Outcome callable definitions */ + } // namespace Model + + class QueryProtocolClient; + + /* Service model async handlers definitions */ + typedef std::function&) > DatetimeOffsetsResponseReceivedHandler; + typedef std::function&) > EmptyInputAndEmptyOutputResponseReceivedHandler; + typedef std::function&) > EndpointOperationResponseReceivedHandler; + typedef std::function&) > EndpointWithHostLabelOperationResponseReceivedHandler; + typedef std::function&) > FlattenedXmlMapResponseReceivedHandler; + typedef std::function&) > FlattenedXmlMapWithXmlNameResponseReceivedHandler; + typedef std::function&) > FlattenedXmlMapWithXmlNamespaceResponseReceivedHandler; + typedef std::function&) > FractionalSecondsResponseReceivedHandler; + typedef std::function&) > GreetingWithErrorsResponseReceivedHandler; + typedef std::function&) > HostWithPathOperationResponseReceivedHandler; + typedef std::function&) > IgnoresWrappingXmlNameResponseReceivedHandler; + typedef std::function&) > NestedStructuresResponseReceivedHandler; + typedef std::function&) > NoInputAndNoOutputResponseReceivedHandler; + typedef std::function&) > NoInputAndOutputResponseReceivedHandler; + typedef std::function&) > PutWithContentEncodingResponseReceivedHandler; + typedef std::function&) > QueryIdempotencyTokenAutoFillResponseReceivedHandler; + typedef std::function&) > QueryListsResponseReceivedHandler; + typedef std::function&) > QueryMapsResponseReceivedHandler; + typedef std::function&) > QueryTimestampsResponseReceivedHandler; + typedef std::function&) > RecursiveXmlShapesResponseReceivedHandler; + typedef std::function&) > SimpleInputParamsResponseReceivedHandler; + typedef std::function&) > SimpleScalarXmlPropertiesResponseReceivedHandler; + typedef std::function&) > XmlBlobsResponseReceivedHandler; + typedef std::function&) > XmlEmptyBlobsResponseReceivedHandler; + typedef std::function&) > XmlEmptyListsResponseReceivedHandler; + typedef std::function&) > XmlEmptyMapsResponseReceivedHandler; + typedef std::function&) > XmlEnumsResponseReceivedHandler; + typedef std::function&) > XmlIntEnumsResponseReceivedHandler; + typedef std::function&) > XmlListsResponseReceivedHandler; + typedef std::function&) > XmlMapsResponseReceivedHandler; + typedef std::function&) > XmlMapsXmlNameResponseReceivedHandler; + typedef std::function&) > XmlNamespacesResponseReceivedHandler; + typedef std::function&) > XmlTimestampsResponseReceivedHandler; + /* End of service model async handlers definitions */ + } // namespace QueryProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/QueryProtocol_EXPORTS.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/QueryProtocol_EXPORTS.h new file mode 100644 index 00000000000..868e75b6a01 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/QueryProtocol_EXPORTS.h @@ -0,0 +1,32 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#ifdef _MSC_VER + //disable windows complaining about max template size. + #pragma warning (disable : 4503) +#endif // _MSC_VER + +#if defined (USE_WINDOWS_DLL_SEMANTICS) || defined (_WIN32) + #ifdef _MSC_VER + #pragma warning(disable : 4251) + #endif // _MSC_VER + + #ifdef USE_IMPORT_EXPORT + #ifdef AWS_QUERYPROTOCOL_EXPORTS + #define AWS_QUERYPROTOCOL_API __declspec(dllexport) + #else + #define AWS_QUERYPROTOCOL_API __declspec(dllimport) + #endif /* AWS_QUERYPROTOCOL_EXPORTS */ + #define AWS_QUERYPROTOCOL_EXTERN + #else + #define AWS_QUERYPROTOCOL_API + #define AWS_QUERYPROTOCOL_EXTERN extern + #endif // USE_IMPORT_EXPORT +#else // defined (USE_WINDOWS_DLL_SEMANTICS) || defined (WIN32) + #define AWS_QUERYPROTOCOL_API + #define AWS_QUERYPROTOCOL_EXTERN extern +#endif // defined (USE_WINDOWS_DLL_SEMANTICS) || defined (WIN32) diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/ComplexError.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/ComplexError.h new file mode 100644 index 00000000000..cc58eb3c9b4 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/ComplexError.h @@ -0,0 +1,75 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace QueryProtocol +{ +namespace Model +{ + + /** + *

This error is thrown when a request is invalid.

See Also:

AWS + * API Reference

+ */ + class ComplexError + { + public: + AWS_QUERYPROTOCOL_API ComplexError(); + AWS_QUERYPROTOCOL_API ComplexError(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_QUERYPROTOCOL_API ComplexError& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + AWS_QUERYPROTOCOL_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const; + AWS_QUERYPROTOCOL_API void OutputToStream(Aws::OStream& oStream, const char* location) const; + + + ///@{ + + inline const Aws::String& GetTopLevel() const{ return m_topLevel; } + inline bool TopLevelHasBeenSet() const { return m_topLevelHasBeenSet; } + inline void SetTopLevel(const Aws::String& value) { m_topLevelHasBeenSet = true; m_topLevel = value; } + inline void SetTopLevel(Aws::String&& value) { m_topLevelHasBeenSet = true; m_topLevel = std::move(value); } + inline void SetTopLevel(const char* value) { m_topLevelHasBeenSet = true; m_topLevel.assign(value); } + inline ComplexError& WithTopLevel(const Aws::String& value) { SetTopLevel(value); return *this;} + inline ComplexError& WithTopLevel(Aws::String&& value) { SetTopLevel(std::move(value)); return *this;} + inline ComplexError& WithTopLevel(const char* value) { SetTopLevel(value); return *this;} + ///@} + + ///@{ + + inline const ComplexNestedErrorData& GetNested() const{ return m_nested; } + inline bool NestedHasBeenSet() const { return m_nestedHasBeenSet; } + inline void SetNested(const ComplexNestedErrorData& value) { m_nestedHasBeenSet = true; m_nested = value; } + inline void SetNested(ComplexNestedErrorData&& value) { m_nestedHasBeenSet = true; m_nested = std::move(value); } + inline ComplexError& WithNested(const ComplexNestedErrorData& value) { SetNested(value); return *this;} + inline ComplexError& WithNested(ComplexNestedErrorData&& value) { SetNested(std::move(value)); return *this;} + ///@} + private: + + Aws::String m_topLevel; + bool m_topLevelHasBeenSet = false; + + ComplexNestedErrorData m_nested; + bool m_nestedHasBeenSet = false; + }; + +} // namespace Model +} // namespace QueryProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/ComplexNestedErrorData.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/ComplexNestedErrorData.h new file mode 100644 index 00000000000..0803d2da832 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/ComplexNestedErrorData.h @@ -0,0 +1,56 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace QueryProtocol +{ +namespace Model +{ + + class ComplexNestedErrorData + { + public: + AWS_QUERYPROTOCOL_API ComplexNestedErrorData(); + AWS_QUERYPROTOCOL_API ComplexNestedErrorData(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_QUERYPROTOCOL_API ComplexNestedErrorData& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + AWS_QUERYPROTOCOL_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const; + AWS_QUERYPROTOCOL_API void OutputToStream(Aws::OStream& oStream, const char* location) const; + + + ///@{ + + inline const Aws::String& GetFoo() const{ return m_foo; } + inline bool FooHasBeenSet() const { return m_fooHasBeenSet; } + inline void SetFoo(const Aws::String& value) { m_fooHasBeenSet = true; m_foo = value; } + inline void SetFoo(Aws::String&& value) { m_fooHasBeenSet = true; m_foo = std::move(value); } + inline void SetFoo(const char* value) { m_fooHasBeenSet = true; m_foo.assign(value); } + inline ComplexNestedErrorData& WithFoo(const Aws::String& value) { SetFoo(value); return *this;} + inline ComplexNestedErrorData& WithFoo(Aws::String&& value) { SetFoo(std::move(value)); return *this;} + inline ComplexNestedErrorData& WithFoo(const char* value) { SetFoo(value); return *this;} + ///@} + private: + + Aws::String m_foo; + bool m_fooHasBeenSet = false; + }; + +} // namespace Model +} // namespace QueryProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/DatetimeOffsetsRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/DatetimeOffsetsRequest.h new file mode 100644 index 00000000000..44a8f769a26 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/DatetimeOffsetsRequest.h @@ -0,0 +1,40 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace QueryProtocol +{ +namespace Model +{ + + /** + */ + class DatetimeOffsetsRequest : public QueryProtocolRequest + { + public: + AWS_QUERYPROTOCOL_API DatetimeOffsetsRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "DatetimeOffsets"; } + + AWS_QUERYPROTOCOL_API Aws::String SerializePayload() const override; + + protected: + AWS_QUERYPROTOCOL_API void DumpBodyToUrl(Aws::Http::URI& uri ) const override; + + public: + }; + +} // namespace Model +} // namespace QueryProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/DatetimeOffsetsResult.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/DatetimeOffsetsResult.h new file mode 100644 index 00000000000..43004776c1b --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/DatetimeOffsetsResult.h @@ -0,0 +1,62 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace QueryProtocol +{ +namespace Model +{ + class DatetimeOffsetsResult + { + public: + AWS_QUERYPROTOCOL_API DatetimeOffsetsResult(); + AWS_QUERYPROTOCOL_API DatetimeOffsetsResult(const Aws::AmazonWebServiceResult& result); + AWS_QUERYPROTOCOL_API DatetimeOffsetsResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::Utils::DateTime& GetDatetime() const{ return m_datetime; } + inline void SetDatetime(const Aws::Utils::DateTime& value) { m_datetime = value; } + inline void SetDatetime(Aws::Utils::DateTime&& value) { m_datetime = std::move(value); } + inline DatetimeOffsetsResult& WithDatetime(const Aws::Utils::DateTime& value) { SetDatetime(value); return *this;} + inline DatetimeOffsetsResult& WithDatetime(Aws::Utils::DateTime&& value) { SetDatetime(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const ResponseMetadata& GetResponseMetadata() const{ return m_responseMetadata; } + inline void SetResponseMetadata(const ResponseMetadata& value) { m_responseMetadata = value; } + inline void SetResponseMetadata(ResponseMetadata&& value) { m_responseMetadata = std::move(value); } + inline DatetimeOffsetsResult& WithResponseMetadata(const ResponseMetadata& value) { SetResponseMetadata(value); return *this;} + inline DatetimeOffsetsResult& WithResponseMetadata(ResponseMetadata&& value) { SetResponseMetadata(std::move(value)); return *this;} + ///@} + private: + + Aws::Utils::DateTime m_datetime; + + ResponseMetadata m_responseMetadata; + }; + +} // namespace Model +} // namespace QueryProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/EmptyInputAndEmptyOutputRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/EmptyInputAndEmptyOutputRequest.h new file mode 100644 index 00000000000..450e9a02a29 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/EmptyInputAndEmptyOutputRequest.h @@ -0,0 +1,40 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace QueryProtocol +{ +namespace Model +{ + + /** + */ + class EmptyInputAndEmptyOutputRequest : public QueryProtocolRequest + { + public: + AWS_QUERYPROTOCOL_API EmptyInputAndEmptyOutputRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "EmptyInputAndEmptyOutput"; } + + AWS_QUERYPROTOCOL_API Aws::String SerializePayload() const override; + + protected: + AWS_QUERYPROTOCOL_API void DumpBodyToUrl(Aws::Http::URI& uri ) const override; + + public: + }; + +} // namespace Model +} // namespace QueryProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/EmptyInputAndEmptyOutputResult.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/EmptyInputAndEmptyOutputResult.h new file mode 100644 index 00000000000..00ee353d0eb --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/EmptyInputAndEmptyOutputResult.h @@ -0,0 +1,50 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace QueryProtocol +{ +namespace Model +{ + class EmptyInputAndEmptyOutputResult + { + public: + AWS_QUERYPROTOCOL_API EmptyInputAndEmptyOutputResult(); + AWS_QUERYPROTOCOL_API EmptyInputAndEmptyOutputResult(const Aws::AmazonWebServiceResult& result); + AWS_QUERYPROTOCOL_API EmptyInputAndEmptyOutputResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const ResponseMetadata& GetResponseMetadata() const{ return m_responseMetadata; } + inline void SetResponseMetadata(const ResponseMetadata& value) { m_responseMetadata = value; } + inline void SetResponseMetadata(ResponseMetadata&& value) { m_responseMetadata = std::move(value); } + inline EmptyInputAndEmptyOutputResult& WithResponseMetadata(const ResponseMetadata& value) { SetResponseMetadata(value); return *this;} + inline EmptyInputAndEmptyOutputResult& WithResponseMetadata(ResponseMetadata&& value) { SetResponseMetadata(std::move(value)); return *this;} + ///@} + private: + + ResponseMetadata m_responseMetadata; + }; + +} // namespace Model +} // namespace QueryProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/EndpointOperationRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/EndpointOperationRequest.h new file mode 100644 index 00000000000..288bce20fee --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/EndpointOperationRequest.h @@ -0,0 +1,40 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace QueryProtocol +{ +namespace Model +{ + + /** + */ + class EndpointOperationRequest : public QueryProtocolRequest + { + public: + AWS_QUERYPROTOCOL_API EndpointOperationRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "EndpointOperation"; } + + AWS_QUERYPROTOCOL_API Aws::String SerializePayload() const override; + + protected: + AWS_QUERYPROTOCOL_API void DumpBodyToUrl(Aws::Http::URI& uri ) const override; + + public: + }; + +} // namespace Model +} // namespace QueryProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/EndpointWithHostLabelOperationRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/EndpointWithHostLabelOperationRequest.h new file mode 100644 index 00000000000..279f1bd9386 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/EndpointWithHostLabelOperationRequest.h @@ -0,0 +1,58 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace QueryProtocol +{ +namespace Model +{ + + /** + */ + class EndpointWithHostLabelOperationRequest : public QueryProtocolRequest + { + public: + AWS_QUERYPROTOCOL_API EndpointWithHostLabelOperationRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "EndpointWithHostLabelOperation"; } + + AWS_QUERYPROTOCOL_API Aws::String SerializePayload() const override; + + protected: + AWS_QUERYPROTOCOL_API void DumpBodyToUrl(Aws::Http::URI& uri ) const override; + + public: + + ///@{ + + inline const Aws::String& GetLabel() const{ return m_label; } + inline bool LabelHasBeenSet() const { return m_labelHasBeenSet; } + inline void SetLabel(const Aws::String& value) { m_labelHasBeenSet = true; m_label = value; } + inline void SetLabel(Aws::String&& value) { m_labelHasBeenSet = true; m_label = std::move(value); } + inline void SetLabel(const char* value) { m_labelHasBeenSet = true; m_label.assign(value); } + inline EndpointWithHostLabelOperationRequest& WithLabel(const Aws::String& value) { SetLabel(value); return *this;} + inline EndpointWithHostLabelOperationRequest& WithLabel(Aws::String&& value) { SetLabel(std::move(value)); return *this;} + inline EndpointWithHostLabelOperationRequest& WithLabel(const char* value) { SetLabel(value); return *this;} + ///@} + private: + + Aws::String m_label; + bool m_labelHasBeenSet = false; + }; + +} // namespace Model +} // namespace QueryProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/FlattenedXmlMapRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/FlattenedXmlMapRequest.h new file mode 100644 index 00000000000..d6723021a3f --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/FlattenedXmlMapRequest.h @@ -0,0 +1,40 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace QueryProtocol +{ +namespace Model +{ + + /** + */ + class FlattenedXmlMapRequest : public QueryProtocolRequest + { + public: + AWS_QUERYPROTOCOL_API FlattenedXmlMapRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "FlattenedXmlMap"; } + + AWS_QUERYPROTOCOL_API Aws::String SerializePayload() const override; + + protected: + AWS_QUERYPROTOCOL_API void DumpBodyToUrl(Aws::Http::URI& uri ) const override; + + public: + }; + +} // namespace Model +} // namespace QueryProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/FlattenedXmlMapResult.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/FlattenedXmlMapResult.h new file mode 100644 index 00000000000..3f069b3fd0e --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/FlattenedXmlMapResult.h @@ -0,0 +1,70 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace QueryProtocol +{ +namespace Model +{ + class FlattenedXmlMapResult + { + public: + AWS_QUERYPROTOCOL_API FlattenedXmlMapResult(); + AWS_QUERYPROTOCOL_API FlattenedXmlMapResult(const Aws::AmazonWebServiceResult& result); + AWS_QUERYPROTOCOL_API FlattenedXmlMapResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::Map& GetMyMap() const{ return m_myMap; } + inline void SetMyMap(const Aws::Map& value) { m_myMap = value; } + inline void SetMyMap(Aws::Map&& value) { m_myMap = std::move(value); } + inline FlattenedXmlMapResult& WithMyMap(const Aws::Map& value) { SetMyMap(value); return *this;} + inline FlattenedXmlMapResult& WithMyMap(Aws::Map&& value) { SetMyMap(std::move(value)); return *this;} + inline FlattenedXmlMapResult& AddMyMap(const Aws::String& key, const FooEnum& value) { m_myMap.emplace(key, value); return *this; } + inline FlattenedXmlMapResult& AddMyMap(Aws::String&& key, const FooEnum& value) { m_myMap.emplace(std::move(key), value); return *this; } + inline FlattenedXmlMapResult& AddMyMap(const Aws::String& key, FooEnum&& value) { m_myMap.emplace(key, std::move(value)); return *this; } + inline FlattenedXmlMapResult& AddMyMap(Aws::String&& key, FooEnum&& value) { m_myMap.emplace(std::move(key), std::move(value)); return *this; } + inline FlattenedXmlMapResult& AddMyMap(const char* key, FooEnum&& value) { m_myMap.emplace(key, std::move(value)); return *this; } + inline FlattenedXmlMapResult& AddMyMap(const char* key, const FooEnum& value) { m_myMap.emplace(key, value); return *this; } + ///@} + + ///@{ + + inline const ResponseMetadata& GetResponseMetadata() const{ return m_responseMetadata; } + inline void SetResponseMetadata(const ResponseMetadata& value) { m_responseMetadata = value; } + inline void SetResponseMetadata(ResponseMetadata&& value) { m_responseMetadata = std::move(value); } + inline FlattenedXmlMapResult& WithResponseMetadata(const ResponseMetadata& value) { SetResponseMetadata(value); return *this;} + inline FlattenedXmlMapResult& WithResponseMetadata(ResponseMetadata&& value) { SetResponseMetadata(std::move(value)); return *this;} + ///@} + private: + + Aws::Map m_myMap; + + ResponseMetadata m_responseMetadata; + }; + +} // namespace Model +} // namespace QueryProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/FlattenedXmlMapWithXmlNameRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/FlattenedXmlMapWithXmlNameRequest.h new file mode 100644 index 00000000000..9c1b509819a --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/FlattenedXmlMapWithXmlNameRequest.h @@ -0,0 +1,40 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace QueryProtocol +{ +namespace Model +{ + + /** + */ + class FlattenedXmlMapWithXmlNameRequest : public QueryProtocolRequest + { + public: + AWS_QUERYPROTOCOL_API FlattenedXmlMapWithXmlNameRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "FlattenedXmlMapWithXmlName"; } + + AWS_QUERYPROTOCOL_API Aws::String SerializePayload() const override; + + protected: + AWS_QUERYPROTOCOL_API void DumpBodyToUrl(Aws::Http::URI& uri ) const override; + + public: + }; + +} // namespace Model +} // namespace QueryProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/FlattenedXmlMapWithXmlNameResult.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/FlattenedXmlMapWithXmlNameResult.h new file mode 100644 index 00000000000..cb8b9ad7e2d --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/FlattenedXmlMapWithXmlNameResult.h @@ -0,0 +1,70 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace QueryProtocol +{ +namespace Model +{ + class FlattenedXmlMapWithXmlNameResult + { + public: + AWS_QUERYPROTOCOL_API FlattenedXmlMapWithXmlNameResult(); + AWS_QUERYPROTOCOL_API FlattenedXmlMapWithXmlNameResult(const Aws::AmazonWebServiceResult& result); + AWS_QUERYPROTOCOL_API FlattenedXmlMapWithXmlNameResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::Map& GetMyMap() const{ return m_myMap; } + inline void SetMyMap(const Aws::Map& value) { m_myMap = value; } + inline void SetMyMap(Aws::Map&& value) { m_myMap = std::move(value); } + inline FlattenedXmlMapWithXmlNameResult& WithMyMap(const Aws::Map& value) { SetMyMap(value); return *this;} + inline FlattenedXmlMapWithXmlNameResult& WithMyMap(Aws::Map&& value) { SetMyMap(std::move(value)); return *this;} + inline FlattenedXmlMapWithXmlNameResult& AddMyMap(const Aws::String& key, const Aws::String& value) { m_myMap.emplace(key, value); return *this; } + inline FlattenedXmlMapWithXmlNameResult& AddMyMap(Aws::String&& key, const Aws::String& value) { m_myMap.emplace(std::move(key), value); return *this; } + inline FlattenedXmlMapWithXmlNameResult& AddMyMap(const Aws::String& key, Aws::String&& value) { m_myMap.emplace(key, std::move(value)); return *this; } + inline FlattenedXmlMapWithXmlNameResult& AddMyMap(Aws::String&& key, Aws::String&& value) { m_myMap.emplace(std::move(key), std::move(value)); return *this; } + inline FlattenedXmlMapWithXmlNameResult& AddMyMap(const char* key, Aws::String&& value) { m_myMap.emplace(key, std::move(value)); return *this; } + inline FlattenedXmlMapWithXmlNameResult& AddMyMap(Aws::String&& key, const char* value) { m_myMap.emplace(std::move(key), value); return *this; } + inline FlattenedXmlMapWithXmlNameResult& AddMyMap(const char* key, const char* value) { m_myMap.emplace(key, value); return *this; } + ///@} + + ///@{ + + inline const ResponseMetadata& GetResponseMetadata() const{ return m_responseMetadata; } + inline void SetResponseMetadata(const ResponseMetadata& value) { m_responseMetadata = value; } + inline void SetResponseMetadata(ResponseMetadata&& value) { m_responseMetadata = std::move(value); } + inline FlattenedXmlMapWithXmlNameResult& WithResponseMetadata(const ResponseMetadata& value) { SetResponseMetadata(value); return *this;} + inline FlattenedXmlMapWithXmlNameResult& WithResponseMetadata(ResponseMetadata&& value) { SetResponseMetadata(std::move(value)); return *this;} + ///@} + private: + + Aws::Map m_myMap; + + ResponseMetadata m_responseMetadata; + }; + +} // namespace Model +} // namespace QueryProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/FlattenedXmlMapWithXmlNamespaceRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/FlattenedXmlMapWithXmlNamespaceRequest.h new file mode 100644 index 00000000000..b9c658bcff9 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/FlattenedXmlMapWithXmlNamespaceRequest.h @@ -0,0 +1,40 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace QueryProtocol +{ +namespace Model +{ + + /** + */ + class FlattenedXmlMapWithXmlNamespaceRequest : public QueryProtocolRequest + { + public: + AWS_QUERYPROTOCOL_API FlattenedXmlMapWithXmlNamespaceRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "FlattenedXmlMapWithXmlNamespace"; } + + AWS_QUERYPROTOCOL_API Aws::String SerializePayload() const override; + + protected: + AWS_QUERYPROTOCOL_API void DumpBodyToUrl(Aws::Http::URI& uri ) const override; + + public: + }; + +} // namespace Model +} // namespace QueryProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/FlattenedXmlMapWithXmlNamespaceResult.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/FlattenedXmlMapWithXmlNamespaceResult.h new file mode 100644 index 00000000000..e32c402560e --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/FlattenedXmlMapWithXmlNamespaceResult.h @@ -0,0 +1,70 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace QueryProtocol +{ +namespace Model +{ + class FlattenedXmlMapWithXmlNamespaceResult + { + public: + AWS_QUERYPROTOCOL_API FlattenedXmlMapWithXmlNamespaceResult(); + AWS_QUERYPROTOCOL_API FlattenedXmlMapWithXmlNamespaceResult(const Aws::AmazonWebServiceResult& result); + AWS_QUERYPROTOCOL_API FlattenedXmlMapWithXmlNamespaceResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::Map& GetMyMap() const{ return m_myMap; } + inline void SetMyMap(const Aws::Map& value) { m_myMap = value; } + inline void SetMyMap(Aws::Map&& value) { m_myMap = std::move(value); } + inline FlattenedXmlMapWithXmlNamespaceResult& WithMyMap(const Aws::Map& value) { SetMyMap(value); return *this;} + inline FlattenedXmlMapWithXmlNamespaceResult& WithMyMap(Aws::Map&& value) { SetMyMap(std::move(value)); return *this;} + inline FlattenedXmlMapWithXmlNamespaceResult& AddMyMap(const Aws::String& key, const Aws::String& value) { m_myMap.emplace(key, value); return *this; } + inline FlattenedXmlMapWithXmlNamespaceResult& AddMyMap(Aws::String&& key, const Aws::String& value) { m_myMap.emplace(std::move(key), value); return *this; } + inline FlattenedXmlMapWithXmlNamespaceResult& AddMyMap(const Aws::String& key, Aws::String&& value) { m_myMap.emplace(key, std::move(value)); return *this; } + inline FlattenedXmlMapWithXmlNamespaceResult& AddMyMap(Aws::String&& key, Aws::String&& value) { m_myMap.emplace(std::move(key), std::move(value)); return *this; } + inline FlattenedXmlMapWithXmlNamespaceResult& AddMyMap(const char* key, Aws::String&& value) { m_myMap.emplace(key, std::move(value)); return *this; } + inline FlattenedXmlMapWithXmlNamespaceResult& AddMyMap(Aws::String&& key, const char* value) { m_myMap.emplace(std::move(key), value); return *this; } + inline FlattenedXmlMapWithXmlNamespaceResult& AddMyMap(const char* key, const char* value) { m_myMap.emplace(key, value); return *this; } + ///@} + + ///@{ + + inline const ResponseMetadata& GetResponseMetadata() const{ return m_responseMetadata; } + inline void SetResponseMetadata(const ResponseMetadata& value) { m_responseMetadata = value; } + inline void SetResponseMetadata(ResponseMetadata&& value) { m_responseMetadata = std::move(value); } + inline FlattenedXmlMapWithXmlNamespaceResult& WithResponseMetadata(const ResponseMetadata& value) { SetResponseMetadata(value); return *this;} + inline FlattenedXmlMapWithXmlNamespaceResult& WithResponseMetadata(ResponseMetadata&& value) { SetResponseMetadata(std::move(value)); return *this;} + ///@} + private: + + Aws::Map m_myMap; + + ResponseMetadata m_responseMetadata; + }; + +} // namespace Model +} // namespace QueryProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/FooEnum.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/FooEnum.h new file mode 100644 index 00000000000..e401574a762 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/FooEnum.h @@ -0,0 +1,34 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace QueryProtocol +{ +namespace Model +{ + enum class FooEnum + { + NOT_SET, + Foo, + Baz, + Bar, + _1, + _0 + }; + +namespace FooEnumMapper +{ +AWS_QUERYPROTOCOL_API FooEnum GetFooEnumForName(const Aws::String& name); + +AWS_QUERYPROTOCOL_API Aws::String GetNameForFooEnum(FooEnum value); +} // namespace FooEnumMapper +} // namespace Model +} // namespace QueryProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/FractionalSecondsRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/FractionalSecondsRequest.h new file mode 100644 index 00000000000..22501b0d3c2 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/FractionalSecondsRequest.h @@ -0,0 +1,40 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace QueryProtocol +{ +namespace Model +{ + + /** + */ + class FractionalSecondsRequest : public QueryProtocolRequest + { + public: + AWS_QUERYPROTOCOL_API FractionalSecondsRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "FractionalSeconds"; } + + AWS_QUERYPROTOCOL_API Aws::String SerializePayload() const override; + + protected: + AWS_QUERYPROTOCOL_API void DumpBodyToUrl(Aws::Http::URI& uri ) const override; + + public: + }; + +} // namespace Model +} // namespace QueryProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/FractionalSecondsResult.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/FractionalSecondsResult.h new file mode 100644 index 00000000000..771cd80728a --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/FractionalSecondsResult.h @@ -0,0 +1,62 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace QueryProtocol +{ +namespace Model +{ + class FractionalSecondsResult + { + public: + AWS_QUERYPROTOCOL_API FractionalSecondsResult(); + AWS_QUERYPROTOCOL_API FractionalSecondsResult(const Aws::AmazonWebServiceResult& result); + AWS_QUERYPROTOCOL_API FractionalSecondsResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::Utils::DateTime& GetDatetime() const{ return m_datetime; } + inline void SetDatetime(const Aws::Utils::DateTime& value) { m_datetime = value; } + inline void SetDatetime(Aws::Utils::DateTime&& value) { m_datetime = std::move(value); } + inline FractionalSecondsResult& WithDatetime(const Aws::Utils::DateTime& value) { SetDatetime(value); return *this;} + inline FractionalSecondsResult& WithDatetime(Aws::Utils::DateTime&& value) { SetDatetime(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const ResponseMetadata& GetResponseMetadata() const{ return m_responseMetadata; } + inline void SetResponseMetadata(const ResponseMetadata& value) { m_responseMetadata = value; } + inline void SetResponseMetadata(ResponseMetadata&& value) { m_responseMetadata = std::move(value); } + inline FractionalSecondsResult& WithResponseMetadata(const ResponseMetadata& value) { SetResponseMetadata(value); return *this;} + inline FractionalSecondsResult& WithResponseMetadata(ResponseMetadata&& value) { SetResponseMetadata(std::move(value)); return *this;} + ///@} + private: + + Aws::Utils::DateTime m_datetime; + + ResponseMetadata m_responseMetadata; + }; + +} // namespace Model +} // namespace QueryProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/GreetingStruct.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/GreetingStruct.h new file mode 100644 index 00000000000..4f9db0f06b2 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/GreetingStruct.h @@ -0,0 +1,56 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace QueryProtocol +{ +namespace Model +{ + + class GreetingStruct + { + public: + AWS_QUERYPROTOCOL_API GreetingStruct(); + AWS_QUERYPROTOCOL_API GreetingStruct(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_QUERYPROTOCOL_API GreetingStruct& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + AWS_QUERYPROTOCOL_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const; + AWS_QUERYPROTOCOL_API void OutputToStream(Aws::OStream& oStream, const char* location) const; + + + ///@{ + + inline const Aws::String& GetHi() const{ return m_hi; } + inline bool HiHasBeenSet() const { return m_hiHasBeenSet; } + inline void SetHi(const Aws::String& value) { m_hiHasBeenSet = true; m_hi = value; } + inline void SetHi(Aws::String&& value) { m_hiHasBeenSet = true; m_hi = std::move(value); } + inline void SetHi(const char* value) { m_hiHasBeenSet = true; m_hi.assign(value); } + inline GreetingStruct& WithHi(const Aws::String& value) { SetHi(value); return *this;} + inline GreetingStruct& WithHi(Aws::String&& value) { SetHi(std::move(value)); return *this;} + inline GreetingStruct& WithHi(const char* value) { SetHi(value); return *this;} + ///@} + private: + + Aws::String m_hi; + bool m_hiHasBeenSet = false; + }; + +} // namespace Model +} // namespace QueryProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/GreetingWithErrorsRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/GreetingWithErrorsRequest.h new file mode 100644 index 00000000000..e74917e55cd --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/GreetingWithErrorsRequest.h @@ -0,0 +1,40 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace QueryProtocol +{ +namespace Model +{ + + /** + */ + class GreetingWithErrorsRequest : public QueryProtocolRequest + { + public: + AWS_QUERYPROTOCOL_API GreetingWithErrorsRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "GreetingWithErrors"; } + + AWS_QUERYPROTOCOL_API Aws::String SerializePayload() const override; + + protected: + AWS_QUERYPROTOCOL_API void DumpBodyToUrl(Aws::Http::URI& uri ) const override; + + public: + }; + +} // namespace Model +} // namespace QueryProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/GreetingWithErrorsResult.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/GreetingWithErrorsResult.h new file mode 100644 index 00000000000..64d974c8f9d --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/GreetingWithErrorsResult.h @@ -0,0 +1,64 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace QueryProtocol +{ +namespace Model +{ + class GreetingWithErrorsResult + { + public: + AWS_QUERYPROTOCOL_API GreetingWithErrorsResult(); + AWS_QUERYPROTOCOL_API GreetingWithErrorsResult(const Aws::AmazonWebServiceResult& result); + AWS_QUERYPROTOCOL_API GreetingWithErrorsResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::String& GetGreeting() const{ return m_greeting; } + inline void SetGreeting(const Aws::String& value) { m_greeting = value; } + inline void SetGreeting(Aws::String&& value) { m_greeting = std::move(value); } + inline void SetGreeting(const char* value) { m_greeting.assign(value); } + inline GreetingWithErrorsResult& WithGreeting(const Aws::String& value) { SetGreeting(value); return *this;} + inline GreetingWithErrorsResult& WithGreeting(Aws::String&& value) { SetGreeting(std::move(value)); return *this;} + inline GreetingWithErrorsResult& WithGreeting(const char* value) { SetGreeting(value); return *this;} + ///@} + + ///@{ + + inline const ResponseMetadata& GetResponseMetadata() const{ return m_responseMetadata; } + inline void SetResponseMetadata(const ResponseMetadata& value) { m_responseMetadata = value; } + inline void SetResponseMetadata(ResponseMetadata&& value) { m_responseMetadata = std::move(value); } + inline GreetingWithErrorsResult& WithResponseMetadata(const ResponseMetadata& value) { SetResponseMetadata(value); return *this;} + inline GreetingWithErrorsResult& WithResponseMetadata(ResponseMetadata&& value) { SetResponseMetadata(std::move(value)); return *this;} + ///@} + private: + + Aws::String m_greeting; + + ResponseMetadata m_responseMetadata; + }; + +} // namespace Model +} // namespace QueryProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/HostWithPathOperationRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/HostWithPathOperationRequest.h new file mode 100644 index 00000000000..a14cbf870c7 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/HostWithPathOperationRequest.h @@ -0,0 +1,40 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace QueryProtocol +{ +namespace Model +{ + + /** + */ + class HostWithPathOperationRequest : public QueryProtocolRequest + { + public: + AWS_QUERYPROTOCOL_API HostWithPathOperationRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "HostWithPathOperation"; } + + AWS_QUERYPROTOCOL_API Aws::String SerializePayload() const override; + + protected: + AWS_QUERYPROTOCOL_API void DumpBodyToUrl(Aws::Http::URI& uri ) const override; + + public: + }; + +} // namespace Model +} // namespace QueryProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/IgnoresWrappingXmlNameRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/IgnoresWrappingXmlNameRequest.h new file mode 100644 index 00000000000..fb15cc10582 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/IgnoresWrappingXmlNameRequest.h @@ -0,0 +1,40 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace QueryProtocol +{ +namespace Model +{ + + /** + */ + class IgnoresWrappingXmlNameRequest : public QueryProtocolRequest + { + public: + AWS_QUERYPROTOCOL_API IgnoresWrappingXmlNameRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "IgnoresWrappingXmlName"; } + + AWS_QUERYPROTOCOL_API Aws::String SerializePayload() const override; + + protected: + AWS_QUERYPROTOCOL_API void DumpBodyToUrl(Aws::Http::URI& uri ) const override; + + public: + }; + +} // namespace Model +} // namespace QueryProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/IgnoresWrappingXmlNameResult.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/IgnoresWrappingXmlNameResult.h new file mode 100644 index 00000000000..e8430e5f28b --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/IgnoresWrappingXmlNameResult.h @@ -0,0 +1,64 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace QueryProtocol +{ +namespace Model +{ + class IgnoresWrappingXmlNameResult + { + public: + AWS_QUERYPROTOCOL_API IgnoresWrappingXmlNameResult(); + AWS_QUERYPROTOCOL_API IgnoresWrappingXmlNameResult(const Aws::AmazonWebServiceResult& result); + AWS_QUERYPROTOCOL_API IgnoresWrappingXmlNameResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::String& GetFoo() const{ return m_foo; } + inline void SetFoo(const Aws::String& value) { m_foo = value; } + inline void SetFoo(Aws::String&& value) { m_foo = std::move(value); } + inline void SetFoo(const char* value) { m_foo.assign(value); } + inline IgnoresWrappingXmlNameResult& WithFoo(const Aws::String& value) { SetFoo(value); return *this;} + inline IgnoresWrappingXmlNameResult& WithFoo(Aws::String&& value) { SetFoo(std::move(value)); return *this;} + inline IgnoresWrappingXmlNameResult& WithFoo(const char* value) { SetFoo(value); return *this;} + ///@} + + ///@{ + + inline const ResponseMetadata& GetResponseMetadata() const{ return m_responseMetadata; } + inline void SetResponseMetadata(const ResponseMetadata& value) { m_responseMetadata = value; } + inline void SetResponseMetadata(ResponseMetadata&& value) { m_responseMetadata = std::move(value); } + inline IgnoresWrappingXmlNameResult& WithResponseMetadata(const ResponseMetadata& value) { SetResponseMetadata(value); return *this;} + inline IgnoresWrappingXmlNameResult& WithResponseMetadata(ResponseMetadata&& value) { SetResponseMetadata(std::move(value)); return *this;} + ///@} + private: + + Aws::String m_foo; + + ResponseMetadata m_responseMetadata; + }; + +} // namespace Model +} // namespace QueryProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/NestedStructWithList.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/NestedStructWithList.h new file mode 100644 index 00000000000..ea8d991a387 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/NestedStructWithList.h @@ -0,0 +1,58 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace QueryProtocol +{ +namespace Model +{ + + class NestedStructWithList + { + public: + AWS_QUERYPROTOCOL_API NestedStructWithList(); + AWS_QUERYPROTOCOL_API NestedStructWithList(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_QUERYPROTOCOL_API NestedStructWithList& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + AWS_QUERYPROTOCOL_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const; + AWS_QUERYPROTOCOL_API void OutputToStream(Aws::OStream& oStream, const char* location) const; + + + ///@{ + + inline const Aws::Vector& GetListArg() const{ return m_listArg; } + inline bool ListArgHasBeenSet() const { return m_listArgHasBeenSet; } + inline void SetListArg(const Aws::Vector& value) { m_listArgHasBeenSet = true; m_listArg = value; } + inline void SetListArg(Aws::Vector&& value) { m_listArgHasBeenSet = true; m_listArg = std::move(value); } + inline NestedStructWithList& WithListArg(const Aws::Vector& value) { SetListArg(value); return *this;} + inline NestedStructWithList& WithListArg(Aws::Vector&& value) { SetListArg(std::move(value)); return *this;} + inline NestedStructWithList& AddListArg(const Aws::String& value) { m_listArgHasBeenSet = true; m_listArg.push_back(value); return *this; } + inline NestedStructWithList& AddListArg(Aws::String&& value) { m_listArgHasBeenSet = true; m_listArg.push_back(std::move(value)); return *this; } + inline NestedStructWithList& AddListArg(const char* value) { m_listArgHasBeenSet = true; m_listArg.push_back(value); return *this; } + ///@} + private: + + Aws::Vector m_listArg; + bool m_listArgHasBeenSet = false; + }; + +} // namespace Model +} // namespace QueryProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/NestedStructWithMap.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/NestedStructWithMap.h new file mode 100644 index 00000000000..63c7cda2744 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/NestedStructWithMap.h @@ -0,0 +1,62 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace QueryProtocol +{ +namespace Model +{ + + class NestedStructWithMap + { + public: + AWS_QUERYPROTOCOL_API NestedStructWithMap(); + AWS_QUERYPROTOCOL_API NestedStructWithMap(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_QUERYPROTOCOL_API NestedStructWithMap& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + AWS_QUERYPROTOCOL_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const; + AWS_QUERYPROTOCOL_API void OutputToStream(Aws::OStream& oStream, const char* location) const; + + + ///@{ + + inline const Aws::Map& GetMapArg() const{ return m_mapArg; } + inline bool MapArgHasBeenSet() const { return m_mapArgHasBeenSet; } + inline void SetMapArg(const Aws::Map& value) { m_mapArgHasBeenSet = true; m_mapArg = value; } + inline void SetMapArg(Aws::Map&& value) { m_mapArgHasBeenSet = true; m_mapArg = std::move(value); } + inline NestedStructWithMap& WithMapArg(const Aws::Map& value) { SetMapArg(value); return *this;} + inline NestedStructWithMap& WithMapArg(Aws::Map&& value) { SetMapArg(std::move(value)); return *this;} + inline NestedStructWithMap& AddMapArg(const Aws::String& key, const Aws::String& value) { m_mapArgHasBeenSet = true; m_mapArg.emplace(key, value); return *this; } + inline NestedStructWithMap& AddMapArg(Aws::String&& key, const Aws::String& value) { m_mapArgHasBeenSet = true; m_mapArg.emplace(std::move(key), value); return *this; } + inline NestedStructWithMap& AddMapArg(const Aws::String& key, Aws::String&& value) { m_mapArgHasBeenSet = true; m_mapArg.emplace(key, std::move(value)); return *this; } + inline NestedStructWithMap& AddMapArg(Aws::String&& key, Aws::String&& value) { m_mapArgHasBeenSet = true; m_mapArg.emplace(std::move(key), std::move(value)); return *this; } + inline NestedStructWithMap& AddMapArg(const char* key, Aws::String&& value) { m_mapArgHasBeenSet = true; m_mapArg.emplace(key, std::move(value)); return *this; } + inline NestedStructWithMap& AddMapArg(Aws::String&& key, const char* value) { m_mapArgHasBeenSet = true; m_mapArg.emplace(std::move(key), value); return *this; } + inline NestedStructWithMap& AddMapArg(const char* key, const char* value) { m_mapArgHasBeenSet = true; m_mapArg.emplace(key, value); return *this; } + ///@} + private: + + Aws::Map m_mapArg; + bool m_mapArgHasBeenSet = false; + }; + +} // namespace Model +} // namespace QueryProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/NestedStructuresRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/NestedStructuresRequest.h new file mode 100644 index 00000000000..e9b52b18fc1 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/NestedStructuresRequest.h @@ -0,0 +1,56 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace QueryProtocol +{ +namespace Model +{ + + /** + */ + class NestedStructuresRequest : public QueryProtocolRequest + { + public: + AWS_QUERYPROTOCOL_API NestedStructuresRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "NestedStructures"; } + + AWS_QUERYPROTOCOL_API Aws::String SerializePayload() const override; + + protected: + AWS_QUERYPROTOCOL_API void DumpBodyToUrl(Aws::Http::URI& uri ) const override; + + public: + + ///@{ + + inline const StructArg& GetNested() const{ return m_nested; } + inline bool NestedHasBeenSet() const { return m_nestedHasBeenSet; } + inline void SetNested(const StructArg& value) { m_nestedHasBeenSet = true; m_nested = value; } + inline void SetNested(StructArg&& value) { m_nestedHasBeenSet = true; m_nested = std::move(value); } + inline NestedStructuresRequest& WithNested(const StructArg& value) { SetNested(value); return *this;} + inline NestedStructuresRequest& WithNested(StructArg&& value) { SetNested(std::move(value)); return *this;} + ///@} + private: + + StructArg m_nested; + bool m_nestedHasBeenSet = false; + }; + +} // namespace Model +} // namespace QueryProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/NoInputAndNoOutputRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/NoInputAndNoOutputRequest.h new file mode 100644 index 00000000000..02be4f671a1 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/NoInputAndNoOutputRequest.h @@ -0,0 +1,40 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace QueryProtocol +{ +namespace Model +{ + + /** + */ + class NoInputAndNoOutputRequest : public QueryProtocolRequest + { + public: + AWS_QUERYPROTOCOL_API NoInputAndNoOutputRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "NoInputAndNoOutput"; } + + AWS_QUERYPROTOCOL_API Aws::String SerializePayload() const override; + + protected: + AWS_QUERYPROTOCOL_API void DumpBodyToUrl(Aws::Http::URI& uri ) const override; + + public: + }; + +} // namespace Model +} // namespace QueryProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/NoInputAndOutputRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/NoInputAndOutputRequest.h new file mode 100644 index 00000000000..ff71980748e --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/NoInputAndOutputRequest.h @@ -0,0 +1,40 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace QueryProtocol +{ +namespace Model +{ + + /** + */ + class NoInputAndOutputRequest : public QueryProtocolRequest + { + public: + AWS_QUERYPROTOCOL_API NoInputAndOutputRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "NoInputAndOutput"; } + + AWS_QUERYPROTOCOL_API Aws::String SerializePayload() const override; + + protected: + AWS_QUERYPROTOCOL_API void DumpBodyToUrl(Aws::Http::URI& uri ) const override; + + public: + }; + +} // namespace Model +} // namespace QueryProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/NoInputAndOutputResult.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/NoInputAndOutputResult.h new file mode 100644 index 00000000000..0bfc7acc73b --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/NoInputAndOutputResult.h @@ -0,0 +1,50 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace QueryProtocol +{ +namespace Model +{ + class NoInputAndOutputResult + { + public: + AWS_QUERYPROTOCOL_API NoInputAndOutputResult(); + AWS_QUERYPROTOCOL_API NoInputAndOutputResult(const Aws::AmazonWebServiceResult& result); + AWS_QUERYPROTOCOL_API NoInputAndOutputResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const ResponseMetadata& GetResponseMetadata() const{ return m_responseMetadata; } + inline void SetResponseMetadata(const ResponseMetadata& value) { m_responseMetadata = value; } + inline void SetResponseMetadata(ResponseMetadata&& value) { m_responseMetadata = std::move(value); } + inline NoInputAndOutputResult& WithResponseMetadata(const ResponseMetadata& value) { SetResponseMetadata(value); return *this;} + inline NoInputAndOutputResult& WithResponseMetadata(ResponseMetadata&& value) { SetResponseMetadata(std::move(value)); return *this;} + ///@} + private: + + ResponseMetadata m_responseMetadata; + }; + +} // namespace Model +} // namespace QueryProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/PutWithContentEncodingRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/PutWithContentEncodingRequest.h new file mode 100644 index 00000000000..552b0906ca3 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/PutWithContentEncodingRequest.h @@ -0,0 +1,78 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace QueryProtocol +{ +namespace Model +{ + + /** + */ + class PutWithContentEncodingRequest : public QueryProtocolRequest + { + public: + AWS_QUERYPROTOCOL_API PutWithContentEncodingRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "PutWithContentEncoding"; } + + AWS_QUERYPROTOCOL_API Aws::String SerializePayload() const override; + +#ifdef ENABLED_ZLIB_REQUEST_COMPRESSION + virtual Aws::Client::CompressionAlgorithm + GetSelectedCompressionAlgorithm(Aws::Client::RequestCompressionConfig config) const override; +#endif + + protected: + AWS_QUERYPROTOCOL_API void DumpBodyToUrl(Aws::Http::URI& uri ) const override; + + public: + + ///@{ + + inline const Aws::String& GetEncoding() const{ return m_encoding; } + inline bool EncodingHasBeenSet() const { return m_encodingHasBeenSet; } + inline void SetEncoding(const Aws::String& value) { m_encodingHasBeenSet = true; m_encoding = value; } + inline void SetEncoding(Aws::String&& value) { m_encodingHasBeenSet = true; m_encoding = std::move(value); } + inline void SetEncoding(const char* value) { m_encodingHasBeenSet = true; m_encoding.assign(value); } + inline PutWithContentEncodingRequest& WithEncoding(const Aws::String& value) { SetEncoding(value); return *this;} + inline PutWithContentEncodingRequest& WithEncoding(Aws::String&& value) { SetEncoding(std::move(value)); return *this;} + inline PutWithContentEncodingRequest& WithEncoding(const char* value) { SetEncoding(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetData() const{ return m_data; } + inline bool DataHasBeenSet() const { return m_dataHasBeenSet; } + inline void SetData(const Aws::String& value) { m_dataHasBeenSet = true; m_data = value; } + inline void SetData(Aws::String&& value) { m_dataHasBeenSet = true; m_data = std::move(value); } + inline void SetData(const char* value) { m_dataHasBeenSet = true; m_data.assign(value); } + inline PutWithContentEncodingRequest& WithData(const Aws::String& value) { SetData(value); return *this;} + inline PutWithContentEncodingRequest& WithData(Aws::String&& value) { SetData(std::move(value)); return *this;} + inline PutWithContentEncodingRequest& WithData(const char* value) { SetData(value); return *this;} + ///@} + private: + + Aws::String m_encoding; + bool m_encodingHasBeenSet = false; + + Aws::String m_data; + bool m_dataHasBeenSet = false; + }; + +} // namespace Model +} // namespace QueryProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/QueryIdempotencyTokenAutoFillRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/QueryIdempotencyTokenAutoFillRequest.h new file mode 100644 index 00000000000..79fb413476a --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/QueryIdempotencyTokenAutoFillRequest.h @@ -0,0 +1,59 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace QueryProtocol +{ +namespace Model +{ + + /** + */ + class QueryIdempotencyTokenAutoFillRequest : public QueryProtocolRequest + { + public: + AWS_QUERYPROTOCOL_API QueryIdempotencyTokenAutoFillRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "QueryIdempotencyTokenAutoFill"; } + + AWS_QUERYPROTOCOL_API Aws::String SerializePayload() const override; + + protected: + AWS_QUERYPROTOCOL_API void DumpBodyToUrl(Aws::Http::URI& uri ) const override; + + public: + + ///@{ + + inline const Aws::String& GetToken() const{ return m_token; } + inline bool TokenHasBeenSet() const { return m_tokenHasBeenSet; } + inline void SetToken(const Aws::String& value) { m_tokenHasBeenSet = true; m_token = value; } + inline void SetToken(Aws::String&& value) { m_tokenHasBeenSet = true; m_token = std::move(value); } + inline void SetToken(const char* value) { m_tokenHasBeenSet = true; m_token.assign(value); } + inline QueryIdempotencyTokenAutoFillRequest& WithToken(const Aws::String& value) { SetToken(value); return *this;} + inline QueryIdempotencyTokenAutoFillRequest& WithToken(Aws::String&& value) { SetToken(std::move(value)); return *this;} + inline QueryIdempotencyTokenAutoFillRequest& WithToken(const char* value) { SetToken(value); return *this;} + ///@} + private: + + Aws::String m_token; + bool m_tokenHasBeenSet = false; + }; + +} // namespace Model +} // namespace QueryProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/QueryListsRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/QueryListsRequest.h new file mode 100644 index 00000000000..4f8bb1bd2aa --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/QueryListsRequest.h @@ -0,0 +1,138 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace QueryProtocol +{ +namespace Model +{ + + /** + */ + class QueryListsRequest : public QueryProtocolRequest + { + public: + AWS_QUERYPROTOCOL_API QueryListsRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "QueryLists"; } + + AWS_QUERYPROTOCOL_API Aws::String SerializePayload() const override; + + protected: + AWS_QUERYPROTOCOL_API void DumpBodyToUrl(Aws::Http::URI& uri ) const override; + + public: + + ///@{ + + inline const Aws::Vector& GetListArg() const{ return m_listArg; } + inline bool ListArgHasBeenSet() const { return m_listArgHasBeenSet; } + inline void SetListArg(const Aws::Vector& value) { m_listArgHasBeenSet = true; m_listArg = value; } + inline void SetListArg(Aws::Vector&& value) { m_listArgHasBeenSet = true; m_listArg = std::move(value); } + inline QueryListsRequest& WithListArg(const Aws::Vector& value) { SetListArg(value); return *this;} + inline QueryListsRequest& WithListArg(Aws::Vector&& value) { SetListArg(std::move(value)); return *this;} + inline QueryListsRequest& AddListArg(const Aws::String& value) { m_listArgHasBeenSet = true; m_listArg.push_back(value); return *this; } + inline QueryListsRequest& AddListArg(Aws::String&& value) { m_listArgHasBeenSet = true; m_listArg.push_back(std::move(value)); return *this; } + inline QueryListsRequest& AddListArg(const char* value) { m_listArgHasBeenSet = true; m_listArg.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetComplexListArg() const{ return m_complexListArg; } + inline bool ComplexListArgHasBeenSet() const { return m_complexListArgHasBeenSet; } + inline void SetComplexListArg(const Aws::Vector& value) { m_complexListArgHasBeenSet = true; m_complexListArg = value; } + inline void SetComplexListArg(Aws::Vector&& value) { m_complexListArgHasBeenSet = true; m_complexListArg = std::move(value); } + inline QueryListsRequest& WithComplexListArg(const Aws::Vector& value) { SetComplexListArg(value); return *this;} + inline QueryListsRequest& WithComplexListArg(Aws::Vector&& value) { SetComplexListArg(std::move(value)); return *this;} + inline QueryListsRequest& AddComplexListArg(const GreetingStruct& value) { m_complexListArgHasBeenSet = true; m_complexListArg.push_back(value); return *this; } + inline QueryListsRequest& AddComplexListArg(GreetingStruct&& value) { m_complexListArgHasBeenSet = true; m_complexListArg.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetFlattenedListArg() const{ return m_flattenedListArg; } + inline bool FlattenedListArgHasBeenSet() const { return m_flattenedListArgHasBeenSet; } + inline void SetFlattenedListArg(const Aws::Vector& value) { m_flattenedListArgHasBeenSet = true; m_flattenedListArg = value; } + inline void SetFlattenedListArg(Aws::Vector&& value) { m_flattenedListArgHasBeenSet = true; m_flattenedListArg = std::move(value); } + inline QueryListsRequest& WithFlattenedListArg(const Aws::Vector& value) { SetFlattenedListArg(value); return *this;} + inline QueryListsRequest& WithFlattenedListArg(Aws::Vector&& value) { SetFlattenedListArg(std::move(value)); return *this;} + inline QueryListsRequest& AddFlattenedListArg(const Aws::String& value) { m_flattenedListArgHasBeenSet = true; m_flattenedListArg.push_back(value); return *this; } + inline QueryListsRequest& AddFlattenedListArg(Aws::String&& value) { m_flattenedListArgHasBeenSet = true; m_flattenedListArg.push_back(std::move(value)); return *this; } + inline QueryListsRequest& AddFlattenedListArg(const char* value) { m_flattenedListArgHasBeenSet = true; m_flattenedListArg.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetListArgWithXmlNameMember() const{ return m_listArgWithXmlNameMember; } + inline bool ListArgWithXmlNameMemberHasBeenSet() const { return m_listArgWithXmlNameMemberHasBeenSet; } + inline void SetListArgWithXmlNameMember(const Aws::Vector& value) { m_listArgWithXmlNameMemberHasBeenSet = true; m_listArgWithXmlNameMember = value; } + inline void SetListArgWithXmlNameMember(Aws::Vector&& value) { m_listArgWithXmlNameMemberHasBeenSet = true; m_listArgWithXmlNameMember = std::move(value); } + inline QueryListsRequest& WithListArgWithXmlNameMember(const Aws::Vector& value) { SetListArgWithXmlNameMember(value); return *this;} + inline QueryListsRequest& WithListArgWithXmlNameMember(Aws::Vector&& value) { SetListArgWithXmlNameMember(std::move(value)); return *this;} + inline QueryListsRequest& AddListArgWithXmlNameMember(const Aws::String& value) { m_listArgWithXmlNameMemberHasBeenSet = true; m_listArgWithXmlNameMember.push_back(value); return *this; } + inline QueryListsRequest& AddListArgWithXmlNameMember(Aws::String&& value) { m_listArgWithXmlNameMemberHasBeenSet = true; m_listArgWithXmlNameMember.push_back(std::move(value)); return *this; } + inline QueryListsRequest& AddListArgWithXmlNameMember(const char* value) { m_listArgWithXmlNameMemberHasBeenSet = true; m_listArgWithXmlNameMember.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetFlattenedListArgWithXmlName() const{ return m_flattenedListArgWithXmlName; } + inline bool FlattenedListArgWithXmlNameHasBeenSet() const { return m_flattenedListArgWithXmlNameHasBeenSet; } + inline void SetFlattenedListArgWithXmlName(const Aws::Vector& value) { m_flattenedListArgWithXmlNameHasBeenSet = true; m_flattenedListArgWithXmlName = value; } + inline void SetFlattenedListArgWithXmlName(Aws::Vector&& value) { m_flattenedListArgWithXmlNameHasBeenSet = true; m_flattenedListArgWithXmlName = std::move(value); } + inline QueryListsRequest& WithFlattenedListArgWithXmlName(const Aws::Vector& value) { SetFlattenedListArgWithXmlName(value); return *this;} + inline QueryListsRequest& WithFlattenedListArgWithXmlName(Aws::Vector&& value) { SetFlattenedListArgWithXmlName(std::move(value)); return *this;} + inline QueryListsRequest& AddFlattenedListArgWithXmlName(const Aws::String& value) { m_flattenedListArgWithXmlNameHasBeenSet = true; m_flattenedListArgWithXmlName.push_back(value); return *this; } + inline QueryListsRequest& AddFlattenedListArgWithXmlName(Aws::String&& value) { m_flattenedListArgWithXmlNameHasBeenSet = true; m_flattenedListArgWithXmlName.push_back(std::move(value)); return *this; } + inline QueryListsRequest& AddFlattenedListArgWithXmlName(const char* value) { m_flattenedListArgWithXmlNameHasBeenSet = true; m_flattenedListArgWithXmlName.push_back(value); return *this; } + ///@} + + ///@{ + + inline const NestedStructWithList& GetNestedWithList() const{ return m_nestedWithList; } + inline bool NestedWithListHasBeenSet() const { return m_nestedWithListHasBeenSet; } + inline void SetNestedWithList(const NestedStructWithList& value) { m_nestedWithListHasBeenSet = true; m_nestedWithList = value; } + inline void SetNestedWithList(NestedStructWithList&& value) { m_nestedWithListHasBeenSet = true; m_nestedWithList = std::move(value); } + inline QueryListsRequest& WithNestedWithList(const NestedStructWithList& value) { SetNestedWithList(value); return *this;} + inline QueryListsRequest& WithNestedWithList(NestedStructWithList&& value) { SetNestedWithList(std::move(value)); return *this;} + ///@} + private: + + Aws::Vector m_listArg; + bool m_listArgHasBeenSet = false; + + Aws::Vector m_complexListArg; + bool m_complexListArgHasBeenSet = false; + + Aws::Vector m_flattenedListArg; + bool m_flattenedListArgHasBeenSet = false; + + Aws::Vector m_listArgWithXmlNameMember; + bool m_listArgWithXmlNameMemberHasBeenSet = false; + + Aws::Vector m_flattenedListArgWithXmlName; + bool m_flattenedListArgWithXmlNameHasBeenSet = false; + + NestedStructWithList m_nestedWithList; + bool m_nestedWithListHasBeenSet = false; + }; + +} // namespace Model +} // namespace QueryProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/QueryMapsRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/QueryMapsRequest.h new file mode 100644 index 00000000000..cfb3000be90 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/QueryMapsRequest.h @@ -0,0 +1,198 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace QueryProtocol +{ +namespace Model +{ + + /** + */ + class QueryMapsRequest : public QueryProtocolRequest + { + public: + AWS_QUERYPROTOCOL_API QueryMapsRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "QueryMaps"; } + + AWS_QUERYPROTOCOL_API Aws::String SerializePayload() const override; + + protected: + AWS_QUERYPROTOCOL_API void DumpBodyToUrl(Aws::Http::URI& uri ) const override; + + public: + + ///@{ + + inline const Aws::Map& GetMapArg() const{ return m_mapArg; } + inline bool MapArgHasBeenSet() const { return m_mapArgHasBeenSet; } + inline void SetMapArg(const Aws::Map& value) { m_mapArgHasBeenSet = true; m_mapArg = value; } + inline void SetMapArg(Aws::Map&& value) { m_mapArgHasBeenSet = true; m_mapArg = std::move(value); } + inline QueryMapsRequest& WithMapArg(const Aws::Map& value) { SetMapArg(value); return *this;} + inline QueryMapsRequest& WithMapArg(Aws::Map&& value) { SetMapArg(std::move(value)); return *this;} + inline QueryMapsRequest& AddMapArg(const Aws::String& key, const Aws::String& value) { m_mapArgHasBeenSet = true; m_mapArg.emplace(key, value); return *this; } + inline QueryMapsRequest& AddMapArg(Aws::String&& key, const Aws::String& value) { m_mapArgHasBeenSet = true; m_mapArg.emplace(std::move(key), value); return *this; } + inline QueryMapsRequest& AddMapArg(const Aws::String& key, Aws::String&& value) { m_mapArgHasBeenSet = true; m_mapArg.emplace(key, std::move(value)); return *this; } + inline QueryMapsRequest& AddMapArg(Aws::String&& key, Aws::String&& value) { m_mapArgHasBeenSet = true; m_mapArg.emplace(std::move(key), std::move(value)); return *this; } + inline QueryMapsRequest& AddMapArg(const char* key, Aws::String&& value) { m_mapArgHasBeenSet = true; m_mapArg.emplace(key, std::move(value)); return *this; } + inline QueryMapsRequest& AddMapArg(Aws::String&& key, const char* value) { m_mapArgHasBeenSet = true; m_mapArg.emplace(std::move(key), value); return *this; } + inline QueryMapsRequest& AddMapArg(const char* key, const char* value) { m_mapArgHasBeenSet = true; m_mapArg.emplace(key, value); return *this; } + ///@} + + ///@{ + + inline const Aws::Map& GetRenamedMapArg() const{ return m_renamedMapArg; } + inline bool RenamedMapArgHasBeenSet() const { return m_renamedMapArgHasBeenSet; } + inline void SetRenamedMapArg(const Aws::Map& value) { m_renamedMapArgHasBeenSet = true; m_renamedMapArg = value; } + inline void SetRenamedMapArg(Aws::Map&& value) { m_renamedMapArgHasBeenSet = true; m_renamedMapArg = std::move(value); } + inline QueryMapsRequest& WithRenamedMapArg(const Aws::Map& value) { SetRenamedMapArg(value); return *this;} + inline QueryMapsRequest& WithRenamedMapArg(Aws::Map&& value) { SetRenamedMapArg(std::move(value)); return *this;} + inline QueryMapsRequest& AddRenamedMapArg(const Aws::String& key, const Aws::String& value) { m_renamedMapArgHasBeenSet = true; m_renamedMapArg.emplace(key, value); return *this; } + inline QueryMapsRequest& AddRenamedMapArg(Aws::String&& key, const Aws::String& value) { m_renamedMapArgHasBeenSet = true; m_renamedMapArg.emplace(std::move(key), value); return *this; } + inline QueryMapsRequest& AddRenamedMapArg(const Aws::String& key, Aws::String&& value) { m_renamedMapArgHasBeenSet = true; m_renamedMapArg.emplace(key, std::move(value)); return *this; } + inline QueryMapsRequest& AddRenamedMapArg(Aws::String&& key, Aws::String&& value) { m_renamedMapArgHasBeenSet = true; m_renamedMapArg.emplace(std::move(key), std::move(value)); return *this; } + inline QueryMapsRequest& AddRenamedMapArg(const char* key, Aws::String&& value) { m_renamedMapArgHasBeenSet = true; m_renamedMapArg.emplace(key, std::move(value)); return *this; } + inline QueryMapsRequest& AddRenamedMapArg(Aws::String&& key, const char* value) { m_renamedMapArgHasBeenSet = true; m_renamedMapArg.emplace(std::move(key), value); return *this; } + inline QueryMapsRequest& AddRenamedMapArg(const char* key, const char* value) { m_renamedMapArgHasBeenSet = true; m_renamedMapArg.emplace(key, value); return *this; } + ///@} + + ///@{ + + inline const Aws::Map& GetComplexMapArg() const{ return m_complexMapArg; } + inline bool ComplexMapArgHasBeenSet() const { return m_complexMapArgHasBeenSet; } + inline void SetComplexMapArg(const Aws::Map& value) { m_complexMapArgHasBeenSet = true; m_complexMapArg = value; } + inline void SetComplexMapArg(Aws::Map&& value) { m_complexMapArgHasBeenSet = true; m_complexMapArg = std::move(value); } + inline QueryMapsRequest& WithComplexMapArg(const Aws::Map& value) { SetComplexMapArg(value); return *this;} + inline QueryMapsRequest& WithComplexMapArg(Aws::Map&& value) { SetComplexMapArg(std::move(value)); return *this;} + inline QueryMapsRequest& AddComplexMapArg(const Aws::String& key, const GreetingStruct& value) { m_complexMapArgHasBeenSet = true; m_complexMapArg.emplace(key, value); return *this; } + inline QueryMapsRequest& AddComplexMapArg(Aws::String&& key, const GreetingStruct& value) { m_complexMapArgHasBeenSet = true; m_complexMapArg.emplace(std::move(key), value); return *this; } + inline QueryMapsRequest& AddComplexMapArg(const Aws::String& key, GreetingStruct&& value) { m_complexMapArgHasBeenSet = true; m_complexMapArg.emplace(key, std::move(value)); return *this; } + inline QueryMapsRequest& AddComplexMapArg(Aws::String&& key, GreetingStruct&& value) { m_complexMapArgHasBeenSet = true; m_complexMapArg.emplace(std::move(key), std::move(value)); return *this; } + inline QueryMapsRequest& AddComplexMapArg(const char* key, GreetingStruct&& value) { m_complexMapArgHasBeenSet = true; m_complexMapArg.emplace(key, std::move(value)); return *this; } + inline QueryMapsRequest& AddComplexMapArg(const char* key, const GreetingStruct& value) { m_complexMapArgHasBeenSet = true; m_complexMapArg.emplace(key, value); return *this; } + ///@} + + ///@{ + + inline const Aws::Map& GetMapWithXmlMemberName() const{ return m_mapWithXmlMemberName; } + inline bool MapWithXmlMemberNameHasBeenSet() const { return m_mapWithXmlMemberNameHasBeenSet; } + inline void SetMapWithXmlMemberName(const Aws::Map& value) { m_mapWithXmlMemberNameHasBeenSet = true; m_mapWithXmlMemberName = value; } + inline void SetMapWithXmlMemberName(Aws::Map&& value) { m_mapWithXmlMemberNameHasBeenSet = true; m_mapWithXmlMemberName = std::move(value); } + inline QueryMapsRequest& WithMapWithXmlMemberName(const Aws::Map& value) { SetMapWithXmlMemberName(value); return *this;} + inline QueryMapsRequest& WithMapWithXmlMemberName(Aws::Map&& value) { SetMapWithXmlMemberName(std::move(value)); return *this;} + inline QueryMapsRequest& AddMapWithXmlMemberName(const Aws::String& key, const Aws::String& value) { m_mapWithXmlMemberNameHasBeenSet = true; m_mapWithXmlMemberName.emplace(key, value); return *this; } + inline QueryMapsRequest& AddMapWithXmlMemberName(Aws::String&& key, const Aws::String& value) { m_mapWithXmlMemberNameHasBeenSet = true; m_mapWithXmlMemberName.emplace(std::move(key), value); return *this; } + inline QueryMapsRequest& AddMapWithXmlMemberName(const Aws::String& key, Aws::String&& value) { m_mapWithXmlMemberNameHasBeenSet = true; m_mapWithXmlMemberName.emplace(key, std::move(value)); return *this; } + inline QueryMapsRequest& AddMapWithXmlMemberName(Aws::String&& key, Aws::String&& value) { m_mapWithXmlMemberNameHasBeenSet = true; m_mapWithXmlMemberName.emplace(std::move(key), std::move(value)); return *this; } + inline QueryMapsRequest& AddMapWithXmlMemberName(const char* key, Aws::String&& value) { m_mapWithXmlMemberNameHasBeenSet = true; m_mapWithXmlMemberName.emplace(key, std::move(value)); return *this; } + inline QueryMapsRequest& AddMapWithXmlMemberName(Aws::String&& key, const char* value) { m_mapWithXmlMemberNameHasBeenSet = true; m_mapWithXmlMemberName.emplace(std::move(key), value); return *this; } + inline QueryMapsRequest& AddMapWithXmlMemberName(const char* key, const char* value) { m_mapWithXmlMemberNameHasBeenSet = true; m_mapWithXmlMemberName.emplace(key, value); return *this; } + ///@} + + ///@{ + + inline const Aws::Map& GetFlattenedMap() const{ return m_flattenedMap; } + inline bool FlattenedMapHasBeenSet() const { return m_flattenedMapHasBeenSet; } + inline void SetFlattenedMap(const Aws::Map& value) { m_flattenedMapHasBeenSet = true; m_flattenedMap = value; } + inline void SetFlattenedMap(Aws::Map&& value) { m_flattenedMapHasBeenSet = true; m_flattenedMap = std::move(value); } + inline QueryMapsRequest& WithFlattenedMap(const Aws::Map& value) { SetFlattenedMap(value); return *this;} + inline QueryMapsRequest& WithFlattenedMap(Aws::Map&& value) { SetFlattenedMap(std::move(value)); return *this;} + inline QueryMapsRequest& AddFlattenedMap(const Aws::String& key, const Aws::String& value) { m_flattenedMapHasBeenSet = true; m_flattenedMap.emplace(key, value); return *this; } + inline QueryMapsRequest& AddFlattenedMap(Aws::String&& key, const Aws::String& value) { m_flattenedMapHasBeenSet = true; m_flattenedMap.emplace(std::move(key), value); return *this; } + inline QueryMapsRequest& AddFlattenedMap(const Aws::String& key, Aws::String&& value) { m_flattenedMapHasBeenSet = true; m_flattenedMap.emplace(key, std::move(value)); return *this; } + inline QueryMapsRequest& AddFlattenedMap(Aws::String&& key, Aws::String&& value) { m_flattenedMapHasBeenSet = true; m_flattenedMap.emplace(std::move(key), std::move(value)); return *this; } + inline QueryMapsRequest& AddFlattenedMap(const char* key, Aws::String&& value) { m_flattenedMapHasBeenSet = true; m_flattenedMap.emplace(key, std::move(value)); return *this; } + inline QueryMapsRequest& AddFlattenedMap(Aws::String&& key, const char* value) { m_flattenedMapHasBeenSet = true; m_flattenedMap.emplace(std::move(key), value); return *this; } + inline QueryMapsRequest& AddFlattenedMap(const char* key, const char* value) { m_flattenedMapHasBeenSet = true; m_flattenedMap.emplace(key, value); return *this; } + ///@} + + ///@{ + + inline const Aws::Map& GetFlattenedMapWithXmlName() const{ return m_flattenedMapWithXmlName; } + inline bool FlattenedMapWithXmlNameHasBeenSet() const { return m_flattenedMapWithXmlNameHasBeenSet; } + inline void SetFlattenedMapWithXmlName(const Aws::Map& value) { m_flattenedMapWithXmlNameHasBeenSet = true; m_flattenedMapWithXmlName = value; } + inline void SetFlattenedMapWithXmlName(Aws::Map&& value) { m_flattenedMapWithXmlNameHasBeenSet = true; m_flattenedMapWithXmlName = std::move(value); } + inline QueryMapsRequest& WithFlattenedMapWithXmlName(const Aws::Map& value) { SetFlattenedMapWithXmlName(value); return *this;} + inline QueryMapsRequest& WithFlattenedMapWithXmlName(Aws::Map&& value) { SetFlattenedMapWithXmlName(std::move(value)); return *this;} + inline QueryMapsRequest& AddFlattenedMapWithXmlName(const Aws::String& key, const Aws::String& value) { m_flattenedMapWithXmlNameHasBeenSet = true; m_flattenedMapWithXmlName.emplace(key, value); return *this; } + inline QueryMapsRequest& AddFlattenedMapWithXmlName(Aws::String&& key, const Aws::String& value) { m_flattenedMapWithXmlNameHasBeenSet = true; m_flattenedMapWithXmlName.emplace(std::move(key), value); return *this; } + inline QueryMapsRequest& AddFlattenedMapWithXmlName(const Aws::String& key, Aws::String&& value) { m_flattenedMapWithXmlNameHasBeenSet = true; m_flattenedMapWithXmlName.emplace(key, std::move(value)); return *this; } + inline QueryMapsRequest& AddFlattenedMapWithXmlName(Aws::String&& key, Aws::String&& value) { m_flattenedMapWithXmlNameHasBeenSet = true; m_flattenedMapWithXmlName.emplace(std::move(key), std::move(value)); return *this; } + inline QueryMapsRequest& AddFlattenedMapWithXmlName(const char* key, Aws::String&& value) { m_flattenedMapWithXmlNameHasBeenSet = true; m_flattenedMapWithXmlName.emplace(key, std::move(value)); return *this; } + inline QueryMapsRequest& AddFlattenedMapWithXmlName(Aws::String&& key, const char* value) { m_flattenedMapWithXmlNameHasBeenSet = true; m_flattenedMapWithXmlName.emplace(std::move(key), value); return *this; } + inline QueryMapsRequest& AddFlattenedMapWithXmlName(const char* key, const char* value) { m_flattenedMapWithXmlNameHasBeenSet = true; m_flattenedMapWithXmlName.emplace(key, value); return *this; } + ///@} + + ///@{ + + inline const Aws::Map>& GetMapOfLists() const{ return m_mapOfLists; } + inline bool MapOfListsHasBeenSet() const { return m_mapOfListsHasBeenSet; } + inline void SetMapOfLists(const Aws::Map>& value) { m_mapOfListsHasBeenSet = true; m_mapOfLists = value; } + inline void SetMapOfLists(Aws::Map>&& value) { m_mapOfListsHasBeenSet = true; m_mapOfLists = std::move(value); } + inline QueryMapsRequest& WithMapOfLists(const Aws::Map>& value) { SetMapOfLists(value); return *this;} + inline QueryMapsRequest& WithMapOfLists(Aws::Map>&& value) { SetMapOfLists(std::move(value)); return *this;} + inline QueryMapsRequest& AddMapOfLists(const Aws::String& key, const Aws::Vector& value) { m_mapOfListsHasBeenSet = true; m_mapOfLists.emplace(key, value); return *this; } + inline QueryMapsRequest& AddMapOfLists(Aws::String&& key, const Aws::Vector& value) { m_mapOfListsHasBeenSet = true; m_mapOfLists.emplace(std::move(key), value); return *this; } + inline QueryMapsRequest& AddMapOfLists(const Aws::String& key, Aws::Vector&& value) { m_mapOfListsHasBeenSet = true; m_mapOfLists.emplace(key, std::move(value)); return *this; } + inline QueryMapsRequest& AddMapOfLists(Aws::String&& key, Aws::Vector&& value) { m_mapOfListsHasBeenSet = true; m_mapOfLists.emplace(std::move(key), std::move(value)); return *this; } + inline QueryMapsRequest& AddMapOfLists(const char* key, Aws::Vector&& value) { m_mapOfListsHasBeenSet = true; m_mapOfLists.emplace(key, std::move(value)); return *this; } + inline QueryMapsRequest& AddMapOfLists(const char* key, const Aws::Vector& value) { m_mapOfListsHasBeenSet = true; m_mapOfLists.emplace(key, value); return *this; } + ///@} + + ///@{ + + inline const NestedStructWithMap& GetNestedStructWithMap() const{ return m_nestedStructWithMap; } + inline bool NestedStructWithMapHasBeenSet() const { return m_nestedStructWithMapHasBeenSet; } + inline void SetNestedStructWithMap(const NestedStructWithMap& value) { m_nestedStructWithMapHasBeenSet = true; m_nestedStructWithMap = value; } + inline void SetNestedStructWithMap(NestedStructWithMap&& value) { m_nestedStructWithMapHasBeenSet = true; m_nestedStructWithMap = std::move(value); } + inline QueryMapsRequest& WithNestedStructWithMap(const NestedStructWithMap& value) { SetNestedStructWithMap(value); return *this;} + inline QueryMapsRequest& WithNestedStructWithMap(NestedStructWithMap&& value) { SetNestedStructWithMap(std::move(value)); return *this;} + ///@} + private: + + Aws::Map m_mapArg; + bool m_mapArgHasBeenSet = false; + + Aws::Map m_renamedMapArg; + bool m_renamedMapArgHasBeenSet = false; + + Aws::Map m_complexMapArg; + bool m_complexMapArgHasBeenSet = false; + + Aws::Map m_mapWithXmlMemberName; + bool m_mapWithXmlMemberNameHasBeenSet = false; + + Aws::Map m_flattenedMap; + bool m_flattenedMapHasBeenSet = false; + + Aws::Map m_flattenedMapWithXmlName; + bool m_flattenedMapWithXmlNameHasBeenSet = false; + + Aws::Map> m_mapOfLists; + bool m_mapOfListsHasBeenSet = false; + + NestedStructWithMap m_nestedStructWithMap; + bool m_nestedStructWithMapHasBeenSet = false; + }; + +} // namespace Model +} // namespace QueryProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/QueryTimestampsRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/QueryTimestampsRequest.h new file mode 100644 index 00000000000..f4c4c2829f3 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/QueryTimestampsRequest.h @@ -0,0 +1,82 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace QueryProtocol +{ +namespace Model +{ + + /** + */ + class QueryTimestampsRequest : public QueryProtocolRequest + { + public: + AWS_QUERYPROTOCOL_API QueryTimestampsRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "QueryTimestamps"; } + + AWS_QUERYPROTOCOL_API Aws::String SerializePayload() const override; + + protected: + AWS_QUERYPROTOCOL_API void DumpBodyToUrl(Aws::Http::URI& uri ) const override; + + public: + + ///@{ + + inline const Aws::Utils::DateTime& GetNormalFormat() const{ return m_normalFormat; } + inline bool NormalFormatHasBeenSet() const { return m_normalFormatHasBeenSet; } + inline void SetNormalFormat(const Aws::Utils::DateTime& value) { m_normalFormatHasBeenSet = true; m_normalFormat = value; } + inline void SetNormalFormat(Aws::Utils::DateTime&& value) { m_normalFormatHasBeenSet = true; m_normalFormat = std::move(value); } + inline QueryTimestampsRequest& WithNormalFormat(const Aws::Utils::DateTime& value) { SetNormalFormat(value); return *this;} + inline QueryTimestampsRequest& WithNormalFormat(Aws::Utils::DateTime&& value) { SetNormalFormat(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::Utils::DateTime& GetEpochMember() const{ return m_epochMember; } + inline bool EpochMemberHasBeenSet() const { return m_epochMemberHasBeenSet; } + inline void SetEpochMember(const Aws::Utils::DateTime& value) { m_epochMemberHasBeenSet = true; m_epochMember = value; } + inline void SetEpochMember(Aws::Utils::DateTime&& value) { m_epochMemberHasBeenSet = true; m_epochMember = std::move(value); } + inline QueryTimestampsRequest& WithEpochMember(const Aws::Utils::DateTime& value) { SetEpochMember(value); return *this;} + inline QueryTimestampsRequest& WithEpochMember(Aws::Utils::DateTime&& value) { SetEpochMember(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::Utils::DateTime& GetEpochTarget() const{ return m_epochTarget; } + inline bool EpochTargetHasBeenSet() const { return m_epochTargetHasBeenSet; } + inline void SetEpochTarget(const Aws::Utils::DateTime& value) { m_epochTargetHasBeenSet = true; m_epochTarget = value; } + inline void SetEpochTarget(Aws::Utils::DateTime&& value) { m_epochTargetHasBeenSet = true; m_epochTarget = std::move(value); } + inline QueryTimestampsRequest& WithEpochTarget(const Aws::Utils::DateTime& value) { SetEpochTarget(value); return *this;} + inline QueryTimestampsRequest& WithEpochTarget(Aws::Utils::DateTime&& value) { SetEpochTarget(std::move(value)); return *this;} + ///@} + private: + + Aws::Utils::DateTime m_normalFormat; + bool m_normalFormatHasBeenSet = false; + + Aws::Utils::DateTime m_epochMember; + bool m_epochMemberHasBeenSet = false; + + Aws::Utils::DateTime m_epochTarget; + bool m_epochTargetHasBeenSet = false; + }; + +} // namespace Model +} // namespace QueryProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/RecursiveXmlShapesOutputNested1.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/RecursiveXmlShapesOutputNested1.h new file mode 100644 index 00000000000..73ec802fe85 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/RecursiveXmlShapesOutputNested1.h @@ -0,0 +1,71 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace QueryProtocol +{ +namespace Model +{ + class RecursiveXmlShapesOutputNested2; + + class RecursiveXmlShapesOutputNested1 + { + public: + AWS_QUERYPROTOCOL_API RecursiveXmlShapesOutputNested1(); + AWS_QUERYPROTOCOL_API RecursiveXmlShapesOutputNested1(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_QUERYPROTOCOL_API RecursiveXmlShapesOutputNested1& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + AWS_QUERYPROTOCOL_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const; + AWS_QUERYPROTOCOL_API void OutputToStream(Aws::OStream& oStream, const char* location) const; + + + ///@{ + + inline const Aws::String& GetFoo() const{ return m_foo; } + inline bool FooHasBeenSet() const { return m_fooHasBeenSet; } + inline void SetFoo(const Aws::String& value) { m_fooHasBeenSet = true; m_foo = value; } + inline void SetFoo(Aws::String&& value) { m_fooHasBeenSet = true; m_foo = std::move(value); } + inline void SetFoo(const char* value) { m_fooHasBeenSet = true; m_foo.assign(value); } + inline RecursiveXmlShapesOutputNested1& WithFoo(const Aws::String& value) { SetFoo(value); return *this;} + inline RecursiveXmlShapesOutputNested1& WithFoo(Aws::String&& value) { SetFoo(std::move(value)); return *this;} + inline RecursiveXmlShapesOutputNested1& WithFoo(const char* value) { SetFoo(value); return *this;} + ///@} + + ///@{ + + AWS_QUERYPROTOCOL_API const RecursiveXmlShapesOutputNested2& GetNested() const; + AWS_QUERYPROTOCOL_API bool NestedHasBeenSet() const; + AWS_QUERYPROTOCOL_API void SetNested(const RecursiveXmlShapesOutputNested2& value); + AWS_QUERYPROTOCOL_API void SetNested(RecursiveXmlShapesOutputNested2&& value); + AWS_QUERYPROTOCOL_API RecursiveXmlShapesOutputNested1& WithNested(const RecursiveXmlShapesOutputNested2& value); + AWS_QUERYPROTOCOL_API RecursiveXmlShapesOutputNested1& WithNested(RecursiveXmlShapesOutputNested2&& value); + ///@} + private: + + Aws::String m_foo; + bool m_fooHasBeenSet = false; + + std::shared_ptr m_nested; + bool m_nestedHasBeenSet = false; + }; + +} // namespace Model +} // namespace QueryProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/RecursiveXmlShapesOutputNested2.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/RecursiveXmlShapesOutputNested2.h new file mode 100644 index 00000000000..4a57f21a23a --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/RecursiveXmlShapesOutputNested2.h @@ -0,0 +1,71 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace QueryProtocol +{ +namespace Model +{ + class RecursiveXmlShapesOutputNested1; + + class RecursiveXmlShapesOutputNested2 + { + public: + AWS_QUERYPROTOCOL_API RecursiveXmlShapesOutputNested2(); + AWS_QUERYPROTOCOL_API RecursiveXmlShapesOutputNested2(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_QUERYPROTOCOL_API RecursiveXmlShapesOutputNested2& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + AWS_QUERYPROTOCOL_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const; + AWS_QUERYPROTOCOL_API void OutputToStream(Aws::OStream& oStream, const char* location) const; + + + ///@{ + + inline const Aws::String& GetBar() const{ return m_bar; } + inline bool BarHasBeenSet() const { return m_barHasBeenSet; } + inline void SetBar(const Aws::String& value) { m_barHasBeenSet = true; m_bar = value; } + inline void SetBar(Aws::String&& value) { m_barHasBeenSet = true; m_bar = std::move(value); } + inline void SetBar(const char* value) { m_barHasBeenSet = true; m_bar.assign(value); } + inline RecursiveXmlShapesOutputNested2& WithBar(const Aws::String& value) { SetBar(value); return *this;} + inline RecursiveXmlShapesOutputNested2& WithBar(Aws::String&& value) { SetBar(std::move(value)); return *this;} + inline RecursiveXmlShapesOutputNested2& WithBar(const char* value) { SetBar(value); return *this;} + ///@} + + ///@{ + + AWS_QUERYPROTOCOL_API const RecursiveXmlShapesOutputNested1& GetRecursiveMember() const; + AWS_QUERYPROTOCOL_API bool RecursiveMemberHasBeenSet() const; + AWS_QUERYPROTOCOL_API void SetRecursiveMember(const RecursiveXmlShapesOutputNested1& value); + AWS_QUERYPROTOCOL_API void SetRecursiveMember(RecursiveXmlShapesOutputNested1&& value); + AWS_QUERYPROTOCOL_API RecursiveXmlShapesOutputNested2& WithRecursiveMember(const RecursiveXmlShapesOutputNested1& value); + AWS_QUERYPROTOCOL_API RecursiveXmlShapesOutputNested2& WithRecursiveMember(RecursiveXmlShapesOutputNested1&& value); + ///@} + private: + + Aws::String m_bar; + bool m_barHasBeenSet = false; + + std::shared_ptr m_recursiveMember; + bool m_recursiveMemberHasBeenSet = false; + }; + +} // namespace Model +} // namespace QueryProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/RecursiveXmlShapesRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/RecursiveXmlShapesRequest.h new file mode 100644 index 00000000000..f8ef2c6c3a1 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/RecursiveXmlShapesRequest.h @@ -0,0 +1,40 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace QueryProtocol +{ +namespace Model +{ + + /** + */ + class RecursiveXmlShapesRequest : public QueryProtocolRequest + { + public: + AWS_QUERYPROTOCOL_API RecursiveXmlShapesRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "RecursiveXmlShapes"; } + + AWS_QUERYPROTOCOL_API Aws::String SerializePayload() const override; + + protected: + AWS_QUERYPROTOCOL_API void DumpBodyToUrl(Aws::Http::URI& uri ) const override; + + public: + }; + +} // namespace Model +} // namespace QueryProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/RecursiveXmlShapesResult.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/RecursiveXmlShapesResult.h new file mode 100644 index 00000000000..ba017ba22a8 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/RecursiveXmlShapesResult.h @@ -0,0 +1,62 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace QueryProtocol +{ +namespace Model +{ + class RecursiveXmlShapesResult + { + public: + AWS_QUERYPROTOCOL_API RecursiveXmlShapesResult(); + AWS_QUERYPROTOCOL_API RecursiveXmlShapesResult(const Aws::AmazonWebServiceResult& result); + AWS_QUERYPROTOCOL_API RecursiveXmlShapesResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const RecursiveXmlShapesOutputNested1& GetNested() const{ return m_nested; } + inline void SetNested(const RecursiveXmlShapesOutputNested1& value) { m_nested = value; } + inline void SetNested(RecursiveXmlShapesOutputNested1&& value) { m_nested = std::move(value); } + inline RecursiveXmlShapesResult& WithNested(const RecursiveXmlShapesOutputNested1& value) { SetNested(value); return *this;} + inline RecursiveXmlShapesResult& WithNested(RecursiveXmlShapesOutputNested1&& value) { SetNested(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const ResponseMetadata& GetResponseMetadata() const{ return m_responseMetadata; } + inline void SetResponseMetadata(const ResponseMetadata& value) { m_responseMetadata = value; } + inline void SetResponseMetadata(ResponseMetadata&& value) { m_responseMetadata = std::move(value); } + inline RecursiveXmlShapesResult& WithResponseMetadata(const ResponseMetadata& value) { SetResponseMetadata(value); return *this;} + inline RecursiveXmlShapesResult& WithResponseMetadata(ResponseMetadata&& value) { SetResponseMetadata(std::move(value)); return *this;} + ///@} + private: + + RecursiveXmlShapesOutputNested1 m_nested; + + ResponseMetadata m_responseMetadata; + }; + +} // namespace Model +} // namespace QueryProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/ResponseMetadata.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/ResponseMetadata.h new file mode 100644 index 00000000000..dca6baea503 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/ResponseMetadata.h @@ -0,0 +1,56 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace QueryProtocol +{ +namespace Model +{ + + class ResponseMetadata + { + public: + AWS_QUERYPROTOCOL_API ResponseMetadata(); + AWS_QUERYPROTOCOL_API ResponseMetadata(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_QUERYPROTOCOL_API ResponseMetadata& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + AWS_QUERYPROTOCOL_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const; + AWS_QUERYPROTOCOL_API void OutputToStream(Aws::OStream& oStream, const char* location) const; + + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline bool RequestIdHasBeenSet() const { return m_requestIdHasBeenSet; } + inline void SetRequestId(const Aws::String& value) { m_requestIdHasBeenSet = true; m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestIdHasBeenSet = true; m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestIdHasBeenSet = true; m_requestId.assign(value); } + inline ResponseMetadata& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline ResponseMetadata& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline ResponseMetadata& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace QueryProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/SimpleInputParamsRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/SimpleInputParamsRequest.h new file mode 100644 index 00000000000..7ea2e40dc88 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/SimpleInputParamsRequest.h @@ -0,0 +1,156 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace QueryProtocol +{ +namespace Model +{ + + /** + */ + class SimpleInputParamsRequest : public QueryProtocolRequest + { + public: + AWS_QUERYPROTOCOL_API SimpleInputParamsRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "SimpleInputParams"; } + + AWS_QUERYPROTOCOL_API Aws::String SerializePayload() const override; + + protected: + AWS_QUERYPROTOCOL_API void DumpBodyToUrl(Aws::Http::URI& uri ) const override; + + public: + + ///@{ + + inline const Aws::String& GetFoo() const{ return m_foo; } + inline bool FooHasBeenSet() const { return m_fooHasBeenSet; } + inline void SetFoo(const Aws::String& value) { m_fooHasBeenSet = true; m_foo = value; } + inline void SetFoo(Aws::String&& value) { m_fooHasBeenSet = true; m_foo = std::move(value); } + inline void SetFoo(const char* value) { m_fooHasBeenSet = true; m_foo.assign(value); } + inline SimpleInputParamsRequest& WithFoo(const Aws::String& value) { SetFoo(value); return *this;} + inline SimpleInputParamsRequest& WithFoo(Aws::String&& value) { SetFoo(std::move(value)); return *this;} + inline SimpleInputParamsRequest& WithFoo(const char* value) { SetFoo(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetBar() const{ return m_bar; } + inline bool BarHasBeenSet() const { return m_barHasBeenSet; } + inline void SetBar(const Aws::String& value) { m_barHasBeenSet = true; m_bar = value; } + inline void SetBar(Aws::String&& value) { m_barHasBeenSet = true; m_bar = std::move(value); } + inline void SetBar(const char* value) { m_barHasBeenSet = true; m_bar.assign(value); } + inline SimpleInputParamsRequest& WithBar(const Aws::String& value) { SetBar(value); return *this;} + inline SimpleInputParamsRequest& WithBar(Aws::String&& value) { SetBar(std::move(value)); return *this;} + inline SimpleInputParamsRequest& WithBar(const char* value) { SetBar(value); return *this;} + ///@} + + ///@{ + + inline bool GetBaz() const{ return m_baz; } + inline bool BazHasBeenSet() const { return m_bazHasBeenSet; } + inline void SetBaz(bool value) { m_bazHasBeenSet = true; m_baz = value; } + inline SimpleInputParamsRequest& WithBaz(bool value) { SetBaz(value); return *this;} + ///@} + + ///@{ + + inline int GetBam() const{ return m_bam; } + inline bool BamHasBeenSet() const { return m_bamHasBeenSet; } + inline void SetBam(int value) { m_bamHasBeenSet = true; m_bam = value; } + inline SimpleInputParamsRequest& WithBam(int value) { SetBam(value); return *this;} + ///@} + + ///@{ + + inline double GetFloatValue() const{ return m_floatValue; } + inline bool FloatValueHasBeenSet() const { return m_floatValueHasBeenSet; } + inline void SetFloatValue(double value) { m_floatValueHasBeenSet = true; m_floatValue = value; } + inline SimpleInputParamsRequest& WithFloatValue(double value) { SetFloatValue(value); return *this;} + ///@} + + ///@{ + + inline double GetBoo() const{ return m_boo; } + inline bool BooHasBeenSet() const { return m_booHasBeenSet; } + inline void SetBoo(double value) { m_booHasBeenSet = true; m_boo = value; } + inline SimpleInputParamsRequest& WithBoo(double value) { SetBoo(value); return *this;} + ///@} + + ///@{ + + inline const Aws::Utils::ByteBuffer& GetQux() const{ return m_qux; } + inline bool QuxHasBeenSet() const { return m_quxHasBeenSet; } + inline void SetQux(const Aws::Utils::ByteBuffer& value) { m_quxHasBeenSet = true; m_qux = value; } + inline void SetQux(Aws::Utils::ByteBuffer&& value) { m_quxHasBeenSet = true; m_qux = std::move(value); } + inline SimpleInputParamsRequest& WithQux(const Aws::Utils::ByteBuffer& value) { SetQux(value); return *this;} + inline SimpleInputParamsRequest& WithQux(Aws::Utils::ByteBuffer&& value) { SetQux(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const FooEnum& GetFooEnum() const{ return m_fooEnum; } + inline bool FooEnumHasBeenSet() const { return m_fooEnumHasBeenSet; } + inline void SetFooEnum(const FooEnum& value) { m_fooEnumHasBeenSet = true; m_fooEnum = value; } + inline void SetFooEnum(FooEnum&& value) { m_fooEnumHasBeenSet = true; m_fooEnum = std::move(value); } + inline SimpleInputParamsRequest& WithFooEnum(const FooEnum& value) { SetFooEnum(value); return *this;} + inline SimpleInputParamsRequest& WithFooEnum(FooEnum&& value) { SetFooEnum(std::move(value)); return *this;} + ///@} + + ///@{ + + inline int GetIntegerEnum() const{ return m_integerEnum; } + inline bool IntegerEnumHasBeenSet() const { return m_integerEnumHasBeenSet; } + inline void SetIntegerEnum(int value) { m_integerEnumHasBeenSet = true; m_integerEnum = value; } + inline SimpleInputParamsRequest& WithIntegerEnum(int value) { SetIntegerEnum(value); return *this;} + ///@} + private: + + Aws::String m_foo; + bool m_fooHasBeenSet = false; + + Aws::String m_bar; + bool m_barHasBeenSet = false; + + bool m_baz; + bool m_bazHasBeenSet = false; + + int m_bam; + bool m_bamHasBeenSet = false; + + double m_floatValue; + bool m_floatValueHasBeenSet = false; + + double m_boo; + bool m_booHasBeenSet = false; + + Aws::Utils::ByteBuffer m_qux; + bool m_quxHasBeenSet = false; + + FooEnum m_fooEnum; + bool m_fooEnumHasBeenSet = false; + + int m_integerEnum; + bool m_integerEnumHasBeenSet = false; + }; + +} // namespace Model +} // namespace QueryProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/SimpleScalarXmlPropertiesRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/SimpleScalarXmlPropertiesRequest.h new file mode 100644 index 00000000000..b35efc847d3 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/SimpleScalarXmlPropertiesRequest.h @@ -0,0 +1,40 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace QueryProtocol +{ +namespace Model +{ + + /** + */ + class SimpleScalarXmlPropertiesRequest : public QueryProtocolRequest + { + public: + AWS_QUERYPROTOCOL_API SimpleScalarXmlPropertiesRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "SimpleScalarXmlProperties"; } + + AWS_QUERYPROTOCOL_API Aws::String SerializePayload() const override; + + protected: + AWS_QUERYPROTOCOL_API void DumpBodyToUrl(Aws::Http::URI& uri ) const override; + + public: + }; + +} // namespace Model +} // namespace QueryProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/SimpleScalarXmlPropertiesResult.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/SimpleScalarXmlPropertiesResult.h new file mode 100644 index 00000000000..45301571688 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/SimpleScalarXmlPropertiesResult.h @@ -0,0 +1,149 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace QueryProtocol +{ +namespace Model +{ + class SimpleScalarXmlPropertiesResult + { + public: + AWS_QUERYPROTOCOL_API SimpleScalarXmlPropertiesResult(); + AWS_QUERYPROTOCOL_API SimpleScalarXmlPropertiesResult(const Aws::AmazonWebServiceResult& result); + AWS_QUERYPROTOCOL_API SimpleScalarXmlPropertiesResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::String& GetStringValue() const{ return m_stringValue; } + inline void SetStringValue(const Aws::String& value) { m_stringValue = value; } + inline void SetStringValue(Aws::String&& value) { m_stringValue = std::move(value); } + inline void SetStringValue(const char* value) { m_stringValue.assign(value); } + inline SimpleScalarXmlPropertiesResult& WithStringValue(const Aws::String& value) { SetStringValue(value); return *this;} + inline SimpleScalarXmlPropertiesResult& WithStringValue(Aws::String&& value) { SetStringValue(std::move(value)); return *this;} + inline SimpleScalarXmlPropertiesResult& WithStringValue(const char* value) { SetStringValue(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetEmptyStringValue() const{ return m_emptyStringValue; } + inline void SetEmptyStringValue(const Aws::String& value) { m_emptyStringValue = value; } + inline void SetEmptyStringValue(Aws::String&& value) { m_emptyStringValue = std::move(value); } + inline void SetEmptyStringValue(const char* value) { m_emptyStringValue.assign(value); } + inline SimpleScalarXmlPropertiesResult& WithEmptyStringValue(const Aws::String& value) { SetEmptyStringValue(value); return *this;} + inline SimpleScalarXmlPropertiesResult& WithEmptyStringValue(Aws::String&& value) { SetEmptyStringValue(std::move(value)); return *this;} + inline SimpleScalarXmlPropertiesResult& WithEmptyStringValue(const char* value) { SetEmptyStringValue(value); return *this;} + ///@} + + ///@{ + + inline bool GetTrueBooleanValue() const{ return m_trueBooleanValue; } + inline void SetTrueBooleanValue(bool value) { m_trueBooleanValue = value; } + inline SimpleScalarXmlPropertiesResult& WithTrueBooleanValue(bool value) { SetTrueBooleanValue(value); return *this;} + ///@} + + ///@{ + + inline bool GetFalseBooleanValue() const{ return m_falseBooleanValue; } + inline void SetFalseBooleanValue(bool value) { m_falseBooleanValue = value; } + inline SimpleScalarXmlPropertiesResult& WithFalseBooleanValue(bool value) { SetFalseBooleanValue(value); return *this;} + ///@} + + ///@{ + + inline int GetByteValue() const{ return m_byteValue; } + inline void SetByteValue(int value) { m_byteValue = value; } + inline SimpleScalarXmlPropertiesResult& WithByteValue(int value) { SetByteValue(value); return *this;} + ///@} + + ///@{ + + inline int GetShortValue() const{ return m_shortValue; } + inline void SetShortValue(int value) { m_shortValue = value; } + inline SimpleScalarXmlPropertiesResult& WithShortValue(int value) { SetShortValue(value); return *this;} + ///@} + + ///@{ + + inline int GetIntegerValue() const{ return m_integerValue; } + inline void SetIntegerValue(int value) { m_integerValue = value; } + inline SimpleScalarXmlPropertiesResult& WithIntegerValue(int value) { SetIntegerValue(value); return *this;} + ///@} + + ///@{ + + inline long long GetLongValue() const{ return m_longValue; } + inline void SetLongValue(long long value) { m_longValue = value; } + inline SimpleScalarXmlPropertiesResult& WithLongValue(long long value) { SetLongValue(value); return *this;} + ///@} + + ///@{ + + inline double GetFloatValue() const{ return m_floatValue; } + inline void SetFloatValue(double value) { m_floatValue = value; } + inline SimpleScalarXmlPropertiesResult& WithFloatValue(double value) { SetFloatValue(value); return *this;} + ///@} + + ///@{ + + inline double GetDoubleValue() const{ return m_doubleValue; } + inline void SetDoubleValue(double value) { m_doubleValue = value; } + inline SimpleScalarXmlPropertiesResult& WithDoubleValue(double value) { SetDoubleValue(value); return *this;} + ///@} + + ///@{ + + inline const ResponseMetadata& GetResponseMetadata() const{ return m_responseMetadata; } + inline void SetResponseMetadata(const ResponseMetadata& value) { m_responseMetadata = value; } + inline void SetResponseMetadata(ResponseMetadata&& value) { m_responseMetadata = std::move(value); } + inline SimpleScalarXmlPropertiesResult& WithResponseMetadata(const ResponseMetadata& value) { SetResponseMetadata(value); return *this;} + inline SimpleScalarXmlPropertiesResult& WithResponseMetadata(ResponseMetadata&& value) { SetResponseMetadata(std::move(value)); return *this;} + ///@} + private: + + Aws::String m_stringValue; + + Aws::String m_emptyStringValue; + + bool m_trueBooleanValue; + + bool m_falseBooleanValue; + + int m_byteValue; + + int m_shortValue; + + int m_integerValue; + + long long m_longValue; + + double m_floatValue; + + double m_doubleValue; + + ResponseMetadata m_responseMetadata; + }; + +} // namespace Model +} // namespace QueryProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/StructArg.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/StructArg.h new file mode 100644 index 00000000000..39e142b5a28 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/StructArg.h @@ -0,0 +1,80 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace QueryProtocol +{ +namespace Model +{ + + class StructArg + { + public: + AWS_QUERYPROTOCOL_API StructArg(); + AWS_QUERYPROTOCOL_API StructArg(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_QUERYPROTOCOL_API StructArg& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + AWS_QUERYPROTOCOL_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const; + AWS_QUERYPROTOCOL_API void OutputToStream(Aws::OStream& oStream, const char* location) const; + + + ///@{ + + inline const Aws::String& GetStringArg() const{ return m_stringArg; } + inline bool StringArgHasBeenSet() const { return m_stringArgHasBeenSet; } + inline void SetStringArg(const Aws::String& value) { m_stringArgHasBeenSet = true; m_stringArg = value; } + inline void SetStringArg(Aws::String&& value) { m_stringArgHasBeenSet = true; m_stringArg = std::move(value); } + inline void SetStringArg(const char* value) { m_stringArgHasBeenSet = true; m_stringArg.assign(value); } + inline StructArg& WithStringArg(const Aws::String& value) { SetStringArg(value); return *this;} + inline StructArg& WithStringArg(Aws::String&& value) { SetStringArg(std::move(value)); return *this;} + inline StructArg& WithStringArg(const char* value) { SetStringArg(value); return *this;} + ///@} + + ///@{ + + inline bool GetOtherArg() const{ return m_otherArg; } + inline bool OtherArgHasBeenSet() const { return m_otherArgHasBeenSet; } + inline void SetOtherArg(bool value) { m_otherArgHasBeenSet = true; m_otherArg = value; } + inline StructArg& WithOtherArg(bool value) { SetOtherArg(value); return *this;} + ///@} + + ///@{ + + AWS_QUERYPROTOCOL_API const StructArg& GetRecursiveArg() const; + AWS_QUERYPROTOCOL_API bool RecursiveArgHasBeenSet() const; + AWS_QUERYPROTOCOL_API void SetRecursiveArg(const StructArg& value); + AWS_QUERYPROTOCOL_API void SetRecursiveArg(StructArg&& value); + AWS_QUERYPROTOCOL_API StructArg& WithRecursiveArg(const StructArg& value); + AWS_QUERYPROTOCOL_API StructArg& WithRecursiveArg(StructArg&& value); + ///@} + private: + + Aws::String m_stringArg; + bool m_stringArgHasBeenSet = false; + + bool m_otherArg; + bool m_otherArgHasBeenSet = false; + + std::shared_ptr m_recursiveArg; + bool m_recursiveArgHasBeenSet = false; + }; + +} // namespace Model +} // namespace QueryProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/StructureListMember.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/StructureListMember.h new file mode 100644 index 00000000000..7f3b23cf167 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/StructureListMember.h @@ -0,0 +1,71 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace QueryProtocol +{ +namespace Model +{ + + class StructureListMember + { + public: + AWS_QUERYPROTOCOL_API StructureListMember(); + AWS_QUERYPROTOCOL_API StructureListMember(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_QUERYPROTOCOL_API StructureListMember& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + AWS_QUERYPROTOCOL_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const; + AWS_QUERYPROTOCOL_API void OutputToStream(Aws::OStream& oStream, const char* location) const; + + + ///@{ + + inline const Aws::String& GetA() const{ return m_a; } + inline bool AHasBeenSet() const { return m_aHasBeenSet; } + inline void SetA(const Aws::String& value) { m_aHasBeenSet = true; m_a = value; } + inline void SetA(Aws::String&& value) { m_aHasBeenSet = true; m_a = std::move(value); } + inline void SetA(const char* value) { m_aHasBeenSet = true; m_a.assign(value); } + inline StructureListMember& WithA(const Aws::String& value) { SetA(value); return *this;} + inline StructureListMember& WithA(Aws::String&& value) { SetA(std::move(value)); return *this;} + inline StructureListMember& WithA(const char* value) { SetA(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetB() const{ return m_b; } + inline bool BHasBeenSet() const { return m_bHasBeenSet; } + inline void SetB(const Aws::String& value) { m_bHasBeenSet = true; m_b = value; } + inline void SetB(Aws::String&& value) { m_bHasBeenSet = true; m_b = std::move(value); } + inline void SetB(const char* value) { m_bHasBeenSet = true; m_b.assign(value); } + inline StructureListMember& WithB(const Aws::String& value) { SetB(value); return *this;} + inline StructureListMember& WithB(Aws::String&& value) { SetB(std::move(value)); return *this;} + inline StructureListMember& WithB(const char* value) { SetB(value); return *this;} + ///@} + private: + + Aws::String m_a; + bool m_aHasBeenSet = false; + + Aws::String m_b; + bool m_bHasBeenSet = false; + }; + +} // namespace Model +} // namespace QueryProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/XmlBlobsRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/XmlBlobsRequest.h new file mode 100644 index 00000000000..656c84baded --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/XmlBlobsRequest.h @@ -0,0 +1,40 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace QueryProtocol +{ +namespace Model +{ + + /** + */ + class XmlBlobsRequest : public QueryProtocolRequest + { + public: + AWS_QUERYPROTOCOL_API XmlBlobsRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "XmlBlobs"; } + + AWS_QUERYPROTOCOL_API Aws::String SerializePayload() const override; + + protected: + AWS_QUERYPROTOCOL_API void DumpBodyToUrl(Aws::Http::URI& uri ) const override; + + public: + }; + +} // namespace Model +} // namespace QueryProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/XmlBlobsResult.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/XmlBlobsResult.h new file mode 100644 index 00000000000..6a8a6760add --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/XmlBlobsResult.h @@ -0,0 +1,62 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace QueryProtocol +{ +namespace Model +{ + class XmlBlobsResult + { + public: + AWS_QUERYPROTOCOL_API XmlBlobsResult(); + AWS_QUERYPROTOCOL_API XmlBlobsResult(const Aws::AmazonWebServiceResult& result); + AWS_QUERYPROTOCOL_API XmlBlobsResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::Utils::ByteBuffer& GetData() const{ return m_data; } + inline void SetData(const Aws::Utils::ByteBuffer& value) { m_data = value; } + inline void SetData(Aws::Utils::ByteBuffer&& value) { m_data = std::move(value); } + inline XmlBlobsResult& WithData(const Aws::Utils::ByteBuffer& value) { SetData(value); return *this;} + inline XmlBlobsResult& WithData(Aws::Utils::ByteBuffer&& value) { SetData(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const ResponseMetadata& GetResponseMetadata() const{ return m_responseMetadata; } + inline void SetResponseMetadata(const ResponseMetadata& value) { m_responseMetadata = value; } + inline void SetResponseMetadata(ResponseMetadata&& value) { m_responseMetadata = std::move(value); } + inline XmlBlobsResult& WithResponseMetadata(const ResponseMetadata& value) { SetResponseMetadata(value); return *this;} + inline XmlBlobsResult& WithResponseMetadata(ResponseMetadata&& value) { SetResponseMetadata(std::move(value)); return *this;} + ///@} + private: + + Aws::Utils::ByteBuffer m_data; + + ResponseMetadata m_responseMetadata; + }; + +} // namespace Model +} // namespace QueryProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/XmlEmptyBlobsRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/XmlEmptyBlobsRequest.h new file mode 100644 index 00000000000..840a93cad45 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/XmlEmptyBlobsRequest.h @@ -0,0 +1,40 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace QueryProtocol +{ +namespace Model +{ + + /** + */ + class XmlEmptyBlobsRequest : public QueryProtocolRequest + { + public: + AWS_QUERYPROTOCOL_API XmlEmptyBlobsRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "XmlEmptyBlobs"; } + + AWS_QUERYPROTOCOL_API Aws::String SerializePayload() const override; + + protected: + AWS_QUERYPROTOCOL_API void DumpBodyToUrl(Aws::Http::URI& uri ) const override; + + public: + }; + +} // namespace Model +} // namespace QueryProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/XmlEmptyBlobsResult.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/XmlEmptyBlobsResult.h new file mode 100644 index 00000000000..5cf4ffe2660 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/XmlEmptyBlobsResult.h @@ -0,0 +1,62 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace QueryProtocol +{ +namespace Model +{ + class XmlEmptyBlobsResult + { + public: + AWS_QUERYPROTOCOL_API XmlEmptyBlobsResult(); + AWS_QUERYPROTOCOL_API XmlEmptyBlobsResult(const Aws::AmazonWebServiceResult& result); + AWS_QUERYPROTOCOL_API XmlEmptyBlobsResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::Utils::ByteBuffer& GetData() const{ return m_data; } + inline void SetData(const Aws::Utils::ByteBuffer& value) { m_data = value; } + inline void SetData(Aws::Utils::ByteBuffer&& value) { m_data = std::move(value); } + inline XmlEmptyBlobsResult& WithData(const Aws::Utils::ByteBuffer& value) { SetData(value); return *this;} + inline XmlEmptyBlobsResult& WithData(Aws::Utils::ByteBuffer&& value) { SetData(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const ResponseMetadata& GetResponseMetadata() const{ return m_responseMetadata; } + inline void SetResponseMetadata(const ResponseMetadata& value) { m_responseMetadata = value; } + inline void SetResponseMetadata(ResponseMetadata&& value) { m_responseMetadata = std::move(value); } + inline XmlEmptyBlobsResult& WithResponseMetadata(const ResponseMetadata& value) { SetResponseMetadata(value); return *this;} + inline XmlEmptyBlobsResult& WithResponseMetadata(ResponseMetadata&& value) { SetResponseMetadata(std::move(value)); return *this;} + ///@} + private: + + Aws::Utils::ByteBuffer m_data; + + ResponseMetadata m_responseMetadata; + }; + +} // namespace Model +} // namespace QueryProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/XmlEmptyListsRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/XmlEmptyListsRequest.h new file mode 100644 index 00000000000..7547dc8db33 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/XmlEmptyListsRequest.h @@ -0,0 +1,40 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace QueryProtocol +{ +namespace Model +{ + + /** + */ + class XmlEmptyListsRequest : public QueryProtocolRequest + { + public: + AWS_QUERYPROTOCOL_API XmlEmptyListsRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "XmlEmptyLists"; } + + AWS_QUERYPROTOCOL_API Aws::String SerializePayload() const override; + + protected: + AWS_QUERYPROTOCOL_API void DumpBodyToUrl(Aws::Http::URI& uri ) const override; + + public: + }; + +} // namespace Model +} // namespace QueryProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/XmlEmptyListsResult.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/XmlEmptyListsResult.h new file mode 100644 index 00000000000..2c4d748e5b4 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/XmlEmptyListsResult.h @@ -0,0 +1,241 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace QueryProtocol +{ +namespace Model +{ + class XmlEmptyListsResult + { + public: + AWS_QUERYPROTOCOL_API XmlEmptyListsResult(); + AWS_QUERYPROTOCOL_API XmlEmptyListsResult(const Aws::AmazonWebServiceResult& result); + AWS_QUERYPROTOCOL_API XmlEmptyListsResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::Vector& GetStringList() const{ return m_stringList; } + inline void SetStringList(const Aws::Vector& value) { m_stringList = value; } + inline void SetStringList(Aws::Vector&& value) { m_stringList = std::move(value); } + inline XmlEmptyListsResult& WithStringList(const Aws::Vector& value) { SetStringList(value); return *this;} + inline XmlEmptyListsResult& WithStringList(Aws::Vector&& value) { SetStringList(std::move(value)); return *this;} + inline XmlEmptyListsResult& AddStringList(const Aws::String& value) { m_stringList.push_back(value); return *this; } + inline XmlEmptyListsResult& AddStringList(Aws::String&& value) { m_stringList.push_back(std::move(value)); return *this; } + inline XmlEmptyListsResult& AddStringList(const char* value) { m_stringList.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetStringSet() const{ return m_stringSet; } + inline void SetStringSet(const Aws::Vector& value) { m_stringSet = value; } + inline void SetStringSet(Aws::Vector&& value) { m_stringSet = std::move(value); } + inline XmlEmptyListsResult& WithStringSet(const Aws::Vector& value) { SetStringSet(value); return *this;} + inline XmlEmptyListsResult& WithStringSet(Aws::Vector&& value) { SetStringSet(std::move(value)); return *this;} + inline XmlEmptyListsResult& AddStringSet(const Aws::String& value) { m_stringSet.push_back(value); return *this; } + inline XmlEmptyListsResult& AddStringSet(Aws::String&& value) { m_stringSet.push_back(std::move(value)); return *this; } + inline XmlEmptyListsResult& AddStringSet(const char* value) { m_stringSet.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetIntegerList() const{ return m_integerList; } + inline void SetIntegerList(const Aws::Vector& value) { m_integerList = value; } + inline void SetIntegerList(Aws::Vector&& value) { m_integerList = std::move(value); } + inline XmlEmptyListsResult& WithIntegerList(const Aws::Vector& value) { SetIntegerList(value); return *this;} + inline XmlEmptyListsResult& WithIntegerList(Aws::Vector&& value) { SetIntegerList(std::move(value)); return *this;} + inline XmlEmptyListsResult& AddIntegerList(int value) { m_integerList.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetBooleanList() const{ return m_booleanList; } + inline void SetBooleanList(const Aws::Vector& value) { m_booleanList = value; } + inline void SetBooleanList(Aws::Vector&& value) { m_booleanList = std::move(value); } + inline XmlEmptyListsResult& WithBooleanList(const Aws::Vector& value) { SetBooleanList(value); return *this;} + inline XmlEmptyListsResult& WithBooleanList(Aws::Vector&& value) { SetBooleanList(std::move(value)); return *this;} + inline XmlEmptyListsResult& AddBooleanList(bool value) { m_booleanList.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetTimestampList() const{ return m_timestampList; } + inline void SetTimestampList(const Aws::Vector& value) { m_timestampList = value; } + inline void SetTimestampList(Aws::Vector&& value) { m_timestampList = std::move(value); } + inline XmlEmptyListsResult& WithTimestampList(const Aws::Vector& value) { SetTimestampList(value); return *this;} + inline XmlEmptyListsResult& WithTimestampList(Aws::Vector&& value) { SetTimestampList(std::move(value)); return *this;} + inline XmlEmptyListsResult& AddTimestampList(const Aws::Utils::DateTime& value) { m_timestampList.push_back(value); return *this; } + inline XmlEmptyListsResult& AddTimestampList(Aws::Utils::DateTime&& value) { m_timestampList.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetEnumList() const{ return m_enumList; } + inline void SetEnumList(const Aws::Vector& value) { m_enumList = value; } + inline void SetEnumList(Aws::Vector&& value) { m_enumList = std::move(value); } + inline XmlEmptyListsResult& WithEnumList(const Aws::Vector& value) { SetEnumList(value); return *this;} + inline XmlEmptyListsResult& WithEnumList(Aws::Vector&& value) { SetEnumList(std::move(value)); return *this;} + inline XmlEmptyListsResult& AddEnumList(const FooEnum& value) { m_enumList.push_back(value); return *this; } + inline XmlEmptyListsResult& AddEnumList(FooEnum&& value) { m_enumList.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetIntEnumList() const{ return m_intEnumList; } + inline void SetIntEnumList(const Aws::Vector& value) { m_intEnumList = value; } + inline void SetIntEnumList(Aws::Vector&& value) { m_intEnumList = std::move(value); } + inline XmlEmptyListsResult& WithIntEnumList(const Aws::Vector& value) { SetIntEnumList(value); return *this;} + inline XmlEmptyListsResult& WithIntEnumList(Aws::Vector&& value) { SetIntEnumList(std::move(value)); return *this;} + inline XmlEmptyListsResult& AddIntEnumList(int value) { m_intEnumList.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector>& GetNestedStringList() const{ return m_nestedStringList; } + inline void SetNestedStringList(const Aws::Vector>& value) { m_nestedStringList = value; } + inline void SetNestedStringList(Aws::Vector>&& value) { m_nestedStringList = std::move(value); } + inline XmlEmptyListsResult& WithNestedStringList(const Aws::Vector>& value) { SetNestedStringList(value); return *this;} + inline XmlEmptyListsResult& WithNestedStringList(Aws::Vector>&& value) { SetNestedStringList(std::move(value)); return *this;} + inline XmlEmptyListsResult& AddNestedStringList(const Aws::Vector& value) { m_nestedStringList.push_back(value); return *this; } + inline XmlEmptyListsResult& AddNestedStringList(Aws::Vector&& value) { m_nestedStringList.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetRenamedListMembers() const{ return m_renamedListMembers; } + inline void SetRenamedListMembers(const Aws::Vector& value) { m_renamedListMembers = value; } + inline void SetRenamedListMembers(Aws::Vector&& value) { m_renamedListMembers = std::move(value); } + inline XmlEmptyListsResult& WithRenamedListMembers(const Aws::Vector& value) { SetRenamedListMembers(value); return *this;} + inline XmlEmptyListsResult& WithRenamedListMembers(Aws::Vector&& value) { SetRenamedListMembers(std::move(value)); return *this;} + inline XmlEmptyListsResult& AddRenamedListMembers(const Aws::String& value) { m_renamedListMembers.push_back(value); return *this; } + inline XmlEmptyListsResult& AddRenamedListMembers(Aws::String&& value) { m_renamedListMembers.push_back(std::move(value)); return *this; } + inline XmlEmptyListsResult& AddRenamedListMembers(const char* value) { m_renamedListMembers.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetFlattenedList() const{ return m_flattenedList; } + inline void SetFlattenedList(const Aws::Vector& value) { m_flattenedList = value; } + inline void SetFlattenedList(Aws::Vector&& value) { m_flattenedList = std::move(value); } + inline XmlEmptyListsResult& WithFlattenedList(const Aws::Vector& value) { SetFlattenedList(value); return *this;} + inline XmlEmptyListsResult& WithFlattenedList(Aws::Vector&& value) { SetFlattenedList(std::move(value)); return *this;} + inline XmlEmptyListsResult& AddFlattenedList(const Aws::String& value) { m_flattenedList.push_back(value); return *this; } + inline XmlEmptyListsResult& AddFlattenedList(Aws::String&& value) { m_flattenedList.push_back(std::move(value)); return *this; } + inline XmlEmptyListsResult& AddFlattenedList(const char* value) { m_flattenedList.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetFlattenedList2() const{ return m_flattenedList2; } + inline void SetFlattenedList2(const Aws::Vector& value) { m_flattenedList2 = value; } + inline void SetFlattenedList2(Aws::Vector&& value) { m_flattenedList2 = std::move(value); } + inline XmlEmptyListsResult& WithFlattenedList2(const Aws::Vector& value) { SetFlattenedList2(value); return *this;} + inline XmlEmptyListsResult& WithFlattenedList2(Aws::Vector&& value) { SetFlattenedList2(std::move(value)); return *this;} + inline XmlEmptyListsResult& AddFlattenedList2(const Aws::String& value) { m_flattenedList2.push_back(value); return *this; } + inline XmlEmptyListsResult& AddFlattenedList2(Aws::String&& value) { m_flattenedList2.push_back(std::move(value)); return *this; } + inline XmlEmptyListsResult& AddFlattenedList2(const char* value) { m_flattenedList2.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetFlattenedListWithMemberNamespace() const{ return m_flattenedListWithMemberNamespace; } + inline void SetFlattenedListWithMemberNamespace(const Aws::Vector& value) { m_flattenedListWithMemberNamespace = value; } + inline void SetFlattenedListWithMemberNamespace(Aws::Vector&& value) { m_flattenedListWithMemberNamespace = std::move(value); } + inline XmlEmptyListsResult& WithFlattenedListWithMemberNamespace(const Aws::Vector& value) { SetFlattenedListWithMemberNamespace(value); return *this;} + inline XmlEmptyListsResult& WithFlattenedListWithMemberNamespace(Aws::Vector&& value) { SetFlattenedListWithMemberNamespace(std::move(value)); return *this;} + inline XmlEmptyListsResult& AddFlattenedListWithMemberNamespace(const Aws::String& value) { m_flattenedListWithMemberNamespace.push_back(value); return *this; } + inline XmlEmptyListsResult& AddFlattenedListWithMemberNamespace(Aws::String&& value) { m_flattenedListWithMemberNamespace.push_back(std::move(value)); return *this; } + inline XmlEmptyListsResult& AddFlattenedListWithMemberNamespace(const char* value) { m_flattenedListWithMemberNamespace.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetFlattenedListWithNamespace() const{ return m_flattenedListWithNamespace; } + inline void SetFlattenedListWithNamespace(const Aws::Vector& value) { m_flattenedListWithNamespace = value; } + inline void SetFlattenedListWithNamespace(Aws::Vector&& value) { m_flattenedListWithNamespace = std::move(value); } + inline XmlEmptyListsResult& WithFlattenedListWithNamespace(const Aws::Vector& value) { SetFlattenedListWithNamespace(value); return *this;} + inline XmlEmptyListsResult& WithFlattenedListWithNamespace(Aws::Vector&& value) { SetFlattenedListWithNamespace(std::move(value)); return *this;} + inline XmlEmptyListsResult& AddFlattenedListWithNamespace(const Aws::String& value) { m_flattenedListWithNamespace.push_back(value); return *this; } + inline XmlEmptyListsResult& AddFlattenedListWithNamespace(Aws::String&& value) { m_flattenedListWithNamespace.push_back(std::move(value)); return *this; } + inline XmlEmptyListsResult& AddFlattenedListWithNamespace(const char* value) { m_flattenedListWithNamespace.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetStructureList() const{ return m_structureList; } + inline void SetStructureList(const Aws::Vector& value) { m_structureList = value; } + inline void SetStructureList(Aws::Vector&& value) { m_structureList = std::move(value); } + inline XmlEmptyListsResult& WithStructureList(const Aws::Vector& value) { SetStructureList(value); return *this;} + inline XmlEmptyListsResult& WithStructureList(Aws::Vector&& value) { SetStructureList(std::move(value)); return *this;} + inline XmlEmptyListsResult& AddStructureList(const StructureListMember& value) { m_structureList.push_back(value); return *this; } + inline XmlEmptyListsResult& AddStructureList(StructureListMember&& value) { m_structureList.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + + inline const ResponseMetadata& GetResponseMetadata() const{ return m_responseMetadata; } + inline void SetResponseMetadata(const ResponseMetadata& value) { m_responseMetadata = value; } + inline void SetResponseMetadata(ResponseMetadata&& value) { m_responseMetadata = std::move(value); } + inline XmlEmptyListsResult& WithResponseMetadata(const ResponseMetadata& value) { SetResponseMetadata(value); return *this;} + inline XmlEmptyListsResult& WithResponseMetadata(ResponseMetadata&& value) { SetResponseMetadata(std::move(value)); return *this;} + ///@} + private: + + Aws::Vector m_stringList; + + Aws::Vector m_stringSet; + + Aws::Vector m_integerList; + + Aws::Vector m_booleanList; + + Aws::Vector m_timestampList; + + Aws::Vector m_enumList; + + Aws::Vector m_intEnumList; + + Aws::Vector> m_nestedStringList; + + Aws::Vector m_renamedListMembers; + + Aws::Vector m_flattenedList; + + Aws::Vector m_flattenedList2; + + Aws::Vector m_flattenedListWithMemberNamespace; + + Aws::Vector m_flattenedListWithNamespace; + + Aws::Vector m_structureList; + + ResponseMetadata m_responseMetadata; + }; + +} // namespace Model +} // namespace QueryProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/XmlEmptyMapsRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/XmlEmptyMapsRequest.h new file mode 100644 index 00000000000..f3e57040a96 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/XmlEmptyMapsRequest.h @@ -0,0 +1,40 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace QueryProtocol +{ +namespace Model +{ + + /** + */ + class XmlEmptyMapsRequest : public QueryProtocolRequest + { + public: + AWS_QUERYPROTOCOL_API XmlEmptyMapsRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "XmlEmptyMaps"; } + + AWS_QUERYPROTOCOL_API Aws::String SerializePayload() const override; + + protected: + AWS_QUERYPROTOCOL_API void DumpBodyToUrl(Aws::Http::URI& uri ) const override; + + public: + }; + +} // namespace Model +} // namespace QueryProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/XmlEmptyMapsResult.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/XmlEmptyMapsResult.h new file mode 100644 index 00000000000..dee88e1b283 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/XmlEmptyMapsResult.h @@ -0,0 +1,70 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace QueryProtocol +{ +namespace Model +{ + class XmlEmptyMapsResult + { + public: + AWS_QUERYPROTOCOL_API XmlEmptyMapsResult(); + AWS_QUERYPROTOCOL_API XmlEmptyMapsResult(const Aws::AmazonWebServiceResult& result); + AWS_QUERYPROTOCOL_API XmlEmptyMapsResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::Map& GetMyMap() const{ return m_myMap; } + inline void SetMyMap(const Aws::Map& value) { m_myMap = value; } + inline void SetMyMap(Aws::Map&& value) { m_myMap = std::move(value); } + inline XmlEmptyMapsResult& WithMyMap(const Aws::Map& value) { SetMyMap(value); return *this;} + inline XmlEmptyMapsResult& WithMyMap(Aws::Map&& value) { SetMyMap(std::move(value)); return *this;} + inline XmlEmptyMapsResult& AddMyMap(const Aws::String& key, const GreetingStruct& value) { m_myMap.emplace(key, value); return *this; } + inline XmlEmptyMapsResult& AddMyMap(Aws::String&& key, const GreetingStruct& value) { m_myMap.emplace(std::move(key), value); return *this; } + inline XmlEmptyMapsResult& AddMyMap(const Aws::String& key, GreetingStruct&& value) { m_myMap.emplace(key, std::move(value)); return *this; } + inline XmlEmptyMapsResult& AddMyMap(Aws::String&& key, GreetingStruct&& value) { m_myMap.emplace(std::move(key), std::move(value)); return *this; } + inline XmlEmptyMapsResult& AddMyMap(const char* key, GreetingStruct&& value) { m_myMap.emplace(key, std::move(value)); return *this; } + inline XmlEmptyMapsResult& AddMyMap(const char* key, const GreetingStruct& value) { m_myMap.emplace(key, value); return *this; } + ///@} + + ///@{ + + inline const ResponseMetadata& GetResponseMetadata() const{ return m_responseMetadata; } + inline void SetResponseMetadata(const ResponseMetadata& value) { m_responseMetadata = value; } + inline void SetResponseMetadata(ResponseMetadata&& value) { m_responseMetadata = std::move(value); } + inline XmlEmptyMapsResult& WithResponseMetadata(const ResponseMetadata& value) { SetResponseMetadata(value); return *this;} + inline XmlEmptyMapsResult& WithResponseMetadata(ResponseMetadata&& value) { SetResponseMetadata(std::move(value)); return *this;} + ///@} + private: + + Aws::Map m_myMap; + + ResponseMetadata m_responseMetadata; + }; + +} // namespace Model +} // namespace QueryProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/XmlEnumsRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/XmlEnumsRequest.h new file mode 100644 index 00000000000..4fb8b8bfdea --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/XmlEnumsRequest.h @@ -0,0 +1,40 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace QueryProtocol +{ +namespace Model +{ + + /** + */ + class XmlEnumsRequest : public QueryProtocolRequest + { + public: + AWS_QUERYPROTOCOL_API XmlEnumsRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "XmlEnums"; } + + AWS_QUERYPROTOCOL_API Aws::String SerializePayload() const override; + + protected: + AWS_QUERYPROTOCOL_API void DumpBodyToUrl(Aws::Http::URI& uri ) const override; + + public: + }; + +} // namespace Model +} // namespace QueryProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/XmlEnumsResult.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/XmlEnumsResult.h new file mode 100644 index 00000000000..57f0c2d0113 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/XmlEnumsResult.h @@ -0,0 +1,130 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace QueryProtocol +{ +namespace Model +{ + class XmlEnumsResult + { + public: + AWS_QUERYPROTOCOL_API XmlEnumsResult(); + AWS_QUERYPROTOCOL_API XmlEnumsResult(const Aws::AmazonWebServiceResult& result); + AWS_QUERYPROTOCOL_API XmlEnumsResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const FooEnum& GetFooEnum1() const{ return m_fooEnum1; } + inline void SetFooEnum1(const FooEnum& value) { m_fooEnum1 = value; } + inline void SetFooEnum1(FooEnum&& value) { m_fooEnum1 = std::move(value); } + inline XmlEnumsResult& WithFooEnum1(const FooEnum& value) { SetFooEnum1(value); return *this;} + inline XmlEnumsResult& WithFooEnum1(FooEnum&& value) { SetFooEnum1(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const FooEnum& GetFooEnum2() const{ return m_fooEnum2; } + inline void SetFooEnum2(const FooEnum& value) { m_fooEnum2 = value; } + inline void SetFooEnum2(FooEnum&& value) { m_fooEnum2 = std::move(value); } + inline XmlEnumsResult& WithFooEnum2(const FooEnum& value) { SetFooEnum2(value); return *this;} + inline XmlEnumsResult& WithFooEnum2(FooEnum&& value) { SetFooEnum2(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const FooEnum& GetFooEnum3() const{ return m_fooEnum3; } + inline void SetFooEnum3(const FooEnum& value) { m_fooEnum3 = value; } + inline void SetFooEnum3(FooEnum&& value) { m_fooEnum3 = std::move(value); } + inline XmlEnumsResult& WithFooEnum3(const FooEnum& value) { SetFooEnum3(value); return *this;} + inline XmlEnumsResult& WithFooEnum3(FooEnum&& value) { SetFooEnum3(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::Vector& GetFooEnumList() const{ return m_fooEnumList; } + inline void SetFooEnumList(const Aws::Vector& value) { m_fooEnumList = value; } + inline void SetFooEnumList(Aws::Vector&& value) { m_fooEnumList = std::move(value); } + inline XmlEnumsResult& WithFooEnumList(const Aws::Vector& value) { SetFooEnumList(value); return *this;} + inline XmlEnumsResult& WithFooEnumList(Aws::Vector&& value) { SetFooEnumList(std::move(value)); return *this;} + inline XmlEnumsResult& AddFooEnumList(const FooEnum& value) { m_fooEnumList.push_back(value); return *this; } + inline XmlEnumsResult& AddFooEnumList(FooEnum&& value) { m_fooEnumList.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetFooEnumSet() const{ return m_fooEnumSet; } + inline void SetFooEnumSet(const Aws::Vector& value) { m_fooEnumSet = value; } + inline void SetFooEnumSet(Aws::Vector&& value) { m_fooEnumSet = std::move(value); } + inline XmlEnumsResult& WithFooEnumSet(const Aws::Vector& value) { SetFooEnumSet(value); return *this;} + inline XmlEnumsResult& WithFooEnumSet(Aws::Vector&& value) { SetFooEnumSet(std::move(value)); return *this;} + inline XmlEnumsResult& AddFooEnumSet(const FooEnum& value) { m_fooEnumSet.push_back(value); return *this; } + inline XmlEnumsResult& AddFooEnumSet(FooEnum&& value) { m_fooEnumSet.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + + inline const Aws::Map& GetFooEnumMap() const{ return m_fooEnumMap; } + inline void SetFooEnumMap(const Aws::Map& value) { m_fooEnumMap = value; } + inline void SetFooEnumMap(Aws::Map&& value) { m_fooEnumMap = std::move(value); } + inline XmlEnumsResult& WithFooEnumMap(const Aws::Map& value) { SetFooEnumMap(value); return *this;} + inline XmlEnumsResult& WithFooEnumMap(Aws::Map&& value) { SetFooEnumMap(std::move(value)); return *this;} + inline XmlEnumsResult& AddFooEnumMap(const Aws::String& key, const FooEnum& value) { m_fooEnumMap.emplace(key, value); return *this; } + inline XmlEnumsResult& AddFooEnumMap(Aws::String&& key, const FooEnum& value) { m_fooEnumMap.emplace(std::move(key), value); return *this; } + inline XmlEnumsResult& AddFooEnumMap(const Aws::String& key, FooEnum&& value) { m_fooEnumMap.emplace(key, std::move(value)); return *this; } + inline XmlEnumsResult& AddFooEnumMap(Aws::String&& key, FooEnum&& value) { m_fooEnumMap.emplace(std::move(key), std::move(value)); return *this; } + inline XmlEnumsResult& AddFooEnumMap(const char* key, FooEnum&& value) { m_fooEnumMap.emplace(key, std::move(value)); return *this; } + inline XmlEnumsResult& AddFooEnumMap(const char* key, const FooEnum& value) { m_fooEnumMap.emplace(key, value); return *this; } + ///@} + + ///@{ + + inline const ResponseMetadata& GetResponseMetadata() const{ return m_responseMetadata; } + inline void SetResponseMetadata(const ResponseMetadata& value) { m_responseMetadata = value; } + inline void SetResponseMetadata(ResponseMetadata&& value) { m_responseMetadata = std::move(value); } + inline XmlEnumsResult& WithResponseMetadata(const ResponseMetadata& value) { SetResponseMetadata(value); return *this;} + inline XmlEnumsResult& WithResponseMetadata(ResponseMetadata&& value) { SetResponseMetadata(std::move(value)); return *this;} + ///@} + private: + + FooEnum m_fooEnum1; + + FooEnum m_fooEnum2; + + FooEnum m_fooEnum3; + + Aws::Vector m_fooEnumList; + + Aws::Vector m_fooEnumSet; + + Aws::Map m_fooEnumMap; + + ResponseMetadata m_responseMetadata; + }; + +} // namespace Model +} // namespace QueryProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/XmlIntEnumsRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/XmlIntEnumsRequest.h new file mode 100644 index 00000000000..e8ec29055f4 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/XmlIntEnumsRequest.h @@ -0,0 +1,40 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace QueryProtocol +{ +namespace Model +{ + + /** + */ + class XmlIntEnumsRequest : public QueryProtocolRequest + { + public: + AWS_QUERYPROTOCOL_API XmlIntEnumsRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "XmlIntEnums"; } + + AWS_QUERYPROTOCOL_API Aws::String SerializePayload() const override; + + protected: + AWS_QUERYPROTOCOL_API void DumpBodyToUrl(Aws::Http::URI& uri ) const override; + + public: + }; + +} // namespace Model +} // namespace QueryProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/XmlIntEnumsResult.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/XmlIntEnumsResult.h new file mode 100644 index 00000000000..72daa1136c8 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/XmlIntEnumsResult.h @@ -0,0 +1,118 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace QueryProtocol +{ +namespace Model +{ + class XmlIntEnumsResult + { + public: + AWS_QUERYPROTOCOL_API XmlIntEnumsResult(); + AWS_QUERYPROTOCOL_API XmlIntEnumsResult(const Aws::AmazonWebServiceResult& result); + AWS_QUERYPROTOCOL_API XmlIntEnumsResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline int GetIntEnum1() const{ return m_intEnum1; } + inline void SetIntEnum1(int value) { m_intEnum1 = value; } + inline XmlIntEnumsResult& WithIntEnum1(int value) { SetIntEnum1(value); return *this;} + ///@} + + ///@{ + + inline int GetIntEnum2() const{ return m_intEnum2; } + inline void SetIntEnum2(int value) { m_intEnum2 = value; } + inline XmlIntEnumsResult& WithIntEnum2(int value) { SetIntEnum2(value); return *this;} + ///@} + + ///@{ + + inline int GetIntEnum3() const{ return m_intEnum3; } + inline void SetIntEnum3(int value) { m_intEnum3 = value; } + inline XmlIntEnumsResult& WithIntEnum3(int value) { SetIntEnum3(value); return *this;} + ///@} + + ///@{ + + inline const Aws::Vector& GetIntEnumList() const{ return m_intEnumList; } + inline void SetIntEnumList(const Aws::Vector& value) { m_intEnumList = value; } + inline void SetIntEnumList(Aws::Vector&& value) { m_intEnumList = std::move(value); } + inline XmlIntEnumsResult& WithIntEnumList(const Aws::Vector& value) { SetIntEnumList(value); return *this;} + inline XmlIntEnumsResult& WithIntEnumList(Aws::Vector&& value) { SetIntEnumList(std::move(value)); return *this;} + inline XmlIntEnumsResult& AddIntEnumList(int value) { m_intEnumList.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetIntEnumSet() const{ return m_intEnumSet; } + inline void SetIntEnumSet(const Aws::Vector& value) { m_intEnumSet = value; } + inline void SetIntEnumSet(Aws::Vector&& value) { m_intEnumSet = std::move(value); } + inline XmlIntEnumsResult& WithIntEnumSet(const Aws::Vector& value) { SetIntEnumSet(value); return *this;} + inline XmlIntEnumsResult& WithIntEnumSet(Aws::Vector&& value) { SetIntEnumSet(std::move(value)); return *this;} + inline XmlIntEnumsResult& AddIntEnumSet(int value) { m_intEnumSet.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::Map& GetIntEnumMap() const{ return m_intEnumMap; } + inline void SetIntEnumMap(const Aws::Map& value) { m_intEnumMap = value; } + inline void SetIntEnumMap(Aws::Map&& value) { m_intEnumMap = std::move(value); } + inline XmlIntEnumsResult& WithIntEnumMap(const Aws::Map& value) { SetIntEnumMap(value); return *this;} + inline XmlIntEnumsResult& WithIntEnumMap(Aws::Map&& value) { SetIntEnumMap(std::move(value)); return *this;} + inline XmlIntEnumsResult& AddIntEnumMap(const Aws::String& key, int value) { m_intEnumMap.emplace(key, value); return *this; } + inline XmlIntEnumsResult& AddIntEnumMap(Aws::String&& key, int value) { m_intEnumMap.emplace(std::move(key), value); return *this; } + inline XmlIntEnumsResult& AddIntEnumMap(const char* key, int value) { m_intEnumMap.emplace(key, value); return *this; } + ///@} + + ///@{ + + inline const ResponseMetadata& GetResponseMetadata() const{ return m_responseMetadata; } + inline void SetResponseMetadata(const ResponseMetadata& value) { m_responseMetadata = value; } + inline void SetResponseMetadata(ResponseMetadata&& value) { m_responseMetadata = std::move(value); } + inline XmlIntEnumsResult& WithResponseMetadata(const ResponseMetadata& value) { SetResponseMetadata(value); return *this;} + inline XmlIntEnumsResult& WithResponseMetadata(ResponseMetadata&& value) { SetResponseMetadata(std::move(value)); return *this;} + ///@} + private: + + int m_intEnum1; + + int m_intEnum2; + + int m_intEnum3; + + Aws::Vector m_intEnumList; + + Aws::Vector m_intEnumSet; + + Aws::Map m_intEnumMap; + + ResponseMetadata m_responseMetadata; + }; + +} // namespace Model +} // namespace QueryProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/XmlListsRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/XmlListsRequest.h new file mode 100644 index 00000000000..4e7b68d389b --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/XmlListsRequest.h @@ -0,0 +1,40 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace QueryProtocol +{ +namespace Model +{ + + /** + */ + class XmlListsRequest : public QueryProtocolRequest + { + public: + AWS_QUERYPROTOCOL_API XmlListsRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "XmlLists"; } + + AWS_QUERYPROTOCOL_API Aws::String SerializePayload() const override; + + protected: + AWS_QUERYPROTOCOL_API void DumpBodyToUrl(Aws::Http::URI& uri ) const override; + + public: + }; + +} // namespace Model +} // namespace QueryProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/XmlListsResult.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/XmlListsResult.h new file mode 100644 index 00000000000..0b052007371 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/XmlListsResult.h @@ -0,0 +1,241 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace QueryProtocol +{ +namespace Model +{ + class XmlListsResult + { + public: + AWS_QUERYPROTOCOL_API XmlListsResult(); + AWS_QUERYPROTOCOL_API XmlListsResult(const Aws::AmazonWebServiceResult& result); + AWS_QUERYPROTOCOL_API XmlListsResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::Vector& GetStringList() const{ return m_stringList; } + inline void SetStringList(const Aws::Vector& value) { m_stringList = value; } + inline void SetStringList(Aws::Vector&& value) { m_stringList = std::move(value); } + inline XmlListsResult& WithStringList(const Aws::Vector& value) { SetStringList(value); return *this;} + inline XmlListsResult& WithStringList(Aws::Vector&& value) { SetStringList(std::move(value)); return *this;} + inline XmlListsResult& AddStringList(const Aws::String& value) { m_stringList.push_back(value); return *this; } + inline XmlListsResult& AddStringList(Aws::String&& value) { m_stringList.push_back(std::move(value)); return *this; } + inline XmlListsResult& AddStringList(const char* value) { m_stringList.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetStringSet() const{ return m_stringSet; } + inline void SetStringSet(const Aws::Vector& value) { m_stringSet = value; } + inline void SetStringSet(Aws::Vector&& value) { m_stringSet = std::move(value); } + inline XmlListsResult& WithStringSet(const Aws::Vector& value) { SetStringSet(value); return *this;} + inline XmlListsResult& WithStringSet(Aws::Vector&& value) { SetStringSet(std::move(value)); return *this;} + inline XmlListsResult& AddStringSet(const Aws::String& value) { m_stringSet.push_back(value); return *this; } + inline XmlListsResult& AddStringSet(Aws::String&& value) { m_stringSet.push_back(std::move(value)); return *this; } + inline XmlListsResult& AddStringSet(const char* value) { m_stringSet.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetIntegerList() const{ return m_integerList; } + inline void SetIntegerList(const Aws::Vector& value) { m_integerList = value; } + inline void SetIntegerList(Aws::Vector&& value) { m_integerList = std::move(value); } + inline XmlListsResult& WithIntegerList(const Aws::Vector& value) { SetIntegerList(value); return *this;} + inline XmlListsResult& WithIntegerList(Aws::Vector&& value) { SetIntegerList(std::move(value)); return *this;} + inline XmlListsResult& AddIntegerList(int value) { m_integerList.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetBooleanList() const{ return m_booleanList; } + inline void SetBooleanList(const Aws::Vector& value) { m_booleanList = value; } + inline void SetBooleanList(Aws::Vector&& value) { m_booleanList = std::move(value); } + inline XmlListsResult& WithBooleanList(const Aws::Vector& value) { SetBooleanList(value); return *this;} + inline XmlListsResult& WithBooleanList(Aws::Vector&& value) { SetBooleanList(std::move(value)); return *this;} + inline XmlListsResult& AddBooleanList(bool value) { m_booleanList.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetTimestampList() const{ return m_timestampList; } + inline void SetTimestampList(const Aws::Vector& value) { m_timestampList = value; } + inline void SetTimestampList(Aws::Vector&& value) { m_timestampList = std::move(value); } + inline XmlListsResult& WithTimestampList(const Aws::Vector& value) { SetTimestampList(value); return *this;} + inline XmlListsResult& WithTimestampList(Aws::Vector&& value) { SetTimestampList(std::move(value)); return *this;} + inline XmlListsResult& AddTimestampList(const Aws::Utils::DateTime& value) { m_timestampList.push_back(value); return *this; } + inline XmlListsResult& AddTimestampList(Aws::Utils::DateTime&& value) { m_timestampList.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetEnumList() const{ return m_enumList; } + inline void SetEnumList(const Aws::Vector& value) { m_enumList = value; } + inline void SetEnumList(Aws::Vector&& value) { m_enumList = std::move(value); } + inline XmlListsResult& WithEnumList(const Aws::Vector& value) { SetEnumList(value); return *this;} + inline XmlListsResult& WithEnumList(Aws::Vector&& value) { SetEnumList(std::move(value)); return *this;} + inline XmlListsResult& AddEnumList(const FooEnum& value) { m_enumList.push_back(value); return *this; } + inline XmlListsResult& AddEnumList(FooEnum&& value) { m_enumList.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetIntEnumList() const{ return m_intEnumList; } + inline void SetIntEnumList(const Aws::Vector& value) { m_intEnumList = value; } + inline void SetIntEnumList(Aws::Vector&& value) { m_intEnumList = std::move(value); } + inline XmlListsResult& WithIntEnumList(const Aws::Vector& value) { SetIntEnumList(value); return *this;} + inline XmlListsResult& WithIntEnumList(Aws::Vector&& value) { SetIntEnumList(std::move(value)); return *this;} + inline XmlListsResult& AddIntEnumList(int value) { m_intEnumList.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector>& GetNestedStringList() const{ return m_nestedStringList; } + inline void SetNestedStringList(const Aws::Vector>& value) { m_nestedStringList = value; } + inline void SetNestedStringList(Aws::Vector>&& value) { m_nestedStringList = std::move(value); } + inline XmlListsResult& WithNestedStringList(const Aws::Vector>& value) { SetNestedStringList(value); return *this;} + inline XmlListsResult& WithNestedStringList(Aws::Vector>&& value) { SetNestedStringList(std::move(value)); return *this;} + inline XmlListsResult& AddNestedStringList(const Aws::Vector& value) { m_nestedStringList.push_back(value); return *this; } + inline XmlListsResult& AddNestedStringList(Aws::Vector&& value) { m_nestedStringList.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetRenamedListMembers() const{ return m_renamedListMembers; } + inline void SetRenamedListMembers(const Aws::Vector& value) { m_renamedListMembers = value; } + inline void SetRenamedListMembers(Aws::Vector&& value) { m_renamedListMembers = std::move(value); } + inline XmlListsResult& WithRenamedListMembers(const Aws::Vector& value) { SetRenamedListMembers(value); return *this;} + inline XmlListsResult& WithRenamedListMembers(Aws::Vector&& value) { SetRenamedListMembers(std::move(value)); return *this;} + inline XmlListsResult& AddRenamedListMembers(const Aws::String& value) { m_renamedListMembers.push_back(value); return *this; } + inline XmlListsResult& AddRenamedListMembers(Aws::String&& value) { m_renamedListMembers.push_back(std::move(value)); return *this; } + inline XmlListsResult& AddRenamedListMembers(const char* value) { m_renamedListMembers.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetFlattenedList() const{ return m_flattenedList; } + inline void SetFlattenedList(const Aws::Vector& value) { m_flattenedList = value; } + inline void SetFlattenedList(Aws::Vector&& value) { m_flattenedList = std::move(value); } + inline XmlListsResult& WithFlattenedList(const Aws::Vector& value) { SetFlattenedList(value); return *this;} + inline XmlListsResult& WithFlattenedList(Aws::Vector&& value) { SetFlattenedList(std::move(value)); return *this;} + inline XmlListsResult& AddFlattenedList(const Aws::String& value) { m_flattenedList.push_back(value); return *this; } + inline XmlListsResult& AddFlattenedList(Aws::String&& value) { m_flattenedList.push_back(std::move(value)); return *this; } + inline XmlListsResult& AddFlattenedList(const char* value) { m_flattenedList.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetFlattenedList2() const{ return m_flattenedList2; } + inline void SetFlattenedList2(const Aws::Vector& value) { m_flattenedList2 = value; } + inline void SetFlattenedList2(Aws::Vector&& value) { m_flattenedList2 = std::move(value); } + inline XmlListsResult& WithFlattenedList2(const Aws::Vector& value) { SetFlattenedList2(value); return *this;} + inline XmlListsResult& WithFlattenedList2(Aws::Vector&& value) { SetFlattenedList2(std::move(value)); return *this;} + inline XmlListsResult& AddFlattenedList2(const Aws::String& value) { m_flattenedList2.push_back(value); return *this; } + inline XmlListsResult& AddFlattenedList2(Aws::String&& value) { m_flattenedList2.push_back(std::move(value)); return *this; } + inline XmlListsResult& AddFlattenedList2(const char* value) { m_flattenedList2.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetFlattenedListWithMemberNamespace() const{ return m_flattenedListWithMemberNamespace; } + inline void SetFlattenedListWithMemberNamespace(const Aws::Vector& value) { m_flattenedListWithMemberNamespace = value; } + inline void SetFlattenedListWithMemberNamespace(Aws::Vector&& value) { m_flattenedListWithMemberNamespace = std::move(value); } + inline XmlListsResult& WithFlattenedListWithMemberNamespace(const Aws::Vector& value) { SetFlattenedListWithMemberNamespace(value); return *this;} + inline XmlListsResult& WithFlattenedListWithMemberNamespace(Aws::Vector&& value) { SetFlattenedListWithMemberNamespace(std::move(value)); return *this;} + inline XmlListsResult& AddFlattenedListWithMemberNamespace(const Aws::String& value) { m_flattenedListWithMemberNamespace.push_back(value); return *this; } + inline XmlListsResult& AddFlattenedListWithMemberNamespace(Aws::String&& value) { m_flattenedListWithMemberNamespace.push_back(std::move(value)); return *this; } + inline XmlListsResult& AddFlattenedListWithMemberNamespace(const char* value) { m_flattenedListWithMemberNamespace.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetFlattenedListWithNamespace() const{ return m_flattenedListWithNamespace; } + inline void SetFlattenedListWithNamespace(const Aws::Vector& value) { m_flattenedListWithNamespace = value; } + inline void SetFlattenedListWithNamespace(Aws::Vector&& value) { m_flattenedListWithNamespace = std::move(value); } + inline XmlListsResult& WithFlattenedListWithNamespace(const Aws::Vector& value) { SetFlattenedListWithNamespace(value); return *this;} + inline XmlListsResult& WithFlattenedListWithNamespace(Aws::Vector&& value) { SetFlattenedListWithNamespace(std::move(value)); return *this;} + inline XmlListsResult& AddFlattenedListWithNamespace(const Aws::String& value) { m_flattenedListWithNamespace.push_back(value); return *this; } + inline XmlListsResult& AddFlattenedListWithNamespace(Aws::String&& value) { m_flattenedListWithNamespace.push_back(std::move(value)); return *this; } + inline XmlListsResult& AddFlattenedListWithNamespace(const char* value) { m_flattenedListWithNamespace.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetStructureList() const{ return m_structureList; } + inline void SetStructureList(const Aws::Vector& value) { m_structureList = value; } + inline void SetStructureList(Aws::Vector&& value) { m_structureList = std::move(value); } + inline XmlListsResult& WithStructureList(const Aws::Vector& value) { SetStructureList(value); return *this;} + inline XmlListsResult& WithStructureList(Aws::Vector&& value) { SetStructureList(std::move(value)); return *this;} + inline XmlListsResult& AddStructureList(const StructureListMember& value) { m_structureList.push_back(value); return *this; } + inline XmlListsResult& AddStructureList(StructureListMember&& value) { m_structureList.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + + inline const ResponseMetadata& GetResponseMetadata() const{ return m_responseMetadata; } + inline void SetResponseMetadata(const ResponseMetadata& value) { m_responseMetadata = value; } + inline void SetResponseMetadata(ResponseMetadata&& value) { m_responseMetadata = std::move(value); } + inline XmlListsResult& WithResponseMetadata(const ResponseMetadata& value) { SetResponseMetadata(value); return *this;} + inline XmlListsResult& WithResponseMetadata(ResponseMetadata&& value) { SetResponseMetadata(std::move(value)); return *this;} + ///@} + private: + + Aws::Vector m_stringList; + + Aws::Vector m_stringSet; + + Aws::Vector m_integerList; + + Aws::Vector m_booleanList; + + Aws::Vector m_timestampList; + + Aws::Vector m_enumList; + + Aws::Vector m_intEnumList; + + Aws::Vector> m_nestedStringList; + + Aws::Vector m_renamedListMembers; + + Aws::Vector m_flattenedList; + + Aws::Vector m_flattenedList2; + + Aws::Vector m_flattenedListWithMemberNamespace; + + Aws::Vector m_flattenedListWithNamespace; + + Aws::Vector m_structureList; + + ResponseMetadata m_responseMetadata; + }; + +} // namespace Model +} // namespace QueryProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/XmlMapsRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/XmlMapsRequest.h new file mode 100644 index 00000000000..17d0cd51733 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/XmlMapsRequest.h @@ -0,0 +1,40 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace QueryProtocol +{ +namespace Model +{ + + /** + */ + class XmlMapsRequest : public QueryProtocolRequest + { + public: + AWS_QUERYPROTOCOL_API XmlMapsRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "XmlMaps"; } + + AWS_QUERYPROTOCOL_API Aws::String SerializePayload() const override; + + protected: + AWS_QUERYPROTOCOL_API void DumpBodyToUrl(Aws::Http::URI& uri ) const override; + + public: + }; + +} // namespace Model +} // namespace QueryProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/XmlMapsResult.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/XmlMapsResult.h new file mode 100644 index 00000000000..fead74ba694 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/XmlMapsResult.h @@ -0,0 +1,70 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace QueryProtocol +{ +namespace Model +{ + class XmlMapsResult + { + public: + AWS_QUERYPROTOCOL_API XmlMapsResult(); + AWS_QUERYPROTOCOL_API XmlMapsResult(const Aws::AmazonWebServiceResult& result); + AWS_QUERYPROTOCOL_API XmlMapsResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::Map& GetMyMap() const{ return m_myMap; } + inline void SetMyMap(const Aws::Map& value) { m_myMap = value; } + inline void SetMyMap(Aws::Map&& value) { m_myMap = std::move(value); } + inline XmlMapsResult& WithMyMap(const Aws::Map& value) { SetMyMap(value); return *this;} + inline XmlMapsResult& WithMyMap(Aws::Map&& value) { SetMyMap(std::move(value)); return *this;} + inline XmlMapsResult& AddMyMap(const Aws::String& key, const GreetingStruct& value) { m_myMap.emplace(key, value); return *this; } + inline XmlMapsResult& AddMyMap(Aws::String&& key, const GreetingStruct& value) { m_myMap.emplace(std::move(key), value); return *this; } + inline XmlMapsResult& AddMyMap(const Aws::String& key, GreetingStruct&& value) { m_myMap.emplace(key, std::move(value)); return *this; } + inline XmlMapsResult& AddMyMap(Aws::String&& key, GreetingStruct&& value) { m_myMap.emplace(std::move(key), std::move(value)); return *this; } + inline XmlMapsResult& AddMyMap(const char* key, GreetingStruct&& value) { m_myMap.emplace(key, std::move(value)); return *this; } + inline XmlMapsResult& AddMyMap(const char* key, const GreetingStruct& value) { m_myMap.emplace(key, value); return *this; } + ///@} + + ///@{ + + inline const ResponseMetadata& GetResponseMetadata() const{ return m_responseMetadata; } + inline void SetResponseMetadata(const ResponseMetadata& value) { m_responseMetadata = value; } + inline void SetResponseMetadata(ResponseMetadata&& value) { m_responseMetadata = std::move(value); } + inline XmlMapsResult& WithResponseMetadata(const ResponseMetadata& value) { SetResponseMetadata(value); return *this;} + inline XmlMapsResult& WithResponseMetadata(ResponseMetadata&& value) { SetResponseMetadata(std::move(value)); return *this;} + ///@} + private: + + Aws::Map m_myMap; + + ResponseMetadata m_responseMetadata; + }; + +} // namespace Model +} // namespace QueryProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/XmlMapsXmlNameRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/XmlMapsXmlNameRequest.h new file mode 100644 index 00000000000..71b174376b9 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/XmlMapsXmlNameRequest.h @@ -0,0 +1,40 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace QueryProtocol +{ +namespace Model +{ + + /** + */ + class XmlMapsXmlNameRequest : public QueryProtocolRequest + { + public: + AWS_QUERYPROTOCOL_API XmlMapsXmlNameRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "XmlMapsXmlName"; } + + AWS_QUERYPROTOCOL_API Aws::String SerializePayload() const override; + + protected: + AWS_QUERYPROTOCOL_API void DumpBodyToUrl(Aws::Http::URI& uri ) const override; + + public: + }; + +} // namespace Model +} // namespace QueryProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/XmlMapsXmlNameResult.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/XmlMapsXmlNameResult.h new file mode 100644 index 00000000000..3f78530c303 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/XmlMapsXmlNameResult.h @@ -0,0 +1,70 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace QueryProtocol +{ +namespace Model +{ + class XmlMapsXmlNameResult + { + public: + AWS_QUERYPROTOCOL_API XmlMapsXmlNameResult(); + AWS_QUERYPROTOCOL_API XmlMapsXmlNameResult(const Aws::AmazonWebServiceResult& result); + AWS_QUERYPROTOCOL_API XmlMapsXmlNameResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::Map& GetMyMap() const{ return m_myMap; } + inline void SetMyMap(const Aws::Map& value) { m_myMap = value; } + inline void SetMyMap(Aws::Map&& value) { m_myMap = std::move(value); } + inline XmlMapsXmlNameResult& WithMyMap(const Aws::Map& value) { SetMyMap(value); return *this;} + inline XmlMapsXmlNameResult& WithMyMap(Aws::Map&& value) { SetMyMap(std::move(value)); return *this;} + inline XmlMapsXmlNameResult& AddMyMap(const Aws::String& key, const GreetingStruct& value) { m_myMap.emplace(key, value); return *this; } + inline XmlMapsXmlNameResult& AddMyMap(Aws::String&& key, const GreetingStruct& value) { m_myMap.emplace(std::move(key), value); return *this; } + inline XmlMapsXmlNameResult& AddMyMap(const Aws::String& key, GreetingStruct&& value) { m_myMap.emplace(key, std::move(value)); return *this; } + inline XmlMapsXmlNameResult& AddMyMap(Aws::String&& key, GreetingStruct&& value) { m_myMap.emplace(std::move(key), std::move(value)); return *this; } + inline XmlMapsXmlNameResult& AddMyMap(const char* key, GreetingStruct&& value) { m_myMap.emplace(key, std::move(value)); return *this; } + inline XmlMapsXmlNameResult& AddMyMap(const char* key, const GreetingStruct& value) { m_myMap.emplace(key, value); return *this; } + ///@} + + ///@{ + + inline const ResponseMetadata& GetResponseMetadata() const{ return m_responseMetadata; } + inline void SetResponseMetadata(const ResponseMetadata& value) { m_responseMetadata = value; } + inline void SetResponseMetadata(ResponseMetadata&& value) { m_responseMetadata = std::move(value); } + inline XmlMapsXmlNameResult& WithResponseMetadata(const ResponseMetadata& value) { SetResponseMetadata(value); return *this;} + inline XmlMapsXmlNameResult& WithResponseMetadata(ResponseMetadata&& value) { SetResponseMetadata(std::move(value)); return *this;} + ///@} + private: + + Aws::Map m_myMap; + + ResponseMetadata m_responseMetadata; + }; + +} // namespace Model +} // namespace QueryProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/XmlNamespaceNested.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/XmlNamespaceNested.h new file mode 100644 index 00000000000..6a865f9f4b9 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/XmlNamespaceNested.h @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace QueryProtocol +{ +namespace Model +{ + + class XmlNamespaceNested + { + public: + AWS_QUERYPROTOCOL_API XmlNamespaceNested(); + AWS_QUERYPROTOCOL_API XmlNamespaceNested(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_QUERYPROTOCOL_API XmlNamespaceNested& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + AWS_QUERYPROTOCOL_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const; + AWS_QUERYPROTOCOL_API void OutputToStream(Aws::OStream& oStream, const char* location) const; + + + ///@{ + + inline const Aws::String& GetFoo() const{ return m_foo; } + inline bool FooHasBeenSet() const { return m_fooHasBeenSet; } + inline void SetFoo(const Aws::String& value) { m_fooHasBeenSet = true; m_foo = value; } + inline void SetFoo(Aws::String&& value) { m_fooHasBeenSet = true; m_foo = std::move(value); } + inline void SetFoo(const char* value) { m_fooHasBeenSet = true; m_foo.assign(value); } + inline XmlNamespaceNested& WithFoo(const Aws::String& value) { SetFoo(value); return *this;} + inline XmlNamespaceNested& WithFoo(Aws::String&& value) { SetFoo(std::move(value)); return *this;} + inline XmlNamespaceNested& WithFoo(const char* value) { SetFoo(value); return *this;} + ///@} + + ///@{ + + inline const Aws::Vector& GetValues() const{ return m_values; } + inline bool ValuesHasBeenSet() const { return m_valuesHasBeenSet; } + inline void SetValues(const Aws::Vector& value) { m_valuesHasBeenSet = true; m_values = value; } + inline void SetValues(Aws::Vector&& value) { m_valuesHasBeenSet = true; m_values = std::move(value); } + inline XmlNamespaceNested& WithValues(const Aws::Vector& value) { SetValues(value); return *this;} + inline XmlNamespaceNested& WithValues(Aws::Vector&& value) { SetValues(std::move(value)); return *this;} + inline XmlNamespaceNested& AddValues(const Aws::String& value) { m_valuesHasBeenSet = true; m_values.push_back(value); return *this; } + inline XmlNamespaceNested& AddValues(Aws::String&& value) { m_valuesHasBeenSet = true; m_values.push_back(std::move(value)); return *this; } + inline XmlNamespaceNested& AddValues(const char* value) { m_valuesHasBeenSet = true; m_values.push_back(value); return *this; } + ///@} + private: + + Aws::String m_foo; + bool m_fooHasBeenSet = false; + + Aws::Vector m_values; + bool m_valuesHasBeenSet = false; + }; + +} // namespace Model +} // namespace QueryProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/XmlNamespacesRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/XmlNamespacesRequest.h new file mode 100644 index 00000000000..908c52df095 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/XmlNamespacesRequest.h @@ -0,0 +1,40 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace QueryProtocol +{ +namespace Model +{ + + /** + */ + class XmlNamespacesRequest : public QueryProtocolRequest + { + public: + AWS_QUERYPROTOCOL_API XmlNamespacesRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "XmlNamespaces"; } + + AWS_QUERYPROTOCOL_API Aws::String SerializePayload() const override; + + protected: + AWS_QUERYPROTOCOL_API void DumpBodyToUrl(Aws::Http::URI& uri ) const override; + + public: + }; + +} // namespace Model +} // namespace QueryProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/XmlNamespacesResult.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/XmlNamespacesResult.h new file mode 100644 index 00000000000..2efd6bd0266 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/XmlNamespacesResult.h @@ -0,0 +1,62 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace QueryProtocol +{ +namespace Model +{ + class XmlNamespacesResult + { + public: + AWS_QUERYPROTOCOL_API XmlNamespacesResult(); + AWS_QUERYPROTOCOL_API XmlNamespacesResult(const Aws::AmazonWebServiceResult& result); + AWS_QUERYPROTOCOL_API XmlNamespacesResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const XmlNamespaceNested& GetNested() const{ return m_nested; } + inline void SetNested(const XmlNamespaceNested& value) { m_nested = value; } + inline void SetNested(XmlNamespaceNested&& value) { m_nested = std::move(value); } + inline XmlNamespacesResult& WithNested(const XmlNamespaceNested& value) { SetNested(value); return *this;} + inline XmlNamespacesResult& WithNested(XmlNamespaceNested&& value) { SetNested(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const ResponseMetadata& GetResponseMetadata() const{ return m_responseMetadata; } + inline void SetResponseMetadata(const ResponseMetadata& value) { m_responseMetadata = value; } + inline void SetResponseMetadata(ResponseMetadata&& value) { m_responseMetadata = std::move(value); } + inline XmlNamespacesResult& WithResponseMetadata(const ResponseMetadata& value) { SetResponseMetadata(value); return *this;} + inline XmlNamespacesResult& WithResponseMetadata(ResponseMetadata&& value) { SetResponseMetadata(std::move(value)); return *this;} + ///@} + private: + + XmlNamespaceNested m_nested; + + ResponseMetadata m_responseMetadata; + }; + +} // namespace Model +} // namespace QueryProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/XmlTimestampsRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/XmlTimestampsRequest.h new file mode 100644 index 00000000000..469a53bda07 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/XmlTimestampsRequest.h @@ -0,0 +1,40 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace QueryProtocol +{ +namespace Model +{ + + /** + */ + class XmlTimestampsRequest : public QueryProtocolRequest + { + public: + AWS_QUERYPROTOCOL_API XmlTimestampsRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "XmlTimestamps"; } + + AWS_QUERYPROTOCOL_API Aws::String SerializePayload() const override; + + protected: + AWS_QUERYPROTOCOL_API void DumpBodyToUrl(Aws::Http::URI& uri ) const override; + + public: + }; + +} // namespace Model +} // namespace QueryProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/XmlTimestampsResult.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/XmlTimestampsResult.h new file mode 100644 index 00000000000..6d835179a90 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/model/XmlTimestampsResult.h @@ -0,0 +1,128 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace QueryProtocol +{ +namespace Model +{ + class XmlTimestampsResult + { + public: + AWS_QUERYPROTOCOL_API XmlTimestampsResult(); + AWS_QUERYPROTOCOL_API XmlTimestampsResult(const Aws::AmazonWebServiceResult& result); + AWS_QUERYPROTOCOL_API XmlTimestampsResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::Utils::DateTime& GetNormal() const{ return m_normal; } + inline void SetNormal(const Aws::Utils::DateTime& value) { m_normal = value; } + inline void SetNormal(Aws::Utils::DateTime&& value) { m_normal = std::move(value); } + inline XmlTimestampsResult& WithNormal(const Aws::Utils::DateTime& value) { SetNormal(value); return *this;} + inline XmlTimestampsResult& WithNormal(Aws::Utils::DateTime&& value) { SetNormal(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::Utils::DateTime& GetDateTime() const{ return m_dateTime; } + inline void SetDateTime(const Aws::Utils::DateTime& value) { m_dateTime = value; } + inline void SetDateTime(Aws::Utils::DateTime&& value) { m_dateTime = std::move(value); } + inline XmlTimestampsResult& WithDateTime(const Aws::Utils::DateTime& value) { SetDateTime(value); return *this;} + inline XmlTimestampsResult& WithDateTime(Aws::Utils::DateTime&& value) { SetDateTime(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::Utils::DateTime& GetDateTimeOnTarget() const{ return m_dateTimeOnTarget; } + inline void SetDateTimeOnTarget(const Aws::Utils::DateTime& value) { m_dateTimeOnTarget = value; } + inline void SetDateTimeOnTarget(Aws::Utils::DateTime&& value) { m_dateTimeOnTarget = std::move(value); } + inline XmlTimestampsResult& WithDateTimeOnTarget(const Aws::Utils::DateTime& value) { SetDateTimeOnTarget(value); return *this;} + inline XmlTimestampsResult& WithDateTimeOnTarget(Aws::Utils::DateTime&& value) { SetDateTimeOnTarget(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::Utils::DateTime& GetEpochSeconds() const{ return m_epochSeconds; } + inline void SetEpochSeconds(const Aws::Utils::DateTime& value) { m_epochSeconds = value; } + inline void SetEpochSeconds(Aws::Utils::DateTime&& value) { m_epochSeconds = std::move(value); } + inline XmlTimestampsResult& WithEpochSeconds(const Aws::Utils::DateTime& value) { SetEpochSeconds(value); return *this;} + inline XmlTimestampsResult& WithEpochSeconds(Aws::Utils::DateTime&& value) { SetEpochSeconds(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::Utils::DateTime& GetEpochSecondsOnTarget() const{ return m_epochSecondsOnTarget; } + inline void SetEpochSecondsOnTarget(const Aws::Utils::DateTime& value) { m_epochSecondsOnTarget = value; } + inline void SetEpochSecondsOnTarget(Aws::Utils::DateTime&& value) { m_epochSecondsOnTarget = std::move(value); } + inline XmlTimestampsResult& WithEpochSecondsOnTarget(const Aws::Utils::DateTime& value) { SetEpochSecondsOnTarget(value); return *this;} + inline XmlTimestampsResult& WithEpochSecondsOnTarget(Aws::Utils::DateTime&& value) { SetEpochSecondsOnTarget(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::Utils::DateTime& GetHttpDate() const{ return m_httpDate; } + inline void SetHttpDate(const Aws::Utils::DateTime& value) { m_httpDate = value; } + inline void SetHttpDate(Aws::Utils::DateTime&& value) { m_httpDate = std::move(value); } + inline XmlTimestampsResult& WithHttpDate(const Aws::Utils::DateTime& value) { SetHttpDate(value); return *this;} + inline XmlTimestampsResult& WithHttpDate(Aws::Utils::DateTime&& value) { SetHttpDate(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::Utils::DateTime& GetHttpDateOnTarget() const{ return m_httpDateOnTarget; } + inline void SetHttpDateOnTarget(const Aws::Utils::DateTime& value) { m_httpDateOnTarget = value; } + inline void SetHttpDateOnTarget(Aws::Utils::DateTime&& value) { m_httpDateOnTarget = std::move(value); } + inline XmlTimestampsResult& WithHttpDateOnTarget(const Aws::Utils::DateTime& value) { SetHttpDateOnTarget(value); return *this;} + inline XmlTimestampsResult& WithHttpDateOnTarget(Aws::Utils::DateTime&& value) { SetHttpDateOnTarget(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const ResponseMetadata& GetResponseMetadata() const{ return m_responseMetadata; } + inline void SetResponseMetadata(const ResponseMetadata& value) { m_responseMetadata = value; } + inline void SetResponseMetadata(ResponseMetadata&& value) { m_responseMetadata = std::move(value); } + inline XmlTimestampsResult& WithResponseMetadata(const ResponseMetadata& value) { SetResponseMetadata(value); return *this;} + inline XmlTimestampsResult& WithResponseMetadata(ResponseMetadata&& value) { SetResponseMetadata(std::move(value)); return *this;} + ///@} + private: + + Aws::Utils::DateTime m_normal; + + Aws::Utils::DateTime m_dateTime; + + Aws::Utils::DateTime m_dateTimeOnTarget; + + Aws::Utils::DateTime m_epochSeconds; + + Aws::Utils::DateTime m_epochSecondsOnTarget; + + Aws::Utils::DateTime m_httpDate; + + Aws::Utils::DateTime m_httpDateOnTarget; + + ResponseMetadata m_responseMetadata; + }; + +} // namespace Model +} // namespace QueryProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/QueryProtocolClient.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/QueryProtocolClient.cpp new file mode 100644 index 00000000000..759ef480546 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/QueryProtocolClient.cpp @@ -0,0 +1,1084 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include + + +using namespace Aws; +using namespace Aws::Auth; +using namespace Aws::Client; +using namespace Aws::QueryProtocol; +using namespace Aws::QueryProtocol::Model; +using namespace Aws::Http; +using namespace Aws::Utils::Xml; +using namespace smithy::components::tracing; +using ResolveEndpointOutcome = Aws::Endpoint::ResolveEndpointOutcome; + + +namespace Aws +{ + namespace QueryProtocol + { + const char SERVICE_NAME[] = "awsquery"; + const char ALLOCATION_TAG[] = "QueryProtocolClient"; + } +} +const char* QueryProtocolClient::GetServiceName() {return SERVICE_NAME;} +const char* QueryProtocolClient::GetAllocationTag() {return ALLOCATION_TAG;} + +QueryProtocolClient::QueryProtocolClient(const QueryProtocol::QueryProtocolClientConfiguration& clientConfiguration, + std::shared_ptr endpointProvider) : + BASECLASS(clientConfiguration, + Aws::MakeShared(ALLOCATION_TAG, + Aws::MakeShared(ALLOCATION_TAG), + SERVICE_NAME, + Aws::Region::ComputeSignerRegion(clientConfiguration.region)), + Aws::MakeShared(ALLOCATION_TAG)), + m_clientConfiguration(clientConfiguration), + m_endpointProvider(endpointProvider ? std::move(endpointProvider) : Aws::MakeShared(ALLOCATION_TAG)) +{ + init(m_clientConfiguration); +} + +QueryProtocolClient::QueryProtocolClient(const AWSCredentials& credentials, + std::shared_ptr endpointProvider, + const QueryProtocol::QueryProtocolClientConfiguration& clientConfiguration) : + BASECLASS(clientConfiguration, + Aws::MakeShared(ALLOCATION_TAG, + Aws::MakeShared(ALLOCATION_TAG, credentials), + SERVICE_NAME, + Aws::Region::ComputeSignerRegion(clientConfiguration.region)), + Aws::MakeShared(ALLOCATION_TAG)), + m_clientConfiguration(clientConfiguration), + m_endpointProvider(endpointProvider ? std::move(endpointProvider) : Aws::MakeShared(ALLOCATION_TAG)) +{ + init(m_clientConfiguration); +} + +QueryProtocolClient::QueryProtocolClient(const std::shared_ptr& credentialsProvider, + std::shared_ptr endpointProvider, + const QueryProtocol::QueryProtocolClientConfiguration& clientConfiguration) : + BASECLASS(clientConfiguration, + Aws::MakeShared(ALLOCATION_TAG, + credentialsProvider, + SERVICE_NAME, + Aws::Region::ComputeSignerRegion(clientConfiguration.region)), + Aws::MakeShared(ALLOCATION_TAG)), + m_clientConfiguration(clientConfiguration), + m_endpointProvider(endpointProvider ? std::move(endpointProvider) : Aws::MakeShared(ALLOCATION_TAG)) +{ + init(m_clientConfiguration); +} + + /* Legacy constructors due deprecation */ + QueryProtocolClient::QueryProtocolClient(const Client::ClientConfiguration& clientConfiguration) : + BASECLASS(clientConfiguration, + Aws::MakeShared(ALLOCATION_TAG, + Aws::MakeShared(ALLOCATION_TAG), + SERVICE_NAME, + Aws::Region::ComputeSignerRegion(clientConfiguration.region)), + Aws::MakeShared(ALLOCATION_TAG)), + m_clientConfiguration(clientConfiguration), + m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) +{ + init(m_clientConfiguration); +} + +QueryProtocolClient::QueryProtocolClient(const AWSCredentials& credentials, + const Client::ClientConfiguration& clientConfiguration) : + BASECLASS(clientConfiguration, + Aws::MakeShared(ALLOCATION_TAG, + Aws::MakeShared(ALLOCATION_TAG, credentials), + SERVICE_NAME, + Aws::Region::ComputeSignerRegion(clientConfiguration.region)), + Aws::MakeShared(ALLOCATION_TAG)), + m_clientConfiguration(clientConfiguration), + m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) +{ + init(m_clientConfiguration); +} + +QueryProtocolClient::QueryProtocolClient(const std::shared_ptr& credentialsProvider, + const Client::ClientConfiguration& clientConfiguration) : + BASECLASS(clientConfiguration, + Aws::MakeShared(ALLOCATION_TAG, + credentialsProvider, + SERVICE_NAME, + Aws::Region::ComputeSignerRegion(clientConfiguration.region)), + Aws::MakeShared(ALLOCATION_TAG)), + m_clientConfiguration(clientConfiguration), + m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) +{ + init(m_clientConfiguration); +} + + /* End of legacy constructors due deprecation */ +QueryProtocolClient::~QueryProtocolClient() +{ + ShutdownSdkClient(this, -1); +} + +std::shared_ptr& QueryProtocolClient::accessEndpointProvider() +{ + return m_endpointProvider; +} + +void QueryProtocolClient::init(const QueryProtocol::QueryProtocolClientConfiguration& config) +{ + AWSClient::SetServiceClientName("Query Protocol"); + if (!m_clientConfiguration.executor) { + if (!m_clientConfiguration.configFactories.executorCreateFn()) { + AWS_LOGSTREAM_FATAL(ALLOCATION_TAG, "Failed to initialize client: config is missing Executor or executorCreateFn"); + m_isInitialized = false; + return; + } + m_clientConfiguration.executor = m_clientConfiguration.configFactories.executorCreateFn(); + } + AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); + m_endpointProvider->InitBuiltInParameters(config); +} + +void QueryProtocolClient::OverrideEndpoint(const Aws::String& endpoint) +{ + AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); + m_endpointProvider->OverrideEndpoint(endpoint); +} + +Aws::String QueryProtocolClient::ConvertRequestToPresignedUrl(const AmazonSerializableWebServiceRequest& requestToConvert, const char* region) const +{ + if (!m_endpointProvider) + { + AWS_LOGSTREAM_ERROR(ALLOCATION_TAG, "Presigned URL generating failed. Endpoint provider is not initialized."); + return ""; + } + Aws::Endpoint::EndpointParameters endpointParameters; + endpointParameters.emplace_back(Aws::Endpoint::EndpointParameter("Region", Aws::String(region))); + ResolveEndpointOutcome endpointResolutionOutcome = m_endpointProvider->ResolveEndpoint(endpointParameters); + if (!endpointResolutionOutcome.IsSuccess()) + { + AWS_LOGSTREAM_ERROR(ALLOCATION_TAG, "Endpoint resolution failed: " << endpointResolutionOutcome.GetError().GetMessage()); + return ""; + } + Aws::StringStream ss; + ss << "?" << requestToConvert.SerializePayload(); + endpointResolutionOutcome.GetResult().SetQueryString(ss.str()); + + return GeneratePresignedUrl(endpointResolutionOutcome.GetResult().GetURI(), Aws::Http::HttpMethod::HTTP_GET, region, 3600); +} + +DatetimeOffsetsOutcome QueryProtocolClient::DatetimeOffsets(const DatetimeOffsetsRequest& request) const +{ + AWS_OPERATION_GUARD(DatetimeOffsets); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, DatetimeOffsets, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, DatetimeOffsets, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, DatetimeOffsets, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> DatetimeOffsetsOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, DatetimeOffsets, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return DatetimeOffsetsOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +EmptyInputAndEmptyOutputOutcome QueryProtocolClient::EmptyInputAndEmptyOutput(const EmptyInputAndEmptyOutputRequest& request) const +{ + AWS_OPERATION_GUARD(EmptyInputAndEmptyOutput); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, EmptyInputAndEmptyOutput, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, EmptyInputAndEmptyOutput, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, EmptyInputAndEmptyOutput, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> EmptyInputAndEmptyOutputOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, EmptyInputAndEmptyOutput, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return EmptyInputAndEmptyOutputOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +EndpointOperationOutcome QueryProtocolClient::EndpointOperation(const EndpointOperationRequest& request) const +{ + AWS_OPERATION_GUARD(EndpointOperation); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, EndpointOperation, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, EndpointOperation, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, EndpointOperation, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> EndpointOperationOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, EndpointOperation, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + auto addPrefixErr = endpointResolutionOutcome.GetResult().AddPrefixIfMissing("foo."); + AWS_CHECK(SERVICE_NAME, !addPrefixErr, addPrefixErr->GetMessage(), EndpointOperationOutcome(addPrefixErr.value())); + return EndpointOperationOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +EndpointWithHostLabelOperationOutcome QueryProtocolClient::EndpointWithHostLabelOperation(const EndpointWithHostLabelOperationRequest& request) const +{ + AWS_OPERATION_GUARD(EndpointWithHostLabelOperation); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, EndpointWithHostLabelOperation, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, EndpointWithHostLabelOperation, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, EndpointWithHostLabelOperation, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> EndpointWithHostLabelOperationOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, EndpointWithHostLabelOperation, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + auto addPrefixErr = endpointResolutionOutcome.GetResult().AddPrefixIfMissing("foo." + request.GetLabel() + "."); + AWS_CHECK(SERVICE_NAME, !addPrefixErr, addPrefixErr->GetMessage(), EndpointWithHostLabelOperationOutcome(addPrefixErr.value())); + return EndpointWithHostLabelOperationOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +FlattenedXmlMapOutcome QueryProtocolClient::FlattenedXmlMap(const FlattenedXmlMapRequest& request) const +{ + AWS_OPERATION_GUARD(FlattenedXmlMap); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, FlattenedXmlMap, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, FlattenedXmlMap, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, FlattenedXmlMap, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> FlattenedXmlMapOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, FlattenedXmlMap, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return FlattenedXmlMapOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +FlattenedXmlMapWithXmlNameOutcome QueryProtocolClient::FlattenedXmlMapWithXmlName(const FlattenedXmlMapWithXmlNameRequest& request) const +{ + AWS_OPERATION_GUARD(FlattenedXmlMapWithXmlName); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, FlattenedXmlMapWithXmlName, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, FlattenedXmlMapWithXmlName, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, FlattenedXmlMapWithXmlName, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> FlattenedXmlMapWithXmlNameOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, FlattenedXmlMapWithXmlName, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return FlattenedXmlMapWithXmlNameOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +FlattenedXmlMapWithXmlNamespaceOutcome QueryProtocolClient::FlattenedXmlMapWithXmlNamespace(const FlattenedXmlMapWithXmlNamespaceRequest& request) const +{ + AWS_OPERATION_GUARD(FlattenedXmlMapWithXmlNamespace); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, FlattenedXmlMapWithXmlNamespace, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, FlattenedXmlMapWithXmlNamespace, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, FlattenedXmlMapWithXmlNamespace, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> FlattenedXmlMapWithXmlNamespaceOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, FlattenedXmlMapWithXmlNamespace, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return FlattenedXmlMapWithXmlNamespaceOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +FractionalSecondsOutcome QueryProtocolClient::FractionalSeconds(const FractionalSecondsRequest& request) const +{ + AWS_OPERATION_GUARD(FractionalSeconds); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, FractionalSeconds, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, FractionalSeconds, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, FractionalSeconds, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> FractionalSecondsOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, FractionalSeconds, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return FractionalSecondsOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +GreetingWithErrorsOutcome QueryProtocolClient::GreetingWithErrors(const GreetingWithErrorsRequest& request) const +{ + AWS_OPERATION_GUARD(GreetingWithErrors); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GreetingWithErrors, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, GreetingWithErrors, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, GreetingWithErrors, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> GreetingWithErrorsOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, GreetingWithErrors, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return GreetingWithErrorsOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +HostWithPathOperationOutcome QueryProtocolClient::HostWithPathOperation(const HostWithPathOperationRequest& request) const +{ + AWS_OPERATION_GUARD(HostWithPathOperation); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, HostWithPathOperation, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, HostWithPathOperation, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, HostWithPathOperation, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> HostWithPathOperationOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, HostWithPathOperation, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return HostWithPathOperationOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +IgnoresWrappingXmlNameOutcome QueryProtocolClient::IgnoresWrappingXmlName(const IgnoresWrappingXmlNameRequest& request) const +{ + AWS_OPERATION_GUARD(IgnoresWrappingXmlName); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, IgnoresWrappingXmlName, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, IgnoresWrappingXmlName, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, IgnoresWrappingXmlName, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> IgnoresWrappingXmlNameOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, IgnoresWrappingXmlName, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return IgnoresWrappingXmlNameOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +NestedStructuresOutcome QueryProtocolClient::NestedStructures(const NestedStructuresRequest& request) const +{ + AWS_OPERATION_GUARD(NestedStructures); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, NestedStructures, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, NestedStructures, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, NestedStructures, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> NestedStructuresOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, NestedStructures, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return NestedStructuresOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +NoInputAndNoOutputOutcome QueryProtocolClient::NoInputAndNoOutput(const NoInputAndNoOutputRequest& request) const +{ + AWS_OPERATION_GUARD(NoInputAndNoOutput); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, NoInputAndNoOutput, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, NoInputAndNoOutput, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, NoInputAndNoOutput, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> NoInputAndNoOutputOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, NoInputAndNoOutput, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return NoInputAndNoOutputOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +NoInputAndOutputOutcome QueryProtocolClient::NoInputAndOutput(const NoInputAndOutputRequest& request) const +{ + AWS_OPERATION_GUARD(NoInputAndOutput); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, NoInputAndOutput, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, NoInputAndOutput, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, NoInputAndOutput, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> NoInputAndOutputOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, NoInputAndOutput, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return NoInputAndOutputOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +PutWithContentEncodingOutcome QueryProtocolClient::PutWithContentEncoding(const PutWithContentEncodingRequest& request) const +{ + AWS_OPERATION_GUARD(PutWithContentEncoding); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, PutWithContentEncoding, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, PutWithContentEncoding, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, PutWithContentEncoding, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> PutWithContentEncodingOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, PutWithContentEncoding, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return PutWithContentEncodingOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +QueryIdempotencyTokenAutoFillOutcome QueryProtocolClient::QueryIdempotencyTokenAutoFill(const QueryIdempotencyTokenAutoFillRequest& request) const +{ + AWS_OPERATION_GUARD(QueryIdempotencyTokenAutoFill); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, QueryIdempotencyTokenAutoFill, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, QueryIdempotencyTokenAutoFill, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, QueryIdempotencyTokenAutoFill, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> QueryIdempotencyTokenAutoFillOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, QueryIdempotencyTokenAutoFill, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return QueryIdempotencyTokenAutoFillOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +QueryListsOutcome QueryProtocolClient::QueryLists(const QueryListsRequest& request) const +{ + AWS_OPERATION_GUARD(QueryLists); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, QueryLists, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, QueryLists, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, QueryLists, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> QueryListsOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, QueryLists, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return QueryListsOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +QueryMapsOutcome QueryProtocolClient::QueryMaps(const QueryMapsRequest& request) const +{ + AWS_OPERATION_GUARD(QueryMaps); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, QueryMaps, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, QueryMaps, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, QueryMaps, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> QueryMapsOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, QueryMaps, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return QueryMapsOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +QueryTimestampsOutcome QueryProtocolClient::QueryTimestamps(const QueryTimestampsRequest& request) const +{ + AWS_OPERATION_GUARD(QueryTimestamps); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, QueryTimestamps, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, QueryTimestamps, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, QueryTimestamps, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> QueryTimestampsOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, QueryTimestamps, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return QueryTimestampsOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +RecursiveXmlShapesOutcome QueryProtocolClient::RecursiveXmlShapes(const RecursiveXmlShapesRequest& request) const +{ + AWS_OPERATION_GUARD(RecursiveXmlShapes); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, RecursiveXmlShapes, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, RecursiveXmlShapes, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, RecursiveXmlShapes, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> RecursiveXmlShapesOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, RecursiveXmlShapes, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return RecursiveXmlShapesOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +SimpleInputParamsOutcome QueryProtocolClient::SimpleInputParams(const SimpleInputParamsRequest& request) const +{ + AWS_OPERATION_GUARD(SimpleInputParams); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, SimpleInputParams, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, SimpleInputParams, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, SimpleInputParams, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> SimpleInputParamsOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, SimpleInputParams, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return SimpleInputParamsOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +SimpleScalarXmlPropertiesOutcome QueryProtocolClient::SimpleScalarXmlProperties(const SimpleScalarXmlPropertiesRequest& request) const +{ + AWS_OPERATION_GUARD(SimpleScalarXmlProperties); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, SimpleScalarXmlProperties, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, SimpleScalarXmlProperties, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, SimpleScalarXmlProperties, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> SimpleScalarXmlPropertiesOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, SimpleScalarXmlProperties, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return SimpleScalarXmlPropertiesOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +XmlBlobsOutcome QueryProtocolClient::XmlBlobs(const XmlBlobsRequest& request) const +{ + AWS_OPERATION_GUARD(XmlBlobs); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, XmlBlobs, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, XmlBlobs, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, XmlBlobs, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> XmlBlobsOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, XmlBlobs, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return XmlBlobsOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +XmlEmptyBlobsOutcome QueryProtocolClient::XmlEmptyBlobs(const XmlEmptyBlobsRequest& request) const +{ + AWS_OPERATION_GUARD(XmlEmptyBlobs); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, XmlEmptyBlobs, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, XmlEmptyBlobs, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, XmlEmptyBlobs, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> XmlEmptyBlobsOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, XmlEmptyBlobs, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return XmlEmptyBlobsOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +XmlEmptyListsOutcome QueryProtocolClient::XmlEmptyLists(const XmlEmptyListsRequest& request) const +{ + AWS_OPERATION_GUARD(XmlEmptyLists); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, XmlEmptyLists, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, XmlEmptyLists, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, XmlEmptyLists, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> XmlEmptyListsOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, XmlEmptyLists, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return XmlEmptyListsOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +XmlEmptyMapsOutcome QueryProtocolClient::XmlEmptyMaps(const XmlEmptyMapsRequest& request) const +{ + AWS_OPERATION_GUARD(XmlEmptyMaps); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, XmlEmptyMaps, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, XmlEmptyMaps, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, XmlEmptyMaps, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> XmlEmptyMapsOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, XmlEmptyMaps, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return XmlEmptyMapsOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +XmlEnumsOutcome QueryProtocolClient::XmlEnums(const XmlEnumsRequest& request) const +{ + AWS_OPERATION_GUARD(XmlEnums); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, XmlEnums, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, XmlEnums, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, XmlEnums, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> XmlEnumsOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, XmlEnums, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return XmlEnumsOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +XmlIntEnumsOutcome QueryProtocolClient::XmlIntEnums(const XmlIntEnumsRequest& request) const +{ + AWS_OPERATION_GUARD(XmlIntEnums); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, XmlIntEnums, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, XmlIntEnums, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, XmlIntEnums, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> XmlIntEnumsOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, XmlIntEnums, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return XmlIntEnumsOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +XmlListsOutcome QueryProtocolClient::XmlLists(const XmlListsRequest& request) const +{ + AWS_OPERATION_GUARD(XmlLists); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, XmlLists, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, XmlLists, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, XmlLists, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> XmlListsOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, XmlLists, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return XmlListsOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +XmlMapsOutcome QueryProtocolClient::XmlMaps(const XmlMapsRequest& request) const +{ + AWS_OPERATION_GUARD(XmlMaps); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, XmlMaps, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, XmlMaps, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, XmlMaps, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> XmlMapsOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, XmlMaps, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return XmlMapsOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +XmlMapsXmlNameOutcome QueryProtocolClient::XmlMapsXmlName(const XmlMapsXmlNameRequest& request) const +{ + AWS_OPERATION_GUARD(XmlMapsXmlName); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, XmlMapsXmlName, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, XmlMapsXmlName, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, XmlMapsXmlName, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> XmlMapsXmlNameOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, XmlMapsXmlName, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return XmlMapsXmlNameOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +XmlNamespacesOutcome QueryProtocolClient::XmlNamespaces(const XmlNamespacesRequest& request) const +{ + AWS_OPERATION_GUARD(XmlNamespaces); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, XmlNamespaces, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, XmlNamespaces, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, XmlNamespaces, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> XmlNamespacesOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, XmlNamespaces, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return XmlNamespacesOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +XmlTimestampsOutcome QueryProtocolClient::XmlTimestamps(const XmlTimestampsRequest& request) const +{ + AWS_OPERATION_GUARD(XmlTimestamps); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, XmlTimestamps, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, XmlTimestamps, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, XmlTimestamps, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> XmlTimestampsOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, XmlTimestamps, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return XmlTimestampsOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/QueryProtocolEndpointProvider.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/QueryProtocolEndpointProvider.cpp new file mode 100644 index 00000000000..e645e950819 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/QueryProtocolEndpointProvider.cpp @@ -0,0 +1,16 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws +{ +namespace QueryProtocol +{ +namespace Endpoint +{ +} // namespace Endpoint +} // namespace QueryProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/QueryProtocolEndpointRules.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/QueryProtocolEndpointRules.cpp new file mode 100644 index 00000000000..0940c3d359d --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/QueryProtocolEndpointRules.cpp @@ -0,0 +1,70 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +namespace Aws +{ +namespace QueryProtocol +{ +const size_t QueryProtocolEndpointRules::RulesBlobStrLen = 1086; +const size_t QueryProtocolEndpointRules::RulesBlobSize = 1087; + +using RulesBlobT = Aws::Array; +static constexpr RulesBlobT RulesBlob = {{ +'{','"','v','e','r','s','i','o','n','"',':','"','1','.','3','"',',','"','p','a','r','a','m','e','t', +'e','r','s','"',':','{','"','R','e','g','i','o','n','"',':','{','"','b','u','i','l','t','I','n','"', +':','"','A','W','S',':',':','R','e','g','i','o','n','"',',','"','r','e','q','u','i','r','e','d','"', +':','t','r','u','e',',','"','d','o','c','u','m','e','n','t','a','t','i','o','n','"',':','"','T','h', +'e',' ','A','W','S',' ','r','e','g','i','o','n',' ','u','s','e','d',' ','t','o',' ','d','i','s','p', +'a','t','c','h',' ','t','h','e',' ','r','e','q','u','e','s','t','.','"',',','"','t','y','p','e','"', +':','"','S','t','r','i','n','g','"','}',',','"','U','s','e','D','u','a','l','S','t','a','c','k','"', +':','{','"','b','u','i','l','t','I','n','"',':','"','A','W','S',':',':','U','s','e','D','u','a','l', +'S','t','a','c','k','"',',','"','r','e','q','u','i','r','e','d','"',':','t','r','u','e',',','"','d', +'e','f','a','u','l','t','"',':','f','a','l','s','e',',','"','d','o','c','u','m','e','n','t','a','t', +'i','o','n','"',':','"','W','h','e','n',' ','t','r','u','e',',',' ','u','s','e',' ','t','h','e',' ', +'d','u','a','l','-','s','t','a','c','k',' ','e','n','d','p','o','i','n','t','.',' ','I','f',' ','t', +'h','e',' ','c','o','n','f','i','g','u','r','e','d',' ','e','n','d','p','o','i','n','t',' ','d','o', +'e','s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ','d','u','a','l','-','s','t','a','c','k', +',',' ','d','i','s','p','a','t','c','h','i','n','g',' ','t','h','e',' ','r','e','q','u','e','s','t', +' ','M','A','Y',' ','r','e','t','u','r','n',' ','a','n',' ','e','r','r','o','r','.','"',',','"','t', +'y','p','e','"',':','"','B','o','o','l','e','a','n','"','}',',','"','U','s','e','F','I','P','S','"', +':','{','"','b','u','i','l','t','I','n','"',':','"','A','W','S',':',':','U','s','e','F','I','P','S', +'"',',','"','r','e','q','u','i','r','e','d','"',':','t','r','u','e',',','"','d','e','f','a','u','l', +'t','"',':','f','a','l','s','e',',','"','d','o','c','u','m','e','n','t','a','t','i','o','n','"',':', +'"','W','h','e','n',' ','t','r','u','e',',',' ','s','e','n','d',' ','t','h','i','s',' ','r','e','q', +'u','e','s','t',' ','t','o',' ','t','h','e',' ','F','I','P','S','-','c','o','m','p','l','i','a','n', +'t',' ','r','e','g','i','o','n','a','l',' ','e','n','d','p','o','i','n','t','.',' ','I','f',' ','t', +'h','e',' ','c','o','n','f','i','g','u','r','e','d',' ','e','n','d','p','o','i','n','t',' ','d','o', +'e','s',' ','n','o','t',' ','h','a','v','e',' ','a',' ','F','I','P','S',' ','c','o','m','p','l','i', +'a','n','t',' ','e','n','d','p','o','i','n','t',',',' ','d','i','s','p','a','t','c','h','i','n','g', +' ','t','h','e',' ','r','e','q','u','e','s','t',' ','w','i','l','l',' ','r','e','t','u','r','n',' ', +'a','n',' ','e','r','r','o','r','.','"',',','"','t','y','p','e','"',':','"','B','o','o','l','e','a', +'n','"','}',',','"','E','n','d','p','o','i','n','t','"',':','{','"','b','u','i','l','t','I','n','"', +':','"','S','D','K',':',':','E','n','d','p','o','i','n','t','"',',','"','r','e','q','u','i','r','e', +'d','"',':','f','a','l','s','e',',','"','d','o','c','u','m','e','n','t','a','t','i','o','n','"',':', +'"','O','v','e','r','r','i','d','e',' ','t','h','e',' ','e','n','d','p','o','i','n','t',' ','u','s', +'e','d',' ','t','o',' ','s','e','n','d',' ','t','h','i','s',' ','r','e','q','u','e','s','t','"',',', +'"','t','y','p','e','"',':','"','S','t','r','i','n','g','"','}','}',',','"','r','u','l','e','s','"', +':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','t','y','p','e','"', +':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t', +'i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l', +'"',':','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',',','"','p','r','o', +'p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[', +'{','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','R', +'e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"',',','"','s','i','g','n','i','n', +'g','N','a','m','e','"',':','"','t','e','s','t','-','s','e','r','v','i','c','e','"','}',']','}',',', +'"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d', +'p','o','i','n','t','"','}',']','}',']','}','\0' +}}; + +const char* QueryProtocolEndpointRules::GetRulesBlob() +{ + return RulesBlob.data(); +} + +} // namespace QueryProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/QueryProtocolErrorMarshaller.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/QueryProtocolErrorMarshaller.cpp new file mode 100644 index 00000000000..0f912dcc06e --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/QueryProtocolErrorMarshaller.cpp @@ -0,0 +1,22 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include + +using namespace Aws::Client; +using namespace Aws::QueryProtocol; + +AWSError QueryProtocolErrorMarshaller::FindErrorByName(const char* errorName) const +{ + AWSError error = QueryProtocolErrorMapper::GetErrorForName(errorName); + if(error.GetErrorType() != CoreErrors::UNKNOWN) + { + return error; + } + + return AWSErrorMarshaller::FindErrorByName(errorName); +} \ No newline at end of file diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/QueryProtocolErrors.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/QueryProtocolErrors.cpp new file mode 100644 index 00000000000..620e1dfcf4c --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/QueryProtocolErrors.cpp @@ -0,0 +1,55 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Client; +using namespace Aws::Utils; +using namespace Aws::QueryProtocol; +using namespace Aws::QueryProtocol::Model; + +namespace Aws +{ +namespace QueryProtocol +{ +template<> AWS_QUERYPROTOCOL_API ComplexError QueryProtocolError::GetModeledError() +{ + assert(this->GetErrorType() == QueryProtocolErrors::COMPLEX); + return ComplexError(this->GetXmlPayload().GetRootElement()); +} + +namespace QueryProtocolErrorMapper +{ + +static const int INVALID_GREETING_HASH = HashingUtils::HashString("InvalidGreeting"); +static const int COMPLEX_HASH = HashingUtils::HashString("ComplexError"); +static const int CUSTOM_CODE_HASH = HashingUtils::HashString("Customized"); + + +AWSError GetErrorForName(const char* errorName) +{ + int hashCode = HashingUtils::HashString(errorName); + + if (hashCode == INVALID_GREETING_HASH) + { + return AWSError(static_cast(QueryProtocolErrors::INVALID_GREETING), RetryableType::NOT_RETRYABLE); + } + else if (hashCode == COMPLEX_HASH) + { + return AWSError(static_cast(QueryProtocolErrors::COMPLEX), RetryableType::NOT_RETRYABLE); + } + else if (hashCode == CUSTOM_CODE_HASH) + { + return AWSError(static_cast(QueryProtocolErrors::CUSTOM_CODE), RetryableType::NOT_RETRYABLE); + } + return AWSError(CoreErrors::UNKNOWN, false); +} + +} // namespace QueryProtocolErrorMapper +} // namespace QueryProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/QueryProtocolRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/QueryProtocolRequest.cpp new file mode 100644 index 00000000000..322a9d29c5c --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/QueryProtocolRequest.cpp @@ -0,0 +1,14 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + + +#include + +namespace Aws +{ +namespace QueryProtocol +{ +} // namespace QueryProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/ComplexError.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/ComplexError.cpp new file mode 100644 index 00000000000..9b58aa55c0d --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/ComplexError.cpp @@ -0,0 +1,90 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; + +namespace Aws +{ +namespace QueryProtocol +{ +namespace Model +{ + +ComplexError::ComplexError() : + m_topLevelHasBeenSet(false), + m_nestedHasBeenSet(false) +{ +} + +ComplexError::ComplexError(const XmlNode& xmlNode) + : ComplexError() +{ + *this = xmlNode; +} + +ComplexError& ComplexError::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode topLevelNode = resultNode.FirstChild("TopLevel"); + if(!topLevelNode.IsNull()) + { + m_topLevel = Aws::Utils::Xml::DecodeEscapedXmlText(topLevelNode.GetText()); + m_topLevelHasBeenSet = true; + } + XmlNode nestedNode = resultNode.FirstChild("Nested"); + if(!nestedNode.IsNull()) + { + m_nested = nestedNode; + m_nestedHasBeenSet = true; + } + } + + return *this; +} + +void ComplexError::OutputToStream(Aws::OStream& oStream, const char* location, unsigned index, const char* locationValue) const +{ + if(m_topLevelHasBeenSet) + { + oStream << location << index << locationValue << ".TopLevel=" << StringUtils::URLEncode(m_topLevel.c_str()) << "&"; + } + + if(m_nestedHasBeenSet) + { + Aws::StringStream nestedLocationAndMemberSs; + nestedLocationAndMemberSs << location << index << locationValue << ".Nested"; + m_nested.OutputToStream(oStream, nestedLocationAndMemberSs.str().c_str()); + } + +} + +void ComplexError::OutputToStream(Aws::OStream& oStream, const char* location) const +{ + if(m_topLevelHasBeenSet) + { + oStream << location << ".TopLevel=" << StringUtils::URLEncode(m_topLevel.c_str()) << "&"; + } + if(m_nestedHasBeenSet) + { + Aws::String nestedLocationAndMember(location); + nestedLocationAndMember += ".Nested"; + m_nested.OutputToStream(oStream, nestedLocationAndMember.c_str()); + } +} + +} // namespace Model +} // namespace QueryProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/ComplexNestedErrorData.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/ComplexNestedErrorData.cpp new file mode 100644 index 00000000000..141518da98a --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/ComplexNestedErrorData.cpp @@ -0,0 +1,70 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; + +namespace Aws +{ +namespace QueryProtocol +{ +namespace Model +{ + +ComplexNestedErrorData::ComplexNestedErrorData() : + m_fooHasBeenSet(false) +{ +} + +ComplexNestedErrorData::ComplexNestedErrorData(const XmlNode& xmlNode) + : ComplexNestedErrorData() +{ + *this = xmlNode; +} + +ComplexNestedErrorData& ComplexNestedErrorData::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode fooNode = resultNode.FirstChild("Foo"); + if(!fooNode.IsNull()) + { + m_foo = Aws::Utils::Xml::DecodeEscapedXmlText(fooNode.GetText()); + m_fooHasBeenSet = true; + } + } + + return *this; +} + +void ComplexNestedErrorData::OutputToStream(Aws::OStream& oStream, const char* location, unsigned index, const char* locationValue) const +{ + if(m_fooHasBeenSet) + { + oStream << location << index << locationValue << ".Foo=" << StringUtils::URLEncode(m_foo.c_str()) << "&"; + } + +} + +void ComplexNestedErrorData::OutputToStream(Aws::OStream& oStream, const char* location) const +{ + if(m_fooHasBeenSet) + { + oStream << location << ".Foo=" << StringUtils::URLEncode(m_foo.c_str()) << "&"; + } +} + +} // namespace Model +} // namespace QueryProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/DatetimeOffsetsRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/DatetimeOffsetsRequest.cpp new file mode 100644 index 00000000000..924fb345586 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/DatetimeOffsetsRequest.cpp @@ -0,0 +1,29 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include + +using namespace Aws::QueryProtocol::Model; +using namespace Aws::Utils; + +DatetimeOffsetsRequest::DatetimeOffsetsRequest() +{ +} + +Aws::String DatetimeOffsetsRequest::SerializePayload() const +{ + Aws::StringStream ss; + ss << "Action=DatetimeOffsets&"; + ss << "Version=2020-01-08"; + return ss.str(); +} + + +void DatetimeOffsetsRequest::DumpBodyToUrl(Aws::Http::URI& uri ) const +{ + uri.SetQueryString(SerializePayload()); +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/DatetimeOffsetsResult.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/DatetimeOffsetsResult.cpp new file mode 100644 index 00000000000..fe830744715 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/DatetimeOffsetsResult.cpp @@ -0,0 +1,54 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +#include + +using namespace Aws::QueryProtocol::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils::Logging; +using namespace Aws::Utils; +using namespace Aws; + +DatetimeOffsetsResult::DatetimeOffsetsResult() +{ +} + +DatetimeOffsetsResult::DatetimeOffsetsResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +DatetimeOffsetsResult& DatetimeOffsetsResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode rootNode = xmlDocument.GetRootElement(); + XmlNode resultNode = rootNode; + if (!rootNode.IsNull() && (rootNode.GetName() != "DatetimeOffsetsResult")) + { + resultNode = rootNode.FirstChild("DatetimeOffsetsResult"); + } + + if(!resultNode.IsNull()) + { + XmlNode datetimeNode = resultNode.FirstChild("datetime"); + if(!datetimeNode.IsNull()) + { + m_datetime = DateTime(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(datetimeNode.GetText()).c_str()).c_str(), Aws::Utils::DateFormat::ISO_8601); + } + } + + if (!rootNode.IsNull()) { + XmlNode responseMetadataNode = rootNode.FirstChild("ResponseMetadata"); + m_responseMetadata = responseMetadataNode; + AWS_LOGSTREAM_DEBUG("Aws::QueryProtocol::Model::DatetimeOffsetsResult", "x-amzn-request-id: " << m_responseMetadata.GetRequestId() ); + } + return *this; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/EmptyInputAndEmptyOutputRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/EmptyInputAndEmptyOutputRequest.cpp new file mode 100644 index 00000000000..b5e90df1a62 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/EmptyInputAndEmptyOutputRequest.cpp @@ -0,0 +1,29 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include + +using namespace Aws::QueryProtocol::Model; +using namespace Aws::Utils; + +EmptyInputAndEmptyOutputRequest::EmptyInputAndEmptyOutputRequest() +{ +} + +Aws::String EmptyInputAndEmptyOutputRequest::SerializePayload() const +{ + Aws::StringStream ss; + ss << "Action=EmptyInputAndEmptyOutput&"; + ss << "Version=2020-01-08"; + return ss.str(); +} + + +void EmptyInputAndEmptyOutputRequest::DumpBodyToUrl(Aws::Http::URI& uri ) const +{ + uri.SetQueryString(SerializePayload()); +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/EmptyInputAndEmptyOutputResult.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/EmptyInputAndEmptyOutputResult.cpp new file mode 100644 index 00000000000..3ca5ef61b68 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/EmptyInputAndEmptyOutputResult.cpp @@ -0,0 +1,49 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +#include + +using namespace Aws::QueryProtocol::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils::Logging; +using namespace Aws::Utils; +using namespace Aws; + +EmptyInputAndEmptyOutputResult::EmptyInputAndEmptyOutputResult() +{ +} + +EmptyInputAndEmptyOutputResult::EmptyInputAndEmptyOutputResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +EmptyInputAndEmptyOutputResult& EmptyInputAndEmptyOutputResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode rootNode = xmlDocument.GetRootElement(); + XmlNode resultNode = rootNode; + if (!rootNode.IsNull() && (rootNode.GetName() != "EmptyInputAndEmptyOutputResult")) + { + resultNode = rootNode.FirstChild("EmptyInputAndEmptyOutputResult"); + } + + if(!resultNode.IsNull()) + { + } + + if (!rootNode.IsNull()) { + XmlNode responseMetadataNode = rootNode.FirstChild("ResponseMetadata"); + m_responseMetadata = responseMetadataNode; + AWS_LOGSTREAM_DEBUG("Aws::QueryProtocol::Model::EmptyInputAndEmptyOutputResult", "x-amzn-request-id: " << m_responseMetadata.GetRequestId() ); + } + return *this; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/EndpointOperationRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/EndpointOperationRequest.cpp new file mode 100644 index 00000000000..aed89bcbc2e --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/EndpointOperationRequest.cpp @@ -0,0 +1,29 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include + +using namespace Aws::QueryProtocol::Model; +using namespace Aws::Utils; + +EndpointOperationRequest::EndpointOperationRequest() +{ +} + +Aws::String EndpointOperationRequest::SerializePayload() const +{ + Aws::StringStream ss; + ss << "Action=EndpointOperation&"; + ss << "Version=2020-01-08"; + return ss.str(); +} + + +void EndpointOperationRequest::DumpBodyToUrl(Aws::Http::URI& uri ) const +{ + uri.SetQueryString(SerializePayload()); +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/EndpointWithHostLabelOperationRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/EndpointWithHostLabelOperationRequest.cpp new file mode 100644 index 00000000000..40dbe5a4531 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/EndpointWithHostLabelOperationRequest.cpp @@ -0,0 +1,35 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include + +using namespace Aws::QueryProtocol::Model; +using namespace Aws::Utils; + +EndpointWithHostLabelOperationRequest::EndpointWithHostLabelOperationRequest() : + m_labelHasBeenSet(false) +{ +} + +Aws::String EndpointWithHostLabelOperationRequest::SerializePayload() const +{ + Aws::StringStream ss; + ss << "Action=EndpointWithHostLabelOperation&"; + if(m_labelHasBeenSet) + { + ss << "label=" << StringUtils::URLEncode(m_label.c_str()) << "&"; + } + + ss << "Version=2020-01-08"; + return ss.str(); +} + + +void EndpointWithHostLabelOperationRequest::DumpBodyToUrl(Aws::Http::URI& uri ) const +{ + uri.SetQueryString(SerializePayload()); +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/FlattenedXmlMapRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/FlattenedXmlMapRequest.cpp new file mode 100644 index 00000000000..0d4d239497e --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/FlattenedXmlMapRequest.cpp @@ -0,0 +1,29 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include + +using namespace Aws::QueryProtocol::Model; +using namespace Aws::Utils; + +FlattenedXmlMapRequest::FlattenedXmlMapRequest() +{ +} + +Aws::String FlattenedXmlMapRequest::SerializePayload() const +{ + Aws::StringStream ss; + ss << "Action=FlattenedXmlMap&"; + ss << "Version=2020-01-08"; + return ss.str(); +} + + +void FlattenedXmlMapRequest::DumpBodyToUrl(Aws::Http::URI& uri ) const +{ + uri.SetQueryString(SerializePayload()); +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/FlattenedXmlMapResult.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/FlattenedXmlMapResult.cpp new file mode 100644 index 00000000000..b384f7af252 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/FlattenedXmlMapResult.cpp @@ -0,0 +1,64 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +#include + +using namespace Aws::QueryProtocol::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils::Logging; +using namespace Aws::Utils; +using namespace Aws; + +FlattenedXmlMapResult::FlattenedXmlMapResult() +{ +} + +FlattenedXmlMapResult::FlattenedXmlMapResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +FlattenedXmlMapResult& FlattenedXmlMapResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode rootNode = xmlDocument.GetRootElement(); + XmlNode resultNode = rootNode; + if (!rootNode.IsNull() && (rootNode.GetName() != "FlattenedXmlMapResult")) + { + resultNode = rootNode.FirstChild("FlattenedXmlMapResult"); + } + + if(!resultNode.IsNull()) + { + XmlNode myMapNode = resultNode.FirstChild("myMap"); + + if(!myMapNode.IsNull()) + { + XmlNode myMapEntry = myMapNode.FirstChild("entry"); + while(!myMapEntry.IsNull()) + { + XmlNode keyNode = myMapEntry.FirstChild("key"); + XmlNode valueNode = myMapEntry.FirstChild("value"); + m_myMap[keyNode.GetText()] = + FooEnumMapper::GetFooEnumForName(StringUtils::Trim(valueNode.GetText().c_str())); + myMapEntry = myMapEntry.NextNode("entry"); + } + + } + } + + if (!rootNode.IsNull()) { + XmlNode responseMetadataNode = rootNode.FirstChild("ResponseMetadata"); + m_responseMetadata = responseMetadataNode; + AWS_LOGSTREAM_DEBUG("Aws::QueryProtocol::Model::FlattenedXmlMapResult", "x-amzn-request-id: " << m_responseMetadata.GetRequestId() ); + } + return *this; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/FlattenedXmlMapWithXmlNameRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/FlattenedXmlMapWithXmlNameRequest.cpp new file mode 100644 index 00000000000..6778375ca70 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/FlattenedXmlMapWithXmlNameRequest.cpp @@ -0,0 +1,29 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include + +using namespace Aws::QueryProtocol::Model; +using namespace Aws::Utils; + +FlattenedXmlMapWithXmlNameRequest::FlattenedXmlMapWithXmlNameRequest() +{ +} + +Aws::String FlattenedXmlMapWithXmlNameRequest::SerializePayload() const +{ + Aws::StringStream ss; + ss << "Action=FlattenedXmlMapWithXmlName&"; + ss << "Version=2020-01-08"; + return ss.str(); +} + + +void FlattenedXmlMapWithXmlNameRequest::DumpBodyToUrl(Aws::Http::URI& uri ) const +{ + uri.SetQueryString(SerializePayload()); +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/FlattenedXmlMapWithXmlNameResult.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/FlattenedXmlMapWithXmlNameResult.cpp new file mode 100644 index 00000000000..f5baf55bd09 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/FlattenedXmlMapWithXmlNameResult.cpp @@ -0,0 +1,63 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +#include + +using namespace Aws::QueryProtocol::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils::Logging; +using namespace Aws::Utils; +using namespace Aws; + +FlattenedXmlMapWithXmlNameResult::FlattenedXmlMapWithXmlNameResult() +{ +} + +FlattenedXmlMapWithXmlNameResult::FlattenedXmlMapWithXmlNameResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +FlattenedXmlMapWithXmlNameResult& FlattenedXmlMapWithXmlNameResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode rootNode = xmlDocument.GetRootElement(); + XmlNode resultNode = rootNode; + if (!rootNode.IsNull() && (rootNode.GetName() != "FlattenedXmlMapWithXmlNameResult")) + { + resultNode = rootNode.FirstChild("FlattenedXmlMapWithXmlNameResult"); + } + + if(!resultNode.IsNull()) + { + XmlNode myMapNode = resultNode.FirstChild("KVP"); + if(!myMapNode.IsNull()) + { + XmlNode kVPEntry = myMapNode; + while(!kVPEntry.IsNull()) + { + XmlNode keyNode = kVPEntry.FirstChild("K"); + XmlNode valueNode = kVPEntry.FirstChild("V"); + m_myMap[keyNode.GetText()] = + valueNode.GetText(); + kVPEntry = kVPEntry.NextNode("KVP"); + } + + } + } + + if (!rootNode.IsNull()) { + XmlNode responseMetadataNode = rootNode.FirstChild("ResponseMetadata"); + m_responseMetadata = responseMetadataNode; + AWS_LOGSTREAM_DEBUG("Aws::QueryProtocol::Model::FlattenedXmlMapWithXmlNameResult", "x-amzn-request-id: " << m_responseMetadata.GetRequestId() ); + } + return *this; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/FlattenedXmlMapWithXmlNamespaceRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/FlattenedXmlMapWithXmlNamespaceRequest.cpp new file mode 100644 index 00000000000..85ba1a408d4 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/FlattenedXmlMapWithXmlNamespaceRequest.cpp @@ -0,0 +1,29 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include + +using namespace Aws::QueryProtocol::Model; +using namespace Aws::Utils; + +FlattenedXmlMapWithXmlNamespaceRequest::FlattenedXmlMapWithXmlNamespaceRequest() +{ +} + +Aws::String FlattenedXmlMapWithXmlNamespaceRequest::SerializePayload() const +{ + Aws::StringStream ss; + ss << "Action=FlattenedXmlMapWithXmlNamespace&"; + ss << "Version=2020-01-08"; + return ss.str(); +} + + +void FlattenedXmlMapWithXmlNamespaceRequest::DumpBodyToUrl(Aws::Http::URI& uri ) const +{ + uri.SetQueryString(SerializePayload()); +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/FlattenedXmlMapWithXmlNamespaceResult.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/FlattenedXmlMapWithXmlNamespaceResult.cpp new file mode 100644 index 00000000000..7e12b5eccd4 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/FlattenedXmlMapWithXmlNamespaceResult.cpp @@ -0,0 +1,63 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +#include + +using namespace Aws::QueryProtocol::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils::Logging; +using namespace Aws::Utils; +using namespace Aws; + +FlattenedXmlMapWithXmlNamespaceResult::FlattenedXmlMapWithXmlNamespaceResult() +{ +} + +FlattenedXmlMapWithXmlNamespaceResult::FlattenedXmlMapWithXmlNamespaceResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +FlattenedXmlMapWithXmlNamespaceResult& FlattenedXmlMapWithXmlNamespaceResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode rootNode = xmlDocument.GetRootElement(); + XmlNode resultNode = rootNode; + if (!rootNode.IsNull() && (rootNode.GetName() != "FlattenedXmlMapWithXmlNamespaceResult")) + { + resultNode = rootNode.FirstChild("FlattenedXmlMapWithXmlNamespaceResult"); + } + + if(!resultNode.IsNull()) + { + XmlNode myMapNode = resultNode.FirstChild("KVP"); + if(!myMapNode.IsNull()) + { + XmlNode kVPEntry = myMapNode; + while(!kVPEntry.IsNull()) + { + XmlNode keyNode = kVPEntry.FirstChild("K"); + XmlNode valueNode = kVPEntry.FirstChild("V"); + m_myMap[keyNode.GetText()] = + valueNode.GetText(); + kVPEntry = kVPEntry.NextNode("KVP"); + } + + } + } + + if (!rootNode.IsNull()) { + XmlNode responseMetadataNode = rootNode.FirstChild("ResponseMetadata"); + m_responseMetadata = responseMetadataNode; + AWS_LOGSTREAM_DEBUG("Aws::QueryProtocol::Model::FlattenedXmlMapWithXmlNamespaceResult", "x-amzn-request-id: " << m_responseMetadata.GetRequestId() ); + } + return *this; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/FooEnum.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/FooEnum.cpp new file mode 100644 index 00000000000..aaa352603d2 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/FooEnum.cpp @@ -0,0 +1,93 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace QueryProtocol + { + namespace Model + { + namespace FooEnumMapper + { + + static const int Foo_HASH = HashingUtils::HashString("Foo"); + static const int Baz_HASH = HashingUtils::HashString("Baz"); + static const int Bar_HASH = HashingUtils::HashString("Bar"); + static const int _1_HASH = HashingUtils::HashString("1"); + static const int _0_HASH = HashingUtils::HashString("0"); + + + FooEnum GetFooEnumForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == Foo_HASH) + { + return FooEnum::Foo; + } + else if (hashCode == Baz_HASH) + { + return FooEnum::Baz; + } + else if (hashCode == Bar_HASH) + { + return FooEnum::Bar; + } + else if (hashCode == _1_HASH) + { + return FooEnum::_1; + } + else if (hashCode == _0_HASH) + { + return FooEnum::_0; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return FooEnum::NOT_SET; + } + + Aws::String GetNameForFooEnum(FooEnum enumValue) + { + switch(enumValue) + { + case FooEnum::NOT_SET: + return {}; + case FooEnum::Foo: + return "Foo"; + case FooEnum::Baz: + return "Baz"; + case FooEnum::Bar: + return "Bar"; + case FooEnum::_1: + return "1"; + case FooEnum::_0: + return "0"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace FooEnumMapper + } // namespace Model + } // namespace QueryProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/FractionalSecondsRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/FractionalSecondsRequest.cpp new file mode 100644 index 00000000000..30f1e7059e3 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/FractionalSecondsRequest.cpp @@ -0,0 +1,29 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include + +using namespace Aws::QueryProtocol::Model; +using namespace Aws::Utils; + +FractionalSecondsRequest::FractionalSecondsRequest() +{ +} + +Aws::String FractionalSecondsRequest::SerializePayload() const +{ + Aws::StringStream ss; + ss << "Action=FractionalSeconds&"; + ss << "Version=2020-01-08"; + return ss.str(); +} + + +void FractionalSecondsRequest::DumpBodyToUrl(Aws::Http::URI& uri ) const +{ + uri.SetQueryString(SerializePayload()); +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/FractionalSecondsResult.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/FractionalSecondsResult.cpp new file mode 100644 index 00000000000..ba803e8c478 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/FractionalSecondsResult.cpp @@ -0,0 +1,54 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +#include + +using namespace Aws::QueryProtocol::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils::Logging; +using namespace Aws::Utils; +using namespace Aws; + +FractionalSecondsResult::FractionalSecondsResult() +{ +} + +FractionalSecondsResult::FractionalSecondsResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +FractionalSecondsResult& FractionalSecondsResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode rootNode = xmlDocument.GetRootElement(); + XmlNode resultNode = rootNode; + if (!rootNode.IsNull() && (rootNode.GetName() != "FractionalSecondsResult")) + { + resultNode = rootNode.FirstChild("FractionalSecondsResult"); + } + + if(!resultNode.IsNull()) + { + XmlNode datetimeNode = resultNode.FirstChild("datetime"); + if(!datetimeNode.IsNull()) + { + m_datetime = DateTime(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(datetimeNode.GetText()).c_str()).c_str(), Aws::Utils::DateFormat::ISO_8601); + } + } + + if (!rootNode.IsNull()) { + XmlNode responseMetadataNode = rootNode.FirstChild("ResponseMetadata"); + m_responseMetadata = responseMetadataNode; + AWS_LOGSTREAM_DEBUG("Aws::QueryProtocol::Model::FractionalSecondsResult", "x-amzn-request-id: " << m_responseMetadata.GetRequestId() ); + } + return *this; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/GreetingStruct.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/GreetingStruct.cpp new file mode 100644 index 00000000000..966fc5925bb --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/GreetingStruct.cpp @@ -0,0 +1,70 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; + +namespace Aws +{ +namespace QueryProtocol +{ +namespace Model +{ + +GreetingStruct::GreetingStruct() : + m_hiHasBeenSet(false) +{ +} + +GreetingStruct::GreetingStruct(const XmlNode& xmlNode) + : GreetingStruct() +{ + *this = xmlNode; +} + +GreetingStruct& GreetingStruct::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode hiNode = resultNode.FirstChild("hi"); + if(!hiNode.IsNull()) + { + m_hi = Aws::Utils::Xml::DecodeEscapedXmlText(hiNode.GetText()); + m_hiHasBeenSet = true; + } + } + + return *this; +} + +void GreetingStruct::OutputToStream(Aws::OStream& oStream, const char* location, unsigned index, const char* locationValue) const +{ + if(m_hiHasBeenSet) + { + oStream << location << index << locationValue << ".hi=" << StringUtils::URLEncode(m_hi.c_str()) << "&"; + } + +} + +void GreetingStruct::OutputToStream(Aws::OStream& oStream, const char* location) const +{ + if(m_hiHasBeenSet) + { + oStream << location << ".hi=" << StringUtils::URLEncode(m_hi.c_str()) << "&"; + } +} + +} // namespace Model +} // namespace QueryProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/GreetingWithErrorsRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/GreetingWithErrorsRequest.cpp new file mode 100644 index 00000000000..e8d22c85b01 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/GreetingWithErrorsRequest.cpp @@ -0,0 +1,29 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include + +using namespace Aws::QueryProtocol::Model; +using namespace Aws::Utils; + +GreetingWithErrorsRequest::GreetingWithErrorsRequest() +{ +} + +Aws::String GreetingWithErrorsRequest::SerializePayload() const +{ + Aws::StringStream ss; + ss << "Action=GreetingWithErrors&"; + ss << "Version=2020-01-08"; + return ss.str(); +} + + +void GreetingWithErrorsRequest::DumpBodyToUrl(Aws::Http::URI& uri ) const +{ + uri.SetQueryString(SerializePayload()); +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/GreetingWithErrorsResult.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/GreetingWithErrorsResult.cpp new file mode 100644 index 00000000000..ae2b328caeb --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/GreetingWithErrorsResult.cpp @@ -0,0 +1,54 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +#include + +using namespace Aws::QueryProtocol::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils::Logging; +using namespace Aws::Utils; +using namespace Aws; + +GreetingWithErrorsResult::GreetingWithErrorsResult() +{ +} + +GreetingWithErrorsResult::GreetingWithErrorsResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +GreetingWithErrorsResult& GreetingWithErrorsResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode rootNode = xmlDocument.GetRootElement(); + XmlNode resultNode = rootNode; + if (!rootNode.IsNull() && (rootNode.GetName() != "GreetingWithErrorsResult")) + { + resultNode = rootNode.FirstChild("GreetingWithErrorsResult"); + } + + if(!resultNode.IsNull()) + { + XmlNode greetingNode = resultNode.FirstChild("greeting"); + if(!greetingNode.IsNull()) + { + m_greeting = Aws::Utils::Xml::DecodeEscapedXmlText(greetingNode.GetText()); + } + } + + if (!rootNode.IsNull()) { + XmlNode responseMetadataNode = rootNode.FirstChild("ResponseMetadata"); + m_responseMetadata = responseMetadataNode; + AWS_LOGSTREAM_DEBUG("Aws::QueryProtocol::Model::GreetingWithErrorsResult", "x-amzn-request-id: " << m_responseMetadata.GetRequestId() ); + } + return *this; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/HostWithPathOperationRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/HostWithPathOperationRequest.cpp new file mode 100644 index 00000000000..25624406261 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/HostWithPathOperationRequest.cpp @@ -0,0 +1,29 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include + +using namespace Aws::QueryProtocol::Model; +using namespace Aws::Utils; + +HostWithPathOperationRequest::HostWithPathOperationRequest() +{ +} + +Aws::String HostWithPathOperationRequest::SerializePayload() const +{ + Aws::StringStream ss; + ss << "Action=HostWithPathOperation&"; + ss << "Version=2020-01-08"; + return ss.str(); +} + + +void HostWithPathOperationRequest::DumpBodyToUrl(Aws::Http::URI& uri ) const +{ + uri.SetQueryString(SerializePayload()); +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/IgnoresWrappingXmlNameRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/IgnoresWrappingXmlNameRequest.cpp new file mode 100644 index 00000000000..4a5ce21547b --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/IgnoresWrappingXmlNameRequest.cpp @@ -0,0 +1,29 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include + +using namespace Aws::QueryProtocol::Model; +using namespace Aws::Utils; + +IgnoresWrappingXmlNameRequest::IgnoresWrappingXmlNameRequest() +{ +} + +Aws::String IgnoresWrappingXmlNameRequest::SerializePayload() const +{ + Aws::StringStream ss; + ss << "Action=IgnoresWrappingXmlName&"; + ss << "Version=2020-01-08"; + return ss.str(); +} + + +void IgnoresWrappingXmlNameRequest::DumpBodyToUrl(Aws::Http::URI& uri ) const +{ + uri.SetQueryString(SerializePayload()); +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/IgnoresWrappingXmlNameResult.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/IgnoresWrappingXmlNameResult.cpp new file mode 100644 index 00000000000..61b4374a1c6 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/IgnoresWrappingXmlNameResult.cpp @@ -0,0 +1,54 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +#include + +using namespace Aws::QueryProtocol::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils::Logging; +using namespace Aws::Utils; +using namespace Aws; + +IgnoresWrappingXmlNameResult::IgnoresWrappingXmlNameResult() +{ +} + +IgnoresWrappingXmlNameResult::IgnoresWrappingXmlNameResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +IgnoresWrappingXmlNameResult& IgnoresWrappingXmlNameResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode rootNode = xmlDocument.GetRootElement(); + XmlNode resultNode = rootNode; + if (!rootNode.IsNull() && (rootNode.GetName() != "IgnoresWrappingXmlNameResult")) + { + resultNode = rootNode.FirstChild("IgnoresWrappingXmlNameResult"); + } + + if(!resultNode.IsNull()) + { + XmlNode fooNode = resultNode.FirstChild("foo"); + if(!fooNode.IsNull()) + { + m_foo = Aws::Utils::Xml::DecodeEscapedXmlText(fooNode.GetText()); + } + } + + if (!rootNode.IsNull()) { + XmlNode responseMetadataNode = rootNode.FirstChild("ResponseMetadata"); + m_responseMetadata = responseMetadataNode; + AWS_LOGSTREAM_DEBUG("Aws::QueryProtocol::Model::IgnoresWrappingXmlNameResult", "x-amzn-request-id: " << m_responseMetadata.GetRequestId() ); + } + return *this; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/NestedStructWithList.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/NestedStructWithList.cpp new file mode 100644 index 00000000000..641f0727b54 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/NestedStructWithList.cpp @@ -0,0 +1,84 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; + +namespace Aws +{ +namespace QueryProtocol +{ +namespace Model +{ + +NestedStructWithList::NestedStructWithList() : + m_listArgHasBeenSet(false) +{ +} + +NestedStructWithList::NestedStructWithList(const XmlNode& xmlNode) + : NestedStructWithList() +{ + *this = xmlNode; +} + +NestedStructWithList& NestedStructWithList::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode listArgNode = resultNode.FirstChild("ListArg"); + if(!listArgNode.IsNull()) + { + XmlNode listArgMember = listArgNode.FirstChild("member"); + while(!listArgMember.IsNull()) + { + m_listArg.push_back(listArgMember.GetText()); + listArgMember = listArgMember.NextNode("member"); + } + + m_listArgHasBeenSet = true; + } + } + + return *this; +} + +void NestedStructWithList::OutputToStream(Aws::OStream& oStream, const char* location, unsigned index, const char* locationValue) const +{ + if(m_listArgHasBeenSet) + { + unsigned listArgIdx = 1; + for(auto& item : m_listArg) + { + oStream << location << index << locationValue << ".ListArg.member." << listArgIdx++ << "=" << StringUtils::URLEncode(item.c_str()) << "&"; + } + } + +} + +void NestedStructWithList::OutputToStream(Aws::OStream& oStream, const char* location) const +{ + if(m_listArgHasBeenSet) + { + unsigned listArgIdx = 1; + for(auto& item : m_listArg) + { + oStream << location << ".ListArg.member." << listArgIdx++ << "=" << StringUtils::URLEncode(item.c_str()) << "&"; + } + } +} + +} // namespace Model +} // namespace QueryProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/NestedStructWithMap.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/NestedStructWithMap.cpp new file mode 100644 index 00000000000..da815de57f2 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/NestedStructWithMap.cpp @@ -0,0 +1,97 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; + +namespace Aws +{ +namespace QueryProtocol +{ +namespace Model +{ + +NestedStructWithMap::NestedStructWithMap() : + m_mapArgHasBeenSet(false) +{ +} + +NestedStructWithMap::NestedStructWithMap(const XmlNode& xmlNode) + : NestedStructWithMap() +{ + *this = xmlNode; +} + +NestedStructWithMap& NestedStructWithMap::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode mapArgNode = resultNode.FirstChild("MapArg"); + + if(!mapArgNode.IsNull()) + { + XmlNode mapArgEntry = mapArgNode.FirstChild("entry"); + while(!mapArgEntry.IsNull()) + { + XmlNode keyNode = mapArgEntry.FirstChild("key"); + XmlNode valueNode = mapArgEntry.FirstChild("value"); + m_mapArg[keyNode.GetText()] = + valueNode.GetText(); + mapArgEntry = mapArgEntry.NextNode("entry"); + } + + m_mapArgHasBeenSet = true; + } + } + + return *this; +} + +void NestedStructWithMap::OutputToStream(Aws::OStream& oStream, const char* location, unsigned index, const char* locationValue) const +{ + if(m_mapArgHasBeenSet) + { + unsigned mapArgIdx = 1; + for(auto& item : m_mapArg) + { + oStream << location << index << locationValue << ".MapArg.entry." << mapArgIdx << ".key=" + << StringUtils::URLEncode(item.first.c_str()) << "&"; + oStream << location << index << locationValue << ".MapArg.entry." << mapArgIdx << ".value=" + << StringUtils::URLEncode(item.second.c_str()) << "&"; + mapArgIdx++; + } + } + +} + +void NestedStructWithMap::OutputToStream(Aws::OStream& oStream, const char* location) const +{ + if(m_mapArgHasBeenSet) + { + unsigned mapArgIdx = 1; + for(auto& item : m_mapArg) + { + oStream << location << ".MapArg.entry." << mapArgIdx << ".key=" + << StringUtils::URLEncode(item.first.c_str()) << "&"; + oStream << location << ".MapArg.entry." << mapArgIdx << ".value=" + << StringUtils::URLEncode(item.second.c_str()) << "&"; + mapArgIdx++; + } + + } +} + +} // namespace Model +} // namespace QueryProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/NestedStructuresRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/NestedStructuresRequest.cpp new file mode 100644 index 00000000000..e3016ca44be --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/NestedStructuresRequest.cpp @@ -0,0 +1,35 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include + +using namespace Aws::QueryProtocol::Model; +using namespace Aws::Utils; + +NestedStructuresRequest::NestedStructuresRequest() : + m_nestedHasBeenSet(false) +{ +} + +Aws::String NestedStructuresRequest::SerializePayload() const +{ + Aws::StringStream ss; + ss << "Action=NestedStructures&"; + if(m_nestedHasBeenSet) + { + m_nested.OutputToStream(ss, "Nested"); + } + + ss << "Version=2020-01-08"; + return ss.str(); +} + + +void NestedStructuresRequest::DumpBodyToUrl(Aws::Http::URI& uri ) const +{ + uri.SetQueryString(SerializePayload()); +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/NoInputAndNoOutputRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/NoInputAndNoOutputRequest.cpp new file mode 100644 index 00000000000..a53c3b0316d --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/NoInputAndNoOutputRequest.cpp @@ -0,0 +1,29 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include + +using namespace Aws::QueryProtocol::Model; +using namespace Aws::Utils; + +NoInputAndNoOutputRequest::NoInputAndNoOutputRequest() +{ +} + +Aws::String NoInputAndNoOutputRequest::SerializePayload() const +{ + Aws::StringStream ss; + ss << "Action=NoInputAndNoOutput&"; + ss << "Version=2020-01-08"; + return ss.str(); +} + + +void NoInputAndNoOutputRequest::DumpBodyToUrl(Aws::Http::URI& uri ) const +{ + uri.SetQueryString(SerializePayload()); +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/NoInputAndOutputRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/NoInputAndOutputRequest.cpp new file mode 100644 index 00000000000..46563e658af --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/NoInputAndOutputRequest.cpp @@ -0,0 +1,29 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include + +using namespace Aws::QueryProtocol::Model; +using namespace Aws::Utils; + +NoInputAndOutputRequest::NoInputAndOutputRequest() +{ +} + +Aws::String NoInputAndOutputRequest::SerializePayload() const +{ + Aws::StringStream ss; + ss << "Action=NoInputAndOutput&"; + ss << "Version=2020-01-08"; + return ss.str(); +} + + +void NoInputAndOutputRequest::DumpBodyToUrl(Aws::Http::URI& uri ) const +{ + uri.SetQueryString(SerializePayload()); +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/NoInputAndOutputResult.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/NoInputAndOutputResult.cpp new file mode 100644 index 00000000000..51d521fe43e --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/NoInputAndOutputResult.cpp @@ -0,0 +1,49 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +#include + +using namespace Aws::QueryProtocol::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils::Logging; +using namespace Aws::Utils; +using namespace Aws; + +NoInputAndOutputResult::NoInputAndOutputResult() +{ +} + +NoInputAndOutputResult::NoInputAndOutputResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +NoInputAndOutputResult& NoInputAndOutputResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode rootNode = xmlDocument.GetRootElement(); + XmlNode resultNode = rootNode; + if (!rootNode.IsNull() && (rootNode.GetName() != "NoInputAndOutputResult")) + { + resultNode = rootNode.FirstChild("NoInputAndOutputResult"); + } + + if(!resultNode.IsNull()) + { + } + + if (!rootNode.IsNull()) { + XmlNode responseMetadataNode = rootNode.FirstChild("ResponseMetadata"); + m_responseMetadata = responseMetadataNode; + AWS_LOGSTREAM_DEBUG("Aws::QueryProtocol::Model::NoInputAndOutputResult", "x-amzn-request-id: " << m_responseMetadata.GetRequestId() ); + } + return *this; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/PutWithContentEncodingRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/PutWithContentEncodingRequest.cpp new file mode 100644 index 00000000000..ce814dee45f --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/PutWithContentEncodingRequest.cpp @@ -0,0 +1,65 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include + +using namespace Aws::QueryProtocol::Model; +using namespace Aws::Utils; + +PutWithContentEncodingRequest::PutWithContentEncodingRequest() : + m_encodingHasBeenSet(false), + m_dataHasBeenSet(false) +{ +} + +Aws::String PutWithContentEncodingRequest::SerializePayload() const +{ + Aws::StringStream ss; + ss << "Action=PutWithContentEncoding&"; + if(m_encodingHasBeenSet) + { + ss << "encoding=" << StringUtils::URLEncode(m_encoding.c_str()) << "&"; + } + + if(m_dataHasBeenSet) + { + ss << "data=" << StringUtils::URLEncode(m_data.c_str()) << "&"; + } + + ss << "Version=2020-01-08"; + return ss.str(); +} + + +void PutWithContentEncodingRequest::DumpBodyToUrl(Aws::Http::URI& uri ) const +{ + uri.SetQueryString(SerializePayload()); +} + +#ifdef ENABLED_ZLIB_REQUEST_COMPRESSION +Aws::Client::CompressionAlgorithm PutWithContentEncodingRequest::GetSelectedCompressionAlgorithm(Aws::Client::RequestCompressionConfig config) const +{ + if (config.useRequestCompression == Aws::Client::UseRequestCompression::DISABLE) + { + return Aws::Client::CompressionAlgorithm::NONE; + } + + const auto& body = AmazonSerializableWebServiceRequest::GetBody(); + body->seekg(0, body->end); + size_t bodySize = body->tellg(); + body->seekg(0, body->beg); + if ( bodySize < config.requestMinCompressionSizeBytes) + { + return Aws::Client::CompressionAlgorithm::NONE; + } + else + { + return Aws::Client::CompressionAlgorithm::GZIP; + } +} +#endif + diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/QueryIdempotencyTokenAutoFillRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/QueryIdempotencyTokenAutoFillRequest.cpp new file mode 100644 index 00000000000..1bc2a4e9983 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/QueryIdempotencyTokenAutoFillRequest.cpp @@ -0,0 +1,36 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include + +using namespace Aws::QueryProtocol::Model; +using namespace Aws::Utils; + +QueryIdempotencyTokenAutoFillRequest::QueryIdempotencyTokenAutoFillRequest() : + m_token(Aws::Utils::UUID::PseudoRandomUUID()), + m_tokenHasBeenSet(true) +{ +} + +Aws::String QueryIdempotencyTokenAutoFillRequest::SerializePayload() const +{ + Aws::StringStream ss; + ss << "Action=QueryIdempotencyTokenAutoFill&"; + if(m_tokenHasBeenSet) + { + ss << "token=" << StringUtils::URLEncode(m_token.c_str()) << "&"; + } + + ss << "Version=2020-01-08"; + return ss.str(); +} + + +void QueryIdempotencyTokenAutoFillRequest::DumpBodyToUrl(Aws::Http::URI& uri ) const +{ + uri.SetQueryString(SerializePayload()); +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/QueryListsRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/QueryListsRequest.cpp new file mode 100644 index 00000000000..36bf366a88d --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/QueryListsRequest.cpp @@ -0,0 +1,129 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include + +using namespace Aws::QueryProtocol::Model; +using namespace Aws::Utils; + +QueryListsRequest::QueryListsRequest() : + m_listArgHasBeenSet(false), + m_complexListArgHasBeenSet(false), + m_flattenedListArgHasBeenSet(false), + m_listArgWithXmlNameMemberHasBeenSet(false), + m_flattenedListArgWithXmlNameHasBeenSet(false), + m_nestedWithListHasBeenSet(false) +{ +} + +Aws::String QueryListsRequest::SerializePayload() const +{ + Aws::StringStream ss; + ss << "Action=QueryLists&"; + if(m_listArgHasBeenSet) + { + if (m_listArg.empty()) + { + ss << "ListArg=&"; + } + else + { + unsigned listArgCount = 1; + for(auto& item : m_listArg) + { + ss << "ListArg.member." << listArgCount << "=" + << StringUtils::URLEncode(item.c_str()) << "&"; + listArgCount++; + } + } + } + + if(m_complexListArgHasBeenSet) + { + if (m_complexListArg.empty()) + { + ss << "ComplexListArg=&"; + } + else + { + unsigned complexListArgCount = 1; + for(auto& item : m_complexListArg) + { + item.OutputToStream(ss, "ComplexListArg.member.", complexListArgCount, ""); + complexListArgCount++; + } + } + } + + if(m_flattenedListArgHasBeenSet) + { + if (m_flattenedListArg.empty()) + { + ss << "FlattenedListArg=&"; + } + else + { + unsigned flattenedListArgCount = 1; + for(auto& item : m_flattenedListArg) + { + ss << "FlattenedListArg.member." << flattenedListArgCount << "=" + << StringUtils::URLEncode(item.c_str()) << "&"; + flattenedListArgCount++; + } + } + } + + if(m_listArgWithXmlNameMemberHasBeenSet) + { + if (m_listArgWithXmlNameMember.empty()) + { + ss << "ListArgWithXmlNameMember=&"; + } + else + { + unsigned listArgWithXmlNameMemberCount = 1; + for(auto& item : m_listArgWithXmlNameMember) + { + ss << "ListArgWithXmlNameMember.item." << listArgWithXmlNameMemberCount << "=" + << StringUtils::URLEncode(item.c_str()) << "&"; + listArgWithXmlNameMemberCount++; + } + } + } + + if(m_flattenedListArgWithXmlNameHasBeenSet) + { + if (m_flattenedListArgWithXmlName.empty()) + { + ss << "FlattenedListArgWithXmlName=&"; + } + else + { + unsigned flattenedListArgWithXmlNameCount = 1; + for(auto& item : m_flattenedListArgWithXmlName) + { + ss << "Hi." << flattenedListArgWithXmlNameCount << "=" + << StringUtils::URLEncode(item.c_str()) << "&"; + flattenedListArgWithXmlNameCount++; + } + } + } + + if(m_nestedWithListHasBeenSet) + { + m_nestedWithList.OutputToStream(ss, "NestedWithList"); + } + + ss << "Version=2020-01-08"; + return ss.str(); +} + + +void QueryListsRequest::DumpBodyToUrl(Aws::Http::URI& uri ) const +{ + uri.SetQueryString(SerializePayload()); +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/QueryMapsRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/QueryMapsRequest.cpp new file mode 100644 index 00000000000..7d1334af6d5 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/QueryMapsRequest.cpp @@ -0,0 +1,132 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include + +using namespace Aws::QueryProtocol::Model; +using namespace Aws::Utils; + +QueryMapsRequest::QueryMapsRequest() : + m_mapArgHasBeenSet(false), + m_renamedMapArgHasBeenSet(false), + m_complexMapArgHasBeenSet(false), + m_mapWithXmlMemberNameHasBeenSet(false), + m_flattenedMapHasBeenSet(false), + m_flattenedMapWithXmlNameHasBeenSet(false), + m_mapOfListsHasBeenSet(false), + m_nestedStructWithMapHasBeenSet(false) +{ +} + +Aws::String QueryMapsRequest::SerializePayload() const +{ + Aws::StringStream ss; + ss << "Action=QueryMaps&"; + if(m_mapArgHasBeenSet) + { + unsigned mapArgCount = 1; + for(auto& item : m_mapArg) + { + ss << "MapArg.entry." << mapArgCount << ".key=" + << StringUtils::URLEncode(item.first.c_str()) << "&"; + ss << "MapArg.entry." << mapArgCount << ".value=" + << StringUtils::URLEncode(item.second.c_str()) << "&"; + mapArgCount++; + } + } + + if(m_renamedMapArgHasBeenSet) + { + unsigned renamedMapArgCount = 1; + for(auto& item : m_renamedMapArg) + { + ss << "Foo." << renamedMapArgCount << ".key=" + << StringUtils::URLEncode(item.first.c_str()) << "&"; + ss << "Foo." << renamedMapArgCount << ".value=" + << StringUtils::URLEncode(item.second.c_str()) << "&"; + renamedMapArgCount++; + } + } + + if(m_complexMapArgHasBeenSet) + { + unsigned complexMapArgCount = 1; + for(auto& item : m_complexMapArg) + { + ss << "ComplexMapArg.entry." << complexMapArgCount << ".key=" + << StringUtils::URLEncode(item.first.c_str()) << "&"; + item.second.OutputToStream(ss, "ComplexMapArg.entry.", complexMapArgCount, ".value"); + complexMapArgCount++; + } + } + + if(m_mapWithXmlMemberNameHasBeenSet) + { + unsigned mapWithXmlMemberNameCount = 1; + for(auto& item : m_mapWithXmlMemberName) + { + ss << "MapWithXmlMemberName.entry." << mapWithXmlMemberNameCount << ".K=" + << StringUtils::URLEncode(item.first.c_str()) << "&"; + ss << "MapWithXmlMemberName.entry." << mapWithXmlMemberNameCount << ".V=" + << StringUtils::URLEncode(item.second.c_str()) << "&"; + mapWithXmlMemberNameCount++; + } + } + + if(m_flattenedMapHasBeenSet) + { + unsigned flattenedMapCount = 1; + for(auto& item : m_flattenedMap) + { + ss << "FlattenedMap.entry." << flattenedMapCount << ".key=" + << StringUtils::URLEncode(item.first.c_str()) << "&"; + ss << "FlattenedMap.entry." << flattenedMapCount << ".value=" + << StringUtils::URLEncode(item.second.c_str()) << "&"; + flattenedMapCount++; + } + } + + if(m_flattenedMapWithXmlNameHasBeenSet) + { + unsigned flattenedMapWithXmlNameCount = 1; + for(auto& item : m_flattenedMapWithXmlName) + { + ss << "Hi." << flattenedMapWithXmlNameCount << ".K=" + << StringUtils::URLEncode(item.first.c_str()) << "&"; + ss << "Hi." << flattenedMapWithXmlNameCount << ".V=" + << StringUtils::URLEncode(item.second.c_str()) << "&"; + flattenedMapWithXmlNameCount++; + } + } + + if(m_mapOfListsHasBeenSet) + { + unsigned mapOfListsCount = 1; + for(auto& item : m_mapOfLists) + { + ss << "MapOfLists.entry." << mapOfListsCount << ".key=" + << StringUtils::URLEncode(item.first.c_str()) << "&"; + ss << "MapOfLists.entry." << mapOfListsCount << ".value=" + << item.second << "&"; + mapOfListsCount++; + } + } + + if(m_nestedStructWithMapHasBeenSet) + { + m_nestedStructWithMap.OutputToStream(ss, "NestedStructWithMap"); + } + + ss << "Version=2020-01-08"; + return ss.str(); +} + + +void QueryMapsRequest::DumpBodyToUrl(Aws::Http::URI& uri ) const +{ + uri.SetQueryString(SerializePayload()); +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/QueryTimestampsRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/QueryTimestampsRequest.cpp new file mode 100644 index 00000000000..6cec0c20d5c --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/QueryTimestampsRequest.cpp @@ -0,0 +1,47 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include + +using namespace Aws::QueryProtocol::Model; +using namespace Aws::Utils; + +QueryTimestampsRequest::QueryTimestampsRequest() : + m_normalFormatHasBeenSet(false), + m_epochMemberHasBeenSet(false), + m_epochTargetHasBeenSet(false) +{ +} + +Aws::String QueryTimestampsRequest::SerializePayload() const +{ + Aws::StringStream ss; + ss << "Action=QueryTimestamps&"; + if(m_normalFormatHasBeenSet) + { + ss << "normalFormat=" << StringUtils::URLEncode(m_normalFormat.ToGmtString(Aws::Utils::DateFormat::ISO_8601).c_str()) << "&"; + } + + if(m_epochMemberHasBeenSet) + { + ss << "epochMember=" << StringUtils::URLEncode(m_epochMember.ToGmtString(Aws::Utils::DateFormat::$CppViewHelper.computeTimestampFormatInQueryString($member.value.shape)).c_str()) << "&"; + } + + if(m_epochTargetHasBeenSet) + { + ss << "epochTarget=" << StringUtils::URLEncode(m_epochTarget.ToGmtString(Aws::Utils::DateFormat::$CppViewHelper.computeTimestampFormatInQueryString($member.value.shape)).c_str()) << "&"; + } + + ss << "Version=2020-01-08"; + return ss.str(); +} + + +void QueryTimestampsRequest::DumpBodyToUrl(Aws::Http::URI& uri ) const +{ + uri.SetQueryString(SerializePayload()); +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/RecursiveXmlShapesOutputNested1.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/RecursiveXmlShapesOutputNested1.cpp new file mode 100644 index 00000000000..d7073e53012 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/RecursiveXmlShapesOutputNested1.cpp @@ -0,0 +1,91 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +#include + +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; + +namespace Aws +{ +namespace QueryProtocol +{ +namespace Model +{ + +RecursiveXmlShapesOutputNested1::RecursiveXmlShapesOutputNested1() : + m_fooHasBeenSet(false), + m_nestedHasBeenSet(false) +{ +} + +RecursiveXmlShapesOutputNested1::RecursiveXmlShapesOutputNested1(const XmlNode& xmlNode) + : RecursiveXmlShapesOutputNested1() +{ + *this = xmlNode; +} + +RecursiveXmlShapesOutputNested1& RecursiveXmlShapesOutputNested1::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode fooNode = resultNode.FirstChild("foo"); + if(!fooNode.IsNull()) + { + m_foo = Aws::Utils::Xml::DecodeEscapedXmlText(fooNode.GetText()); + m_fooHasBeenSet = true; + } + XmlNode nestedNode = resultNode.FirstChild("nested"); + if(!nestedNode.IsNull()) + { + m_nested = nestedNode; + m_nestedHasBeenSet = true; + } + } + + return *this; +} + +void RecursiveXmlShapesOutputNested1::OutputToStream(Aws::OStream& oStream, const char* location, unsigned index, const char* locationValue) const +{ + if(m_fooHasBeenSet) + { + oStream << location << index << locationValue << ".foo=" << StringUtils::URLEncode(m_foo.c_str()) << "&"; + } + + if(m_nestedHasBeenSet) + { + Aws::StringStream nestedLocationAndMemberSs; + nestedLocationAndMemberSs << location << index << locationValue << ".nested"; + m_nested.OutputToStream(oStream, nestedLocationAndMemberSs.str().c_str()); + } + +} + +void RecursiveXmlShapesOutputNested1::OutputToStream(Aws::OStream& oStream, const char* location) const +{ + if(m_fooHasBeenSet) + { + oStream << location << ".foo=" << StringUtils::URLEncode(m_foo.c_str()) << "&"; + } + if(m_nestedHasBeenSet) + { + Aws::String nestedLocationAndMember(location); + nestedLocationAndMember += ".nested"; + m_nested.OutputToStream(oStream, nestedLocationAndMember.c_str()); + } +} + +} // namespace Model +} // namespace QueryProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/RecursiveXmlShapesOutputNested2.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/RecursiveXmlShapesOutputNested2.cpp new file mode 100644 index 00000000000..8c1e1eabc58 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/RecursiveXmlShapesOutputNested2.cpp @@ -0,0 +1,91 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +#include + +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; + +namespace Aws +{ +namespace QueryProtocol +{ +namespace Model +{ + +RecursiveXmlShapesOutputNested2::RecursiveXmlShapesOutputNested2() : + m_barHasBeenSet(false), + m_recursiveMemberHasBeenSet(false) +{ +} + +RecursiveXmlShapesOutputNested2::RecursiveXmlShapesOutputNested2(const XmlNode& xmlNode) + : RecursiveXmlShapesOutputNested2() +{ + *this = xmlNode; +} + +RecursiveXmlShapesOutputNested2& RecursiveXmlShapesOutputNested2::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode barNode = resultNode.FirstChild("bar"); + if(!barNode.IsNull()) + { + m_bar = Aws::Utils::Xml::DecodeEscapedXmlText(barNode.GetText()); + m_barHasBeenSet = true; + } + XmlNode recursiveMemberNode = resultNode.FirstChild("recursiveMember"); + if(!recursiveMemberNode.IsNull()) + { + m_recursiveMember = recursiveMemberNode; + m_recursiveMemberHasBeenSet = true; + } + } + + return *this; +} + +void RecursiveXmlShapesOutputNested2::OutputToStream(Aws::OStream& oStream, const char* location, unsigned index, const char* locationValue) const +{ + if(m_barHasBeenSet) + { + oStream << location << index << locationValue << ".bar=" << StringUtils::URLEncode(m_bar.c_str()) << "&"; + } + + if(m_recursiveMemberHasBeenSet) + { + Aws::StringStream recursiveMemberLocationAndMemberSs; + recursiveMemberLocationAndMemberSs << location << index << locationValue << ".recursiveMember"; + m_recursiveMember.OutputToStream(oStream, recursiveMemberLocationAndMemberSs.str().c_str()); + } + +} + +void RecursiveXmlShapesOutputNested2::OutputToStream(Aws::OStream& oStream, const char* location) const +{ + if(m_barHasBeenSet) + { + oStream << location << ".bar=" << StringUtils::URLEncode(m_bar.c_str()) << "&"; + } + if(m_recursiveMemberHasBeenSet) + { + Aws::String recursiveMemberLocationAndMember(location); + recursiveMemberLocationAndMember += ".recursiveMember"; + m_recursiveMember.OutputToStream(oStream, recursiveMemberLocationAndMember.c_str()); + } +} + +} // namespace Model +} // namespace QueryProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/RecursiveXmlShapesRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/RecursiveXmlShapesRequest.cpp new file mode 100644 index 00000000000..fe395a962f9 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/RecursiveXmlShapesRequest.cpp @@ -0,0 +1,29 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include + +using namespace Aws::QueryProtocol::Model; +using namespace Aws::Utils; + +RecursiveXmlShapesRequest::RecursiveXmlShapesRequest() +{ +} + +Aws::String RecursiveXmlShapesRequest::SerializePayload() const +{ + Aws::StringStream ss; + ss << "Action=RecursiveXmlShapes&"; + ss << "Version=2020-01-08"; + return ss.str(); +} + + +void RecursiveXmlShapesRequest::DumpBodyToUrl(Aws::Http::URI& uri ) const +{ + uri.SetQueryString(SerializePayload()); +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/RecursiveXmlShapesResult.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/RecursiveXmlShapesResult.cpp new file mode 100644 index 00000000000..c83b6a281c5 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/RecursiveXmlShapesResult.cpp @@ -0,0 +1,54 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +#include + +using namespace Aws::QueryProtocol::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils::Logging; +using namespace Aws::Utils; +using namespace Aws; + +RecursiveXmlShapesResult::RecursiveXmlShapesResult() +{ +} + +RecursiveXmlShapesResult::RecursiveXmlShapesResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +RecursiveXmlShapesResult& RecursiveXmlShapesResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode rootNode = xmlDocument.GetRootElement(); + XmlNode resultNode = rootNode; + if (!rootNode.IsNull() && (rootNode.GetName() != "RecursiveXmlShapesResult")) + { + resultNode = rootNode.FirstChild("RecursiveXmlShapesResult"); + } + + if(!resultNode.IsNull()) + { + XmlNode nestedNode = resultNode.FirstChild("nested"); + if(!nestedNode.IsNull()) + { + m_nested = nestedNode; + } + } + + if (!rootNode.IsNull()) { + XmlNode responseMetadataNode = rootNode.FirstChild("ResponseMetadata"); + m_responseMetadata = responseMetadataNode; + AWS_LOGSTREAM_DEBUG("Aws::QueryProtocol::Model::RecursiveXmlShapesResult", "x-amzn-request-id: " << m_responseMetadata.GetRequestId() ); + } + return *this; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/ResponseMetadata.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/ResponseMetadata.cpp new file mode 100644 index 00000000000..401634786f0 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/ResponseMetadata.cpp @@ -0,0 +1,70 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; + +namespace Aws +{ +namespace QueryProtocol +{ +namespace Model +{ + +ResponseMetadata::ResponseMetadata() : + m_requestIdHasBeenSet(false) +{ +} + +ResponseMetadata::ResponseMetadata(const XmlNode& xmlNode) + : ResponseMetadata() +{ + *this = xmlNode; +} + +ResponseMetadata& ResponseMetadata::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode requestIdNode = resultNode.FirstChild("RequestId"); + if(!requestIdNode.IsNull()) + { + m_requestId = Aws::Utils::Xml::DecodeEscapedXmlText(requestIdNode.GetText()); + m_requestIdHasBeenSet = true; + } + } + + return *this; +} + +void ResponseMetadata::OutputToStream(Aws::OStream& oStream, const char* location, unsigned index, const char* locationValue) const +{ + if(m_requestIdHasBeenSet) + { + oStream << location << index << locationValue << ".RequestId=" << StringUtils::URLEncode(m_requestId.c_str()) << "&"; + } + +} + +void ResponseMetadata::OutputToStream(Aws::OStream& oStream, const char* location) const +{ + if(m_requestIdHasBeenSet) + { + oStream << location << ".RequestId=" << StringUtils::URLEncode(m_requestId.c_str()) << "&"; + } +} + +} // namespace Model +} // namespace QueryProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/SimpleInputParamsRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/SimpleInputParamsRequest.cpp new file mode 100644 index 00000000000..4be26d079e4 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/SimpleInputParamsRequest.cpp @@ -0,0 +1,90 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::QueryProtocol::Model; +using namespace Aws::Utils; + +SimpleInputParamsRequest::SimpleInputParamsRequest() : + m_fooHasBeenSet(false), + m_barHasBeenSet(false), + m_baz(false), + m_bazHasBeenSet(false), + m_bam(0), + m_bamHasBeenSet(false), + m_floatValue(0.0), + m_floatValueHasBeenSet(false), + m_boo(0.0), + m_booHasBeenSet(false), + m_quxHasBeenSet(false), + m_fooEnum(FooEnum::NOT_SET), + m_fooEnumHasBeenSet(false), + m_integerEnum(0), + m_integerEnumHasBeenSet(false) +{ +} + +Aws::String SimpleInputParamsRequest::SerializePayload() const +{ + Aws::StringStream ss; + ss << "Action=SimpleInputParams&"; + if(m_fooHasBeenSet) + { + ss << "Foo=" << StringUtils::URLEncode(m_foo.c_str()) << "&"; + } + + if(m_barHasBeenSet) + { + ss << "Bar=" << StringUtils::URLEncode(m_bar.c_str()) << "&"; + } + + if(m_bazHasBeenSet) + { + ss << "Baz=" << std::boolalpha << m_baz << "&"; + } + + if(m_bamHasBeenSet) + { + ss << "Bam=" << m_bam << "&"; + } + + if(m_floatValueHasBeenSet) + { + ss << "FloatValue=" << m_floatValue << "&"; + } + + if(m_booHasBeenSet) + { + ss << "Boo=" << StringUtils::URLEncode(m_boo) << "&"; + } + + if(m_quxHasBeenSet) + { + ss << "Qux=" << HashingUtils::Base64Encode(m_qux) << "&"; + } + + if(m_fooEnumHasBeenSet) + { + ss << "FooEnum=" << FooEnumMapper::GetNameForFooEnum(m_fooEnum) << "&"; + } + + if(m_integerEnumHasBeenSet) + { + ss << "IntegerEnum=" << m_integerEnum << "&"; + } + + ss << "Version=2020-01-08"; + return ss.str(); +} + + +void SimpleInputParamsRequest::DumpBodyToUrl(Aws::Http::URI& uri ) const +{ + uri.SetQueryString(SerializePayload()); +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/SimpleScalarXmlPropertiesRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/SimpleScalarXmlPropertiesRequest.cpp new file mode 100644 index 00000000000..19d1b76a3ae --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/SimpleScalarXmlPropertiesRequest.cpp @@ -0,0 +1,29 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include + +using namespace Aws::QueryProtocol::Model; +using namespace Aws::Utils; + +SimpleScalarXmlPropertiesRequest::SimpleScalarXmlPropertiesRequest() +{ +} + +Aws::String SimpleScalarXmlPropertiesRequest::SerializePayload() const +{ + Aws::StringStream ss; + ss << "Action=SimpleScalarXmlProperties&"; + ss << "Version=2020-01-08"; + return ss.str(); +} + + +void SimpleScalarXmlPropertiesRequest::DumpBodyToUrl(Aws::Http::URI& uri ) const +{ + uri.SetQueryString(SerializePayload()); +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/SimpleScalarXmlPropertiesResult.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/SimpleScalarXmlPropertiesResult.cpp new file mode 100644 index 00000000000..96c79704036 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/SimpleScalarXmlPropertiesResult.cpp @@ -0,0 +1,108 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +#include + +using namespace Aws::QueryProtocol::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils::Logging; +using namespace Aws::Utils; +using namespace Aws; + +SimpleScalarXmlPropertiesResult::SimpleScalarXmlPropertiesResult() : + m_trueBooleanValue(false), + m_falseBooleanValue(false), + m_byteValue(0), + m_shortValue(0), + m_integerValue(0), + m_longValue(0), + m_floatValue(0.0), + m_doubleValue(0.0) +{ +} + +SimpleScalarXmlPropertiesResult::SimpleScalarXmlPropertiesResult(const Aws::AmazonWebServiceResult& result) + : SimpleScalarXmlPropertiesResult() +{ + *this = result; +} + +SimpleScalarXmlPropertiesResult& SimpleScalarXmlPropertiesResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode rootNode = xmlDocument.GetRootElement(); + XmlNode resultNode = rootNode; + if (!rootNode.IsNull() && (rootNode.GetName() != "SimpleScalarXmlPropertiesResult")) + { + resultNode = rootNode.FirstChild("SimpleScalarXmlPropertiesResult"); + } + + if(!resultNode.IsNull()) + { + XmlNode stringValueNode = resultNode.FirstChild("stringValue"); + if(!stringValueNode.IsNull()) + { + m_stringValue = Aws::Utils::Xml::DecodeEscapedXmlText(stringValueNode.GetText()); + } + XmlNode emptyStringValueNode = resultNode.FirstChild("emptyStringValue"); + if(!emptyStringValueNode.IsNull()) + { + m_emptyStringValue = Aws::Utils::Xml::DecodeEscapedXmlText(emptyStringValueNode.GetText()); + } + XmlNode trueBooleanValueNode = resultNode.FirstChild("trueBooleanValue"); + if(!trueBooleanValueNode.IsNull()) + { + m_trueBooleanValue = StringUtils::ConvertToBool(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(trueBooleanValueNode.GetText()).c_str()).c_str()); + } + XmlNode falseBooleanValueNode = resultNode.FirstChild("falseBooleanValue"); + if(!falseBooleanValueNode.IsNull()) + { + m_falseBooleanValue = StringUtils::ConvertToBool(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(falseBooleanValueNode.GetText()).c_str()).c_str()); + } + XmlNode byteValueNode = resultNode.FirstChild("byteValue"); + if(!byteValueNode.IsNull()) + { + m_byteValue = StringUtils::ConvertToInt32(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(byteValueNode.GetText()).c_str()).c_str()); + } + XmlNode shortValueNode = resultNode.FirstChild("shortValue"); + if(!shortValueNode.IsNull()) + { + m_shortValue = StringUtils::ConvertToInt32(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(shortValueNode.GetText()).c_str()).c_str()); + } + XmlNode integerValueNode = resultNode.FirstChild("integerValue"); + if(!integerValueNode.IsNull()) + { + m_integerValue = StringUtils::ConvertToInt32(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(integerValueNode.GetText()).c_str()).c_str()); + } + XmlNode longValueNode = resultNode.FirstChild("longValue"); + if(!longValueNode.IsNull()) + { + m_longValue = StringUtils::ConvertToInt64(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(longValueNode.GetText()).c_str()).c_str()); + } + XmlNode floatValueNode = resultNode.FirstChild("floatValue"); + if(!floatValueNode.IsNull()) + { + m_floatValue = StringUtils::ConvertToDouble(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(floatValueNode.GetText()).c_str()).c_str()); + } + XmlNode doubleValueNode = resultNode.FirstChild("DoubleDribble"); + if(!doubleValueNode.IsNull()) + { + m_doubleValue = StringUtils::ConvertToDouble(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(doubleValueNode.GetText()).c_str()).c_str()); + } + } + + if (!rootNode.IsNull()) { + XmlNode responseMetadataNode = rootNode.FirstChild("ResponseMetadata"); + m_responseMetadata = responseMetadataNode; + AWS_LOGSTREAM_DEBUG("Aws::QueryProtocol::Model::SimpleScalarXmlPropertiesResult", "x-amzn-request-id: " << m_responseMetadata.GetRequestId() ); + } + return *this; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/StructArg.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/StructArg.cpp new file mode 100644 index 00000000000..a7e0bf35c65 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/StructArg.cpp @@ -0,0 +1,107 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; + +namespace Aws +{ +namespace QueryProtocol +{ +namespace Model +{ + +StructArg::StructArg() : + m_stringArgHasBeenSet(false), + m_otherArg(false), + m_otherArgHasBeenSet(false), + m_recursiveArgHasBeenSet(false) +{ +} + +StructArg::StructArg(const XmlNode& xmlNode) + : StructArg() +{ + *this = xmlNode; +} + +StructArg& StructArg::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode stringArgNode = resultNode.FirstChild("StringArg"); + if(!stringArgNode.IsNull()) + { + m_stringArg = Aws::Utils::Xml::DecodeEscapedXmlText(stringArgNode.GetText()); + m_stringArgHasBeenSet = true; + } + XmlNode otherArgNode = resultNode.FirstChild("OtherArg"); + if(!otherArgNode.IsNull()) + { + m_otherArg = StringUtils::ConvertToBool(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(otherArgNode.GetText()).c_str()).c_str()); + m_otherArgHasBeenSet = true; + } + XmlNode recursiveArgNode = resultNode.FirstChild("RecursiveArg"); + if(!recursiveArgNode.IsNull()) + { + m_recursiveArg = recursiveArgNode; + m_recursiveArgHasBeenSet = true; + } + } + + return *this; +} + +void StructArg::OutputToStream(Aws::OStream& oStream, const char* location, unsigned index, const char* locationValue) const +{ + if(m_stringArgHasBeenSet) + { + oStream << location << index << locationValue << ".StringArg=" << StringUtils::URLEncode(m_stringArg.c_str()) << "&"; + } + + if(m_otherArgHasBeenSet) + { + oStream << location << index << locationValue << ".OtherArg=" << std::boolalpha << m_otherArg << "&"; + } + + if(m_recursiveArgHasBeenSet) + { + Aws::StringStream recursiveArgLocationAndMemberSs; + recursiveArgLocationAndMemberSs << location << index << locationValue << ".RecursiveArg"; + m_recursiveArg.OutputToStream(oStream, recursiveArgLocationAndMemberSs.str().c_str()); + } + +} + +void StructArg::OutputToStream(Aws::OStream& oStream, const char* location) const +{ + if(m_stringArgHasBeenSet) + { + oStream << location << ".StringArg=" << StringUtils::URLEncode(m_stringArg.c_str()) << "&"; + } + if(m_otherArgHasBeenSet) + { + oStream << location << ".OtherArg=" << std::boolalpha << m_otherArg << "&"; + } + if(m_recursiveArgHasBeenSet) + { + Aws::String recursiveArgLocationAndMember(location); + recursiveArgLocationAndMember += ".RecursiveArg"; + m_recursiveArg.OutputToStream(oStream, recursiveArgLocationAndMember.c_str()); + } +} + +} // namespace Model +} // namespace QueryProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/StructureListMember.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/StructureListMember.cpp new file mode 100644 index 00000000000..aae699d52f0 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/StructureListMember.cpp @@ -0,0 +1,86 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; + +namespace Aws +{ +namespace QueryProtocol +{ +namespace Model +{ + +StructureListMember::StructureListMember() : + m_aHasBeenSet(false), + m_bHasBeenSet(false) +{ +} + +StructureListMember::StructureListMember(const XmlNode& xmlNode) + : StructureListMember() +{ + *this = xmlNode; +} + +StructureListMember& StructureListMember::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode aNode = resultNode.FirstChild("value"); + if(!aNode.IsNull()) + { + m_a = Aws::Utils::Xml::DecodeEscapedXmlText(aNode.GetText()); + m_aHasBeenSet = true; + } + XmlNode bNode = resultNode.FirstChild("other"); + if(!bNode.IsNull()) + { + m_b = Aws::Utils::Xml::DecodeEscapedXmlText(bNode.GetText()); + m_bHasBeenSet = true; + } + } + + return *this; +} + +void StructureListMember::OutputToStream(Aws::OStream& oStream, const char* location, unsigned index, const char* locationValue) const +{ + if(m_aHasBeenSet) + { + oStream << location << index << locationValue << ".a=" << StringUtils::URLEncode(m_a.c_str()) << "&"; + } + + if(m_bHasBeenSet) + { + oStream << location << index << locationValue << ".b=" << StringUtils::URLEncode(m_b.c_str()) << "&"; + } + +} + +void StructureListMember::OutputToStream(Aws::OStream& oStream, const char* location) const +{ + if(m_aHasBeenSet) + { + oStream << location << ".a=" << StringUtils::URLEncode(m_a.c_str()) << "&"; + } + if(m_bHasBeenSet) + { + oStream << location << ".b=" << StringUtils::URLEncode(m_b.c_str()) << "&"; + } +} + +} // namespace Model +} // namespace QueryProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/XmlBlobsRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/XmlBlobsRequest.cpp new file mode 100644 index 00000000000..cd271d38002 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/XmlBlobsRequest.cpp @@ -0,0 +1,29 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include + +using namespace Aws::QueryProtocol::Model; +using namespace Aws::Utils; + +XmlBlobsRequest::XmlBlobsRequest() +{ +} + +Aws::String XmlBlobsRequest::SerializePayload() const +{ + Aws::StringStream ss; + ss << "Action=XmlBlobs&"; + ss << "Version=2020-01-08"; + return ss.str(); +} + + +void XmlBlobsRequest::DumpBodyToUrl(Aws::Http::URI& uri ) const +{ + uri.SetQueryString(SerializePayload()); +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/XmlBlobsResult.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/XmlBlobsResult.cpp new file mode 100644 index 00000000000..b4ee4acefea --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/XmlBlobsResult.cpp @@ -0,0 +1,55 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::QueryProtocol::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils::Logging; +using namespace Aws::Utils; +using namespace Aws; + +XmlBlobsResult::XmlBlobsResult() +{ +} + +XmlBlobsResult::XmlBlobsResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +XmlBlobsResult& XmlBlobsResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode rootNode = xmlDocument.GetRootElement(); + XmlNode resultNode = rootNode; + if (!rootNode.IsNull() && (rootNode.GetName() != "XmlBlobsResult")) + { + resultNode = rootNode.FirstChild("XmlBlobsResult"); + } + + if(!resultNode.IsNull()) + { + XmlNode dataNode = resultNode.FirstChild("data"); + if(!dataNode.IsNull()) + { + m_data = HashingUtils::Base64Decode(Aws::Utils::Xml::DecodeEscapedXmlText(dataNode.GetText())); + } + } + + if (!rootNode.IsNull()) { + XmlNode responseMetadataNode = rootNode.FirstChild("ResponseMetadata"); + m_responseMetadata = responseMetadataNode; + AWS_LOGSTREAM_DEBUG("Aws::QueryProtocol::Model::XmlBlobsResult", "x-amzn-request-id: " << m_responseMetadata.GetRequestId() ); + } + return *this; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/XmlEmptyBlobsRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/XmlEmptyBlobsRequest.cpp new file mode 100644 index 00000000000..f3fb026a5db --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/XmlEmptyBlobsRequest.cpp @@ -0,0 +1,29 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include + +using namespace Aws::QueryProtocol::Model; +using namespace Aws::Utils; + +XmlEmptyBlobsRequest::XmlEmptyBlobsRequest() +{ +} + +Aws::String XmlEmptyBlobsRequest::SerializePayload() const +{ + Aws::StringStream ss; + ss << "Action=XmlEmptyBlobs&"; + ss << "Version=2020-01-08"; + return ss.str(); +} + + +void XmlEmptyBlobsRequest::DumpBodyToUrl(Aws::Http::URI& uri ) const +{ + uri.SetQueryString(SerializePayload()); +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/XmlEmptyBlobsResult.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/XmlEmptyBlobsResult.cpp new file mode 100644 index 00000000000..0d7b9863908 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/XmlEmptyBlobsResult.cpp @@ -0,0 +1,55 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::QueryProtocol::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils::Logging; +using namespace Aws::Utils; +using namespace Aws; + +XmlEmptyBlobsResult::XmlEmptyBlobsResult() +{ +} + +XmlEmptyBlobsResult::XmlEmptyBlobsResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +XmlEmptyBlobsResult& XmlEmptyBlobsResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode rootNode = xmlDocument.GetRootElement(); + XmlNode resultNode = rootNode; + if (!rootNode.IsNull() && (rootNode.GetName() != "XmlEmptyBlobsResult")) + { + resultNode = rootNode.FirstChild("XmlEmptyBlobsResult"); + } + + if(!resultNode.IsNull()) + { + XmlNode dataNode = resultNode.FirstChild("data"); + if(!dataNode.IsNull()) + { + m_data = HashingUtils::Base64Decode(Aws::Utils::Xml::DecodeEscapedXmlText(dataNode.GetText())); + } + } + + if (!rootNode.IsNull()) { + XmlNode responseMetadataNode = rootNode.FirstChild("ResponseMetadata"); + m_responseMetadata = responseMetadataNode; + AWS_LOGSTREAM_DEBUG("Aws::QueryProtocol::Model::XmlEmptyBlobsResult", "x-amzn-request-id: " << m_responseMetadata.GetRequestId() ); + } + return *this; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/XmlEmptyListsRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/XmlEmptyListsRequest.cpp new file mode 100644 index 00000000000..db9487b3029 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/XmlEmptyListsRequest.cpp @@ -0,0 +1,29 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include + +using namespace Aws::QueryProtocol::Model; +using namespace Aws::Utils; + +XmlEmptyListsRequest::XmlEmptyListsRequest() +{ +} + +Aws::String XmlEmptyListsRequest::SerializePayload() const +{ + Aws::StringStream ss; + ss << "Action=XmlEmptyLists&"; + ss << "Version=2020-01-08"; + return ss.str(); +} + + +void XmlEmptyListsRequest::DumpBodyToUrl(Aws::Http::URI& uri ) const +{ + uri.SetQueryString(SerializePayload()); +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/XmlEmptyListsResult.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/XmlEmptyListsResult.cpp new file mode 100644 index 00000000000..590bc38fffb --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/XmlEmptyListsResult.cpp @@ -0,0 +1,202 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +#include + +using namespace Aws::QueryProtocol::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils::Logging; +using namespace Aws::Utils; +using namespace Aws; + +XmlEmptyListsResult::XmlEmptyListsResult() +{ +} + +XmlEmptyListsResult::XmlEmptyListsResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +XmlEmptyListsResult& XmlEmptyListsResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode rootNode = xmlDocument.GetRootElement(); + XmlNode resultNode = rootNode; + if (!rootNode.IsNull() && (rootNode.GetName() != "XmlEmptyListsResult")) + { + resultNode = rootNode.FirstChild("XmlEmptyListsResult"); + } + + if(!resultNode.IsNull()) + { + XmlNode stringListNode = resultNode.FirstChild("stringList"); + if(!stringListNode.IsNull()) + { + XmlNode stringListMember = stringListNode.FirstChild("member"); + while(!stringListMember.IsNull()) + { + m_stringList.push_back(stringListMember.GetText()); + stringListMember = stringListMember.NextNode("member"); + } + + } + XmlNode stringSetNode = resultNode.FirstChild("stringSet"); + if(!stringSetNode.IsNull()) + { + XmlNode stringSetMember = stringSetNode.FirstChild("member"); + while(!stringSetMember.IsNull()) + { + m_stringSet.push_back(stringSetMember.GetText()); + stringSetMember = stringSetMember.NextNode("member"); + } + + } + XmlNode integerListNode = resultNode.FirstChild("integerList"); + if(!integerListNode.IsNull()) + { + XmlNode integerListMember = integerListNode.FirstChild("member"); + while(!integerListMember.IsNull()) + { + m_integerList.push_back(StringUtils::ConvertToInt32(StringUtils::Trim(integerListMember.GetText().c_str()).c_str())); + integerListMember = integerListMember.NextNode("member"); + } + + } + XmlNode booleanListNode = resultNode.FirstChild("booleanList"); + if(!booleanListNode.IsNull()) + { + XmlNode booleanListMember = booleanListNode.FirstChild("member"); + while(!booleanListMember.IsNull()) + { + m_booleanList.push_back(StringUtils::ConvertToBool(StringUtils::Trim(booleanListMember.GetText().c_str()).c_str())); + booleanListMember = booleanListMember.NextNode("member"); + } + + } + XmlNode timestampListNode = resultNode.FirstChild("timestampList"); + if(!timestampListNode.IsNull()) + { + XmlNode timestampListMember = timestampListNode.FirstChild("member"); + while(!timestampListMember.IsNull()) + { + m_timestampList.push_back(DateTime(StringUtils::Trim(timestampListMember.GetText().c_str()).c_str(), Aws::Utils::DateFormat::ISO_8601)); + timestampListMember = timestampListMember.NextNode("member"); + } + + } + XmlNode enumListNode = resultNode.FirstChild("enumList"); + if(!enumListNode.IsNull()) + { + XmlNode enumListMember = enumListNode.FirstChild("member"); + while(!enumListMember.IsNull()) + { + m_enumList.push_back(FooEnumMapper::GetFooEnumForName(StringUtils::Trim(enumListMember.GetText().c_str()))); + enumListMember = enumListMember.NextNode("member"); + } + + } + XmlNode intEnumListNode = resultNode.FirstChild("intEnumList"); + if(!intEnumListNode.IsNull()) + { + XmlNode intEnumListMember = intEnumListNode.FirstChild("member"); + while(!intEnumListMember.IsNull()) + { + m_intEnumList.push_back(StringUtils::ConvertToInt32(StringUtils::Trim(intEnumListMember.GetText().c_str()).c_str())); + intEnumListMember = intEnumListMember.NextNode("member"); + } + + } + XmlNode nestedStringListNode = resultNode.FirstChild("nestedStringList"); + if(!nestedStringListNode.IsNull()) + { + XmlNode nestedStringListMember = nestedStringListNode.FirstChild("member"); + while(!nestedStringListMember.IsNull()) + { + nestedStringListMember = nestedStringListMember.NextNode("member"); + } + + } + XmlNode renamedListMembersNode = resultNode.FirstChild("renamed"); + if(!renamedListMembersNode.IsNull()) + { + XmlNode renamedListMembersMember = renamedListMembersNode.FirstChild("item"); + while(!renamedListMembersMember.IsNull()) + { + m_renamedListMembers.push_back(renamedListMembersMember.GetText()); + renamedListMembersMember = renamedListMembersMember.NextNode("item"); + } + + } + XmlNode flattenedListNode = resultNode.FirstChild("item"); + if(!flattenedListNode.IsNull()) + { + XmlNode itemMember = flattenedListNode; + while(!itemMember.IsNull()) + { + m_flattenedList.push_back(itemMember.GetText()); + itemMember = itemMember.NextNode("item"); + } + + } + XmlNode flattenedList2Node = resultNode.FirstChild("customName"); + if(!flattenedList2Node.IsNull()) + { + XmlNode customNameMember = flattenedList2Node; + while(!customNameMember.IsNull()) + { + m_flattenedList2.push_back(customNameMember.GetText()); + customNameMember = customNameMember.NextNode("item"); + } + + } + XmlNode flattenedListWithMemberNamespaceNode = resultNode.FirstChild("flattenedListWithMemberNamespace"); + if(!flattenedListWithMemberNamespaceNode.IsNull()) + { + XmlNode flattenedListWithMemberNamespaceMember = flattenedListWithMemberNamespaceNode; + while(!flattenedListWithMemberNamespaceMember.IsNull()) + { + m_flattenedListWithMemberNamespace.push_back(flattenedListWithMemberNamespaceMember.GetText()); + flattenedListWithMemberNamespaceMember = flattenedListWithMemberNamespaceMember.NextNode("flattenedListWithMemberNamespace"); + } + + } + XmlNode flattenedListWithNamespaceNode = resultNode.FirstChild("flattenedListWithNamespace"); + if(!flattenedListWithNamespaceNode.IsNull()) + { + XmlNode flattenedListWithNamespaceMember = flattenedListWithNamespaceNode; + while(!flattenedListWithNamespaceMember.IsNull()) + { + m_flattenedListWithNamespace.push_back(flattenedListWithNamespaceMember.GetText()); + flattenedListWithNamespaceMember = flattenedListWithNamespaceMember.NextNode("flattenedListWithNamespace"); + } + + } + XmlNode structureListNode = resultNode.FirstChild("myStructureList"); + if(!structureListNode.IsNull()) + { + XmlNode structureListMember = structureListNode.FirstChild("item"); + while(!structureListMember.IsNull()) + { + m_structureList.push_back(structureListMember); + structureListMember = structureListMember.NextNode("item"); + } + + } + } + + if (!rootNode.IsNull()) { + XmlNode responseMetadataNode = rootNode.FirstChild("ResponseMetadata"); + m_responseMetadata = responseMetadataNode; + AWS_LOGSTREAM_DEBUG("Aws::QueryProtocol::Model::XmlEmptyListsResult", "x-amzn-request-id: " << m_responseMetadata.GetRequestId() ); + } + return *this; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/XmlEmptyMapsRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/XmlEmptyMapsRequest.cpp new file mode 100644 index 00000000000..f7815296fce --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/XmlEmptyMapsRequest.cpp @@ -0,0 +1,29 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include + +using namespace Aws::QueryProtocol::Model; +using namespace Aws::Utils; + +XmlEmptyMapsRequest::XmlEmptyMapsRequest() +{ +} + +Aws::String XmlEmptyMapsRequest::SerializePayload() const +{ + Aws::StringStream ss; + ss << "Action=XmlEmptyMaps&"; + ss << "Version=2020-01-08"; + return ss.str(); +} + + +void XmlEmptyMapsRequest::DumpBodyToUrl(Aws::Http::URI& uri ) const +{ + uri.SetQueryString(SerializePayload()); +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/XmlEmptyMapsResult.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/XmlEmptyMapsResult.cpp new file mode 100644 index 00000000000..471323a8787 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/XmlEmptyMapsResult.cpp @@ -0,0 +1,64 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +#include + +using namespace Aws::QueryProtocol::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils::Logging; +using namespace Aws::Utils; +using namespace Aws; + +XmlEmptyMapsResult::XmlEmptyMapsResult() +{ +} + +XmlEmptyMapsResult::XmlEmptyMapsResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +XmlEmptyMapsResult& XmlEmptyMapsResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode rootNode = xmlDocument.GetRootElement(); + XmlNode resultNode = rootNode; + if (!rootNode.IsNull() && (rootNode.GetName() != "XmlEmptyMapsResult")) + { + resultNode = rootNode.FirstChild("XmlEmptyMapsResult"); + } + + if(!resultNode.IsNull()) + { + XmlNode myMapNode = resultNode.FirstChild("myMap"); + + if(!myMapNode.IsNull()) + { + XmlNode myMapEntry = myMapNode.FirstChild("entry"); + while(!myMapEntry.IsNull()) + { + XmlNode keyNode = myMapEntry.FirstChild("key"); + XmlNode valueNode = myMapEntry.FirstChild("value"); + m_myMap[keyNode.GetText()] = + valueNode; + myMapEntry = myMapEntry.NextNode("entry"); + } + + } + } + + if (!rootNode.IsNull()) { + XmlNode responseMetadataNode = rootNode.FirstChild("ResponseMetadata"); + m_responseMetadata = responseMetadataNode; + AWS_LOGSTREAM_DEBUG("Aws::QueryProtocol::Model::XmlEmptyMapsResult", "x-amzn-request-id: " << m_responseMetadata.GetRequestId() ); + } + return *this; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/XmlEnumsRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/XmlEnumsRequest.cpp new file mode 100644 index 00000000000..96538bebe4a --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/XmlEnumsRequest.cpp @@ -0,0 +1,29 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include + +using namespace Aws::QueryProtocol::Model; +using namespace Aws::Utils; + +XmlEnumsRequest::XmlEnumsRequest() +{ +} + +Aws::String XmlEnumsRequest::SerializePayload() const +{ + Aws::StringStream ss; + ss << "Action=XmlEnums&"; + ss << "Version=2020-01-08"; + return ss.str(); +} + + +void XmlEnumsRequest::DumpBodyToUrl(Aws::Http::URI& uri ) const +{ + uri.SetQueryString(SerializePayload()); +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/XmlEnumsResult.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/XmlEnumsResult.cpp new file mode 100644 index 00000000000..dbaaa7f3138 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/XmlEnumsResult.cpp @@ -0,0 +1,105 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +#include + +using namespace Aws::QueryProtocol::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils::Logging; +using namespace Aws::Utils; +using namespace Aws; + +XmlEnumsResult::XmlEnumsResult() : + m_fooEnum1(FooEnum::NOT_SET), + m_fooEnum2(FooEnum::NOT_SET), + m_fooEnum3(FooEnum::NOT_SET) +{ +} + +XmlEnumsResult::XmlEnumsResult(const Aws::AmazonWebServiceResult& result) + : XmlEnumsResult() +{ + *this = result; +} + +XmlEnumsResult& XmlEnumsResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode rootNode = xmlDocument.GetRootElement(); + XmlNode resultNode = rootNode; + if (!rootNode.IsNull() && (rootNode.GetName() != "XmlEnumsResult")) + { + resultNode = rootNode.FirstChild("XmlEnumsResult"); + } + + if(!resultNode.IsNull()) + { + XmlNode fooEnum1Node = resultNode.FirstChild("fooEnum1"); + if(!fooEnum1Node.IsNull()) + { + m_fooEnum1 = FooEnumMapper::GetFooEnumForName(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(fooEnum1Node.GetText()).c_str()).c_str()); + } + XmlNode fooEnum2Node = resultNode.FirstChild("fooEnum2"); + if(!fooEnum2Node.IsNull()) + { + m_fooEnum2 = FooEnumMapper::GetFooEnumForName(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(fooEnum2Node.GetText()).c_str()).c_str()); + } + XmlNode fooEnum3Node = resultNode.FirstChild("fooEnum3"); + if(!fooEnum3Node.IsNull()) + { + m_fooEnum3 = FooEnumMapper::GetFooEnumForName(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(fooEnum3Node.GetText()).c_str()).c_str()); + } + XmlNode fooEnumListNode = resultNode.FirstChild("fooEnumList"); + if(!fooEnumListNode.IsNull()) + { + XmlNode fooEnumListMember = fooEnumListNode.FirstChild("member"); + while(!fooEnumListMember.IsNull()) + { + m_fooEnumList.push_back(FooEnumMapper::GetFooEnumForName(StringUtils::Trim(fooEnumListMember.GetText().c_str()))); + fooEnumListMember = fooEnumListMember.NextNode("member"); + } + + } + XmlNode fooEnumSetNode = resultNode.FirstChild("fooEnumSet"); + if(!fooEnumSetNode.IsNull()) + { + XmlNode fooEnumSetMember = fooEnumSetNode.FirstChild("member"); + while(!fooEnumSetMember.IsNull()) + { + m_fooEnumSet.push_back(FooEnumMapper::GetFooEnumForName(StringUtils::Trim(fooEnumSetMember.GetText().c_str()))); + fooEnumSetMember = fooEnumSetMember.NextNode("member"); + } + + } + XmlNode fooEnumMapNode = resultNode.FirstChild("fooEnumMap"); + + if(!fooEnumMapNode.IsNull()) + { + XmlNode fooEnumMapEntry = fooEnumMapNode.FirstChild("entry"); + while(!fooEnumMapEntry.IsNull()) + { + XmlNode keyNode = fooEnumMapEntry.FirstChild("key"); + XmlNode valueNode = fooEnumMapEntry.FirstChild("value"); + m_fooEnumMap[keyNode.GetText()] = + FooEnumMapper::GetFooEnumForName(StringUtils::Trim(valueNode.GetText().c_str())); + fooEnumMapEntry = fooEnumMapEntry.NextNode("entry"); + } + + } + } + + if (!rootNode.IsNull()) { + XmlNode responseMetadataNode = rootNode.FirstChild("ResponseMetadata"); + m_responseMetadata = responseMetadataNode; + AWS_LOGSTREAM_DEBUG("Aws::QueryProtocol::Model::XmlEnumsResult", "x-amzn-request-id: " << m_responseMetadata.GetRequestId() ); + } + return *this; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/XmlIntEnumsRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/XmlIntEnumsRequest.cpp new file mode 100644 index 00000000000..6debc9c03f0 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/XmlIntEnumsRequest.cpp @@ -0,0 +1,29 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include + +using namespace Aws::QueryProtocol::Model; +using namespace Aws::Utils; + +XmlIntEnumsRequest::XmlIntEnumsRequest() +{ +} + +Aws::String XmlIntEnumsRequest::SerializePayload() const +{ + Aws::StringStream ss; + ss << "Action=XmlIntEnums&"; + ss << "Version=2020-01-08"; + return ss.str(); +} + + +void XmlIntEnumsRequest::DumpBodyToUrl(Aws::Http::URI& uri ) const +{ + uri.SetQueryString(SerializePayload()); +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/XmlIntEnumsResult.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/XmlIntEnumsResult.cpp new file mode 100644 index 00000000000..d890af8aa01 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/XmlIntEnumsResult.cpp @@ -0,0 +1,105 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +#include + +using namespace Aws::QueryProtocol::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils::Logging; +using namespace Aws::Utils; +using namespace Aws; + +XmlIntEnumsResult::XmlIntEnumsResult() : + m_intEnum1(0), + m_intEnum2(0), + m_intEnum3(0) +{ +} + +XmlIntEnumsResult::XmlIntEnumsResult(const Aws::AmazonWebServiceResult& result) + : XmlIntEnumsResult() +{ + *this = result; +} + +XmlIntEnumsResult& XmlIntEnumsResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode rootNode = xmlDocument.GetRootElement(); + XmlNode resultNode = rootNode; + if (!rootNode.IsNull() && (rootNode.GetName() != "XmlIntEnumsResult")) + { + resultNode = rootNode.FirstChild("XmlIntEnumsResult"); + } + + if(!resultNode.IsNull()) + { + XmlNode intEnum1Node = resultNode.FirstChild("intEnum1"); + if(!intEnum1Node.IsNull()) + { + m_intEnum1 = StringUtils::ConvertToInt32(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(intEnum1Node.GetText()).c_str()).c_str()); + } + XmlNode intEnum2Node = resultNode.FirstChild("intEnum2"); + if(!intEnum2Node.IsNull()) + { + m_intEnum2 = StringUtils::ConvertToInt32(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(intEnum2Node.GetText()).c_str()).c_str()); + } + XmlNode intEnum3Node = resultNode.FirstChild("intEnum3"); + if(!intEnum3Node.IsNull()) + { + m_intEnum3 = StringUtils::ConvertToInt32(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(intEnum3Node.GetText()).c_str()).c_str()); + } + XmlNode intEnumListNode = resultNode.FirstChild("intEnumList"); + if(!intEnumListNode.IsNull()) + { + XmlNode intEnumListMember = intEnumListNode.FirstChild("member"); + while(!intEnumListMember.IsNull()) + { + m_intEnumList.push_back(StringUtils::ConvertToInt32(StringUtils::Trim(intEnumListMember.GetText().c_str()).c_str())); + intEnumListMember = intEnumListMember.NextNode("member"); + } + + } + XmlNode intEnumSetNode = resultNode.FirstChild("intEnumSet"); + if(!intEnumSetNode.IsNull()) + { + XmlNode intEnumSetMember = intEnumSetNode.FirstChild("member"); + while(!intEnumSetMember.IsNull()) + { + m_intEnumSet.push_back(StringUtils::ConvertToInt32(StringUtils::Trim(intEnumSetMember.GetText().c_str()).c_str())); + intEnumSetMember = intEnumSetMember.NextNode("member"); + } + + } + XmlNode intEnumMapNode = resultNode.FirstChild("intEnumMap"); + + if(!intEnumMapNode.IsNull()) + { + XmlNode intEnumMapEntry = intEnumMapNode.FirstChild("entry"); + while(!intEnumMapEntry.IsNull()) + { + XmlNode keyNode = intEnumMapEntry.FirstChild("key"); + XmlNode valueNode = intEnumMapEntry.FirstChild("value"); + m_intEnumMap[keyNode.GetText()] = + StringUtils::ConvertToInt32(StringUtils::Trim(valueNode.GetText().c_str()).c_str()); + intEnumMapEntry = intEnumMapEntry.NextNode("entry"); + } + + } + } + + if (!rootNode.IsNull()) { + XmlNode responseMetadataNode = rootNode.FirstChild("ResponseMetadata"); + m_responseMetadata = responseMetadataNode; + AWS_LOGSTREAM_DEBUG("Aws::QueryProtocol::Model::XmlIntEnumsResult", "x-amzn-request-id: " << m_responseMetadata.GetRequestId() ); + } + return *this; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/XmlListsRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/XmlListsRequest.cpp new file mode 100644 index 00000000000..7971d7f2455 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/XmlListsRequest.cpp @@ -0,0 +1,29 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include + +using namespace Aws::QueryProtocol::Model; +using namespace Aws::Utils; + +XmlListsRequest::XmlListsRequest() +{ +} + +Aws::String XmlListsRequest::SerializePayload() const +{ + Aws::StringStream ss; + ss << "Action=XmlLists&"; + ss << "Version=2020-01-08"; + return ss.str(); +} + + +void XmlListsRequest::DumpBodyToUrl(Aws::Http::URI& uri ) const +{ + uri.SetQueryString(SerializePayload()); +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/XmlListsResult.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/XmlListsResult.cpp new file mode 100644 index 00000000000..513f528e5a2 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/XmlListsResult.cpp @@ -0,0 +1,202 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +#include + +using namespace Aws::QueryProtocol::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils::Logging; +using namespace Aws::Utils; +using namespace Aws; + +XmlListsResult::XmlListsResult() +{ +} + +XmlListsResult::XmlListsResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +XmlListsResult& XmlListsResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode rootNode = xmlDocument.GetRootElement(); + XmlNode resultNode = rootNode; + if (!rootNode.IsNull() && (rootNode.GetName() != "XmlListsResult")) + { + resultNode = rootNode.FirstChild("XmlListsResult"); + } + + if(!resultNode.IsNull()) + { + XmlNode stringListNode = resultNode.FirstChild("stringList"); + if(!stringListNode.IsNull()) + { + XmlNode stringListMember = stringListNode.FirstChild("member"); + while(!stringListMember.IsNull()) + { + m_stringList.push_back(stringListMember.GetText()); + stringListMember = stringListMember.NextNode("member"); + } + + } + XmlNode stringSetNode = resultNode.FirstChild("stringSet"); + if(!stringSetNode.IsNull()) + { + XmlNode stringSetMember = stringSetNode.FirstChild("member"); + while(!stringSetMember.IsNull()) + { + m_stringSet.push_back(stringSetMember.GetText()); + stringSetMember = stringSetMember.NextNode("member"); + } + + } + XmlNode integerListNode = resultNode.FirstChild("integerList"); + if(!integerListNode.IsNull()) + { + XmlNode integerListMember = integerListNode.FirstChild("member"); + while(!integerListMember.IsNull()) + { + m_integerList.push_back(StringUtils::ConvertToInt32(StringUtils::Trim(integerListMember.GetText().c_str()).c_str())); + integerListMember = integerListMember.NextNode("member"); + } + + } + XmlNode booleanListNode = resultNode.FirstChild("booleanList"); + if(!booleanListNode.IsNull()) + { + XmlNode booleanListMember = booleanListNode.FirstChild("member"); + while(!booleanListMember.IsNull()) + { + m_booleanList.push_back(StringUtils::ConvertToBool(StringUtils::Trim(booleanListMember.GetText().c_str()).c_str())); + booleanListMember = booleanListMember.NextNode("member"); + } + + } + XmlNode timestampListNode = resultNode.FirstChild("timestampList"); + if(!timestampListNode.IsNull()) + { + XmlNode timestampListMember = timestampListNode.FirstChild("member"); + while(!timestampListMember.IsNull()) + { + m_timestampList.push_back(DateTime(StringUtils::Trim(timestampListMember.GetText().c_str()).c_str(), Aws::Utils::DateFormat::ISO_8601)); + timestampListMember = timestampListMember.NextNode("member"); + } + + } + XmlNode enumListNode = resultNode.FirstChild("enumList"); + if(!enumListNode.IsNull()) + { + XmlNode enumListMember = enumListNode.FirstChild("member"); + while(!enumListMember.IsNull()) + { + m_enumList.push_back(FooEnumMapper::GetFooEnumForName(StringUtils::Trim(enumListMember.GetText().c_str()))); + enumListMember = enumListMember.NextNode("member"); + } + + } + XmlNode intEnumListNode = resultNode.FirstChild("intEnumList"); + if(!intEnumListNode.IsNull()) + { + XmlNode intEnumListMember = intEnumListNode.FirstChild("member"); + while(!intEnumListMember.IsNull()) + { + m_intEnumList.push_back(StringUtils::ConvertToInt32(StringUtils::Trim(intEnumListMember.GetText().c_str()).c_str())); + intEnumListMember = intEnumListMember.NextNode("member"); + } + + } + XmlNode nestedStringListNode = resultNode.FirstChild("nestedStringList"); + if(!nestedStringListNode.IsNull()) + { + XmlNode nestedStringListMember = nestedStringListNode.FirstChild("member"); + while(!nestedStringListMember.IsNull()) + { + nestedStringListMember = nestedStringListMember.NextNode("member"); + } + + } + XmlNode renamedListMembersNode = resultNode.FirstChild("renamed"); + if(!renamedListMembersNode.IsNull()) + { + XmlNode renamedListMembersMember = renamedListMembersNode.FirstChild("item"); + while(!renamedListMembersMember.IsNull()) + { + m_renamedListMembers.push_back(renamedListMembersMember.GetText()); + renamedListMembersMember = renamedListMembersMember.NextNode("item"); + } + + } + XmlNode flattenedListNode = resultNode.FirstChild("item"); + if(!flattenedListNode.IsNull()) + { + XmlNode itemMember = flattenedListNode; + while(!itemMember.IsNull()) + { + m_flattenedList.push_back(itemMember.GetText()); + itemMember = itemMember.NextNode("item"); + } + + } + XmlNode flattenedList2Node = resultNode.FirstChild("customName"); + if(!flattenedList2Node.IsNull()) + { + XmlNode customNameMember = flattenedList2Node; + while(!customNameMember.IsNull()) + { + m_flattenedList2.push_back(customNameMember.GetText()); + customNameMember = customNameMember.NextNode("item"); + } + + } + XmlNode flattenedListWithMemberNamespaceNode = resultNode.FirstChild("flattenedListWithMemberNamespace"); + if(!flattenedListWithMemberNamespaceNode.IsNull()) + { + XmlNode flattenedListWithMemberNamespaceMember = flattenedListWithMemberNamespaceNode; + while(!flattenedListWithMemberNamespaceMember.IsNull()) + { + m_flattenedListWithMemberNamespace.push_back(flattenedListWithMemberNamespaceMember.GetText()); + flattenedListWithMemberNamespaceMember = flattenedListWithMemberNamespaceMember.NextNode("flattenedListWithMemberNamespace"); + } + + } + XmlNode flattenedListWithNamespaceNode = resultNode.FirstChild("flattenedListWithNamespace"); + if(!flattenedListWithNamespaceNode.IsNull()) + { + XmlNode flattenedListWithNamespaceMember = flattenedListWithNamespaceNode; + while(!flattenedListWithNamespaceMember.IsNull()) + { + m_flattenedListWithNamespace.push_back(flattenedListWithNamespaceMember.GetText()); + flattenedListWithNamespaceMember = flattenedListWithNamespaceMember.NextNode("flattenedListWithNamespace"); + } + + } + XmlNode structureListNode = resultNode.FirstChild("myStructureList"); + if(!structureListNode.IsNull()) + { + XmlNode structureListMember = structureListNode.FirstChild("item"); + while(!structureListMember.IsNull()) + { + m_structureList.push_back(structureListMember); + structureListMember = structureListMember.NextNode("item"); + } + + } + } + + if (!rootNode.IsNull()) { + XmlNode responseMetadataNode = rootNode.FirstChild("ResponseMetadata"); + m_responseMetadata = responseMetadataNode; + AWS_LOGSTREAM_DEBUG("Aws::QueryProtocol::Model::XmlListsResult", "x-amzn-request-id: " << m_responseMetadata.GetRequestId() ); + } + return *this; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/XmlMapsRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/XmlMapsRequest.cpp new file mode 100644 index 00000000000..7061301df0f --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/XmlMapsRequest.cpp @@ -0,0 +1,29 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include + +using namespace Aws::QueryProtocol::Model; +using namespace Aws::Utils; + +XmlMapsRequest::XmlMapsRequest() +{ +} + +Aws::String XmlMapsRequest::SerializePayload() const +{ + Aws::StringStream ss; + ss << "Action=XmlMaps&"; + ss << "Version=2020-01-08"; + return ss.str(); +} + + +void XmlMapsRequest::DumpBodyToUrl(Aws::Http::URI& uri ) const +{ + uri.SetQueryString(SerializePayload()); +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/XmlMapsResult.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/XmlMapsResult.cpp new file mode 100644 index 00000000000..9e15a5dbda8 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/XmlMapsResult.cpp @@ -0,0 +1,64 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +#include + +using namespace Aws::QueryProtocol::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils::Logging; +using namespace Aws::Utils; +using namespace Aws; + +XmlMapsResult::XmlMapsResult() +{ +} + +XmlMapsResult::XmlMapsResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +XmlMapsResult& XmlMapsResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode rootNode = xmlDocument.GetRootElement(); + XmlNode resultNode = rootNode; + if (!rootNode.IsNull() && (rootNode.GetName() != "XmlMapsResult")) + { + resultNode = rootNode.FirstChild("XmlMapsResult"); + } + + if(!resultNode.IsNull()) + { + XmlNode myMapNode = resultNode.FirstChild("myMap"); + + if(!myMapNode.IsNull()) + { + XmlNode myMapEntry = myMapNode.FirstChild("entry"); + while(!myMapEntry.IsNull()) + { + XmlNode keyNode = myMapEntry.FirstChild("key"); + XmlNode valueNode = myMapEntry.FirstChild("value"); + m_myMap[keyNode.GetText()] = + valueNode; + myMapEntry = myMapEntry.NextNode("entry"); + } + + } + } + + if (!rootNode.IsNull()) { + XmlNode responseMetadataNode = rootNode.FirstChild("ResponseMetadata"); + m_responseMetadata = responseMetadataNode; + AWS_LOGSTREAM_DEBUG("Aws::QueryProtocol::Model::XmlMapsResult", "x-amzn-request-id: " << m_responseMetadata.GetRequestId() ); + } + return *this; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/XmlMapsXmlNameRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/XmlMapsXmlNameRequest.cpp new file mode 100644 index 00000000000..0b4caa7b613 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/XmlMapsXmlNameRequest.cpp @@ -0,0 +1,29 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include + +using namespace Aws::QueryProtocol::Model; +using namespace Aws::Utils; + +XmlMapsXmlNameRequest::XmlMapsXmlNameRequest() +{ +} + +Aws::String XmlMapsXmlNameRequest::SerializePayload() const +{ + Aws::StringStream ss; + ss << "Action=XmlMapsXmlName&"; + ss << "Version=2020-01-08"; + return ss.str(); +} + + +void XmlMapsXmlNameRequest::DumpBodyToUrl(Aws::Http::URI& uri ) const +{ + uri.SetQueryString(SerializePayload()); +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/XmlMapsXmlNameResult.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/XmlMapsXmlNameResult.cpp new file mode 100644 index 00000000000..9caa839b4a2 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/XmlMapsXmlNameResult.cpp @@ -0,0 +1,64 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +#include + +using namespace Aws::QueryProtocol::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils::Logging; +using namespace Aws::Utils; +using namespace Aws; + +XmlMapsXmlNameResult::XmlMapsXmlNameResult() +{ +} + +XmlMapsXmlNameResult::XmlMapsXmlNameResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +XmlMapsXmlNameResult& XmlMapsXmlNameResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode rootNode = xmlDocument.GetRootElement(); + XmlNode resultNode = rootNode; + if (!rootNode.IsNull() && (rootNode.GetName() != "XmlMapsXmlNameResult")) + { + resultNode = rootNode.FirstChild("XmlMapsXmlNameResult"); + } + + if(!resultNode.IsNull()) + { + XmlNode myMapNode = resultNode.FirstChild("myMap"); + + if(!myMapNode.IsNull()) + { + XmlNode myMapEntry = myMapNode.FirstChild("entry"); + while(!myMapEntry.IsNull()) + { + XmlNode keyNode = myMapEntry.FirstChild("key"); + XmlNode valueNode = myMapEntry.FirstChild("value"); + m_myMap[keyNode.GetText()] = + valueNode; + myMapEntry = myMapEntry.NextNode("entry"); + } + + } + } + + if (!rootNode.IsNull()) { + XmlNode responseMetadataNode = rootNode.FirstChild("ResponseMetadata"); + m_responseMetadata = responseMetadataNode; + AWS_LOGSTREAM_DEBUG("Aws::QueryProtocol::Model::XmlMapsXmlNameResult", "x-amzn-request-id: " << m_responseMetadata.GetRequestId() ); + } + return *this; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/XmlNamespaceNested.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/XmlNamespaceNested.cpp new file mode 100644 index 00000000000..ee58b47a622 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/XmlNamespaceNested.cpp @@ -0,0 +1,100 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; + +namespace Aws +{ +namespace QueryProtocol +{ +namespace Model +{ + +XmlNamespaceNested::XmlNamespaceNested() : + m_fooHasBeenSet(false), + m_valuesHasBeenSet(false) +{ +} + +XmlNamespaceNested::XmlNamespaceNested(const XmlNode& xmlNode) + : XmlNamespaceNested() +{ + *this = xmlNode; +} + +XmlNamespaceNested& XmlNamespaceNested::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode fooNode = resultNode.FirstChild("foo"); + if(!fooNode.IsNull()) + { + m_foo = Aws::Utils::Xml::DecodeEscapedXmlText(fooNode.GetText()); + m_fooHasBeenSet = true; + } + XmlNode valuesNode = resultNode.FirstChild("values"); + if(!valuesNode.IsNull()) + { + XmlNode valuesMember = valuesNode.FirstChild("member"); + while(!valuesMember.IsNull()) + { + m_values.push_back(valuesMember.GetText()); + valuesMember = valuesMember.NextNode("member"); + } + + m_valuesHasBeenSet = true; + } + } + + return *this; +} + +void XmlNamespaceNested::OutputToStream(Aws::OStream& oStream, const char* location, unsigned index, const char* locationValue) const +{ + if(m_fooHasBeenSet) + { + oStream << location << index << locationValue << ".foo=" << StringUtils::URLEncode(m_foo.c_str()) << "&"; + } + + if(m_valuesHasBeenSet) + { + unsigned valuesIdx = 1; + for(auto& item : m_values) + { + oStream << location << index << locationValue << ".values.member." << valuesIdx++ << "=" << StringUtils::URLEncode(item.c_str()) << "&"; + } + } + +} + +void XmlNamespaceNested::OutputToStream(Aws::OStream& oStream, const char* location) const +{ + if(m_fooHasBeenSet) + { + oStream << location << ".foo=" << StringUtils::URLEncode(m_foo.c_str()) << "&"; + } + if(m_valuesHasBeenSet) + { + unsigned valuesIdx = 1; + for(auto& item : m_values) + { + oStream << location << ".values.member." << valuesIdx++ << "=" << StringUtils::URLEncode(item.c_str()) << "&"; + } + } +} + +} // namespace Model +} // namespace QueryProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/XmlNamespacesRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/XmlNamespacesRequest.cpp new file mode 100644 index 00000000000..8d0946f8a13 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/XmlNamespacesRequest.cpp @@ -0,0 +1,29 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include + +using namespace Aws::QueryProtocol::Model; +using namespace Aws::Utils; + +XmlNamespacesRequest::XmlNamespacesRequest() +{ +} + +Aws::String XmlNamespacesRequest::SerializePayload() const +{ + Aws::StringStream ss; + ss << "Action=XmlNamespaces&"; + ss << "Version=2020-01-08"; + return ss.str(); +} + + +void XmlNamespacesRequest::DumpBodyToUrl(Aws::Http::URI& uri ) const +{ + uri.SetQueryString(SerializePayload()); +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/XmlNamespacesResult.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/XmlNamespacesResult.cpp new file mode 100644 index 00000000000..6b932f6453c --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/XmlNamespacesResult.cpp @@ -0,0 +1,54 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +#include + +using namespace Aws::QueryProtocol::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils::Logging; +using namespace Aws::Utils; +using namespace Aws; + +XmlNamespacesResult::XmlNamespacesResult() +{ +} + +XmlNamespacesResult::XmlNamespacesResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +XmlNamespacesResult& XmlNamespacesResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode rootNode = xmlDocument.GetRootElement(); + XmlNode resultNode = rootNode; + if (!rootNode.IsNull() && (rootNode.GetName() != "XmlNamespacesResult")) + { + resultNode = rootNode.FirstChild("XmlNamespacesResult"); + } + + if(!resultNode.IsNull()) + { + XmlNode nestedNode = resultNode.FirstChild("nested"); + if(!nestedNode.IsNull()) + { + m_nested = nestedNode; + } + } + + if (!rootNode.IsNull()) { + XmlNode responseMetadataNode = rootNode.FirstChild("ResponseMetadata"); + m_responseMetadata = responseMetadataNode; + AWS_LOGSTREAM_DEBUG("Aws::QueryProtocol::Model::XmlNamespacesResult", "x-amzn-request-id: " << m_responseMetadata.GetRequestId() ); + } + return *this; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/XmlTimestampsRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/XmlTimestampsRequest.cpp new file mode 100644 index 00000000000..834a3ca3b18 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/XmlTimestampsRequest.cpp @@ -0,0 +1,29 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include + +using namespace Aws::QueryProtocol::Model; +using namespace Aws::Utils; + +XmlTimestampsRequest::XmlTimestampsRequest() +{ +} + +Aws::String XmlTimestampsRequest::SerializePayload() const +{ + Aws::StringStream ss; + ss << "Action=XmlTimestamps&"; + ss << "Version=2020-01-08"; + return ss.str(); +} + + +void XmlTimestampsRequest::DumpBodyToUrl(Aws::Http::URI& uri ) const +{ + uri.SetQueryString(SerializePayload()); +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/XmlTimestampsResult.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/XmlTimestampsResult.cpp new file mode 100644 index 00000000000..c3e430fc828 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/model/XmlTimestampsResult.cpp @@ -0,0 +1,84 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +#include + +using namespace Aws::QueryProtocol::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils::Logging; +using namespace Aws::Utils; +using namespace Aws; + +XmlTimestampsResult::XmlTimestampsResult() +{ +} + +XmlTimestampsResult::XmlTimestampsResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +XmlTimestampsResult& XmlTimestampsResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode rootNode = xmlDocument.GetRootElement(); + XmlNode resultNode = rootNode; + if (!rootNode.IsNull() && (rootNode.GetName() != "XmlTimestampsResult")) + { + resultNode = rootNode.FirstChild("XmlTimestampsResult"); + } + + if(!resultNode.IsNull()) + { + XmlNode normalNode = resultNode.FirstChild("normal"); + if(!normalNode.IsNull()) + { + m_normal = DateTime(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(normalNode.GetText()).c_str()).c_str(), Aws::Utils::DateFormat::ISO_8601); + } + XmlNode dateTimeNode = resultNode.FirstChild("dateTime"); + if(!dateTimeNode.IsNull()) + { + m_dateTime = DateTime(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(dateTimeNode.GetText()).c_str()).c_str(), Aws::Utils::DateFormat::ISO_8601); + } + XmlNode dateTimeOnTargetNode = resultNode.FirstChild("dateTimeOnTarget"); + if(!dateTimeOnTargetNode.IsNull()) + { + m_dateTimeOnTarget = DateTime(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(dateTimeOnTargetNode.GetText()).c_str()).c_str(), Aws::Utils::DateFormat::ISO_8601); + } + XmlNode epochSecondsNode = resultNode.FirstChild("epochSeconds"); + if(!epochSecondsNode.IsNull()) + { + m_epochSeconds = DateTime(StringUtils::ConvertToDouble(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(epochSecondsNode.GetText()).c_str()).c_str())); + } + XmlNode epochSecondsOnTargetNode = resultNode.FirstChild("epochSecondsOnTarget"); + if(!epochSecondsOnTargetNode.IsNull()) + { + m_epochSecondsOnTarget = DateTime(StringUtils::ConvertToDouble(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(epochSecondsOnTargetNode.GetText()).c_str()).c_str())); + } + XmlNode httpDateNode = resultNode.FirstChild("httpDate"); + if(!httpDateNode.IsNull()) + { + m_httpDate = DateTime(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(httpDateNode.GetText()).c_str()).c_str(), Aws::Utils::DateFormat::RFC822); + } + XmlNode httpDateOnTargetNode = resultNode.FirstChild("httpDateOnTarget"); + if(!httpDateOnTargetNode.IsNull()) + { + m_httpDateOnTarget = DateTime(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(httpDateOnTargetNode.GetText()).c_str()).c_str(), Aws::Utils::DateFormat::RFC822); + } + } + + if (!rootNode.IsNull()) { + XmlNode responseMetadataNode = rootNode.FirstChild("ResponseMetadata"); + m_responseMetadata = responseMetadataNode; + AWS_LOGSTREAM_DEBUG("Aws::QueryProtocol::Model::XmlTimestampsResult", "x-amzn-request-id: " << m_responseMetadata.GetRequestId() ); + } + return *this; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/CMakeLists.txt b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/CMakeLists.txt new file mode 100644 index 00000000000..394681b7a47 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/CMakeLists.txt @@ -0,0 +1,76 @@ +add_project(aws-cpp-sdk-rest-json-protocol "C++ SDK for the AWS rest-json-protocol service" aws-cpp-sdk-core) + +file(GLOB AWS_REST-JSON-PROTOCOL_HEADERS + "include/aws/rest-json-protocol/*.h" +) + +file(GLOB AWS_REST-JSON-PROTOCOL_MODEL_HEADERS + "include/aws/rest-json-protocol/model/*.h" +) + +file(GLOB AWS_REST-JSON-PROTOCOL_SOURCE + "source/*.cpp" +) + +file(GLOB AWS_REST-JSON-PROTOCOL_MODEL_SOURCE + "source/model/*.cpp" +) + +file(GLOB REST-JSON-PROTOCOL_UNIFIED_HEADERS + ${AWS_REST-JSON-PROTOCOL_HEADERS} + ${AWS_REST-JSON-PROTOCOL_MODEL_HEADERS} +) + +file(GLOB REST-JSON-PROTOCOL_UNITY_SRC + ${AWS_REST-JSON-PROTOCOL_SOURCE} + ${AWS_REST-JSON-PROTOCOL_MODEL_SOURCE} +) + +if(ENABLE_UNITY_BUILD) + enable_unity_build("REST-JSON-PROTOCOL" REST-JSON-PROTOCOL_UNITY_SRC) +endif() + +file(GLOB REST-JSON-PROTOCOL_SRC + ${REST-JSON-PROTOCOL_UNIFIED_HEADERS} + ${REST-JSON-PROTOCOL_UNITY_SRC} +) + +if(WIN32) + #if we are compiling for visual studio, create a sane directory tree. + if(MSVC) + source_group("Header Files\\aws\\rest-json-protocol" FILES ${AWS_REST-JSON-PROTOCOL_HEADERS}) + source_group("Header Files\\aws\\rest-json-protocol\\model" FILES ${AWS_REST-JSON-PROTOCOL_MODEL_HEADERS}) + source_group("Source Files" FILES ${AWS_REST-JSON-PROTOCOL_SOURCE}) + source_group("Source Files\\model" FILES ${AWS_REST-JSON-PROTOCOL_MODEL_SOURCE}) + endif(MSVC) +endif() + +set(REST-JSON-PROTOCOL_INCLUDES + "${CMAKE_CURRENT_SOURCE_DIR}/include/" +) + +add_library(${PROJECT_NAME} ${REST-JSON-PROTOCOL_SRC}) +add_library(AWS::${PROJECT_NAME} ALIAS ${PROJECT_NAME}) + +set_compiler_flags(${PROJECT_NAME}) +set_compiler_warnings(${PROJECT_NAME}) + +if(USE_WINDOWS_DLL_SEMANTICS AND BUILD_SHARED_LIBS) + target_compile_definitions(${PROJECT_NAME} PRIVATE "AWS_RESTJSONPROTOCOL_EXPORTS") +endif() + +target_include_directories(${PROJECT_NAME} PUBLIC + $ + $) + +target_link_libraries(${PROJECT_NAME} PRIVATE ${PLATFORM_DEP_LIBS} ${PROJECT_LIBS}) + + +setup_install() + +install (FILES ${AWS_REST-JSON-PROTOCOL_HEADERS} DESTINATION ${INCLUDE_DIRECTORY}/aws/rest-json-protocol) +install (FILES ${AWS_REST-JSON-PROTOCOL_MODEL_HEADERS} DESTINATION ${INCLUDE_DIRECTORY}/aws/rest-json-protocol/model) + +do_packaging() + + diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/RestJsonProtocolClient.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/RestJsonProtocolClient.h new file mode 100644 index 00000000000..c6afbe537a4 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/RestJsonProtocolClient.h @@ -0,0 +1,1689 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace RestJsonProtocol +{ + AWS_RESTJSONPROTOCOL_API extern const char SERVICE_NAME[]; + /** + *

A REST JSON service that sends JSON requests and responses.

+ */ + class AWS_RESTJSONPROTOCOL_API RestJsonProtocolClient : smithy::client::AwsSmithyClientT, + Aws::Crt::Variant, + RestJsonProtocolEndpointProviderBase, + smithy::client::JsonOutcomeSerializer, + smithy::client::JsonOutcome, + Aws::Client::RestJsonProtocolErrorMarshaller>, + Aws::Client::ClientWithAsyncTemplateMethods + { + public: + static const char* GetServiceName(); + static const char* GetAllocationTag(); + inline const char* GetServiceClientName() const override { return "Rest Json Protocol"; } + + typedef RestJsonProtocolClientConfiguration ClientConfigurationType; + typedef RestJsonProtocolEndpointProvider EndpointProviderType; + + /** + * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client config + * is not specified, it will be initialized to default values. + */ + RestJsonProtocolClient(const Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration& clientConfiguration = Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(), + std::shared_ptr endpointProvider = nullptr); + + /** + * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config + * is not specified, it will be initialized to default values. + */ + RestJsonProtocolClient(const Aws::Auth::AWSCredentials& credentials, + std::shared_ptr endpointProvider = nullptr, + const Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration& clientConfiguration = Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration()); + + /** + * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, + * the default http client factory will be used + */ + RestJsonProtocolClient(const std::shared_ptr& credentialsProvider, + std::shared_ptr endpointProvider = nullptr, + const Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration& clientConfiguration = Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration()); + + + /* Legacy constructors due deprecation */ + /** + * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client config + * is not specified, it will be initialized to default values. + */ + RestJsonProtocolClient(const Aws::Client::ClientConfiguration& clientConfiguration); + + /** + * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config + * is not specified, it will be initialized to default values. + */ + RestJsonProtocolClient(const Aws::Auth::AWSCredentials& credentials, + const Aws::Client::ClientConfiguration& clientConfiguration); + + /** + * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, + * the default http client factory will be used + */ + RestJsonProtocolClient(const std::shared_ptr& credentialsProvider, + const Aws::Client::ClientConfiguration& clientConfiguration); + + /* End of legacy constructors due deprecation */ + virtual ~RestJsonProtocolClient(); + + /** + *

This example uses all query string types.

See Also:

AWS + * API Reference

+ */ + virtual Model::AllQueryStringTypesOutcome AllQueryStringTypes(const Model::AllQueryStringTypesRequest& request = {}) const; + + /** + * A Callable wrapper for AllQueryStringTypes that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::AllQueryStringTypesOutcomeCallable AllQueryStringTypesCallable(const AllQueryStringTypesRequestT& request = {}) const + { + return SubmitCallable(&RestJsonProtocolClient::AllQueryStringTypes, request); + } + + /** + * An Async wrapper for AllQueryStringTypes that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void AllQueryStringTypesAsync(const AllQueryStringTypesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const AllQueryStringTypesRequestT& request = {}) const + { + return SubmitAsync(&RestJsonProtocolClient::AllQueryStringTypes, request, handler, context); + } + + /** + *

This example uses fixed query string params and variable query string params. + * The fixed query string parameters and variable parameters must both be + * serialized (implementations may need to merge them together).

See + * Also:

AWS + * API Reference

+ */ + virtual Model::ConstantAndVariableQueryStringOutcome ConstantAndVariableQueryString(const Model::ConstantAndVariableQueryStringRequest& request = {}) const; + + /** + * A Callable wrapper for ConstantAndVariableQueryString that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::ConstantAndVariableQueryStringOutcomeCallable ConstantAndVariableQueryStringCallable(const ConstantAndVariableQueryStringRequestT& request = {}) const + { + return SubmitCallable(&RestJsonProtocolClient::ConstantAndVariableQueryString, request); + } + + /** + * An Async wrapper for ConstantAndVariableQueryString that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void ConstantAndVariableQueryStringAsync(const ConstantAndVariableQueryStringResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const ConstantAndVariableQueryStringRequestT& request = {}) const + { + return SubmitAsync(&RestJsonProtocolClient::ConstantAndVariableQueryString, request, handler, context); + } + + /** + *

This example uses a constant query string parameters and a label. This simply + * tests that labels and query string parameters are compatible. The fixed query + * string parameter named "hello" should in no way conflict with the + * label, {hello}.

See Also:

AWS + * API Reference

+ */ + virtual Model::ConstantQueryStringOutcome ConstantQueryString(const Model::ConstantQueryStringRequest& request) const; + + /** + * A Callable wrapper for ConstantQueryString that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::ConstantQueryStringOutcomeCallable ConstantQueryStringCallable(const ConstantQueryStringRequestT& request) const + { + return SubmitCallable(&RestJsonProtocolClient::ConstantQueryString, request); + } + + /** + * An Async wrapper for ConstantQueryString that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void ConstantQueryStringAsync(const ConstantQueryStringRequestT& request, const ConstantQueryStringResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&RestJsonProtocolClient::ConstantQueryString, request, handler, context); + } + + /** + *

The example tests how servers must support requests containing a + * Content-Type header with parameters.

See Also:

AWS + * API Reference

+ */ + virtual Model::ContentTypeParametersOutcome ContentTypeParameters(const Model::ContentTypeParametersRequest& request = {}) const; + + /** + * A Callable wrapper for ContentTypeParameters that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::ContentTypeParametersOutcomeCallable ContentTypeParametersCallable(const ContentTypeParametersRequestT& request = {}) const + { + return SubmitCallable(&RestJsonProtocolClient::ContentTypeParameters, request); + } + + /** + * An Async wrapper for ContentTypeParameters that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void ContentTypeParametersAsync(const ContentTypeParametersResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const ContentTypeParametersRequestT& request = {}) const + { + return SubmitAsync(&RestJsonProtocolClient::ContentTypeParameters, request, handler, context); + } + + /** + * + */ + virtual Model::DatetimeOffsetsOutcome DatetimeOffsets(const Model::DatetimeOffsetsRequest& request = {}) const; + + /** + * A Callable wrapper for DatetimeOffsets that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::DatetimeOffsetsOutcomeCallable DatetimeOffsetsCallable(const DatetimeOffsetsRequestT& request = {}) const + { + return SubmitCallable(&RestJsonProtocolClient::DatetimeOffsets, request); + } + + /** + * An Async wrapper for DatetimeOffsets that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void DatetimeOffsetsAsync(const DatetimeOffsetsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const DatetimeOffsetsRequestT& request = {}) const + { + return SubmitAsync(&RestJsonProtocolClient::DatetimeOffsets, request, handler, context); + } + + /** + *

This example serializes a document as part of the payload.

See + * Also:

AWS + * API Reference

+ */ + virtual Model::DocumentTypeOutcome DocumentType(const Model::DocumentTypeRequest& request = {}) const; + + /** + * A Callable wrapper for DocumentType that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::DocumentTypeOutcomeCallable DocumentTypeCallable(const DocumentTypeRequestT& request = {}) const + { + return SubmitCallable(&RestJsonProtocolClient::DocumentType, request); + } + + /** + * An Async wrapper for DocumentType that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void DocumentTypeAsync(const DocumentTypeResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const DocumentTypeRequestT& request = {}) const + { + return SubmitAsync(&RestJsonProtocolClient::DocumentType, request, handler, context); + } + + /** + *

This example serializes documents as the value of maps.

See + * Also:

AWS + * API Reference

+ */ + virtual Model::DocumentTypeAsMapValueOutcome DocumentTypeAsMapValue(const Model::DocumentTypeAsMapValueRequest& request = {}) const; + + /** + * A Callable wrapper for DocumentTypeAsMapValue that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::DocumentTypeAsMapValueOutcomeCallable DocumentTypeAsMapValueCallable(const DocumentTypeAsMapValueRequestT& request = {}) const + { + return SubmitCallable(&RestJsonProtocolClient::DocumentTypeAsMapValue, request); + } + + /** + * An Async wrapper for DocumentTypeAsMapValue that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void DocumentTypeAsMapValueAsync(const DocumentTypeAsMapValueResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const DocumentTypeAsMapValueRequestT& request = {}) const + { + return SubmitAsync(&RestJsonProtocolClient::DocumentTypeAsMapValue, request, handler, context); + } + + /** + *

This example serializes a document as the entire HTTP payload.

See + * Also:

AWS + * API Reference

+ */ + virtual Model::DocumentTypeAsPayloadOutcome DocumentTypeAsPayload(const Model::DocumentTypeAsPayloadRequest& request = {}) const; + + /** + * A Callable wrapper for DocumentTypeAsPayload that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::DocumentTypeAsPayloadOutcomeCallable DocumentTypeAsPayloadCallable(const DocumentTypeAsPayloadRequestT& request = {}) const + { + return SubmitCallable(&RestJsonProtocolClient::DocumentTypeAsPayload, request); + } + + /** + * An Async wrapper for DocumentTypeAsPayload that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void DocumentTypeAsPayloadAsync(const DocumentTypeAsPayloadResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const DocumentTypeAsPayloadRequestT& request = {}) const + { + return SubmitAsync(&RestJsonProtocolClient::DocumentTypeAsPayload, request, handler, context); + } + + /** + *

The example tests how requests and responses are serialized when there's no + * request or response payload because the operation has an empty input and empty + * output structure that reuses the same shape. While this should be rare, code + * generators must support this.

See Also:

AWS + * API Reference

+ */ + virtual Model::EmptyInputAndEmptyOutputOutcome EmptyInputAndEmptyOutput(const Model::EmptyInputAndEmptyOutputRequest& request = {}) const; + + /** + * A Callable wrapper for EmptyInputAndEmptyOutput that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::EmptyInputAndEmptyOutputOutcomeCallable EmptyInputAndEmptyOutputCallable(const EmptyInputAndEmptyOutputRequestT& request = {}) const + { + return SubmitCallable(&RestJsonProtocolClient::EmptyInputAndEmptyOutput, request); + } + + /** + * An Async wrapper for EmptyInputAndEmptyOutput that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void EmptyInputAndEmptyOutputAsync(const EmptyInputAndEmptyOutputResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const EmptyInputAndEmptyOutputRequestT& request = {}) const + { + return SubmitAsync(&RestJsonProtocolClient::EmptyInputAndEmptyOutput, request, handler, context); + } + + /** + * + */ + virtual Model::EndpointOperationOutcome EndpointOperation(const Model::EndpointOperationRequest& request = {}) const; + + /** + * A Callable wrapper for EndpointOperation that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::EndpointOperationOutcomeCallable EndpointOperationCallable(const EndpointOperationRequestT& request = {}) const + { + return SubmitCallable(&RestJsonProtocolClient::EndpointOperation, request); + } + + /** + * An Async wrapper for EndpointOperation that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void EndpointOperationAsync(const EndpointOperationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const EndpointOperationRequestT& request = {}) const + { + return SubmitAsync(&RestJsonProtocolClient::EndpointOperation, request, handler, context); + } + + /** + * + */ + virtual Model::EndpointWithHostLabelOperationOutcome EndpointWithHostLabelOperation(const Model::EndpointWithHostLabelOperationRequest& request) const; + + /** + * A Callable wrapper for EndpointWithHostLabelOperation that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::EndpointWithHostLabelOperationOutcomeCallable EndpointWithHostLabelOperationCallable(const EndpointWithHostLabelOperationRequestT& request) const + { + return SubmitCallable(&RestJsonProtocolClient::EndpointWithHostLabelOperation, request); + } + + /** + * An Async wrapper for EndpointWithHostLabelOperation that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void EndpointWithHostLabelOperationAsync(const EndpointWithHostLabelOperationRequestT& request, const EndpointWithHostLabelOperationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&RestJsonProtocolClient::EndpointWithHostLabelOperation, request, handler, context); + } + + /** + * + */ + virtual Model::FractionalSecondsOutcome FractionalSeconds(const Model::FractionalSecondsRequest& request = {}) const; + + /** + * A Callable wrapper for FractionalSeconds that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::FractionalSecondsOutcomeCallable FractionalSecondsCallable(const FractionalSecondsRequestT& request = {}) const + { + return SubmitCallable(&RestJsonProtocolClient::FractionalSeconds, request); + } + + /** + * An Async wrapper for FractionalSeconds that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void FractionalSecondsAsync(const FractionalSecondsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const FractionalSecondsRequestT& request = {}) const + { + return SubmitAsync(&RestJsonProtocolClient::FractionalSeconds, request, handler, context); + } + + /** + *

This operation has four possible return values:

  1. A successful + * response in the form of GreetingWithErrorsOutput
  2. An InvalidGreeting + * error.
  3. A BadRequest error.
  4. A FooError.
+ *

Implementations must be able to successfully take a response and properly + * (de)serialize successful and error responses based on the the presence of + * the

See Also:

AWS + * API Reference

+ */ + virtual Model::GreetingWithErrorsOutcome GreetingWithErrors(const Model::GreetingWithErrorsRequest& request = {}) const; + + /** + * A Callable wrapper for GreetingWithErrors that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::GreetingWithErrorsOutcomeCallable GreetingWithErrorsCallable(const GreetingWithErrorsRequestT& request = {}) const + { + return SubmitCallable(&RestJsonProtocolClient::GreetingWithErrors, request); + } + + /** + * An Async wrapper for GreetingWithErrors that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void GreetingWithErrorsAsync(const GreetingWithErrorsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const GreetingWithErrorsRequestT& request = {}) const + { + return SubmitAsync(&RestJsonProtocolClient::GreetingWithErrors, request, handler, context); + } + + /** + * + */ + virtual Model::HostWithPathOperationOutcome HostWithPathOperation(const Model::HostWithPathOperationRequest& request = {}) const; + + /** + * A Callable wrapper for HostWithPathOperation that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::HostWithPathOperationOutcomeCallable HostWithPathOperationCallable(const HostWithPathOperationRequestT& request = {}) const + { + return SubmitCallable(&RestJsonProtocolClient::HostWithPathOperation, request); + } + + /** + * An Async wrapper for HostWithPathOperation that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void HostWithPathOperationAsync(const HostWithPathOperationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const HostWithPathOperationRequestT& request = {}) const + { + return SubmitAsync(&RestJsonProtocolClient::HostWithPathOperation, request, handler, context); + } + + /** + *

This example tests httpChecksumRequired trait

See Also:

AWS + * API Reference

+ */ + virtual Model::HttpChecksumRequiredOutcome HttpChecksumRequired(const Model::HttpChecksumRequiredRequest& request = {}) const; + + /** + * A Callable wrapper for HttpChecksumRequired that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::HttpChecksumRequiredOutcomeCallable HttpChecksumRequiredCallable(const HttpChecksumRequiredRequestT& request = {}) const + { + return SubmitCallable(&RestJsonProtocolClient::HttpChecksumRequired, request); + } + + /** + * An Async wrapper for HttpChecksumRequired that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void HttpChecksumRequiredAsync(const HttpChecksumRequiredResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const HttpChecksumRequiredRequestT& request = {}) const + { + return SubmitAsync(&RestJsonProtocolClient::HttpChecksumRequired, request, handler, context); + } + + /** + * + */ + virtual Model::HttpEnumPayloadOutcome HttpEnumPayload(const Model::HttpEnumPayloadRequest& request = {}) const; + + /** + * A Callable wrapper for HttpEnumPayload that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::HttpEnumPayloadOutcomeCallable HttpEnumPayloadCallable(const HttpEnumPayloadRequestT& request = {}) const + { + return SubmitCallable(&RestJsonProtocolClient::HttpEnumPayload, request); + } + + /** + * An Async wrapper for HttpEnumPayload that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void HttpEnumPayloadAsync(const HttpEnumPayloadResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const HttpEnumPayloadRequestT& request = {}) const + { + return SubmitAsync(&RestJsonProtocolClient::HttpEnumPayload, request, handler, context); + } + + /** + *

This example serializes a blob shape in the payload.

In this example, + * no JSON document is synthesized because the payload is not a structure or a + * union type.

See Also:

AWS + * API Reference

+ */ + virtual Model::HttpPayloadTraitsOutcome HttpPayloadTraits(const Model::HttpPayloadTraitsRequest& request = {}) const; + + /** + * A Callable wrapper for HttpPayloadTraits that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::HttpPayloadTraitsOutcomeCallable HttpPayloadTraitsCallable(const HttpPayloadTraitsRequestT& request = {}) const + { + return SubmitCallable(&RestJsonProtocolClient::HttpPayloadTraits, request); + } + + /** + * An Async wrapper for HttpPayloadTraits that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void HttpPayloadTraitsAsync(const HttpPayloadTraitsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const HttpPayloadTraitsRequestT& request = {}) const + { + return SubmitAsync(&RestJsonProtocolClient::HttpPayloadTraits, request, handler, context); + } + + /** + *

This example serializes a structure in the payload.

Note that + * serializing a structure changes the wrapper element name to match the targeted + * structure.

See Also:

AWS + * API Reference

+ */ + virtual Model::HttpPayloadWithStructureOutcome HttpPayloadWithStructure(const Model::HttpPayloadWithStructureRequest& request = {}) const; + + /** + * A Callable wrapper for HttpPayloadWithStructure that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::HttpPayloadWithStructureOutcomeCallable HttpPayloadWithStructureCallable(const HttpPayloadWithStructureRequestT& request = {}) const + { + return SubmitCallable(&RestJsonProtocolClient::HttpPayloadWithStructure, request); + } + + /** + * An Async wrapper for HttpPayloadWithStructure that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void HttpPayloadWithStructureAsync(const HttpPayloadWithStructureResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const HttpPayloadWithStructureRequestT& request = {}) const + { + return SubmitAsync(&RestJsonProtocolClient::HttpPayloadWithStructure, request, handler, context); + } + + /** + *

This example serializes a union in the payload.

See Also:

AWS + * API Reference

+ */ + virtual Model::HttpPayloadWithUnionOutcome HttpPayloadWithUnion(const Model::HttpPayloadWithUnionRequest& request = {}) const; + + /** + * A Callable wrapper for HttpPayloadWithUnion that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::HttpPayloadWithUnionOutcomeCallable HttpPayloadWithUnionCallable(const HttpPayloadWithUnionRequestT& request = {}) const + { + return SubmitCallable(&RestJsonProtocolClient::HttpPayloadWithUnion, request); + } + + /** + * An Async wrapper for HttpPayloadWithUnion that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void HttpPayloadWithUnionAsync(const HttpPayloadWithUnionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const HttpPayloadWithUnionRequestT& request = {}) const + { + return SubmitAsync(&RestJsonProtocolClient::HttpPayloadWithUnion, request, handler, context); + } + + /** + *

This examples adds headers to the input of a request and response by + * prefix.

See Also:

AWS + * API Reference

+ */ + virtual Model::HttpPrefixHeadersOutcome HttpPrefixHeaders(const Model::HttpPrefixHeadersRequest& request = {}) const; + + /** + * A Callable wrapper for HttpPrefixHeaders that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::HttpPrefixHeadersOutcomeCallable HttpPrefixHeadersCallable(const HttpPrefixHeadersRequestT& request = {}) const + { + return SubmitCallable(&RestJsonProtocolClient::HttpPrefixHeaders, request); + } + + /** + * An Async wrapper for HttpPrefixHeaders that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void HttpPrefixHeadersAsync(const HttpPrefixHeadersResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const HttpPrefixHeadersRequestT& request = {}) const + { + return SubmitAsync(&RestJsonProtocolClient::HttpPrefixHeaders, request, handler, context); + } + + /** + *

Clients that perform this test extract all headers from the + * response.

See Also:

AWS + * API Reference

+ */ + virtual Model::HttpPrefixHeadersInResponseOutcome HttpPrefixHeadersInResponse(const Model::HttpPrefixHeadersInResponseRequest& request = {}) const; + + /** + * A Callable wrapper for HttpPrefixHeadersInResponse that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::HttpPrefixHeadersInResponseOutcomeCallable HttpPrefixHeadersInResponseCallable(const HttpPrefixHeadersInResponseRequestT& request = {}) const + { + return SubmitCallable(&RestJsonProtocolClient::HttpPrefixHeadersInResponse, request); + } + + /** + * An Async wrapper for HttpPrefixHeadersInResponse that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void HttpPrefixHeadersInResponseAsync(const HttpPrefixHeadersInResponseResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const HttpPrefixHeadersInResponseRequestT& request = {}) const + { + return SubmitAsync(&RestJsonProtocolClient::HttpPrefixHeadersInResponse, request, handler, context); + } + + /** + * + */ + virtual Model::HttpRequestWithFloatLabelsOutcome HttpRequestWithFloatLabels(const Model::HttpRequestWithFloatLabelsRequest& request) const; + + /** + * A Callable wrapper for HttpRequestWithFloatLabels that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::HttpRequestWithFloatLabelsOutcomeCallable HttpRequestWithFloatLabelsCallable(const HttpRequestWithFloatLabelsRequestT& request) const + { + return SubmitCallable(&RestJsonProtocolClient::HttpRequestWithFloatLabels, request); + } + + /** + * An Async wrapper for HttpRequestWithFloatLabels that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void HttpRequestWithFloatLabelsAsync(const HttpRequestWithFloatLabelsRequestT& request, const HttpRequestWithFloatLabelsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&RestJsonProtocolClient::HttpRequestWithFloatLabels, request, handler, context); + } + + /** + * + */ + virtual Model::HttpRequestWithGreedyLabelInPathOutcome HttpRequestWithGreedyLabelInPath(const Model::HttpRequestWithGreedyLabelInPathRequest& request) const; + + /** + * A Callable wrapper for HttpRequestWithGreedyLabelInPath that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::HttpRequestWithGreedyLabelInPathOutcomeCallable HttpRequestWithGreedyLabelInPathCallable(const HttpRequestWithGreedyLabelInPathRequestT& request) const + { + return SubmitCallable(&RestJsonProtocolClient::HttpRequestWithGreedyLabelInPath, request); + } + + /** + * An Async wrapper for HttpRequestWithGreedyLabelInPath that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void HttpRequestWithGreedyLabelInPathAsync(const HttpRequestWithGreedyLabelInPathRequestT& request, const HttpRequestWithGreedyLabelInPathResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&RestJsonProtocolClient::HttpRequestWithGreedyLabelInPath, request, handler, context); + } + + /** + *

The example tests how requests are serialized when there's no input payload + * but there are HTTP labels.

See Also:

AWS + * API Reference

+ */ + virtual Model::HttpRequestWithLabelsOutcome HttpRequestWithLabels(const Model::HttpRequestWithLabelsRequest& request) const; + + /** + * A Callable wrapper for HttpRequestWithLabels that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::HttpRequestWithLabelsOutcomeCallable HttpRequestWithLabelsCallable(const HttpRequestWithLabelsRequestT& request) const + { + return SubmitCallable(&RestJsonProtocolClient::HttpRequestWithLabels, request); + } + + /** + * An Async wrapper for HttpRequestWithLabels that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void HttpRequestWithLabelsAsync(const HttpRequestWithLabelsRequestT& request, const HttpRequestWithLabelsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&RestJsonProtocolClient::HttpRequestWithLabels, request, handler, context); + } + + /** + *

The example tests how requests serialize different timestamp formats in the + * URI path.

See Also:

AWS + * API Reference

+ */ + virtual Model::HttpRequestWithLabelsAndTimestampFormatOutcome HttpRequestWithLabelsAndTimestampFormat(const Model::HttpRequestWithLabelsAndTimestampFormatRequest& request) const; + + /** + * A Callable wrapper for HttpRequestWithLabelsAndTimestampFormat that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::HttpRequestWithLabelsAndTimestampFormatOutcomeCallable HttpRequestWithLabelsAndTimestampFormatCallable(const HttpRequestWithLabelsAndTimestampFormatRequestT& request) const + { + return SubmitCallable(&RestJsonProtocolClient::HttpRequestWithLabelsAndTimestampFormat, request); + } + + /** + * An Async wrapper for HttpRequestWithLabelsAndTimestampFormat that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void HttpRequestWithLabelsAndTimestampFormatAsync(const HttpRequestWithLabelsAndTimestampFormatRequestT& request, const HttpRequestWithLabelsAndTimestampFormatResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&RestJsonProtocolClient::HttpRequestWithLabelsAndTimestampFormat, request, handler, context); + } + + /** + * + */ + virtual Model::HttpRequestWithRegexLiteralOutcome HttpRequestWithRegexLiteral(const Model::HttpRequestWithRegexLiteralRequest& request) const; + + /** + * A Callable wrapper for HttpRequestWithRegexLiteral that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::HttpRequestWithRegexLiteralOutcomeCallable HttpRequestWithRegexLiteralCallable(const HttpRequestWithRegexLiteralRequestT& request) const + { + return SubmitCallable(&RestJsonProtocolClient::HttpRequestWithRegexLiteral, request); + } + + /** + * An Async wrapper for HttpRequestWithRegexLiteral that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void HttpRequestWithRegexLiteralAsync(const HttpRequestWithRegexLiteralRequestT& request, const HttpRequestWithRegexLiteralResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&RestJsonProtocolClient::HttpRequestWithRegexLiteral, request, handler, context); + } + + /** + * + */ + virtual Model::HttpResponseCodeOutcome HttpResponseCode(const Model::HttpResponseCodeRequest& request = {}) const; + + /** + * A Callable wrapper for HttpResponseCode that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::HttpResponseCodeOutcomeCallable HttpResponseCodeCallable(const HttpResponseCodeRequestT& request = {}) const + { + return SubmitCallable(&RestJsonProtocolClient::HttpResponseCode, request); + } + + /** + * An Async wrapper for HttpResponseCode that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void HttpResponseCodeAsync(const HttpResponseCodeResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const HttpResponseCodeRequestT& request = {}) const + { + return SubmitAsync(&RestJsonProtocolClient::HttpResponseCode, request, handler, context); + } + + /** + * + */ + virtual Model::HttpStringPayloadOutcome HttpStringPayload(const Model::HttpStringPayloadRequest& request = {}) const; + + /** + * A Callable wrapper for HttpStringPayload that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::HttpStringPayloadOutcomeCallable HttpStringPayloadCallable(const HttpStringPayloadRequestT& request = {}) const + { + return SubmitCallable(&RestJsonProtocolClient::HttpStringPayload, request); + } + + /** + * An Async wrapper for HttpStringPayload that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void HttpStringPayloadAsync(const HttpStringPayloadResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const HttpStringPayloadRequestT& request = {}) const + { + return SubmitAsync(&RestJsonProtocolClient::HttpStringPayload, request, handler, context); + } + + /** + *

This example ensures that query string bound request parameters are + * serialized in the body of responses if the structure is used in both the request + * and response.

See Also:

AWS + * API Reference

+ */ + virtual Model::IgnoreQueryParamsInResponseOutcome IgnoreQueryParamsInResponse(const Model::IgnoreQueryParamsInResponseRequest& request = {}) const; + + /** + * A Callable wrapper for IgnoreQueryParamsInResponse that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::IgnoreQueryParamsInResponseOutcomeCallable IgnoreQueryParamsInResponseCallable(const IgnoreQueryParamsInResponseRequestT& request = {}) const + { + return SubmitCallable(&RestJsonProtocolClient::IgnoreQueryParamsInResponse, request); + } + + /** + * An Async wrapper for IgnoreQueryParamsInResponse that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void IgnoreQueryParamsInResponseAsync(const IgnoreQueryParamsInResponseResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const IgnoreQueryParamsInResponseRequestT& request = {}) const + { + return SubmitAsync(&RestJsonProtocolClient::IgnoreQueryParamsInResponse, request, handler, context); + } + + /** + *

The example tests how requests and responses are serialized when there is no + * input or output payload but there are HTTP header bindings.

See + * Also:

AWS + * API Reference

+ */ + virtual Model::InputAndOutputWithHeadersOutcome InputAndOutputWithHeaders(const Model::InputAndOutputWithHeadersRequest& request = {}) const; + + /** + * A Callable wrapper for InputAndOutputWithHeaders that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::InputAndOutputWithHeadersOutcomeCallable InputAndOutputWithHeadersCallable(const InputAndOutputWithHeadersRequestT& request = {}) const + { + return SubmitCallable(&RestJsonProtocolClient::InputAndOutputWithHeaders, request); + } + + /** + * An Async wrapper for InputAndOutputWithHeaders that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void InputAndOutputWithHeadersAsync(const InputAndOutputWithHeadersResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const InputAndOutputWithHeadersRequestT& request = {}) const + { + return SubmitAsync(&RestJsonProtocolClient::InputAndOutputWithHeaders, request, handler, context); + } + + /** + *

Blobs are base64 encoded

See Also:

AWS + * API Reference

+ */ + virtual Model::JsonBlobsOutcome JsonBlobs(const Model::JsonBlobsRequest& request = {}) const; + + /** + * A Callable wrapper for JsonBlobs that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::JsonBlobsOutcomeCallable JsonBlobsCallable(const JsonBlobsRequestT& request = {}) const + { + return SubmitCallable(&RestJsonProtocolClient::JsonBlobs, request); + } + + /** + * An Async wrapper for JsonBlobs that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void JsonBlobsAsync(const JsonBlobsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const JsonBlobsRequestT& request = {}) const + { + return SubmitAsync(&RestJsonProtocolClient::JsonBlobs, request, handler, context); + } + + /** + *

This example serializes enums as top level properties, in lists, sets, and + * maps.

See Also:

AWS + * API Reference

+ */ + virtual Model::JsonEnumsOutcome JsonEnums(const Model::JsonEnumsRequest& request = {}) const; + + /** + * A Callable wrapper for JsonEnums that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::JsonEnumsOutcomeCallable JsonEnumsCallable(const JsonEnumsRequestT& request = {}) const + { + return SubmitCallable(&RestJsonProtocolClient::JsonEnums, request); + } + + /** + * An Async wrapper for JsonEnums that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void JsonEnumsAsync(const JsonEnumsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const JsonEnumsRequestT& request = {}) const + { + return SubmitAsync(&RestJsonProtocolClient::JsonEnums, request, handler, context); + } + + /** + *

This example serializes intEnums as top level properties, in lists, sets, and + * maps.

See Also:

AWS + * API Reference

+ */ + virtual Model::JsonIntEnumsOutcome JsonIntEnums(const Model::JsonIntEnumsRequest& request = {}) const; + + /** + * A Callable wrapper for JsonIntEnums that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::JsonIntEnumsOutcomeCallable JsonIntEnumsCallable(const JsonIntEnumsRequestT& request = {}) const + { + return SubmitCallable(&RestJsonProtocolClient::JsonIntEnums, request); + } + + /** + * An Async wrapper for JsonIntEnums that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void JsonIntEnumsAsync(const JsonIntEnumsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const JsonIntEnumsRequestT& request = {}) const + { + return SubmitAsync(&RestJsonProtocolClient::JsonIntEnums, request, handler, context); + } + + /** + *

This test case serializes JSON lists for the following cases for both input + * and output:

  1. Normal JSON lists.
  2. Normal JSON sets.
  3. + *
  4. JSON lists of lists.
  5. Lists of structures.

See + * Also:

AWS + * API Reference

+ */ + virtual Model::JsonListsOutcome JsonLists(const Model::JsonListsRequest& request = {}) const; + + /** + * A Callable wrapper for JsonLists that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::JsonListsOutcomeCallable JsonListsCallable(const JsonListsRequestT& request = {}) const + { + return SubmitCallable(&RestJsonProtocolClient::JsonLists, request); + } + + /** + * An Async wrapper for JsonLists that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void JsonListsAsync(const JsonListsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const JsonListsRequestT& request = {}) const + { + return SubmitAsync(&RestJsonProtocolClient::JsonLists, request, handler, context); + } + + /** + *

The example tests basic map serialization.

See Also:

AWS + * API Reference

+ */ + virtual Model::JsonMapsOutcome JsonMaps(const Model::JsonMapsRequest& request = {}) const; + + /** + * A Callable wrapper for JsonMaps that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::JsonMapsOutcomeCallable JsonMapsCallable(const JsonMapsRequestT& request = {}) const + { + return SubmitCallable(&RestJsonProtocolClient::JsonMaps, request); + } + + /** + * An Async wrapper for JsonMaps that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void JsonMapsAsync(const JsonMapsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const JsonMapsRequestT& request = {}) const + { + return SubmitAsync(&RestJsonProtocolClient::JsonMaps, request, handler, context); + } + + /** + *

This tests how timestamps are serialized, including using the default format + * of date-time and various @timestampFormat trait values.

See Also:

+ * AWS + * API Reference

+ */ + virtual Model::JsonTimestampsOutcome JsonTimestamps(const Model::JsonTimestampsRequest& request = {}) const; + + /** + * A Callable wrapper for JsonTimestamps that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::JsonTimestampsOutcomeCallable JsonTimestampsCallable(const JsonTimestampsRequestT& request = {}) const + { + return SubmitCallable(&RestJsonProtocolClient::JsonTimestamps, request); + } + + /** + * An Async wrapper for JsonTimestamps that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void JsonTimestampsAsync(const JsonTimestampsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const JsonTimestampsRequestT& request = {}) const + { + return SubmitAsync(&RestJsonProtocolClient::JsonTimestamps, request, handler, context); + } + + /** + *

This operation uses unions for inputs and outputs.

See Also:

+ * AWS + * API Reference

+ */ + virtual Model::JsonUnionsOutcome JsonUnions(const Model::JsonUnionsRequest& request = {}) const; + + /** + * A Callable wrapper for JsonUnions that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::JsonUnionsOutcomeCallable JsonUnionsCallable(const JsonUnionsRequestT& request = {}) const + { + return SubmitCallable(&RestJsonProtocolClient::JsonUnions, request); + } + + /** + * An Async wrapper for JsonUnions that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void JsonUnionsAsync(const JsonUnionsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const JsonUnionsRequestT& request = {}) const + { + return SubmitAsync(&RestJsonProtocolClient::JsonUnions, request, handler, context); + } + + /** + *

This example ensures that mediaType strings are base64 encoded in + * headers.

See Also:

AWS + * API Reference

+ */ + virtual Model::MediaTypeHeaderOutcome MediaTypeHeader(const Model::MediaTypeHeaderRequest& request = {}) const; + + /** + * A Callable wrapper for MediaTypeHeader that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::MediaTypeHeaderOutcomeCallable MediaTypeHeaderCallable(const MediaTypeHeaderRequestT& request = {}) const + { + return SubmitCallable(&RestJsonProtocolClient::MediaTypeHeader, request); + } + + /** + * An Async wrapper for MediaTypeHeader that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void MediaTypeHeaderAsync(const MediaTypeHeaderResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const MediaTypeHeaderRequestT& request = {}) const + { + return SubmitAsync(&RestJsonProtocolClient::MediaTypeHeader, request, handler, context); + } + + /** + *

The example tests how requests and responses are serialized when there's no + * request or response payload because the operation has no input or output. While + * this should be rare, code generators must support this.

See Also:

+ * AWS + * API Reference

+ */ + virtual Model::NoInputAndNoOutputOutcome NoInputAndNoOutput(const Model::NoInputAndNoOutputRequest& request = {}) const; + + /** + * A Callable wrapper for NoInputAndNoOutput that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::NoInputAndNoOutputOutcomeCallable NoInputAndNoOutputCallable(const NoInputAndNoOutputRequestT& request = {}) const + { + return SubmitCallable(&RestJsonProtocolClient::NoInputAndNoOutput, request); + } + + /** + * An Async wrapper for NoInputAndNoOutput that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void NoInputAndNoOutputAsync(const NoInputAndNoOutputResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const NoInputAndNoOutputRequestT& request = {}) const + { + return SubmitAsync(&RestJsonProtocolClient::NoInputAndNoOutput, request, handler, context); + } + + /** + *

The example tests how requests and responses are serialized when there's no + * request or response payload because the operation has no input and the output is + * empty. While this should be rare, code generators must support + * this.

See Also:

AWS + * API Reference

+ */ + virtual Model::NoInputAndOutputOutcome NoInputAndOutput(const Model::NoInputAndOutputRequest& request = {}) const; + + /** + * A Callable wrapper for NoInputAndOutput that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::NoInputAndOutputOutcomeCallable NoInputAndOutputCallable(const NoInputAndOutputRequestT& request = {}) const + { + return SubmitCallable(&RestJsonProtocolClient::NoInputAndOutput, request); + } + + /** + * An Async wrapper for NoInputAndOutput that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void NoInputAndOutputAsync(const NoInputAndOutputResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const NoInputAndOutputRequestT& request = {}) const + { + return SubmitAsync(&RestJsonProtocolClient::NoInputAndOutput, request, handler, context); + } + + /** + *

Null headers are not sent over the wire, empty headers are serialized to + * ""

See Also:

AWS + * API Reference

+ */ + virtual Model::NullAndEmptyHeadersClientOutcome NullAndEmptyHeadersClient(const Model::NullAndEmptyHeadersClientRequest& request = {}) const; + + /** + * A Callable wrapper for NullAndEmptyHeadersClient that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::NullAndEmptyHeadersClientOutcomeCallable NullAndEmptyHeadersClientCallable(const NullAndEmptyHeadersClientRequestT& request = {}) const + { + return SubmitCallable(&RestJsonProtocolClient::NullAndEmptyHeadersClient, request); + } + + /** + * An Async wrapper for NullAndEmptyHeadersClient that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void NullAndEmptyHeadersClientAsync(const NullAndEmptyHeadersClientResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const NullAndEmptyHeadersClientRequestT& request = {}) const + { + return SubmitAsync(&RestJsonProtocolClient::NullAndEmptyHeadersClient, request, handler, context); + } + + /** + *

Null headers are not sent over the wire, empty headers are serialized to + * ""

See Also:

AWS + * API Reference

+ */ + virtual Model::NullAndEmptyHeadersServerOutcome NullAndEmptyHeadersServer(const Model::NullAndEmptyHeadersServerRequest& request = {}) const; + + /** + * A Callable wrapper for NullAndEmptyHeadersServer that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::NullAndEmptyHeadersServerOutcomeCallable NullAndEmptyHeadersServerCallable(const NullAndEmptyHeadersServerRequestT& request = {}) const + { + return SubmitCallable(&RestJsonProtocolClient::NullAndEmptyHeadersServer, request); + } + + /** + * An Async wrapper for NullAndEmptyHeadersServer that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void NullAndEmptyHeadersServerAsync(const NullAndEmptyHeadersServerResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const NullAndEmptyHeadersServerRequestT& request = {}) const + { + return SubmitAsync(&RestJsonProtocolClient::NullAndEmptyHeadersServer, request, handler, context); + } + + /** + *

Omits null, but serializes empty string value.

See Also:

AWS + * API Reference

+ */ + virtual Model::OmitsNullSerializesEmptyStringOutcome OmitsNullSerializesEmptyString(const Model::OmitsNullSerializesEmptyStringRequest& request = {}) const; + + /** + * A Callable wrapper for OmitsNullSerializesEmptyString that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::OmitsNullSerializesEmptyStringOutcomeCallable OmitsNullSerializesEmptyStringCallable(const OmitsNullSerializesEmptyStringRequestT& request = {}) const + { + return SubmitCallable(&RestJsonProtocolClient::OmitsNullSerializesEmptyString, request); + } + + /** + * An Async wrapper for OmitsNullSerializesEmptyString that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void OmitsNullSerializesEmptyStringAsync(const OmitsNullSerializesEmptyStringResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const OmitsNullSerializesEmptyStringRequestT& request = {}) const + { + return SubmitAsync(&RestJsonProtocolClient::OmitsNullSerializesEmptyString, request, handler, context); + } + + /** + *

Omits serializing empty lists. Because empty strings are serilized as + * Foo=, empty lists cannot also be serialized as Foo= + * and instead must be omitted.

See Also:

AWS + * API Reference

+ */ + virtual Model::OmitsSerializingEmptyListsOutcome OmitsSerializingEmptyLists(const Model::OmitsSerializingEmptyListsRequest& request = {}) const; + + /** + * A Callable wrapper for OmitsSerializingEmptyLists that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::OmitsSerializingEmptyListsOutcomeCallable OmitsSerializingEmptyListsCallable(const OmitsSerializingEmptyListsRequestT& request = {}) const + { + return SubmitCallable(&RestJsonProtocolClient::OmitsSerializingEmptyLists, request); + } + + /** + * An Async wrapper for OmitsSerializingEmptyLists that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void OmitsSerializingEmptyListsAsync(const OmitsSerializingEmptyListsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const OmitsSerializingEmptyListsRequestT& request = {}) const + { + return SubmitAsync(&RestJsonProtocolClient::OmitsSerializingEmptyLists, request, handler, context); + } + + /** + *

This operation defines a union that uses jsonName on some + * members.

See Also:

AWS + * API Reference

+ */ + virtual Model::PostUnionWithJsonNameOutcome PostUnionWithJsonName(const Model::PostUnionWithJsonNameRequest& request = {}) const; + + /** + * A Callable wrapper for PostUnionWithJsonName that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::PostUnionWithJsonNameOutcomeCallable PostUnionWithJsonNameCallable(const PostUnionWithJsonNameRequestT& request = {}) const + { + return SubmitCallable(&RestJsonProtocolClient::PostUnionWithJsonName, request); + } + + /** + * An Async wrapper for PostUnionWithJsonName that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void PostUnionWithJsonNameAsync(const PostUnionWithJsonNameResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const PostUnionWithJsonNameRequestT& request = {}) const + { + return SubmitAsync(&RestJsonProtocolClient::PostUnionWithJsonName, request, handler, context); + } + + /** + * + */ + virtual Model::PutWithContentEncodingOutcome PutWithContentEncoding(const Model::PutWithContentEncodingRequest& request = {}) const; + + /** + * A Callable wrapper for PutWithContentEncoding that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::PutWithContentEncodingOutcomeCallable PutWithContentEncodingCallable(const PutWithContentEncodingRequestT& request = {}) const + { + return SubmitCallable(&RestJsonProtocolClient::PutWithContentEncoding, request); + } + + /** + * An Async wrapper for PutWithContentEncoding that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void PutWithContentEncodingAsync(const PutWithContentEncodingResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const PutWithContentEncodingRequestT& request = {}) const + { + return SubmitAsync(&RestJsonProtocolClient::PutWithContentEncoding, request, handler, context); + } + + /** + *

Automatically adds idempotency tokens.

See Also:

AWS + * API Reference

+ */ + virtual Model::QueryIdempotencyTokenAutoFillOutcome QueryIdempotencyTokenAutoFill(const Model::QueryIdempotencyTokenAutoFillRequest& request = {}) const; + + /** + * A Callable wrapper for QueryIdempotencyTokenAutoFill that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::QueryIdempotencyTokenAutoFillOutcomeCallable QueryIdempotencyTokenAutoFillCallable(const QueryIdempotencyTokenAutoFillRequestT& request = {}) const + { + return SubmitCallable(&RestJsonProtocolClient::QueryIdempotencyTokenAutoFill, request); + } + + /** + * An Async wrapper for QueryIdempotencyTokenAutoFill that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void QueryIdempotencyTokenAutoFillAsync(const QueryIdempotencyTokenAutoFillResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const QueryIdempotencyTokenAutoFillRequestT& request = {}) const + { + return SubmitAsync(&RestJsonProtocolClient::QueryIdempotencyTokenAutoFill, request, handler, context); + } + + /** + * + */ + virtual Model::QueryParamsAsStringListMapOutcome QueryParamsAsStringListMap(const Model::QueryParamsAsStringListMapRequest& request = {}) const; + + /** + * A Callable wrapper for QueryParamsAsStringListMap that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::QueryParamsAsStringListMapOutcomeCallable QueryParamsAsStringListMapCallable(const QueryParamsAsStringListMapRequestT& request = {}) const + { + return SubmitCallable(&RestJsonProtocolClient::QueryParamsAsStringListMap, request); + } + + /** + * An Async wrapper for QueryParamsAsStringListMap that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void QueryParamsAsStringListMapAsync(const QueryParamsAsStringListMapResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const QueryParamsAsStringListMapRequestT& request = {}) const + { + return SubmitAsync(&RestJsonProtocolClient::QueryParamsAsStringListMap, request, handler, context); + } + + /** + * + */ + virtual Model::QueryPrecedenceOutcome QueryPrecedence(const Model::QueryPrecedenceRequest& request = {}) const; + + /** + * A Callable wrapper for QueryPrecedence that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::QueryPrecedenceOutcomeCallable QueryPrecedenceCallable(const QueryPrecedenceRequestT& request = {}) const + { + return SubmitCallable(&RestJsonProtocolClient::QueryPrecedence, request); + } + + /** + * An Async wrapper for QueryPrecedence that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void QueryPrecedenceAsync(const QueryPrecedenceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const QueryPrecedenceRequestT& request = {}) const + { + return SubmitAsync(&RestJsonProtocolClient::QueryPrecedence, request, handler, context); + } + + /** + *

Recursive shapes

See Also:

AWS + * API Reference

+ */ + virtual Model::RecursiveShapesOutcome RecursiveShapes(const Model::RecursiveShapesRequest& request = {}) const; + + /** + * A Callable wrapper for RecursiveShapes that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::RecursiveShapesOutcomeCallable RecursiveShapesCallable(const RecursiveShapesRequestT& request = {}) const + { + return SubmitCallable(&RestJsonProtocolClient::RecursiveShapes, request); + } + + /** + * An Async wrapper for RecursiveShapes that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void RecursiveShapesAsync(const RecursiveShapesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const RecursiveShapesRequestT& request = {}) const + { + return SubmitAsync(&RestJsonProtocolClient::RecursiveShapes, request, handler, context); + } + + /** + * + */ + virtual Model::ResponseCodeHttpFallbackOutcome ResponseCodeHttpFallback(const Model::ResponseCodeHttpFallbackRequest& request = {}) const; + + /** + * A Callable wrapper for ResponseCodeHttpFallback that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::ResponseCodeHttpFallbackOutcomeCallable ResponseCodeHttpFallbackCallable(const ResponseCodeHttpFallbackRequestT& request = {}) const + { + return SubmitCallable(&RestJsonProtocolClient::ResponseCodeHttpFallback, request); + } + + /** + * An Async wrapper for ResponseCodeHttpFallback that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void ResponseCodeHttpFallbackAsync(const ResponseCodeHttpFallbackResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const ResponseCodeHttpFallbackRequestT& request = {}) const + { + return SubmitAsync(&RestJsonProtocolClient::ResponseCodeHttpFallback, request, handler, context); + } + + /** + * + */ + virtual Model::ResponseCodeRequiredOutcome ResponseCodeRequired(const Model::ResponseCodeRequiredRequest& request = {}) const; + + /** + * A Callable wrapper for ResponseCodeRequired that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::ResponseCodeRequiredOutcomeCallable ResponseCodeRequiredCallable(const ResponseCodeRequiredRequestT& request = {}) const + { + return SubmitCallable(&RestJsonProtocolClient::ResponseCodeRequired, request); + } + + /** + * An Async wrapper for ResponseCodeRequired that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void ResponseCodeRequiredAsync(const ResponseCodeRequiredResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const ResponseCodeRequiredRequestT& request = {}) const + { + return SubmitAsync(&RestJsonProtocolClient::ResponseCodeRequired, request, handler, context); + } + + /** + * + */ + virtual Model::SimpleScalarPropertiesOutcome SimpleScalarProperties(const Model::SimpleScalarPropertiesRequest& request = {}) const; + + /** + * A Callable wrapper for SimpleScalarProperties that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::SimpleScalarPropertiesOutcomeCallable SimpleScalarPropertiesCallable(const SimpleScalarPropertiesRequestT& request = {}) const + { + return SubmitCallable(&RestJsonProtocolClient::SimpleScalarProperties, request); + } + + /** + * An Async wrapper for SimpleScalarProperties that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void SimpleScalarPropertiesAsync(const SimpleScalarPropertiesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const SimpleScalarPropertiesRequestT& request = {}) const + { + return SubmitAsync(&RestJsonProtocolClient::SimpleScalarProperties, request, handler, context); + } + + /** + *

This example operation serializes a structure in the HTTP body.

It + * should ensure Content-Type: application/json is used in all requests and that an + * "empty" body is an empty JSON document ({}).

See Also:

+ * AWS + * API Reference

+ */ + virtual Model::TestBodyStructureOutcome TestBodyStructure(const Model::TestBodyStructureRequest& request = {}) const; + + /** + * A Callable wrapper for TestBodyStructure that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::TestBodyStructureOutcomeCallable TestBodyStructureCallable(const TestBodyStructureRequestT& request = {}) const + { + return SubmitCallable(&RestJsonProtocolClient::TestBodyStructure, request); + } + + /** + * An Async wrapper for TestBodyStructure that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void TestBodyStructureAsync(const TestBodyStructureResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const TestBodyStructureRequestT& request = {}) const + { + return SubmitAsync(&RestJsonProtocolClient::TestBodyStructure, request, handler, context); + } + + /** + *

This example GET operation has no input and serializes a request without a + * HTTP body.

These tests are to ensure we do not attach a body or related + * headers (Content-Length, Content-Type) to operations that semantically cannot + * produce an HTTP body.

See Also:

AWS + * API Reference

+ */ + virtual Model::TestGetNoInputNoPayloadOutcome TestGetNoInputNoPayload(const Model::TestGetNoInputNoPayloadRequest& request = {}) const; + + /** + * A Callable wrapper for TestGetNoInputNoPayload that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::TestGetNoInputNoPayloadOutcomeCallable TestGetNoInputNoPayloadCallable(const TestGetNoInputNoPayloadRequestT& request = {}) const + { + return SubmitCallable(&RestJsonProtocolClient::TestGetNoInputNoPayload, request); + } + + /** + * An Async wrapper for TestGetNoInputNoPayload that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void TestGetNoInputNoPayloadAsync(const TestGetNoInputNoPayloadResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const TestGetNoInputNoPayloadRequestT& request = {}) const + { + return SubmitAsync(&RestJsonProtocolClient::TestGetNoInputNoPayload, request, handler, context); + } + + /** + *

This example GET operation serializes a request without a modeled HTTP + * body.

These tests are to ensure we do not attach a body or related + * headers (Content-Length, Content-Type) to operations that semantically cannot + * produce an HTTP body.

See Also:

AWS + * API Reference

+ */ + virtual Model::TestGetNoPayloadOutcome TestGetNoPayload(const Model::TestGetNoPayloadRequest& request = {}) const; + + /** + * A Callable wrapper for TestGetNoPayload that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::TestGetNoPayloadOutcomeCallable TestGetNoPayloadCallable(const TestGetNoPayloadRequestT& request = {}) const + { + return SubmitCallable(&RestJsonProtocolClient::TestGetNoPayload, request); + } + + /** + * An Async wrapper for TestGetNoPayload that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void TestGetNoPayloadAsync(const TestGetNoPayloadResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const TestGetNoPayloadRequestT& request = {}) const + { + return SubmitAsync(&RestJsonProtocolClient::TestGetNoPayload, request, handler, context); + } + + /** + *

This example operation serializes a payload targeting a blob.

The Blob + * shape is not structured content and we cannot make assumptions about what data + * will be sent. This test ensures only a generic "Content-Type: + * application/octet-stream" header is used, and that we are not treating an + * empty body as an empty JSON document.

See Also:

AWS + * API Reference

+ */ + virtual Model::TestPayloadBlobOutcome TestPayloadBlob(const Model::TestPayloadBlobRequest& request = {}) const; + + /** + * A Callable wrapper for TestPayloadBlob that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::TestPayloadBlobOutcomeCallable TestPayloadBlobCallable(const TestPayloadBlobRequestT& request = {}) const + { + return SubmitCallable(&RestJsonProtocolClient::TestPayloadBlob, request); + } + + /** + * An Async wrapper for TestPayloadBlob that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void TestPayloadBlobAsync(const TestPayloadBlobResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const TestPayloadBlobRequestT& request = {}) const + { + return SubmitAsync(&RestJsonProtocolClient::TestPayloadBlob, request, handler, context); + } + + /** + *

This example operation serializes a payload targeting a structure.

+ *

This enforces the same requirements as TestBodyStructure but with the body + * specified by the @httpPayload trait.

See Also:

AWS + * API Reference

+ */ + virtual Model::TestPayloadStructureOutcome TestPayloadStructure(const Model::TestPayloadStructureRequest& request = {}) const; + + /** + * A Callable wrapper for TestPayloadStructure that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::TestPayloadStructureOutcomeCallable TestPayloadStructureCallable(const TestPayloadStructureRequestT& request = {}) const + { + return SubmitCallable(&RestJsonProtocolClient::TestPayloadStructure, request); + } + + /** + * An Async wrapper for TestPayloadStructure that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void TestPayloadStructureAsync(const TestPayloadStructureResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const TestPayloadStructureRequestT& request = {}) const + { + return SubmitAsync(&RestJsonProtocolClient::TestPayloadStructure, request, handler, context); + } + + /** + *

This example POST operation has no input and serializes a request without a + * HTTP body.

These tests are to ensure we do not attach a body or related + * headers (Content-Type) to a POST operation with no modeled input.

See + * Also:

AWS + * API Reference

+ */ + virtual Model::TestPostNoInputNoPayloadOutcome TestPostNoInputNoPayload(const Model::TestPostNoInputNoPayloadRequest& request = {}) const; + + /** + * A Callable wrapper for TestPostNoInputNoPayload that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::TestPostNoInputNoPayloadOutcomeCallable TestPostNoInputNoPayloadCallable(const TestPostNoInputNoPayloadRequestT& request = {}) const + { + return SubmitCallable(&RestJsonProtocolClient::TestPostNoInputNoPayload, request); + } + + /** + * An Async wrapper for TestPostNoInputNoPayload that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void TestPostNoInputNoPayloadAsync(const TestPostNoInputNoPayloadResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const TestPostNoInputNoPayloadRequestT& request = {}) const + { + return SubmitAsync(&RestJsonProtocolClient::TestPostNoInputNoPayload, request, handler, context); + } + + /** + *

This example POST operation serializes a request without a modeled HTTP + * body.

These tests are to ensure we do not attach a body or related + * headers (Content-Type) to a POST operation with no modeled + * payload.

See Also:

AWS + * API Reference

+ */ + virtual Model::TestPostNoPayloadOutcome TestPostNoPayload(const Model::TestPostNoPayloadRequest& request = {}) const; + + /** + * A Callable wrapper for TestPostNoPayload that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::TestPostNoPayloadOutcomeCallable TestPostNoPayloadCallable(const TestPostNoPayloadRequestT& request = {}) const + { + return SubmitCallable(&RestJsonProtocolClient::TestPostNoPayload, request); + } + + /** + * An Async wrapper for TestPostNoPayload that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void TestPostNoPayloadAsync(const TestPostNoPayloadResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const TestPostNoPayloadRequestT& request = {}) const + { + return SubmitAsync(&RestJsonProtocolClient::TestPostNoPayload, request, handler, context); + } + + /** + *

This example tests how timestamp request and response headers are + * serialized.

See Also:

AWS + * API Reference

+ */ + virtual Model::TimestampFormatHeadersOutcome TimestampFormatHeaders(const Model::TimestampFormatHeadersRequest& request = {}) const; + + /** + * A Callable wrapper for TimestampFormatHeaders that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::TimestampFormatHeadersOutcomeCallable TimestampFormatHeadersCallable(const TimestampFormatHeadersRequestT& request = {}) const + { + return SubmitCallable(&RestJsonProtocolClient::TimestampFormatHeaders, request); + } + + /** + * An Async wrapper for TimestampFormatHeaders that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void TimestampFormatHeadersAsync(const TimestampFormatHeadersResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const TimestampFormatHeadersRequestT& request = {}) const + { + return SubmitAsync(&RestJsonProtocolClient::TimestampFormatHeaders, request, handler, context); + } + + /** + *

This test is similar to NoInputAndNoOutput, but uses explicit Unit + * types.

See Also:

AWS + * API Reference

+ */ + virtual Model::UnitInputAndOutputOutcome UnitInputAndOutput(const Model::UnitInputAndOutputRequest& request = {}) const; + + /** + * A Callable wrapper for UnitInputAndOutput that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::UnitInputAndOutputOutcomeCallable UnitInputAndOutputCallable(const UnitInputAndOutputRequestT& request = {}) const + { + return SubmitCallable(&RestJsonProtocolClient::UnitInputAndOutput, request); + } + + /** + * An Async wrapper for UnitInputAndOutput that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void UnitInputAndOutputAsync(const UnitInputAndOutputResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const UnitInputAndOutputRequestT& request = {}) const + { + return SubmitAsync(&RestJsonProtocolClient::UnitInputAndOutput, request, handler, context); + } + + + void OverrideEndpoint(const Aws::String& endpoint); + std::shared_ptr& accessEndpointProvider(); + private: + friend class Aws::Client::ClientWithAsyncTemplateMethods; + + }; + +} // namespace RestJsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/RestJsonProtocolEndpointProvider.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/RestJsonProtocolEndpointProvider.h new file mode 100644 index 00000000000..d5ecc69e194 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/RestJsonProtocolEndpointProvider.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +#include + + +namespace Aws +{ +namespace RestJsonProtocol +{ +namespace Endpoint +{ +using EndpointParameters = Aws::Endpoint::EndpointParameters; +using Aws::Endpoint::EndpointProviderBase; +using Aws::Endpoint::DefaultEndpointProvider; + +using RestJsonProtocolClientContextParameters = Aws::Endpoint::ClientContextParameters; + +using RestJsonProtocolClientConfiguration = Aws::Client::GenericClientConfiguration; +using RestJsonProtocolBuiltInParameters = Aws::Endpoint::BuiltInParameters; + +/** + * The type for the RestJsonProtocol 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 RestJsonProtocolEndpointProviderBase = + EndpointProviderBase; + +using RestJsonProtocolDefaultEpProviderBase = + DefaultEndpointProvider; + +/** + * Default endpoint provider used for this service + */ +class AWS_RESTJSONPROTOCOL_API RestJsonProtocolEndpointProvider : public RestJsonProtocolDefaultEpProviderBase +{ +public: + using RestJsonProtocolResolveEndpointOutcome = Aws::Endpoint::ResolveEndpointOutcome; + + RestJsonProtocolEndpointProvider() + : RestJsonProtocolDefaultEpProviderBase(Aws::RestJsonProtocol::RestJsonProtocolEndpointRules::GetRulesBlob(), Aws::RestJsonProtocol::RestJsonProtocolEndpointRules::RulesBlobSize) + {} + + ~RestJsonProtocolEndpointProvider() + { + } +}; +} // namespace Endpoint +} // namespace RestJsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/RestJsonProtocolEndpointRules.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/RestJsonProtocolEndpointRules.h new file mode 100644 index 00000000000..071c7006feb --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/RestJsonProtocolEndpointRules.h @@ -0,0 +1,23 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace RestJsonProtocol +{ +class RestJsonProtocolEndpointRules +{ +public: + static const size_t RulesBlobStrLen; + static const size_t RulesBlobSize; + + static const char* GetRulesBlob(); +}; +} // namespace RestJsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/RestJsonProtocolErrorMarshaller.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/RestJsonProtocolErrorMarshaller.h new file mode 100644 index 00000000000..de6e11cba39 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/RestJsonProtocolErrorMarshaller.h @@ -0,0 +1,23 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws +{ +namespace Client +{ + +class AWS_RESTJSONPROTOCOL_API RestJsonProtocolErrorMarshaller : public Aws::Client::JsonErrorMarshaller +{ +public: + Aws::Client::AWSError FindErrorByName(const char* exceptionName) const override; +}; + +} // namespace Client +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/RestJsonProtocolErrors.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/RestJsonProtocolErrors.h new file mode 100644 index 00000000000..4d70359776f --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/RestJsonProtocolErrors.h @@ -0,0 +1,74 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include +#include + +namespace Aws +{ +namespace RestJsonProtocol +{ +enum class RestJsonProtocolErrors +{ + //From Core// + ////////////////////////////////////////////////////////////////////////////////////////// + INCOMPLETE_SIGNATURE = 0, + INTERNAL_FAILURE = 1, + INVALID_ACTION = 2, + INVALID_CLIENT_TOKEN_ID = 3, + INVALID_PARAMETER_COMBINATION = 4, + INVALID_QUERY_PARAMETER = 5, + INVALID_PARAMETER_VALUE = 6, + MISSING_ACTION = 7, // SDK should never allow + MISSING_AUTHENTICATION_TOKEN = 8, // SDK should never allow + MISSING_PARAMETER = 9, // SDK should never allow + OPT_IN_REQUIRED = 10, + REQUEST_EXPIRED = 11, + SERVICE_UNAVAILABLE = 12, + THROTTLING = 13, + VALIDATION = 14, + ACCESS_DENIED = 15, + RESOURCE_NOT_FOUND = 16, + UNRECOGNIZED_CLIENT = 17, + MALFORMED_QUERY_STRING = 18, + SLOW_DOWN = 19, + REQUEST_TIME_TOO_SKEWED = 20, + INVALID_SIGNATURE = 21, + SIGNATURE_DOES_NOT_MATCH = 22, + INVALID_ACCESS_KEY_ID = 23, + REQUEST_TIMEOUT = 24, + NETWORK_CONNECTION = 99, + + UNKNOWN = 100, + /////////////////////////////////////////////////////////////////////////////////////////// + + COMPLEX= static_cast(Aws::Client::CoreErrors::SERVICE_EXTENSION_START_RANGE) + 1, + FOO, + INVALID_GREETING +}; + +class AWS_RESTJSONPROTOCOL_API RestJsonProtocolError : public Aws::Client::AWSError +{ +public: + RestJsonProtocolError() {} + RestJsonProtocolError(const Aws::Client::AWSError& rhs) : Aws::Client::AWSError(rhs) {} + RestJsonProtocolError(Aws::Client::AWSError&& rhs) : Aws::Client::AWSError(rhs) {} + RestJsonProtocolError(const Aws::Client::AWSError& rhs) : Aws::Client::AWSError(rhs) {} + RestJsonProtocolError(Aws::Client::AWSError&& rhs) : Aws::Client::AWSError(rhs) {} + + template + T GetModeledError(); +}; + +namespace RestJsonProtocolErrorMapper +{ + AWS_RESTJSONPROTOCOL_API Aws::Client::AWSError GetErrorForName(const char* errorName); +} + +} // namespace RestJsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/RestJsonProtocolRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/RestJsonProtocolRequest.h new file mode 100644 index 00000000000..e226c216a95 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/RestJsonProtocolRequest.h @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace RestJsonProtocol +{ + class AWS_RESTJSONPROTOCOL_API RestJsonProtocolRequest : public Aws::AmazonSerializableWebServiceRequest + { + public: + using EndpointParameter = Aws::Endpoint::EndpointParameter; + using EndpointParameters = Aws::Endpoint::EndpointParameters; + + virtual ~RestJsonProtocolRequest () {} + + void AddParametersToRequest(Aws::Http::HttpRequest& httpRequest) const { AWS_UNREFERENCED_PARAM(httpRequest); } + + inline Aws::Http::HeaderValueCollection GetHeaders() const override + { + auto headers = GetRequestSpecificHeaders(); + + if(headers.size() == 0 || (headers.size() > 0 && headers.count(Aws::Http::CONTENT_TYPE_HEADER) == 0)) + { + headers.emplace(Aws::Http::HeaderValuePair(Aws::Http::CONTENT_TYPE_HEADER, Aws::JSON_CONTENT_TYPE )); + } + headers.emplace(Aws::Http::HeaderValuePair(Aws::Http::API_VERSION_HEADER, "2019-12-16")); + return headers; + } + + protected: + virtual Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const { return Aws::Http::HeaderValueCollection(); } + + }; + + typedef Aws::AmazonStreamingWebServiceRequest StreamingRestJsonProtocolRequest; + +} // namespace RestJsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/RestJsonProtocolServiceClientModel.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/RestJsonProtocolServiceClientModel.h new file mode 100644 index 00000000000..a59ccd9fbe4 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/RestJsonProtocolServiceClientModel.h @@ -0,0 +1,422 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +/* Generic header includes */ +#include +#include +#include +#include +#include +#include +#include +#include +#include +/* End of generic header includes */ + +/* Service model headers required in RestJsonProtocolClient header */ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +/* End of service model headers required in RestJsonProtocolClient header */ + +namespace Aws +{ + namespace Http + { + class HttpClient; + class HttpClientFactory; + } // namespace Http + + namespace Utils + { + template< typename R, typename E> class Outcome; + + namespace Threading + { + class Executor; + } // namespace Threading + } // namespace Utils + + namespace Auth + { + class AWSCredentials; + class AWSCredentialsProvider; + } // namespace Auth + + namespace Client + { + class RetryStrategy; + } // namespace Client + + namespace RestJsonProtocol + { + using RestJsonProtocolClientConfiguration = Aws::Client::GenericClientConfiguration; + using RestJsonProtocolEndpointProviderBase = Aws::RestJsonProtocol::Endpoint::RestJsonProtocolEndpointProviderBase; + using RestJsonProtocolEndpointProvider = Aws::RestJsonProtocol::Endpoint::RestJsonProtocolEndpointProvider; + + namespace Model + { + /* Service model forward declarations required in RestJsonProtocolClient header */ + class AllQueryStringTypesRequest; + class ConstantAndVariableQueryStringRequest; + class ConstantQueryStringRequest; + class ContentTypeParametersRequest; + class DatetimeOffsetsRequest; + class DocumentTypeRequest; + class DocumentTypeAsMapValueRequest; + class DocumentTypeAsPayloadRequest; + class EmptyInputAndEmptyOutputRequest; + class EndpointOperationRequest; + class EndpointWithHostLabelOperationRequest; + class FractionalSecondsRequest; + class GreetingWithErrorsRequest; + class HostWithPathOperationRequest; + class HttpChecksumRequiredRequest; + class HttpEnumPayloadRequest; + class HttpPayloadTraitsRequest; + class HttpPayloadWithStructureRequest; + class HttpPayloadWithUnionRequest; + class HttpPrefixHeadersRequest; + class HttpPrefixHeadersInResponseRequest; + class HttpRequestWithFloatLabelsRequest; + class HttpRequestWithGreedyLabelInPathRequest; + class HttpRequestWithLabelsRequest; + class HttpRequestWithLabelsAndTimestampFormatRequest; + class HttpRequestWithRegexLiteralRequest; + class HttpResponseCodeRequest; + class HttpStringPayloadRequest; + class IgnoreQueryParamsInResponseRequest; + class InputAndOutputWithHeadersRequest; + class JsonBlobsRequest; + class JsonEnumsRequest; + class JsonIntEnumsRequest; + class JsonListsRequest; + class JsonMapsRequest; + class JsonTimestampsRequest; + class JsonUnionsRequest; + class MediaTypeHeaderRequest; + class NoInputAndNoOutputRequest; + class NoInputAndOutputRequest; + class NullAndEmptyHeadersClientRequest; + class NullAndEmptyHeadersServerRequest; + class OmitsNullSerializesEmptyStringRequest; + class OmitsSerializingEmptyListsRequest; + class PostUnionWithJsonNameRequest; + class PutWithContentEncodingRequest; + class QueryIdempotencyTokenAutoFillRequest; + class QueryParamsAsStringListMapRequest; + class QueryPrecedenceRequest; + class RecursiveShapesRequest; + class ResponseCodeHttpFallbackRequest; + class ResponseCodeRequiredRequest; + class SimpleScalarPropertiesRequest; + class TestBodyStructureRequest; + class TestGetNoInputNoPayloadRequest; + class TestGetNoPayloadRequest; + class TestPayloadBlobRequest; + class TestPayloadStructureRequest; + class TestPostNoInputNoPayloadRequest; + class TestPostNoPayloadRequest; + class TimestampFormatHeadersRequest; + class UnitInputAndOutputRequest; + /* End of service model forward declarations required in RestJsonProtocolClient header */ + + /* Service model Outcome class definitions */ + typedef Aws::Utils::Outcome AllQueryStringTypesOutcome; + typedef Aws::Utils::Outcome ConstantAndVariableQueryStringOutcome; + typedef Aws::Utils::Outcome ConstantQueryStringOutcome; + typedef Aws::Utils::Outcome ContentTypeParametersOutcome; + typedef Aws::Utils::Outcome DatetimeOffsetsOutcome; + typedef Aws::Utils::Outcome DocumentTypeOutcome; + typedef Aws::Utils::Outcome DocumentTypeAsMapValueOutcome; + typedef Aws::Utils::Outcome DocumentTypeAsPayloadOutcome; + typedef Aws::Utils::Outcome EmptyInputAndEmptyOutputOutcome; + typedef Aws::Utils::Outcome EndpointOperationOutcome; + typedef Aws::Utils::Outcome EndpointWithHostLabelOperationOutcome; + typedef Aws::Utils::Outcome FractionalSecondsOutcome; + typedef Aws::Utils::Outcome GreetingWithErrorsOutcome; + typedef Aws::Utils::Outcome HostWithPathOperationOutcome; + typedef Aws::Utils::Outcome HttpChecksumRequiredOutcome; + typedef Aws::Utils::Outcome HttpEnumPayloadOutcome; + typedef Aws::Utils::Outcome HttpPayloadTraitsOutcome; + typedef Aws::Utils::Outcome HttpPayloadWithStructureOutcome; + typedef Aws::Utils::Outcome HttpPayloadWithUnionOutcome; + typedef Aws::Utils::Outcome HttpPrefixHeadersOutcome; + typedef Aws::Utils::Outcome HttpPrefixHeadersInResponseOutcome; + typedef Aws::Utils::Outcome HttpRequestWithFloatLabelsOutcome; + typedef Aws::Utils::Outcome HttpRequestWithGreedyLabelInPathOutcome; + typedef Aws::Utils::Outcome HttpRequestWithLabelsOutcome; + typedef Aws::Utils::Outcome HttpRequestWithLabelsAndTimestampFormatOutcome; + typedef Aws::Utils::Outcome HttpRequestWithRegexLiteralOutcome; + typedef Aws::Utils::Outcome HttpResponseCodeOutcome; + typedef Aws::Utils::Outcome HttpStringPayloadOutcome; + typedef Aws::Utils::Outcome IgnoreQueryParamsInResponseOutcome; + typedef Aws::Utils::Outcome InputAndOutputWithHeadersOutcome; + typedef Aws::Utils::Outcome JsonBlobsOutcome; + typedef Aws::Utils::Outcome JsonEnumsOutcome; + typedef Aws::Utils::Outcome JsonIntEnumsOutcome; + typedef Aws::Utils::Outcome JsonListsOutcome; + typedef Aws::Utils::Outcome JsonMapsOutcome; + typedef Aws::Utils::Outcome JsonTimestampsOutcome; + typedef Aws::Utils::Outcome JsonUnionsOutcome; + typedef Aws::Utils::Outcome MediaTypeHeaderOutcome; + typedef Aws::Utils::Outcome NoInputAndNoOutputOutcome; + typedef Aws::Utils::Outcome NoInputAndOutputOutcome; + typedef Aws::Utils::Outcome NullAndEmptyHeadersClientOutcome; + typedef Aws::Utils::Outcome NullAndEmptyHeadersServerOutcome; + typedef Aws::Utils::Outcome OmitsNullSerializesEmptyStringOutcome; + typedef Aws::Utils::Outcome OmitsSerializingEmptyListsOutcome; + typedef Aws::Utils::Outcome PostUnionWithJsonNameOutcome; + typedef Aws::Utils::Outcome PutWithContentEncodingOutcome; + typedef Aws::Utils::Outcome QueryIdempotencyTokenAutoFillOutcome; + typedef Aws::Utils::Outcome QueryParamsAsStringListMapOutcome; + typedef Aws::Utils::Outcome QueryPrecedenceOutcome; + typedef Aws::Utils::Outcome RecursiveShapesOutcome; + typedef Aws::Utils::Outcome ResponseCodeHttpFallbackOutcome; + typedef Aws::Utils::Outcome ResponseCodeRequiredOutcome; + typedef Aws::Utils::Outcome SimpleScalarPropertiesOutcome; + typedef Aws::Utils::Outcome TestBodyStructureOutcome; + typedef Aws::Utils::Outcome TestGetNoInputNoPayloadOutcome; + typedef Aws::Utils::Outcome TestGetNoPayloadOutcome; + typedef Aws::Utils::Outcome TestPayloadBlobOutcome; + typedef Aws::Utils::Outcome TestPayloadStructureOutcome; + typedef Aws::Utils::Outcome TestPostNoInputNoPayloadOutcome; + typedef Aws::Utils::Outcome TestPostNoPayloadOutcome; + typedef Aws::Utils::Outcome TimestampFormatHeadersOutcome; + typedef Aws::Utils::Outcome UnitInputAndOutputOutcome; + /* End of service model Outcome class definitions */ + + /* Service model Outcome callable definitions */ + typedef std::future AllQueryStringTypesOutcomeCallable; + typedef std::future ConstantAndVariableQueryStringOutcomeCallable; + typedef std::future ConstantQueryStringOutcomeCallable; + typedef std::future ContentTypeParametersOutcomeCallable; + typedef std::future DatetimeOffsetsOutcomeCallable; + typedef std::future DocumentTypeOutcomeCallable; + typedef std::future DocumentTypeAsMapValueOutcomeCallable; + typedef std::future DocumentTypeAsPayloadOutcomeCallable; + typedef std::future EmptyInputAndEmptyOutputOutcomeCallable; + typedef std::future EndpointOperationOutcomeCallable; + typedef std::future EndpointWithHostLabelOperationOutcomeCallable; + typedef std::future FractionalSecondsOutcomeCallable; + typedef std::future GreetingWithErrorsOutcomeCallable; + typedef std::future HostWithPathOperationOutcomeCallable; + typedef std::future HttpChecksumRequiredOutcomeCallable; + typedef std::future HttpEnumPayloadOutcomeCallable; + typedef std::future HttpPayloadTraitsOutcomeCallable; + typedef std::future HttpPayloadWithStructureOutcomeCallable; + typedef std::future HttpPayloadWithUnionOutcomeCallable; + typedef std::future HttpPrefixHeadersOutcomeCallable; + typedef std::future HttpPrefixHeadersInResponseOutcomeCallable; + typedef std::future HttpRequestWithFloatLabelsOutcomeCallable; + typedef std::future HttpRequestWithGreedyLabelInPathOutcomeCallable; + typedef std::future HttpRequestWithLabelsOutcomeCallable; + typedef std::future HttpRequestWithLabelsAndTimestampFormatOutcomeCallable; + typedef std::future HttpRequestWithRegexLiteralOutcomeCallable; + typedef std::future HttpResponseCodeOutcomeCallable; + typedef std::future HttpStringPayloadOutcomeCallable; + typedef std::future IgnoreQueryParamsInResponseOutcomeCallable; + typedef std::future InputAndOutputWithHeadersOutcomeCallable; + typedef std::future JsonBlobsOutcomeCallable; + typedef std::future JsonEnumsOutcomeCallable; + typedef std::future JsonIntEnumsOutcomeCallable; + typedef std::future JsonListsOutcomeCallable; + typedef std::future JsonMapsOutcomeCallable; + typedef std::future JsonTimestampsOutcomeCallable; + typedef std::future JsonUnionsOutcomeCallable; + typedef std::future MediaTypeHeaderOutcomeCallable; + typedef std::future NoInputAndNoOutputOutcomeCallable; + typedef std::future NoInputAndOutputOutcomeCallable; + typedef std::future NullAndEmptyHeadersClientOutcomeCallable; + typedef std::future NullAndEmptyHeadersServerOutcomeCallable; + typedef std::future OmitsNullSerializesEmptyStringOutcomeCallable; + typedef std::future OmitsSerializingEmptyListsOutcomeCallable; + typedef std::future PostUnionWithJsonNameOutcomeCallable; + typedef std::future PutWithContentEncodingOutcomeCallable; + typedef std::future QueryIdempotencyTokenAutoFillOutcomeCallable; + typedef std::future QueryParamsAsStringListMapOutcomeCallable; + typedef std::future QueryPrecedenceOutcomeCallable; + typedef std::future RecursiveShapesOutcomeCallable; + typedef std::future ResponseCodeHttpFallbackOutcomeCallable; + typedef std::future ResponseCodeRequiredOutcomeCallable; + typedef std::future SimpleScalarPropertiesOutcomeCallable; + typedef std::future TestBodyStructureOutcomeCallable; + typedef std::future TestGetNoInputNoPayloadOutcomeCallable; + typedef std::future TestGetNoPayloadOutcomeCallable; + typedef std::future TestPayloadBlobOutcomeCallable; + typedef std::future TestPayloadStructureOutcomeCallable; + typedef std::future TestPostNoInputNoPayloadOutcomeCallable; + typedef std::future TestPostNoPayloadOutcomeCallable; + typedef std::future TimestampFormatHeadersOutcomeCallable; + typedef std::future UnitInputAndOutputOutcomeCallable; + /* End of service model Outcome callable definitions */ + } // namespace Model + + class RestJsonProtocolClient; + + /* Service model async handlers definitions */ + typedef std::function&) > AllQueryStringTypesResponseReceivedHandler; + typedef std::function&) > ConstantAndVariableQueryStringResponseReceivedHandler; + typedef std::function&) > ConstantQueryStringResponseReceivedHandler; + typedef std::function&) > ContentTypeParametersResponseReceivedHandler; + typedef std::function&) > DatetimeOffsetsResponseReceivedHandler; + typedef std::function&) > DocumentTypeResponseReceivedHandler; + typedef std::function&) > DocumentTypeAsMapValueResponseReceivedHandler; + typedef std::function&) > DocumentTypeAsPayloadResponseReceivedHandler; + typedef std::function&) > EmptyInputAndEmptyOutputResponseReceivedHandler; + typedef std::function&) > EndpointOperationResponseReceivedHandler; + typedef std::function&) > EndpointWithHostLabelOperationResponseReceivedHandler; + typedef std::function&) > FractionalSecondsResponseReceivedHandler; + typedef std::function&) > GreetingWithErrorsResponseReceivedHandler; + typedef std::function&) > HostWithPathOperationResponseReceivedHandler; + typedef std::function&) > HttpChecksumRequiredResponseReceivedHandler; + typedef std::function&) > HttpEnumPayloadResponseReceivedHandler; + typedef std::function&) > HttpPayloadTraitsResponseReceivedHandler; + typedef std::function&) > HttpPayloadWithStructureResponseReceivedHandler; + typedef std::function&) > HttpPayloadWithUnionResponseReceivedHandler; + typedef std::function&) > HttpPrefixHeadersResponseReceivedHandler; + typedef std::function&) > HttpPrefixHeadersInResponseResponseReceivedHandler; + typedef std::function&) > HttpRequestWithFloatLabelsResponseReceivedHandler; + typedef std::function&) > HttpRequestWithGreedyLabelInPathResponseReceivedHandler; + typedef std::function&) > HttpRequestWithLabelsResponseReceivedHandler; + typedef std::function&) > HttpRequestWithLabelsAndTimestampFormatResponseReceivedHandler; + typedef std::function&) > HttpRequestWithRegexLiteralResponseReceivedHandler; + typedef std::function&) > HttpResponseCodeResponseReceivedHandler; + typedef std::function&) > HttpStringPayloadResponseReceivedHandler; + typedef std::function&) > IgnoreQueryParamsInResponseResponseReceivedHandler; + typedef std::function&) > InputAndOutputWithHeadersResponseReceivedHandler; + typedef std::function&) > JsonBlobsResponseReceivedHandler; + typedef std::function&) > JsonEnumsResponseReceivedHandler; + typedef std::function&) > JsonIntEnumsResponseReceivedHandler; + typedef std::function&) > JsonListsResponseReceivedHandler; + typedef std::function&) > JsonMapsResponseReceivedHandler; + typedef std::function&) > JsonTimestampsResponseReceivedHandler; + typedef std::function&) > JsonUnionsResponseReceivedHandler; + typedef std::function&) > MediaTypeHeaderResponseReceivedHandler; + typedef std::function&) > NoInputAndNoOutputResponseReceivedHandler; + typedef std::function&) > NoInputAndOutputResponseReceivedHandler; + typedef std::function&) > NullAndEmptyHeadersClientResponseReceivedHandler; + typedef std::function&) > NullAndEmptyHeadersServerResponseReceivedHandler; + typedef std::function&) > OmitsNullSerializesEmptyStringResponseReceivedHandler; + typedef std::function&) > OmitsSerializingEmptyListsResponseReceivedHandler; + typedef std::function&) > PostUnionWithJsonNameResponseReceivedHandler; + typedef std::function&) > PutWithContentEncodingResponseReceivedHandler; + typedef std::function&) > QueryIdempotencyTokenAutoFillResponseReceivedHandler; + typedef std::function&) > QueryParamsAsStringListMapResponseReceivedHandler; + typedef std::function&) > QueryPrecedenceResponseReceivedHandler; + typedef std::function&) > RecursiveShapesResponseReceivedHandler; + typedef std::function&) > ResponseCodeHttpFallbackResponseReceivedHandler; + typedef std::function&) > ResponseCodeRequiredResponseReceivedHandler; + typedef std::function&) > SimpleScalarPropertiesResponseReceivedHandler; + typedef std::function&) > TestBodyStructureResponseReceivedHandler; + typedef std::function&) > TestGetNoInputNoPayloadResponseReceivedHandler; + typedef std::function&) > TestGetNoPayloadResponseReceivedHandler; + typedef std::function&) > TestPayloadBlobResponseReceivedHandler; + typedef std::function&) > TestPayloadStructureResponseReceivedHandler; + typedef std::function&) > TestPostNoInputNoPayloadResponseReceivedHandler; + typedef std::function&) > TestPostNoPayloadResponseReceivedHandler; + typedef std::function&) > TimestampFormatHeadersResponseReceivedHandler; + typedef std::function&) > UnitInputAndOutputResponseReceivedHandler; + /* End of service model async handlers definitions */ + } // namespace RestJsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/RestJsonProtocol_EXPORTS.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/RestJsonProtocol_EXPORTS.h new file mode 100644 index 00000000000..f7afd948bff --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/RestJsonProtocol_EXPORTS.h @@ -0,0 +1,32 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#ifdef _MSC_VER + //disable windows complaining about max template size. + #pragma warning (disable : 4503) +#endif // _MSC_VER + +#if defined (USE_WINDOWS_DLL_SEMANTICS) || defined (_WIN32) + #ifdef _MSC_VER + #pragma warning(disable : 4251) + #endif // _MSC_VER + + #ifdef USE_IMPORT_EXPORT + #ifdef AWS_RESTJSONPROTOCOL_EXPORTS + #define AWS_RESTJSONPROTOCOL_API __declspec(dllexport) + #else + #define AWS_RESTJSONPROTOCOL_API __declspec(dllimport) + #endif /* AWS_RESTJSONPROTOCOL_EXPORTS */ + #define AWS_RESTJSONPROTOCOL_EXTERN + #else + #define AWS_RESTJSONPROTOCOL_API + #define AWS_RESTJSONPROTOCOL_EXTERN extern + #endif // USE_IMPORT_EXPORT +#else // defined (USE_WINDOWS_DLL_SEMANTICS) || defined (WIN32) + #define AWS_RESTJSONPROTOCOL_API + #define AWS_RESTJSONPROTOCOL_EXTERN extern +#endif // defined (USE_WINDOWS_DLL_SEMANTICS) || defined (WIN32) diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/AllQueryStringTypesRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/AllQueryStringTypesRequest.h new file mode 100644 index 00000000000..9a8d3a9cb06 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/AllQueryStringTypesRequest.h @@ -0,0 +1,329 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace RestJsonProtocol +{ +namespace Model +{ + + /** + */ + class AllQueryStringTypesRequest : public RestJsonProtocolRequest + { + public: + AWS_RESTJSONPROTOCOL_API AllQueryStringTypesRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "AllQueryStringTypes"; } + + AWS_RESTJSONPROTOCOL_API Aws::String SerializePayload() const override; + + AWS_RESTJSONPROTOCOL_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + + ///@{ + + inline const Aws::String& GetQueryString() const{ return m_queryString; } + inline bool QueryStringHasBeenSet() const { return m_queryStringHasBeenSet; } + inline void SetQueryString(const Aws::String& value) { m_queryStringHasBeenSet = true; m_queryString = value; } + inline void SetQueryString(Aws::String&& value) { m_queryStringHasBeenSet = true; m_queryString = std::move(value); } + inline void SetQueryString(const char* value) { m_queryStringHasBeenSet = true; m_queryString.assign(value); } + inline AllQueryStringTypesRequest& WithQueryString(const Aws::String& value) { SetQueryString(value); return *this;} + inline AllQueryStringTypesRequest& WithQueryString(Aws::String&& value) { SetQueryString(std::move(value)); return *this;} + inline AllQueryStringTypesRequest& WithQueryString(const char* value) { SetQueryString(value); return *this;} + ///@} + + ///@{ + + inline const Aws::Vector& GetQueryStringList() const{ return m_queryStringList; } + inline bool QueryStringListHasBeenSet() const { return m_queryStringListHasBeenSet; } + inline void SetQueryStringList(const Aws::Vector& value) { m_queryStringListHasBeenSet = true; m_queryStringList = value; } + inline void SetQueryStringList(Aws::Vector&& value) { m_queryStringListHasBeenSet = true; m_queryStringList = std::move(value); } + inline AllQueryStringTypesRequest& WithQueryStringList(const Aws::Vector& value) { SetQueryStringList(value); return *this;} + inline AllQueryStringTypesRequest& WithQueryStringList(Aws::Vector&& value) { SetQueryStringList(std::move(value)); return *this;} + inline AllQueryStringTypesRequest& AddQueryStringList(const Aws::String& value) { m_queryStringListHasBeenSet = true; m_queryStringList.push_back(value); return *this; } + inline AllQueryStringTypesRequest& AddQueryStringList(Aws::String&& value) { m_queryStringListHasBeenSet = true; m_queryStringList.push_back(std::move(value)); return *this; } + inline AllQueryStringTypesRequest& AddQueryStringList(const char* value) { m_queryStringListHasBeenSet = true; m_queryStringList.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetQueryStringSet() const{ return m_queryStringSet; } + inline bool QueryStringSetHasBeenSet() const { return m_queryStringSetHasBeenSet; } + inline void SetQueryStringSet(const Aws::Vector& value) { m_queryStringSetHasBeenSet = true; m_queryStringSet = value; } + inline void SetQueryStringSet(Aws::Vector&& value) { m_queryStringSetHasBeenSet = true; m_queryStringSet = std::move(value); } + inline AllQueryStringTypesRequest& WithQueryStringSet(const Aws::Vector& value) { SetQueryStringSet(value); return *this;} + inline AllQueryStringTypesRequest& WithQueryStringSet(Aws::Vector&& value) { SetQueryStringSet(std::move(value)); return *this;} + inline AllQueryStringTypesRequest& AddQueryStringSet(const Aws::String& value) { m_queryStringSetHasBeenSet = true; m_queryStringSet.push_back(value); return *this; } + inline AllQueryStringTypesRequest& AddQueryStringSet(Aws::String&& value) { m_queryStringSetHasBeenSet = true; m_queryStringSet.push_back(std::move(value)); return *this; } + inline AllQueryStringTypesRequest& AddQueryStringSet(const char* value) { m_queryStringSetHasBeenSet = true; m_queryStringSet.push_back(value); return *this; } + ///@} + + ///@{ + + inline int GetQueryByte() const{ return m_queryByte; } + inline bool QueryByteHasBeenSet() const { return m_queryByteHasBeenSet; } + inline void SetQueryByte(int value) { m_queryByteHasBeenSet = true; m_queryByte = value; } + inline AllQueryStringTypesRequest& WithQueryByte(int value) { SetQueryByte(value); return *this;} + ///@} + + ///@{ + + inline int GetQueryShort() const{ return m_queryShort; } + inline bool QueryShortHasBeenSet() const { return m_queryShortHasBeenSet; } + inline void SetQueryShort(int value) { m_queryShortHasBeenSet = true; m_queryShort = value; } + inline AllQueryStringTypesRequest& WithQueryShort(int value) { SetQueryShort(value); return *this;} + ///@} + + ///@{ + + inline int GetQueryInteger() const{ return m_queryInteger; } + inline bool QueryIntegerHasBeenSet() const { return m_queryIntegerHasBeenSet; } + inline void SetQueryInteger(int value) { m_queryIntegerHasBeenSet = true; m_queryInteger = value; } + inline AllQueryStringTypesRequest& WithQueryInteger(int value) { SetQueryInteger(value); return *this;} + ///@} + + ///@{ + + inline const Aws::Vector& GetQueryIntegerList() const{ return m_queryIntegerList; } + inline bool QueryIntegerListHasBeenSet() const { return m_queryIntegerListHasBeenSet; } + inline void SetQueryIntegerList(const Aws::Vector& value) { m_queryIntegerListHasBeenSet = true; m_queryIntegerList = value; } + inline void SetQueryIntegerList(Aws::Vector&& value) { m_queryIntegerListHasBeenSet = true; m_queryIntegerList = std::move(value); } + inline AllQueryStringTypesRequest& WithQueryIntegerList(const Aws::Vector& value) { SetQueryIntegerList(value); return *this;} + inline AllQueryStringTypesRequest& WithQueryIntegerList(Aws::Vector&& value) { SetQueryIntegerList(std::move(value)); return *this;} + inline AllQueryStringTypesRequest& AddQueryIntegerList(int value) { m_queryIntegerListHasBeenSet = true; m_queryIntegerList.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetQueryIntegerSet() const{ return m_queryIntegerSet; } + inline bool QueryIntegerSetHasBeenSet() const { return m_queryIntegerSetHasBeenSet; } + inline void SetQueryIntegerSet(const Aws::Vector& value) { m_queryIntegerSetHasBeenSet = true; m_queryIntegerSet = value; } + inline void SetQueryIntegerSet(Aws::Vector&& value) { m_queryIntegerSetHasBeenSet = true; m_queryIntegerSet = std::move(value); } + inline AllQueryStringTypesRequest& WithQueryIntegerSet(const Aws::Vector& value) { SetQueryIntegerSet(value); return *this;} + inline AllQueryStringTypesRequest& WithQueryIntegerSet(Aws::Vector&& value) { SetQueryIntegerSet(std::move(value)); return *this;} + inline AllQueryStringTypesRequest& AddQueryIntegerSet(int value) { m_queryIntegerSetHasBeenSet = true; m_queryIntegerSet.push_back(value); return *this; } + ///@} + + ///@{ + + inline long long GetQueryLong() const{ return m_queryLong; } + inline bool QueryLongHasBeenSet() const { return m_queryLongHasBeenSet; } + inline void SetQueryLong(long long value) { m_queryLongHasBeenSet = true; m_queryLong = value; } + inline AllQueryStringTypesRequest& WithQueryLong(long long value) { SetQueryLong(value); return *this;} + ///@} + + ///@{ + + inline double GetQueryFloat() const{ return m_queryFloat; } + inline bool QueryFloatHasBeenSet() const { return m_queryFloatHasBeenSet; } + inline void SetQueryFloat(double value) { m_queryFloatHasBeenSet = true; m_queryFloat = value; } + inline AllQueryStringTypesRequest& WithQueryFloat(double value) { SetQueryFloat(value); return *this;} + ///@} + + ///@{ + + inline double GetQueryDouble() const{ return m_queryDouble; } + inline bool QueryDoubleHasBeenSet() const { return m_queryDoubleHasBeenSet; } + inline void SetQueryDouble(double value) { m_queryDoubleHasBeenSet = true; m_queryDouble = value; } + inline AllQueryStringTypesRequest& WithQueryDouble(double value) { SetQueryDouble(value); return *this;} + ///@} + + ///@{ + + inline const Aws::Vector& GetQueryDoubleList() const{ return m_queryDoubleList; } + inline bool QueryDoubleListHasBeenSet() const { return m_queryDoubleListHasBeenSet; } + inline void SetQueryDoubleList(const Aws::Vector& value) { m_queryDoubleListHasBeenSet = true; m_queryDoubleList = value; } + inline void SetQueryDoubleList(Aws::Vector&& value) { m_queryDoubleListHasBeenSet = true; m_queryDoubleList = std::move(value); } + inline AllQueryStringTypesRequest& WithQueryDoubleList(const Aws::Vector& value) { SetQueryDoubleList(value); return *this;} + inline AllQueryStringTypesRequest& WithQueryDoubleList(Aws::Vector&& value) { SetQueryDoubleList(std::move(value)); return *this;} + inline AllQueryStringTypesRequest& AddQueryDoubleList(double value) { m_queryDoubleListHasBeenSet = true; m_queryDoubleList.push_back(value); return *this; } + ///@} + + ///@{ + + inline bool GetQueryBoolean() const{ return m_queryBoolean; } + inline bool QueryBooleanHasBeenSet() const { return m_queryBooleanHasBeenSet; } + inline void SetQueryBoolean(bool value) { m_queryBooleanHasBeenSet = true; m_queryBoolean = value; } + inline AllQueryStringTypesRequest& WithQueryBoolean(bool value) { SetQueryBoolean(value); return *this;} + ///@} + + ///@{ + + inline const Aws::Vector& GetQueryBooleanList() const{ return m_queryBooleanList; } + inline bool QueryBooleanListHasBeenSet() const { return m_queryBooleanListHasBeenSet; } + inline void SetQueryBooleanList(const Aws::Vector& value) { m_queryBooleanListHasBeenSet = true; m_queryBooleanList = value; } + inline void SetQueryBooleanList(Aws::Vector&& value) { m_queryBooleanListHasBeenSet = true; m_queryBooleanList = std::move(value); } + inline AllQueryStringTypesRequest& WithQueryBooleanList(const Aws::Vector& value) { SetQueryBooleanList(value); return *this;} + inline AllQueryStringTypesRequest& WithQueryBooleanList(Aws::Vector&& value) { SetQueryBooleanList(std::move(value)); return *this;} + inline AllQueryStringTypesRequest& AddQueryBooleanList(bool value) { m_queryBooleanListHasBeenSet = true; m_queryBooleanList.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::Utils::DateTime& GetQueryTimestamp() const{ return m_queryTimestamp; } + inline bool QueryTimestampHasBeenSet() const { return m_queryTimestampHasBeenSet; } + inline void SetQueryTimestamp(const Aws::Utils::DateTime& value) { m_queryTimestampHasBeenSet = true; m_queryTimestamp = value; } + inline void SetQueryTimestamp(Aws::Utils::DateTime&& value) { m_queryTimestampHasBeenSet = true; m_queryTimestamp = std::move(value); } + inline AllQueryStringTypesRequest& WithQueryTimestamp(const Aws::Utils::DateTime& value) { SetQueryTimestamp(value); return *this;} + inline AllQueryStringTypesRequest& WithQueryTimestamp(Aws::Utils::DateTime&& value) { SetQueryTimestamp(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::Vector& GetQueryTimestampList() const{ return m_queryTimestampList; } + inline bool QueryTimestampListHasBeenSet() const { return m_queryTimestampListHasBeenSet; } + inline void SetQueryTimestampList(const Aws::Vector& value) { m_queryTimestampListHasBeenSet = true; m_queryTimestampList = value; } + inline void SetQueryTimestampList(Aws::Vector&& value) { m_queryTimestampListHasBeenSet = true; m_queryTimestampList = std::move(value); } + inline AllQueryStringTypesRequest& WithQueryTimestampList(const Aws::Vector& value) { SetQueryTimestampList(value); return *this;} + inline AllQueryStringTypesRequest& WithQueryTimestampList(Aws::Vector&& value) { SetQueryTimestampList(std::move(value)); return *this;} + inline AllQueryStringTypesRequest& AddQueryTimestampList(const Aws::Utils::DateTime& value) { m_queryTimestampListHasBeenSet = true; m_queryTimestampList.push_back(value); return *this; } + inline AllQueryStringTypesRequest& AddQueryTimestampList(Aws::Utils::DateTime&& value) { m_queryTimestampListHasBeenSet = true; m_queryTimestampList.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + + inline const FooEnum& GetQueryEnum() const{ return m_queryEnum; } + inline bool QueryEnumHasBeenSet() const { return m_queryEnumHasBeenSet; } + inline void SetQueryEnum(const FooEnum& value) { m_queryEnumHasBeenSet = true; m_queryEnum = value; } + inline void SetQueryEnum(FooEnum&& value) { m_queryEnumHasBeenSet = true; m_queryEnum = std::move(value); } + inline AllQueryStringTypesRequest& WithQueryEnum(const FooEnum& value) { SetQueryEnum(value); return *this;} + inline AllQueryStringTypesRequest& WithQueryEnum(FooEnum&& value) { SetQueryEnum(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::Vector& GetQueryEnumList() const{ return m_queryEnumList; } + inline bool QueryEnumListHasBeenSet() const { return m_queryEnumListHasBeenSet; } + inline void SetQueryEnumList(const Aws::Vector& value) { m_queryEnumListHasBeenSet = true; m_queryEnumList = value; } + inline void SetQueryEnumList(Aws::Vector&& value) { m_queryEnumListHasBeenSet = true; m_queryEnumList = std::move(value); } + inline AllQueryStringTypesRequest& WithQueryEnumList(const Aws::Vector& value) { SetQueryEnumList(value); return *this;} + inline AllQueryStringTypesRequest& WithQueryEnumList(Aws::Vector&& value) { SetQueryEnumList(std::move(value)); return *this;} + inline AllQueryStringTypesRequest& AddQueryEnumList(const FooEnum& value) { m_queryEnumListHasBeenSet = true; m_queryEnumList.push_back(value); return *this; } + inline AllQueryStringTypesRequest& AddQueryEnumList(FooEnum&& value) { m_queryEnumListHasBeenSet = true; m_queryEnumList.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + + inline int GetQueryIntegerEnum() const{ return m_queryIntegerEnum; } + inline bool QueryIntegerEnumHasBeenSet() const { return m_queryIntegerEnumHasBeenSet; } + inline void SetQueryIntegerEnum(int value) { m_queryIntegerEnumHasBeenSet = true; m_queryIntegerEnum = value; } + inline AllQueryStringTypesRequest& WithQueryIntegerEnum(int value) { SetQueryIntegerEnum(value); return *this;} + ///@} + + ///@{ + + inline const Aws::Vector& GetQueryIntegerEnumList() const{ return m_queryIntegerEnumList; } + inline bool QueryIntegerEnumListHasBeenSet() const { return m_queryIntegerEnumListHasBeenSet; } + inline void SetQueryIntegerEnumList(const Aws::Vector& value) { m_queryIntegerEnumListHasBeenSet = true; m_queryIntegerEnumList = value; } + inline void SetQueryIntegerEnumList(Aws::Vector&& value) { m_queryIntegerEnumListHasBeenSet = true; m_queryIntegerEnumList = std::move(value); } + inline AllQueryStringTypesRequest& WithQueryIntegerEnumList(const Aws::Vector& value) { SetQueryIntegerEnumList(value); return *this;} + inline AllQueryStringTypesRequest& WithQueryIntegerEnumList(Aws::Vector&& value) { SetQueryIntegerEnumList(std::move(value)); return *this;} + inline AllQueryStringTypesRequest& AddQueryIntegerEnumList(int value) { m_queryIntegerEnumListHasBeenSet = true; m_queryIntegerEnumList.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::Map>& GetQueryParamsMapOfStringList() const{ return m_queryParamsMapOfStringList; } + inline bool QueryParamsMapOfStringListHasBeenSet() const { return m_queryParamsMapOfStringListHasBeenSet; } + inline void SetQueryParamsMapOfStringList(const Aws::Map>& value) { m_queryParamsMapOfStringListHasBeenSet = true; m_queryParamsMapOfStringList = value; } + inline void SetQueryParamsMapOfStringList(Aws::Map>&& value) { m_queryParamsMapOfStringListHasBeenSet = true; m_queryParamsMapOfStringList = std::move(value); } + inline AllQueryStringTypesRequest& WithQueryParamsMapOfStringList(const Aws::Map>& value) { SetQueryParamsMapOfStringList(value); return *this;} + inline AllQueryStringTypesRequest& WithQueryParamsMapOfStringList(Aws::Map>&& value) { SetQueryParamsMapOfStringList(std::move(value)); return *this;} + inline AllQueryStringTypesRequest& AddQueryParamsMapOfStringList(const Aws::String& key, const Aws::Vector& value) { m_queryParamsMapOfStringListHasBeenSet = true; m_queryParamsMapOfStringList.emplace(key, value); return *this; } + inline AllQueryStringTypesRequest& AddQueryParamsMapOfStringList(Aws::String&& key, const Aws::Vector& value) { m_queryParamsMapOfStringListHasBeenSet = true; m_queryParamsMapOfStringList.emplace(std::move(key), value); return *this; } + inline AllQueryStringTypesRequest& AddQueryParamsMapOfStringList(const Aws::String& key, Aws::Vector&& value) { m_queryParamsMapOfStringListHasBeenSet = true; m_queryParamsMapOfStringList.emplace(key, std::move(value)); return *this; } + inline AllQueryStringTypesRequest& AddQueryParamsMapOfStringList(Aws::String&& key, Aws::Vector&& value) { m_queryParamsMapOfStringListHasBeenSet = true; m_queryParamsMapOfStringList.emplace(std::move(key), std::move(value)); return *this; } + inline AllQueryStringTypesRequest& AddQueryParamsMapOfStringList(const char* key, Aws::Vector&& value) { m_queryParamsMapOfStringListHasBeenSet = true; m_queryParamsMapOfStringList.emplace(key, std::move(value)); return *this; } + inline AllQueryStringTypesRequest& AddQueryParamsMapOfStringList(const char* key, const Aws::Vector& value) { m_queryParamsMapOfStringListHasBeenSet = true; m_queryParamsMapOfStringList.emplace(key, value); return *this; } + ///@} + private: + + Aws::String m_queryString; + bool m_queryStringHasBeenSet = false; + + Aws::Vector m_queryStringList; + bool m_queryStringListHasBeenSet = false; + + Aws::Vector m_queryStringSet; + bool m_queryStringSetHasBeenSet = false; + + int m_queryByte; + bool m_queryByteHasBeenSet = false; + + int m_queryShort; + bool m_queryShortHasBeenSet = false; + + int m_queryInteger; + bool m_queryIntegerHasBeenSet = false; + + Aws::Vector m_queryIntegerList; + bool m_queryIntegerListHasBeenSet = false; + + Aws::Vector m_queryIntegerSet; + bool m_queryIntegerSetHasBeenSet = false; + + long long m_queryLong; + bool m_queryLongHasBeenSet = false; + + double m_queryFloat; + bool m_queryFloatHasBeenSet = false; + + double m_queryDouble; + bool m_queryDoubleHasBeenSet = false; + + Aws::Vector m_queryDoubleList; + bool m_queryDoubleListHasBeenSet = false; + + bool m_queryBoolean; + bool m_queryBooleanHasBeenSet = false; + + Aws::Vector m_queryBooleanList; + bool m_queryBooleanListHasBeenSet = false; + + Aws::Utils::DateTime m_queryTimestamp; + bool m_queryTimestampHasBeenSet = false; + + Aws::Vector m_queryTimestampList; + bool m_queryTimestampListHasBeenSet = false; + + FooEnum m_queryEnum; + bool m_queryEnumHasBeenSet = false; + + Aws::Vector m_queryEnumList; + bool m_queryEnumListHasBeenSet = false; + + int m_queryIntegerEnum; + bool m_queryIntegerEnumHasBeenSet = false; + + Aws::Vector m_queryIntegerEnumList; + bool m_queryIntegerEnumListHasBeenSet = false; + + Aws::Map> m_queryParamsMapOfStringList; + bool m_queryParamsMapOfStringListHasBeenSet = false; + }; + +} // namespace Model +} // namespace RestJsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/ComplexError.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/ComplexError.h new file mode 100644 index 00000000000..4b7a886f107 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/ComplexError.h @@ -0,0 +1,88 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace RestJsonProtocol +{ +namespace Model +{ + + /** + *

This error is thrown when a request is invalid.

See Also:

AWS + * API Reference

+ */ + class ComplexError + { + public: + AWS_RESTJSONPROTOCOL_API ComplexError(); + AWS_RESTJSONPROTOCOL_API ComplexError(Aws::Utils::Json::JsonView jsonValue); + AWS_RESTJSONPROTOCOL_API ComplexError& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_RESTJSONPROTOCOL_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + + inline const Aws::String& GetHeader() const{ return m_header; } + inline bool HeaderHasBeenSet() const { return m_headerHasBeenSet; } + inline void SetHeader(const Aws::String& value) { m_headerHasBeenSet = true; m_header = value; } + inline void SetHeader(Aws::String&& value) { m_headerHasBeenSet = true; m_header = std::move(value); } + inline void SetHeader(const char* value) { m_headerHasBeenSet = true; m_header.assign(value); } + inline ComplexError& WithHeader(const Aws::String& value) { SetHeader(value); return *this;} + inline ComplexError& WithHeader(Aws::String&& value) { SetHeader(std::move(value)); return *this;} + inline ComplexError& WithHeader(const char* value) { SetHeader(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetTopLevel() const{ return m_topLevel; } + inline bool TopLevelHasBeenSet() const { return m_topLevelHasBeenSet; } + inline void SetTopLevel(const Aws::String& value) { m_topLevelHasBeenSet = true; m_topLevel = value; } + inline void SetTopLevel(Aws::String&& value) { m_topLevelHasBeenSet = true; m_topLevel = std::move(value); } + inline void SetTopLevel(const char* value) { m_topLevelHasBeenSet = true; m_topLevel.assign(value); } + inline ComplexError& WithTopLevel(const Aws::String& value) { SetTopLevel(value); return *this;} + inline ComplexError& WithTopLevel(Aws::String&& value) { SetTopLevel(std::move(value)); return *this;} + inline ComplexError& WithTopLevel(const char* value) { SetTopLevel(value); return *this;} + ///@} + + ///@{ + + inline const ComplexNestedErrorData& GetNested() const{ return m_nested; } + inline bool NestedHasBeenSet() const { return m_nestedHasBeenSet; } + inline void SetNested(const ComplexNestedErrorData& value) { m_nestedHasBeenSet = true; m_nested = value; } + inline void SetNested(ComplexNestedErrorData&& value) { m_nestedHasBeenSet = true; m_nested = std::move(value); } + inline ComplexError& WithNested(const ComplexNestedErrorData& value) { SetNested(value); return *this;} + inline ComplexError& WithNested(ComplexNestedErrorData&& value) { SetNested(std::move(value)); return *this;} + ///@} + private: + + Aws::String m_header; + bool m_headerHasBeenSet = false; + + Aws::String m_topLevel; + bool m_topLevelHasBeenSet = false; + + ComplexNestedErrorData m_nested; + bool m_nestedHasBeenSet = false; + }; + +} // namespace Model +} // namespace RestJsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/ComplexNestedErrorData.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/ComplexNestedErrorData.h new file mode 100644 index 00000000000..e2b07dd5abb --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/ComplexNestedErrorData.h @@ -0,0 +1,54 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace RestJsonProtocol +{ +namespace Model +{ + + class ComplexNestedErrorData + { + public: + AWS_RESTJSONPROTOCOL_API ComplexNestedErrorData(); + AWS_RESTJSONPROTOCOL_API ComplexNestedErrorData(Aws::Utils::Json::JsonView jsonValue); + AWS_RESTJSONPROTOCOL_API ComplexNestedErrorData& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_RESTJSONPROTOCOL_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + + inline const Aws::String& GetFoo() const{ return m_foo; } + inline bool FooHasBeenSet() const { return m_fooHasBeenSet; } + inline void SetFoo(const Aws::String& value) { m_fooHasBeenSet = true; m_foo = value; } + inline void SetFoo(Aws::String&& value) { m_fooHasBeenSet = true; m_foo = std::move(value); } + inline void SetFoo(const char* value) { m_fooHasBeenSet = true; m_foo.assign(value); } + inline ComplexNestedErrorData& WithFoo(const Aws::String& value) { SetFoo(value); return *this;} + inline ComplexNestedErrorData& WithFoo(Aws::String&& value) { SetFoo(std::move(value)); return *this;} + inline ComplexNestedErrorData& WithFoo(const char* value) { SetFoo(value); return *this;} + ///@} + private: + + Aws::String m_foo; + bool m_fooHasBeenSet = false; + }; + +} // namespace Model +} // namespace RestJsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/ConstantAndVariableQueryStringRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/ConstantAndVariableQueryStringRequest.h new file mode 100644 index 00000000000..fcfc6ce142c --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/ConstantAndVariableQueryStringRequest.h @@ -0,0 +1,75 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace RestJsonProtocol +{ +namespace Model +{ + + /** + */ + class ConstantAndVariableQueryStringRequest : public RestJsonProtocolRequest + { + public: + AWS_RESTJSONPROTOCOL_API ConstantAndVariableQueryStringRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "ConstantAndVariableQueryString"; } + + AWS_RESTJSONPROTOCOL_API Aws::String SerializePayload() const override; + + AWS_RESTJSONPROTOCOL_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + + ///@{ + + inline const Aws::String& GetBaz() const{ return m_baz; } + inline bool BazHasBeenSet() const { return m_bazHasBeenSet; } + inline void SetBaz(const Aws::String& value) { m_bazHasBeenSet = true; m_baz = value; } + inline void SetBaz(Aws::String&& value) { m_bazHasBeenSet = true; m_baz = std::move(value); } + inline void SetBaz(const char* value) { m_bazHasBeenSet = true; m_baz.assign(value); } + inline ConstantAndVariableQueryStringRequest& WithBaz(const Aws::String& value) { SetBaz(value); return *this;} + inline ConstantAndVariableQueryStringRequest& WithBaz(Aws::String&& value) { SetBaz(std::move(value)); return *this;} + inline ConstantAndVariableQueryStringRequest& WithBaz(const char* value) { SetBaz(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetMaybeSet() const{ return m_maybeSet; } + inline bool MaybeSetHasBeenSet() const { return m_maybeSetHasBeenSet; } + inline void SetMaybeSet(const Aws::String& value) { m_maybeSetHasBeenSet = true; m_maybeSet = value; } + inline void SetMaybeSet(Aws::String&& value) { m_maybeSetHasBeenSet = true; m_maybeSet = std::move(value); } + inline void SetMaybeSet(const char* value) { m_maybeSetHasBeenSet = true; m_maybeSet.assign(value); } + inline ConstantAndVariableQueryStringRequest& WithMaybeSet(const Aws::String& value) { SetMaybeSet(value); return *this;} + inline ConstantAndVariableQueryStringRequest& WithMaybeSet(Aws::String&& value) { SetMaybeSet(std::move(value)); return *this;} + inline ConstantAndVariableQueryStringRequest& WithMaybeSet(const char* value) { SetMaybeSet(value); return *this;} + ///@} + private: + + Aws::String m_baz; + bool m_bazHasBeenSet = false; + + Aws::String m_maybeSet; + bool m_maybeSetHasBeenSet = false; + }; + +} // namespace Model +} // namespace RestJsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/ConstantQueryStringRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/ConstantQueryStringRequest.h new file mode 100644 index 00000000000..a79df8796cf --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/ConstantQueryStringRequest.h @@ -0,0 +1,54 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace RestJsonProtocol +{ +namespace Model +{ + + /** + */ + class ConstantQueryStringRequest : public RestJsonProtocolRequest + { + public: + AWS_RESTJSONPROTOCOL_API ConstantQueryStringRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "ConstantQueryString"; } + + AWS_RESTJSONPROTOCOL_API Aws::String SerializePayload() const override; + + + ///@{ + + inline const Aws::String& GetHello() const{ return m_hello; } + inline bool HelloHasBeenSet() const { return m_helloHasBeenSet; } + inline void SetHello(const Aws::String& value) { m_helloHasBeenSet = true; m_hello = value; } + inline void SetHello(Aws::String&& value) { m_helloHasBeenSet = true; m_hello = std::move(value); } + inline void SetHello(const char* value) { m_helloHasBeenSet = true; m_hello.assign(value); } + inline ConstantQueryStringRequest& WithHello(const Aws::String& value) { SetHello(value); return *this;} + inline ConstantQueryStringRequest& WithHello(Aws::String&& value) { SetHello(std::move(value)); return *this;} + inline ConstantQueryStringRequest& WithHello(const char* value) { SetHello(value); return *this;} + ///@} + private: + + Aws::String m_hello; + bool m_helloHasBeenSet = false; + }; + +} // namespace Model +} // namespace RestJsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/ContentTypeParametersRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/ContentTypeParametersRequest.h new file mode 100644 index 00000000000..bcc1b4c1b79 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/ContentTypeParametersRequest.h @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace RestJsonProtocol +{ +namespace Model +{ + + /** + */ + class ContentTypeParametersRequest : public RestJsonProtocolRequest + { + public: + AWS_RESTJSONPROTOCOL_API ContentTypeParametersRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "ContentTypeParameters"; } + + AWS_RESTJSONPROTOCOL_API Aws::String SerializePayload() const override; + + + ///@{ + + inline int GetValue() const{ return m_value; } + inline bool ValueHasBeenSet() const { return m_valueHasBeenSet; } + inline void SetValue(int value) { m_valueHasBeenSet = true; m_value = value; } + inline ContentTypeParametersRequest& WithValue(int value) { SetValue(value); return *this;} + ///@} + private: + + int m_value; + bool m_valueHasBeenSet = false; + }; + +} // namespace Model +} // namespace RestJsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/ContentTypeParametersResult.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/ContentTypeParametersResult.h new file mode 100644 index 00000000000..bce88a88800 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/ContentTypeParametersResult.h @@ -0,0 +1,52 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace RestJsonProtocol +{ +namespace Model +{ + class ContentTypeParametersResult + { + public: + AWS_RESTJSONPROTOCOL_API ContentTypeParametersResult(); + AWS_RESTJSONPROTOCOL_API ContentTypeParametersResult(const Aws::AmazonWebServiceResult& result); + AWS_RESTJSONPROTOCOL_API ContentTypeParametersResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline ContentTypeParametersResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline ContentTypeParametersResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline ContentTypeParametersResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace RestJsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/DatetimeOffsetsRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/DatetimeOffsetsRequest.h new file mode 100644 index 00000000000..e82302030c7 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/DatetimeOffsetsRequest.h @@ -0,0 +1,36 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace RestJsonProtocol +{ +namespace Model +{ + + /** + */ + class DatetimeOffsetsRequest : public RestJsonProtocolRequest + { + public: + AWS_RESTJSONPROTOCOL_API DatetimeOffsetsRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "DatetimeOffsets"; } + + AWS_RESTJSONPROTOCOL_API Aws::String SerializePayload() const override; + + }; + +} // namespace Model +} // namespace RestJsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/DatetimeOffsetsResult.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/DatetimeOffsetsResult.h new file mode 100644 index 00000000000..76368d63cf9 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/DatetimeOffsetsResult.h @@ -0,0 +1,64 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace RestJsonProtocol +{ +namespace Model +{ + class DatetimeOffsetsResult + { + public: + AWS_RESTJSONPROTOCOL_API DatetimeOffsetsResult(); + AWS_RESTJSONPROTOCOL_API DatetimeOffsetsResult(const Aws::AmazonWebServiceResult& result); + AWS_RESTJSONPROTOCOL_API DatetimeOffsetsResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::Utils::DateTime& GetDatetime() const{ return m_datetime; } + inline void SetDatetime(const Aws::Utils::DateTime& value) { m_datetime = value; } + inline void SetDatetime(Aws::Utils::DateTime&& value) { m_datetime = std::move(value); } + inline DatetimeOffsetsResult& WithDatetime(const Aws::Utils::DateTime& value) { SetDatetime(value); return *this;} + inline DatetimeOffsetsResult& WithDatetime(Aws::Utils::DateTime&& value) { SetDatetime(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline DatetimeOffsetsResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline DatetimeOffsetsResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline DatetimeOffsetsResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::Utils::DateTime m_datetime; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace RestJsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/DocumentTypeAsMapValueRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/DocumentTypeAsMapValueRequest.h new file mode 100644 index 00000000000..926d18e1fc9 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/DocumentTypeAsMapValueRequest.h @@ -0,0 +1,77 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace RestJsonProtocol +{ +namespace Model +{ + + /** + */ + class DocumentTypeAsMapValueRequest : public RestJsonProtocolRequest + { + public: + AWS_RESTJSONPROTOCOL_API DocumentTypeAsMapValueRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "DocumentTypeAsMapValue"; } + + AWS_RESTJSONPROTOCOL_API Aws::String SerializePayload() const override; + + AWS_RESTJSONPROTOCOL_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + + inline const Aws::Map& GetDocValuedMap() const{ return m_docValuedMap; } + inline bool DocValuedMapHasBeenSet() const { return m_docValuedMapHasBeenSet; } + inline void SetDocValuedMap(const Aws::Map& value) { m_docValuedMapHasBeenSet = true; m_docValuedMap = value; } + inline void SetDocValuedMap(Aws::Map&& value) { m_docValuedMapHasBeenSet = true; m_docValuedMap = std::move(value); } + inline DocumentTypeAsMapValueRequest& WithDocValuedMap(const Aws::Map& value) { SetDocValuedMap(value); return *this;} + inline DocumentTypeAsMapValueRequest& WithDocValuedMap(Aws::Map&& value) { SetDocValuedMap(std::move(value)); return *this;} + inline DocumentTypeAsMapValueRequest& AddDocValuedMap(const Aws::String& key, const Aws::Utils::Document& value) { m_docValuedMapHasBeenSet = true; m_docValuedMap.emplace(key, value); return *this; } + inline DocumentTypeAsMapValueRequest& AddDocValuedMap(Aws::String&& key, const Aws::Utils::Document& value) { m_docValuedMapHasBeenSet = true; m_docValuedMap.emplace(std::move(key), value); return *this; } + inline DocumentTypeAsMapValueRequest& AddDocValuedMap(const Aws::String& key, Aws::Utils::Document&& value) { m_docValuedMapHasBeenSet = true; m_docValuedMap.emplace(key, std::move(value)); return *this; } + inline DocumentTypeAsMapValueRequest& AddDocValuedMap(Aws::String&& key, Aws::Utils::Document&& value) { m_docValuedMapHasBeenSet = true; m_docValuedMap.emplace(std::move(key), std::move(value)); return *this; } + inline DocumentTypeAsMapValueRequest& AddDocValuedMap(const char* key, Aws::Utils::Document&& value) { m_docValuedMapHasBeenSet = true; m_docValuedMap.emplace(key, std::move(value)); return *this; } + inline DocumentTypeAsMapValueRequest& AddDocValuedMap(const char* key, const Aws::Utils::Document& value) { m_docValuedMapHasBeenSet = true; m_docValuedMap.emplace(key, value); return *this; } + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline bool RequestIdHasBeenSet() const { return m_requestIdHasBeenSet; } + inline void SetRequestId(const Aws::String& value) { m_requestIdHasBeenSet = true; m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestIdHasBeenSet = true; m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestIdHasBeenSet = true; m_requestId.assign(value); } + inline DocumentTypeAsMapValueRequest& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline DocumentTypeAsMapValueRequest& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline DocumentTypeAsMapValueRequest& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::Map m_docValuedMap; + bool m_docValuedMapHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace RestJsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/DocumentTypeAsMapValueResult.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/DocumentTypeAsMapValueResult.h new file mode 100644 index 00000000000..4d127d72f7d --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/DocumentTypeAsMapValueResult.h @@ -0,0 +1,71 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace RestJsonProtocol +{ +namespace Model +{ + class DocumentTypeAsMapValueResult + { + public: + AWS_RESTJSONPROTOCOL_API DocumentTypeAsMapValueResult(); + AWS_RESTJSONPROTOCOL_API DocumentTypeAsMapValueResult(const Aws::AmazonWebServiceResult& result); + AWS_RESTJSONPROTOCOL_API DocumentTypeAsMapValueResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::Map& GetDocValuedMap() const{ return m_docValuedMap; } + inline void SetDocValuedMap(const Aws::Map& value) { m_docValuedMap = value; } + inline void SetDocValuedMap(Aws::Map&& value) { m_docValuedMap = std::move(value); } + inline DocumentTypeAsMapValueResult& WithDocValuedMap(const Aws::Map& value) { SetDocValuedMap(value); return *this;} + inline DocumentTypeAsMapValueResult& WithDocValuedMap(Aws::Map&& value) { SetDocValuedMap(std::move(value)); return *this;} + inline DocumentTypeAsMapValueResult& AddDocValuedMap(const Aws::String& key, const Aws::Utils::Document& value) { m_docValuedMap.emplace(key, value); return *this; } + inline DocumentTypeAsMapValueResult& AddDocValuedMap(Aws::String&& key, const Aws::Utils::Document& value) { m_docValuedMap.emplace(std::move(key), value); return *this; } + inline DocumentTypeAsMapValueResult& AddDocValuedMap(const Aws::String& key, Aws::Utils::Document&& value) { m_docValuedMap.emplace(key, std::move(value)); return *this; } + inline DocumentTypeAsMapValueResult& AddDocValuedMap(Aws::String&& key, Aws::Utils::Document&& value) { m_docValuedMap.emplace(std::move(key), std::move(value)); return *this; } + inline DocumentTypeAsMapValueResult& AddDocValuedMap(const char* key, Aws::Utils::Document&& value) { m_docValuedMap.emplace(key, std::move(value)); return *this; } + inline DocumentTypeAsMapValueResult& AddDocValuedMap(const char* key, const Aws::Utils::Document& value) { m_docValuedMap.emplace(key, value); return *this; } + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline DocumentTypeAsMapValueResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline DocumentTypeAsMapValueResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline DocumentTypeAsMapValueResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::Map m_docValuedMap; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace RestJsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/DocumentTypeAsPayloadRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/DocumentTypeAsPayloadRequest.h new file mode 100644 index 00000000000..8e806863229 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/DocumentTypeAsPayloadRequest.h @@ -0,0 +1,70 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace RestJsonProtocol +{ +namespace Model +{ + + /** + */ + class DocumentTypeAsPayloadRequest : public RestJsonProtocolRequest + { + public: + AWS_RESTJSONPROTOCOL_API DocumentTypeAsPayloadRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "DocumentTypeAsPayload"; } + + AWS_RESTJSONPROTOCOL_API Aws::String SerializePayload() const override; + + AWS_RESTJSONPROTOCOL_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + + inline Aws::Utils::DocumentView GetDocumentValue() const{ return m_documentValue; } + inline bool DocumentValueHasBeenSet() const { return m_documentValueHasBeenSet; } + inline void SetDocumentValue(const Aws::Utils::Document& value) { m_documentValueHasBeenSet = true; m_documentValue = value; } + inline void SetDocumentValue(Aws::Utils::Document&& value) { m_documentValueHasBeenSet = true; m_documentValue = std::move(value); } + inline DocumentTypeAsPayloadRequest& WithDocumentValue(const Aws::Utils::Document& value) { SetDocumentValue(value); return *this;} + inline DocumentTypeAsPayloadRequest& WithDocumentValue(Aws::Utils::Document&& value) { SetDocumentValue(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline bool RequestIdHasBeenSet() const { return m_requestIdHasBeenSet; } + inline void SetRequestId(const Aws::String& value) { m_requestIdHasBeenSet = true; m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestIdHasBeenSet = true; m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestIdHasBeenSet = true; m_requestId.assign(value); } + inline DocumentTypeAsPayloadRequest& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline DocumentTypeAsPayloadRequest& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline DocumentTypeAsPayloadRequest& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::Utils::Document m_documentValue; + bool m_documentValueHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace RestJsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/DocumentTypeAsPayloadResult.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/DocumentTypeAsPayloadResult.h new file mode 100644 index 00000000000..682b6cbd66e --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/DocumentTypeAsPayloadResult.h @@ -0,0 +1,64 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace RestJsonProtocol +{ +namespace Model +{ + class DocumentTypeAsPayloadResult + { + public: + AWS_RESTJSONPROTOCOL_API DocumentTypeAsPayloadResult(); + AWS_RESTJSONPROTOCOL_API DocumentTypeAsPayloadResult(const Aws::AmazonWebServiceResult& result); + AWS_RESTJSONPROTOCOL_API DocumentTypeAsPayloadResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline Aws::Utils::DocumentView GetDocumentValue() const{ return m_documentValue; } + inline void SetDocumentValue(const Aws::Utils::Document& value) { m_documentValue = value; } + inline void SetDocumentValue(Aws::Utils::Document&& value) { m_documentValue = std::move(value); } + inline DocumentTypeAsPayloadResult& WithDocumentValue(const Aws::Utils::Document& value) { SetDocumentValue(value); return *this;} + inline DocumentTypeAsPayloadResult& WithDocumentValue(Aws::Utils::Document&& value) { SetDocumentValue(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline DocumentTypeAsPayloadResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline DocumentTypeAsPayloadResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline DocumentTypeAsPayloadResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::Utils::Document m_documentValue; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace RestJsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/DocumentTypeRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/DocumentTypeRequest.h new file mode 100644 index 00000000000..a7c5ce8a605 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/DocumentTypeRequest.h @@ -0,0 +1,85 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace RestJsonProtocol +{ +namespace Model +{ + + /** + */ + class DocumentTypeRequest : public RestJsonProtocolRequest + { + public: + AWS_RESTJSONPROTOCOL_API DocumentTypeRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "DocumentType"; } + + AWS_RESTJSONPROTOCOL_API Aws::String SerializePayload() const override; + + AWS_RESTJSONPROTOCOL_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + + inline const Aws::String& GetStringValue() const{ return m_stringValue; } + inline bool StringValueHasBeenSet() const { return m_stringValueHasBeenSet; } + inline void SetStringValue(const Aws::String& value) { m_stringValueHasBeenSet = true; m_stringValue = value; } + inline void SetStringValue(Aws::String&& value) { m_stringValueHasBeenSet = true; m_stringValue = std::move(value); } + inline void SetStringValue(const char* value) { m_stringValueHasBeenSet = true; m_stringValue.assign(value); } + inline DocumentTypeRequest& WithStringValue(const Aws::String& value) { SetStringValue(value); return *this;} + inline DocumentTypeRequest& WithStringValue(Aws::String&& value) { SetStringValue(std::move(value)); return *this;} + inline DocumentTypeRequest& WithStringValue(const char* value) { SetStringValue(value); return *this;} + ///@} + + ///@{ + + inline Aws::Utils::DocumentView GetDocumentValue() const{ return m_documentValue; } + inline bool DocumentValueHasBeenSet() const { return m_documentValueHasBeenSet; } + inline void SetDocumentValue(const Aws::Utils::Document& value) { m_documentValueHasBeenSet = true; m_documentValue = value; } + inline void SetDocumentValue(Aws::Utils::Document&& value) { m_documentValueHasBeenSet = true; m_documentValue = std::move(value); } + inline DocumentTypeRequest& WithDocumentValue(const Aws::Utils::Document& value) { SetDocumentValue(value); return *this;} + inline DocumentTypeRequest& WithDocumentValue(Aws::Utils::Document&& value) { SetDocumentValue(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline bool RequestIdHasBeenSet() const { return m_requestIdHasBeenSet; } + inline void SetRequestId(const Aws::String& value) { m_requestIdHasBeenSet = true; m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestIdHasBeenSet = true; m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestIdHasBeenSet = true; m_requestId.assign(value); } + inline DocumentTypeRequest& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline DocumentTypeRequest& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline DocumentTypeRequest& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_stringValue; + bool m_stringValueHasBeenSet = false; + + Aws::Utils::Document m_documentValue; + bool m_documentValueHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace RestJsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/DocumentTypeResult.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/DocumentTypeResult.h new file mode 100644 index 00000000000..0cbcac663a8 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/DocumentTypeResult.h @@ -0,0 +1,77 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace RestJsonProtocol +{ +namespace Model +{ + class DocumentTypeResult + { + public: + AWS_RESTJSONPROTOCOL_API DocumentTypeResult(); + AWS_RESTJSONPROTOCOL_API DocumentTypeResult(const Aws::AmazonWebServiceResult& result); + AWS_RESTJSONPROTOCOL_API DocumentTypeResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::String& GetStringValue() const{ return m_stringValue; } + inline void SetStringValue(const Aws::String& value) { m_stringValue = value; } + inline void SetStringValue(Aws::String&& value) { m_stringValue = std::move(value); } + inline void SetStringValue(const char* value) { m_stringValue.assign(value); } + inline DocumentTypeResult& WithStringValue(const Aws::String& value) { SetStringValue(value); return *this;} + inline DocumentTypeResult& WithStringValue(Aws::String&& value) { SetStringValue(std::move(value)); return *this;} + inline DocumentTypeResult& WithStringValue(const char* value) { SetStringValue(value); return *this;} + ///@} + + ///@{ + + inline Aws::Utils::DocumentView GetDocumentValue() const{ return m_documentValue; } + inline void SetDocumentValue(const Aws::Utils::Document& value) { m_documentValue = value; } + inline void SetDocumentValue(Aws::Utils::Document&& value) { m_documentValue = std::move(value); } + inline DocumentTypeResult& WithDocumentValue(const Aws::Utils::Document& value) { SetDocumentValue(value); return *this;} + inline DocumentTypeResult& WithDocumentValue(Aws::Utils::Document&& value) { SetDocumentValue(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline DocumentTypeResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline DocumentTypeResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline DocumentTypeResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_stringValue; + + Aws::Utils::Document m_documentValue; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace RestJsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/EmptyInputAndEmptyOutputRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/EmptyInputAndEmptyOutputRequest.h new file mode 100644 index 00000000000..c4620897f9f --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/EmptyInputAndEmptyOutputRequest.h @@ -0,0 +1,36 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace RestJsonProtocol +{ +namespace Model +{ + + /** + */ + class EmptyInputAndEmptyOutputRequest : public RestJsonProtocolRequest + { + public: + AWS_RESTJSONPROTOCOL_API EmptyInputAndEmptyOutputRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "EmptyInputAndEmptyOutput"; } + + AWS_RESTJSONPROTOCOL_API Aws::String SerializePayload() const override; + + }; + +} // namespace Model +} // namespace RestJsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/EmptyInputAndEmptyOutputResult.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/EmptyInputAndEmptyOutputResult.h new file mode 100644 index 00000000000..81c49561c4e --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/EmptyInputAndEmptyOutputResult.h @@ -0,0 +1,52 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace RestJsonProtocol +{ +namespace Model +{ + class EmptyInputAndEmptyOutputResult + { + public: + AWS_RESTJSONPROTOCOL_API EmptyInputAndEmptyOutputResult(); + AWS_RESTJSONPROTOCOL_API EmptyInputAndEmptyOutputResult(const Aws::AmazonWebServiceResult& result); + AWS_RESTJSONPROTOCOL_API EmptyInputAndEmptyOutputResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline EmptyInputAndEmptyOutputResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline EmptyInputAndEmptyOutputResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline EmptyInputAndEmptyOutputResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace RestJsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/EndpointOperationRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/EndpointOperationRequest.h new file mode 100644 index 00000000000..51c87eb2b22 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/EndpointOperationRequest.h @@ -0,0 +1,36 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace RestJsonProtocol +{ +namespace Model +{ + + /** + */ + class EndpointOperationRequest : public RestJsonProtocolRequest + { + public: + AWS_RESTJSONPROTOCOL_API EndpointOperationRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "EndpointOperation"; } + + AWS_RESTJSONPROTOCOL_API Aws::String SerializePayload() const override; + + }; + +} // namespace Model +} // namespace RestJsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/EndpointWithHostLabelOperationRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/EndpointWithHostLabelOperationRequest.h new file mode 100644 index 00000000000..571bf56d277 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/EndpointWithHostLabelOperationRequest.h @@ -0,0 +1,54 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace RestJsonProtocol +{ +namespace Model +{ + + /** + */ + class EndpointWithHostLabelOperationRequest : public RestJsonProtocolRequest + { + public: + AWS_RESTJSONPROTOCOL_API EndpointWithHostLabelOperationRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "EndpointWithHostLabelOperation"; } + + AWS_RESTJSONPROTOCOL_API Aws::String SerializePayload() const override; + + + ///@{ + + inline const Aws::String& GetLabel() const{ return m_label; } + inline bool LabelHasBeenSet() const { return m_labelHasBeenSet; } + inline void SetLabel(const Aws::String& value) { m_labelHasBeenSet = true; m_label = value; } + inline void SetLabel(Aws::String&& value) { m_labelHasBeenSet = true; m_label = std::move(value); } + inline void SetLabel(const char* value) { m_labelHasBeenSet = true; m_label.assign(value); } + inline EndpointWithHostLabelOperationRequest& WithLabel(const Aws::String& value) { SetLabel(value); return *this;} + inline EndpointWithHostLabelOperationRequest& WithLabel(Aws::String&& value) { SetLabel(std::move(value)); return *this;} + inline EndpointWithHostLabelOperationRequest& WithLabel(const char* value) { SetLabel(value); return *this;} + ///@} + private: + + Aws::String m_label; + bool m_labelHasBeenSet = false; + }; + +} // namespace Model +} // namespace RestJsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/FooEnum.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/FooEnum.h new file mode 100644 index 00000000000..e2b2c56ce31 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/FooEnum.h @@ -0,0 +1,34 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace RestJsonProtocol +{ +namespace Model +{ + enum class FooEnum + { + NOT_SET, + Foo, + Baz, + Bar, + _1, + _0 + }; + +namespace FooEnumMapper +{ +AWS_RESTJSONPROTOCOL_API FooEnum GetFooEnumForName(const Aws::String& name); + +AWS_RESTJSONPROTOCOL_API Aws::String GetNameForFooEnum(FooEnum value); +} // namespace FooEnumMapper +} // namespace Model +} // namespace RestJsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/FractionalSecondsRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/FractionalSecondsRequest.h new file mode 100644 index 00000000000..0cb8aeacdf7 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/FractionalSecondsRequest.h @@ -0,0 +1,36 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace RestJsonProtocol +{ +namespace Model +{ + + /** + */ + class FractionalSecondsRequest : public RestJsonProtocolRequest + { + public: + AWS_RESTJSONPROTOCOL_API FractionalSecondsRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "FractionalSeconds"; } + + AWS_RESTJSONPROTOCOL_API Aws::String SerializePayload() const override; + + }; + +} // namespace Model +} // namespace RestJsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/FractionalSecondsResult.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/FractionalSecondsResult.h new file mode 100644 index 00000000000..77452b054a2 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/FractionalSecondsResult.h @@ -0,0 +1,64 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace RestJsonProtocol +{ +namespace Model +{ + class FractionalSecondsResult + { + public: + AWS_RESTJSONPROTOCOL_API FractionalSecondsResult(); + AWS_RESTJSONPROTOCOL_API FractionalSecondsResult(const Aws::AmazonWebServiceResult& result); + AWS_RESTJSONPROTOCOL_API FractionalSecondsResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::Utils::DateTime& GetDatetime() const{ return m_datetime; } + inline void SetDatetime(const Aws::Utils::DateTime& value) { m_datetime = value; } + inline void SetDatetime(Aws::Utils::DateTime&& value) { m_datetime = std::move(value); } + inline FractionalSecondsResult& WithDatetime(const Aws::Utils::DateTime& value) { SetDatetime(value); return *this;} + inline FractionalSecondsResult& WithDatetime(Aws::Utils::DateTime&& value) { SetDatetime(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline FractionalSecondsResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline FractionalSecondsResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline FractionalSecondsResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::Utils::DateTime m_datetime; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace RestJsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/GreetingStruct.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/GreetingStruct.h new file mode 100644 index 00000000000..5d8cb0c64a8 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/GreetingStruct.h @@ -0,0 +1,54 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace RestJsonProtocol +{ +namespace Model +{ + + class GreetingStruct + { + public: + AWS_RESTJSONPROTOCOL_API GreetingStruct(); + AWS_RESTJSONPROTOCOL_API GreetingStruct(Aws::Utils::Json::JsonView jsonValue); + AWS_RESTJSONPROTOCOL_API GreetingStruct& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_RESTJSONPROTOCOL_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + + inline const Aws::String& GetHi() const{ return m_hi; } + inline bool HiHasBeenSet() const { return m_hiHasBeenSet; } + inline void SetHi(const Aws::String& value) { m_hiHasBeenSet = true; m_hi = value; } + inline void SetHi(Aws::String&& value) { m_hiHasBeenSet = true; m_hi = std::move(value); } + inline void SetHi(const char* value) { m_hiHasBeenSet = true; m_hi.assign(value); } + inline GreetingStruct& WithHi(const Aws::String& value) { SetHi(value); return *this;} + inline GreetingStruct& WithHi(Aws::String&& value) { SetHi(std::move(value)); return *this;} + inline GreetingStruct& WithHi(const char* value) { SetHi(value); return *this;} + ///@} + private: + + Aws::String m_hi; + bool m_hiHasBeenSet = false; + }; + +} // namespace Model +} // namespace RestJsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/GreetingWithErrorsRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/GreetingWithErrorsRequest.h new file mode 100644 index 00000000000..0eb84843a80 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/GreetingWithErrorsRequest.h @@ -0,0 +1,36 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace RestJsonProtocol +{ +namespace Model +{ + + /** + */ + class GreetingWithErrorsRequest : public RestJsonProtocolRequest + { + public: + AWS_RESTJSONPROTOCOL_API GreetingWithErrorsRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "GreetingWithErrors"; } + + AWS_RESTJSONPROTOCOL_API Aws::String SerializePayload() const override; + + }; + +} // namespace Model +} // namespace RestJsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/GreetingWithErrorsResult.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/GreetingWithErrorsResult.h new file mode 100644 index 00000000000..c2913ea8e32 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/GreetingWithErrorsResult.h @@ -0,0 +1,65 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace RestJsonProtocol +{ +namespace Model +{ + class GreetingWithErrorsResult + { + public: + AWS_RESTJSONPROTOCOL_API GreetingWithErrorsResult(); + AWS_RESTJSONPROTOCOL_API GreetingWithErrorsResult(const Aws::AmazonWebServiceResult& result); + AWS_RESTJSONPROTOCOL_API GreetingWithErrorsResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::String& GetGreeting() const{ return m_greeting; } + inline void SetGreeting(const Aws::String& value) { m_greeting = value; } + inline void SetGreeting(Aws::String&& value) { m_greeting = std::move(value); } + inline void SetGreeting(const char* value) { m_greeting.assign(value); } + inline GreetingWithErrorsResult& WithGreeting(const Aws::String& value) { SetGreeting(value); return *this;} + inline GreetingWithErrorsResult& WithGreeting(Aws::String&& value) { SetGreeting(std::move(value)); return *this;} + inline GreetingWithErrorsResult& WithGreeting(const char* value) { SetGreeting(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline GreetingWithErrorsResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline GreetingWithErrorsResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline GreetingWithErrorsResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_greeting; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace RestJsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/HostWithPathOperationRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/HostWithPathOperationRequest.h new file mode 100644 index 00000000000..9add7e34720 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/HostWithPathOperationRequest.h @@ -0,0 +1,36 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace RestJsonProtocol +{ +namespace Model +{ + + /** + */ + class HostWithPathOperationRequest : public RestJsonProtocolRequest + { + public: + AWS_RESTJSONPROTOCOL_API HostWithPathOperationRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "HostWithPathOperation"; } + + AWS_RESTJSONPROTOCOL_API Aws::String SerializePayload() const override; + + }; + +} // namespace Model +} // namespace RestJsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/HttpChecksumRequiredRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/HttpChecksumRequiredRequest.h new file mode 100644 index 00000000000..c6260d71856 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/HttpChecksumRequiredRequest.h @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace RestJsonProtocol +{ +namespace Model +{ + + /** + */ + class HttpChecksumRequiredRequest : public RestJsonProtocolRequest + { + public: + AWS_RESTJSONPROTOCOL_API HttpChecksumRequiredRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "HttpChecksumRequired"; } + + AWS_RESTJSONPROTOCOL_API Aws::String SerializePayload() const override; + + AWS_RESTJSONPROTOCOL_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + AWS_RESTJSONPROTOCOL_API inline bool ShouldComputeContentMd5() const override { return true; } + + + ///@{ + + inline const Aws::String& GetFoo() const{ return m_foo; } + inline bool FooHasBeenSet() const { return m_fooHasBeenSet; } + inline void SetFoo(const Aws::String& value) { m_fooHasBeenSet = true; m_foo = value; } + inline void SetFoo(Aws::String&& value) { m_fooHasBeenSet = true; m_foo = std::move(value); } + inline void SetFoo(const char* value) { m_fooHasBeenSet = true; m_foo.assign(value); } + inline HttpChecksumRequiredRequest& WithFoo(const Aws::String& value) { SetFoo(value); return *this;} + inline HttpChecksumRequiredRequest& WithFoo(Aws::String&& value) { SetFoo(std::move(value)); return *this;} + inline HttpChecksumRequiredRequest& WithFoo(const char* value) { SetFoo(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline bool RequestIdHasBeenSet() const { return m_requestIdHasBeenSet; } + inline void SetRequestId(const Aws::String& value) { m_requestIdHasBeenSet = true; m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestIdHasBeenSet = true; m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestIdHasBeenSet = true; m_requestId.assign(value); } + inline HttpChecksumRequiredRequest& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline HttpChecksumRequiredRequest& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline HttpChecksumRequiredRequest& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_foo; + bool m_fooHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace RestJsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/HttpChecksumRequiredResult.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/HttpChecksumRequiredResult.h new file mode 100644 index 00000000000..f4be0b23c53 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/HttpChecksumRequiredResult.h @@ -0,0 +1,65 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace RestJsonProtocol +{ +namespace Model +{ + class HttpChecksumRequiredResult + { + public: + AWS_RESTJSONPROTOCOL_API HttpChecksumRequiredResult(); + AWS_RESTJSONPROTOCOL_API HttpChecksumRequiredResult(const Aws::AmazonWebServiceResult& result); + AWS_RESTJSONPROTOCOL_API HttpChecksumRequiredResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::String& GetFoo() const{ return m_foo; } + inline void SetFoo(const Aws::String& value) { m_foo = value; } + inline void SetFoo(Aws::String&& value) { m_foo = std::move(value); } + inline void SetFoo(const char* value) { m_foo.assign(value); } + inline HttpChecksumRequiredResult& WithFoo(const Aws::String& value) { SetFoo(value); return *this;} + inline HttpChecksumRequiredResult& WithFoo(Aws::String&& value) { SetFoo(std::move(value)); return *this;} + inline HttpChecksumRequiredResult& WithFoo(const char* value) { SetFoo(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline HttpChecksumRequiredResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline HttpChecksumRequiredResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline HttpChecksumRequiredResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_foo; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace RestJsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/HttpEnumPayloadRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/HttpEnumPayloadRequest.h new file mode 100644 index 00000000000..a4fcad3ca7a --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/HttpEnumPayloadRequest.h @@ -0,0 +1,56 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace RestJsonProtocol +{ +namespace Model +{ + + /** + */ + class HttpEnumPayloadRequest : public StreamingRestJsonProtocolRequest + { + public: + AWS_RESTJSONPROTOCOL_API HttpEnumPayloadRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "HttpEnumPayload"; } + + AWS_RESTJSONPROTOCOL_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline bool RequestIdHasBeenSet() const { return m_requestIdHasBeenSet; } + inline void SetRequestId(const Aws::String& value) { m_requestIdHasBeenSet = true; m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestIdHasBeenSet = true; m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestIdHasBeenSet = true; m_requestId.assign(value); } + inline HttpEnumPayloadRequest& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline HttpEnumPayloadRequest& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline HttpEnumPayloadRequest& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace RestJsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/HttpEnumPayloadResult.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/HttpEnumPayloadResult.h new file mode 100644 index 00000000000..9c205238d90 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/HttpEnumPayloadResult.h @@ -0,0 +1,66 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace RestJsonProtocol +{ +namespace Model +{ + class HttpEnumPayloadResult + { + public: + AWS_RESTJSONPROTOCOL_API HttpEnumPayloadResult(); + //We have to define these because Microsoft doesn't auto generate them + AWS_RESTJSONPROTOCOL_API HttpEnumPayloadResult(HttpEnumPayloadResult&&); + AWS_RESTJSONPROTOCOL_API HttpEnumPayloadResult& operator=(HttpEnumPayloadResult&&); + //we delete these because Microsoft doesn't handle move generation correctly + //and we therefore don't trust them to get it right here either. + HttpEnumPayloadResult(const HttpEnumPayloadResult&) = delete; + HttpEnumPayloadResult& operator=(const HttpEnumPayloadResult&) = delete; + + + AWS_RESTJSONPROTOCOL_API HttpEnumPayloadResult(Aws::AmazonWebServiceResult&& result); + AWS_RESTJSONPROTOCOL_API HttpEnumPayloadResult& operator=(Aws::AmazonWebServiceResult&& result); + + + + ///@{ + + inline Aws::IOStream& GetPayload() const { return m_payload.GetUnderlyingStream(); } + inline void ReplaceBody(Aws::IOStream* body) { m_payload = Aws::Utils::Stream::ResponseStream(body); } + + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline HttpEnumPayloadResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline HttpEnumPayloadResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline HttpEnumPayloadResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::Utils::Stream::ResponseStream m_payload; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace RestJsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/HttpPayloadTraitsRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/HttpPayloadTraitsRequest.h new file mode 100644 index 00000000000..e75c1dbc59a --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/HttpPayloadTraitsRequest.h @@ -0,0 +1,71 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace RestJsonProtocol +{ +namespace Model +{ + + /** + */ + class HttpPayloadTraitsRequest : public StreamingRestJsonProtocolRequest + { + public: + AWS_RESTJSONPROTOCOL_API HttpPayloadTraitsRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "HttpPayloadTraits"; } + + AWS_RESTJSONPROTOCOL_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + + inline const Aws::String& GetFoo() const{ return m_foo; } + inline bool FooHasBeenSet() const { return m_fooHasBeenSet; } + inline void SetFoo(const Aws::String& value) { m_fooHasBeenSet = true; m_foo = value; } + inline void SetFoo(Aws::String&& value) { m_fooHasBeenSet = true; m_foo = std::move(value); } + inline void SetFoo(const char* value) { m_fooHasBeenSet = true; m_foo.assign(value); } + inline HttpPayloadTraitsRequest& WithFoo(const Aws::String& value) { SetFoo(value); return *this;} + inline HttpPayloadTraitsRequest& WithFoo(Aws::String&& value) { SetFoo(std::move(value)); return *this;} + inline HttpPayloadTraitsRequest& WithFoo(const char* value) { SetFoo(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline bool RequestIdHasBeenSet() const { return m_requestIdHasBeenSet; } + inline void SetRequestId(const Aws::String& value) { m_requestIdHasBeenSet = true; m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestIdHasBeenSet = true; m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestIdHasBeenSet = true; m_requestId.assign(value); } + inline HttpPayloadTraitsRequest& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline HttpPayloadTraitsRequest& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline HttpPayloadTraitsRequest& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_foo; + bool m_fooHasBeenSet = false; + + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace RestJsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/HttpPayloadTraitsResult.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/HttpPayloadTraitsResult.h new file mode 100644 index 00000000000..106d119f70f --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/HttpPayloadTraitsResult.h @@ -0,0 +1,79 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace RestJsonProtocol +{ +namespace Model +{ + class HttpPayloadTraitsResult + { + public: + AWS_RESTJSONPROTOCOL_API HttpPayloadTraitsResult(); + //We have to define these because Microsoft doesn't auto generate them + AWS_RESTJSONPROTOCOL_API HttpPayloadTraitsResult(HttpPayloadTraitsResult&&); + AWS_RESTJSONPROTOCOL_API HttpPayloadTraitsResult& operator=(HttpPayloadTraitsResult&&); + //we delete these because Microsoft doesn't handle move generation correctly + //and we therefore don't trust them to get it right here either. + HttpPayloadTraitsResult(const HttpPayloadTraitsResult&) = delete; + HttpPayloadTraitsResult& operator=(const HttpPayloadTraitsResult&) = delete; + + + AWS_RESTJSONPROTOCOL_API HttpPayloadTraitsResult(Aws::AmazonWebServiceResult&& result); + AWS_RESTJSONPROTOCOL_API HttpPayloadTraitsResult& operator=(Aws::AmazonWebServiceResult&& result); + + + + ///@{ + + inline const Aws::String& GetFoo() const{ return m_foo; } + inline void SetFoo(const Aws::String& value) { m_foo = value; } + inline void SetFoo(Aws::String&& value) { m_foo = std::move(value); } + inline void SetFoo(const char* value) { m_foo.assign(value); } + inline HttpPayloadTraitsResult& WithFoo(const Aws::String& value) { SetFoo(value); return *this;} + inline HttpPayloadTraitsResult& WithFoo(Aws::String&& value) { SetFoo(std::move(value)); return *this;} + inline HttpPayloadTraitsResult& WithFoo(const char* value) { SetFoo(value); return *this;} + ///@} + + ///@{ + + inline Aws::IOStream& GetBlob() const { return m_blob.GetUnderlyingStream(); } + inline void ReplaceBody(Aws::IOStream* body) { m_blob = Aws::Utils::Stream::ResponseStream(body); } + + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline HttpPayloadTraitsResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline HttpPayloadTraitsResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline HttpPayloadTraitsResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_foo; + + Aws::Utils::Stream::ResponseStream m_blob; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace RestJsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/HttpPayloadWithStructureRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/HttpPayloadWithStructureRequest.h new file mode 100644 index 00000000000..b176a57c811 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/HttpPayloadWithStructureRequest.h @@ -0,0 +1,70 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace RestJsonProtocol +{ +namespace Model +{ + + /** + */ + class HttpPayloadWithStructureRequest : public RestJsonProtocolRequest + { + public: + AWS_RESTJSONPROTOCOL_API HttpPayloadWithStructureRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "HttpPayloadWithStructure"; } + + AWS_RESTJSONPROTOCOL_API Aws::String SerializePayload() const override; + + AWS_RESTJSONPROTOCOL_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + + inline const NestedPayload& GetNested() const{ return m_nested; } + inline bool NestedHasBeenSet() const { return m_nestedHasBeenSet; } + inline void SetNested(const NestedPayload& value) { m_nestedHasBeenSet = true; m_nested = value; } + inline void SetNested(NestedPayload&& value) { m_nestedHasBeenSet = true; m_nested = std::move(value); } + inline HttpPayloadWithStructureRequest& WithNested(const NestedPayload& value) { SetNested(value); return *this;} + inline HttpPayloadWithStructureRequest& WithNested(NestedPayload&& value) { SetNested(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline bool RequestIdHasBeenSet() const { return m_requestIdHasBeenSet; } + inline void SetRequestId(const Aws::String& value) { m_requestIdHasBeenSet = true; m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestIdHasBeenSet = true; m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestIdHasBeenSet = true; m_requestId.assign(value); } + inline HttpPayloadWithStructureRequest& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline HttpPayloadWithStructureRequest& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline HttpPayloadWithStructureRequest& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + NestedPayload m_nested; + bool m_nestedHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace RestJsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/HttpPayloadWithStructureResult.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/HttpPayloadWithStructureResult.h new file mode 100644 index 00000000000..c8aa36b9d4b --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/HttpPayloadWithStructureResult.h @@ -0,0 +1,64 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace RestJsonProtocol +{ +namespace Model +{ + class HttpPayloadWithStructureResult + { + public: + AWS_RESTJSONPROTOCOL_API HttpPayloadWithStructureResult(); + AWS_RESTJSONPROTOCOL_API HttpPayloadWithStructureResult(const Aws::AmazonWebServiceResult& result); + AWS_RESTJSONPROTOCOL_API HttpPayloadWithStructureResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const NestedPayload& GetNested() const{ return m_nested; } + inline void SetNested(const NestedPayload& value) { m_nested = value; } + inline void SetNested(NestedPayload&& value) { m_nested = std::move(value); } + inline HttpPayloadWithStructureResult& WithNested(const NestedPayload& value) { SetNested(value); return *this;} + inline HttpPayloadWithStructureResult& WithNested(NestedPayload&& value) { SetNested(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline HttpPayloadWithStructureResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline HttpPayloadWithStructureResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline HttpPayloadWithStructureResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + NestedPayload m_nested; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace RestJsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/HttpPayloadWithUnionRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/HttpPayloadWithUnionRequest.h new file mode 100644 index 00000000000..9430b831527 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/HttpPayloadWithUnionRequest.h @@ -0,0 +1,70 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace RestJsonProtocol +{ +namespace Model +{ + + /** + */ + class HttpPayloadWithUnionRequest : public RestJsonProtocolRequest + { + public: + AWS_RESTJSONPROTOCOL_API HttpPayloadWithUnionRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "HttpPayloadWithUnion"; } + + AWS_RESTJSONPROTOCOL_API Aws::String SerializePayload() const override; + + AWS_RESTJSONPROTOCOL_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + + inline const UnionPayload& GetNested() const{ return m_nested; } + inline bool NestedHasBeenSet() const { return m_nestedHasBeenSet; } + inline void SetNested(const UnionPayload& value) { m_nestedHasBeenSet = true; m_nested = value; } + inline void SetNested(UnionPayload&& value) { m_nestedHasBeenSet = true; m_nested = std::move(value); } + inline HttpPayloadWithUnionRequest& WithNested(const UnionPayload& value) { SetNested(value); return *this;} + inline HttpPayloadWithUnionRequest& WithNested(UnionPayload&& value) { SetNested(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline bool RequestIdHasBeenSet() const { return m_requestIdHasBeenSet; } + inline void SetRequestId(const Aws::String& value) { m_requestIdHasBeenSet = true; m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestIdHasBeenSet = true; m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestIdHasBeenSet = true; m_requestId.assign(value); } + inline HttpPayloadWithUnionRequest& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline HttpPayloadWithUnionRequest& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline HttpPayloadWithUnionRequest& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + UnionPayload m_nested; + bool m_nestedHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace RestJsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/HttpPayloadWithUnionResult.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/HttpPayloadWithUnionResult.h new file mode 100644 index 00000000000..aeee1059faa --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/HttpPayloadWithUnionResult.h @@ -0,0 +1,64 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace RestJsonProtocol +{ +namespace Model +{ + class HttpPayloadWithUnionResult + { + public: + AWS_RESTJSONPROTOCOL_API HttpPayloadWithUnionResult(); + AWS_RESTJSONPROTOCOL_API HttpPayloadWithUnionResult(const Aws::AmazonWebServiceResult& result); + AWS_RESTJSONPROTOCOL_API HttpPayloadWithUnionResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const UnionPayload& GetNested() const{ return m_nested; } + inline void SetNested(const UnionPayload& value) { m_nested = value; } + inline void SetNested(UnionPayload&& value) { m_nested = std::move(value); } + inline HttpPayloadWithUnionResult& WithNested(const UnionPayload& value) { SetNested(value); return *this;} + inline HttpPayloadWithUnionResult& WithNested(UnionPayload&& value) { SetNested(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline HttpPayloadWithUnionResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline HttpPayloadWithUnionResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline HttpPayloadWithUnionResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + UnionPayload m_nested; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace RestJsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/HttpPrefixHeadersInResponseRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/HttpPrefixHeadersInResponseRequest.h new file mode 100644 index 00000000000..64b17427771 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/HttpPrefixHeadersInResponseRequest.h @@ -0,0 +1,36 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace RestJsonProtocol +{ +namespace Model +{ + + /** + */ + class HttpPrefixHeadersInResponseRequest : public RestJsonProtocolRequest + { + public: + AWS_RESTJSONPROTOCOL_API HttpPrefixHeadersInResponseRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "HttpPrefixHeadersInResponse"; } + + AWS_RESTJSONPROTOCOL_API Aws::String SerializePayload() const override; + + }; + +} // namespace Model +} // namespace RestJsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/HttpPrefixHeadersInResponseResult.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/HttpPrefixHeadersInResponseResult.h new file mode 100644 index 00000000000..9c48a150fc6 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/HttpPrefixHeadersInResponseResult.h @@ -0,0 +1,71 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace RestJsonProtocol +{ +namespace Model +{ + class HttpPrefixHeadersInResponseResult + { + public: + AWS_RESTJSONPROTOCOL_API HttpPrefixHeadersInResponseResult(); + AWS_RESTJSONPROTOCOL_API HttpPrefixHeadersInResponseResult(const Aws::AmazonWebServiceResult& result); + AWS_RESTJSONPROTOCOL_API HttpPrefixHeadersInResponseResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::Map& GetPrefixHeaders() const{ return m_prefixHeaders; } + inline void SetPrefixHeaders(const Aws::Map& value) { m_prefixHeaders = value; } + inline void SetPrefixHeaders(Aws::Map&& value) { m_prefixHeaders = std::move(value); } + inline HttpPrefixHeadersInResponseResult& WithPrefixHeaders(const Aws::Map& value) { SetPrefixHeaders(value); return *this;} + inline HttpPrefixHeadersInResponseResult& WithPrefixHeaders(Aws::Map&& value) { SetPrefixHeaders(std::move(value)); return *this;} + inline HttpPrefixHeadersInResponseResult& AddPrefixHeaders(const Aws::String& key, const Aws::String& value) { m_prefixHeaders.emplace(key, value); return *this; } + inline HttpPrefixHeadersInResponseResult& AddPrefixHeaders(Aws::String&& key, const Aws::String& value) { m_prefixHeaders.emplace(std::move(key), value); return *this; } + inline HttpPrefixHeadersInResponseResult& AddPrefixHeaders(const Aws::String& key, Aws::String&& value) { m_prefixHeaders.emplace(key, std::move(value)); return *this; } + inline HttpPrefixHeadersInResponseResult& AddPrefixHeaders(Aws::String&& key, Aws::String&& value) { m_prefixHeaders.emplace(std::move(key), std::move(value)); return *this; } + inline HttpPrefixHeadersInResponseResult& AddPrefixHeaders(const char* key, Aws::String&& value) { m_prefixHeaders.emplace(key, std::move(value)); return *this; } + inline HttpPrefixHeadersInResponseResult& AddPrefixHeaders(Aws::String&& key, const char* value) { m_prefixHeaders.emplace(std::move(key), value); return *this; } + inline HttpPrefixHeadersInResponseResult& AddPrefixHeaders(const char* key, const char* value) { m_prefixHeaders.emplace(key, value); return *this; } + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline HttpPrefixHeadersInResponseResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline HttpPrefixHeadersInResponseResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline HttpPrefixHeadersInResponseResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::Map m_prefixHeaders; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace RestJsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/HttpPrefixHeadersRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/HttpPrefixHeadersRequest.h new file mode 100644 index 00000000000..7460e5d79b0 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/HttpPrefixHeadersRequest.h @@ -0,0 +1,77 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace RestJsonProtocol +{ +namespace Model +{ + + /** + */ + class HttpPrefixHeadersRequest : public RestJsonProtocolRequest + { + public: + AWS_RESTJSONPROTOCOL_API HttpPrefixHeadersRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "HttpPrefixHeaders"; } + + AWS_RESTJSONPROTOCOL_API Aws::String SerializePayload() const override; + + AWS_RESTJSONPROTOCOL_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + + inline const Aws::String& GetFoo() const{ return m_foo; } + inline bool FooHasBeenSet() const { return m_fooHasBeenSet; } + inline void SetFoo(const Aws::String& value) { m_fooHasBeenSet = true; m_foo = value; } + inline void SetFoo(Aws::String&& value) { m_fooHasBeenSet = true; m_foo = std::move(value); } + inline void SetFoo(const char* value) { m_fooHasBeenSet = true; m_foo.assign(value); } + inline HttpPrefixHeadersRequest& WithFoo(const Aws::String& value) { SetFoo(value); return *this;} + inline HttpPrefixHeadersRequest& WithFoo(Aws::String&& value) { SetFoo(std::move(value)); return *this;} + inline HttpPrefixHeadersRequest& WithFoo(const char* value) { SetFoo(value); return *this;} + ///@} + + ///@{ + + inline const Aws::Map& GetFooMap() const{ return m_fooMap; } + inline bool FooMapHasBeenSet() const { return m_fooMapHasBeenSet; } + inline void SetFooMap(const Aws::Map& value) { m_fooMapHasBeenSet = true; m_fooMap = value; } + inline void SetFooMap(Aws::Map&& value) { m_fooMapHasBeenSet = true; m_fooMap = std::move(value); } + inline HttpPrefixHeadersRequest& WithFooMap(const Aws::Map& value) { SetFooMap(value); return *this;} + inline HttpPrefixHeadersRequest& WithFooMap(Aws::Map&& value) { SetFooMap(std::move(value)); return *this;} + inline HttpPrefixHeadersRequest& AddFooMap(const Aws::String& key, const Aws::String& value) { m_fooMapHasBeenSet = true; m_fooMap.emplace(key, value); return *this; } + inline HttpPrefixHeadersRequest& AddFooMap(Aws::String&& key, const Aws::String& value) { m_fooMapHasBeenSet = true; m_fooMap.emplace(std::move(key), value); return *this; } + inline HttpPrefixHeadersRequest& AddFooMap(const Aws::String& key, Aws::String&& value) { m_fooMapHasBeenSet = true; m_fooMap.emplace(key, std::move(value)); return *this; } + inline HttpPrefixHeadersRequest& AddFooMap(Aws::String&& key, Aws::String&& value) { m_fooMapHasBeenSet = true; m_fooMap.emplace(std::move(key), std::move(value)); return *this; } + inline HttpPrefixHeadersRequest& AddFooMap(const char* key, Aws::String&& value) { m_fooMapHasBeenSet = true; m_fooMap.emplace(key, std::move(value)); return *this; } + inline HttpPrefixHeadersRequest& AddFooMap(Aws::String&& key, const char* value) { m_fooMapHasBeenSet = true; m_fooMap.emplace(std::move(key), value); return *this; } + inline HttpPrefixHeadersRequest& AddFooMap(const char* key, const char* value) { m_fooMapHasBeenSet = true; m_fooMap.emplace(key, value); return *this; } + ///@} + private: + + Aws::String m_foo; + bool m_fooHasBeenSet = false; + + Aws::Map m_fooMap; + bool m_fooMapHasBeenSet = false; + }; + +} // namespace Model +} // namespace RestJsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/HttpPrefixHeadersResult.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/HttpPrefixHeadersResult.h new file mode 100644 index 00000000000..0a4ca41d7ff --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/HttpPrefixHeadersResult.h @@ -0,0 +1,84 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace RestJsonProtocol +{ +namespace Model +{ + class HttpPrefixHeadersResult + { + public: + AWS_RESTJSONPROTOCOL_API HttpPrefixHeadersResult(); + AWS_RESTJSONPROTOCOL_API HttpPrefixHeadersResult(const Aws::AmazonWebServiceResult& result); + AWS_RESTJSONPROTOCOL_API HttpPrefixHeadersResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::String& GetFoo() const{ return m_foo; } + inline void SetFoo(const Aws::String& value) { m_foo = value; } + inline void SetFoo(Aws::String&& value) { m_foo = std::move(value); } + inline void SetFoo(const char* value) { m_foo.assign(value); } + inline HttpPrefixHeadersResult& WithFoo(const Aws::String& value) { SetFoo(value); return *this;} + inline HttpPrefixHeadersResult& WithFoo(Aws::String&& value) { SetFoo(std::move(value)); return *this;} + inline HttpPrefixHeadersResult& WithFoo(const char* value) { SetFoo(value); return *this;} + ///@} + + ///@{ + + inline const Aws::Map& GetFooMap() const{ return m_fooMap; } + inline void SetFooMap(const Aws::Map& value) { m_fooMap = value; } + inline void SetFooMap(Aws::Map&& value) { m_fooMap = std::move(value); } + inline HttpPrefixHeadersResult& WithFooMap(const Aws::Map& value) { SetFooMap(value); return *this;} + inline HttpPrefixHeadersResult& WithFooMap(Aws::Map&& value) { SetFooMap(std::move(value)); return *this;} + inline HttpPrefixHeadersResult& AddFooMap(const Aws::String& key, const Aws::String& value) { m_fooMap.emplace(key, value); return *this; } + inline HttpPrefixHeadersResult& AddFooMap(Aws::String&& key, const Aws::String& value) { m_fooMap.emplace(std::move(key), value); return *this; } + inline HttpPrefixHeadersResult& AddFooMap(const Aws::String& key, Aws::String&& value) { m_fooMap.emplace(key, std::move(value)); return *this; } + inline HttpPrefixHeadersResult& AddFooMap(Aws::String&& key, Aws::String&& value) { m_fooMap.emplace(std::move(key), std::move(value)); return *this; } + inline HttpPrefixHeadersResult& AddFooMap(const char* key, Aws::String&& value) { m_fooMap.emplace(key, std::move(value)); return *this; } + inline HttpPrefixHeadersResult& AddFooMap(Aws::String&& key, const char* value) { m_fooMap.emplace(std::move(key), value); return *this; } + inline HttpPrefixHeadersResult& AddFooMap(const char* key, const char* value) { m_fooMap.emplace(key, value); return *this; } + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline HttpPrefixHeadersResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline HttpPrefixHeadersResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline HttpPrefixHeadersResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_foo; + + Aws::Map m_fooMap; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace RestJsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/HttpRequestWithFloatLabelsRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/HttpRequestWithFloatLabelsRequest.h new file mode 100644 index 00000000000..c9318a9fbfd --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/HttpRequestWithFloatLabelsRequest.h @@ -0,0 +1,59 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace RestJsonProtocol +{ +namespace Model +{ + + /** + */ + class HttpRequestWithFloatLabelsRequest : public RestJsonProtocolRequest + { + public: + AWS_RESTJSONPROTOCOL_API HttpRequestWithFloatLabelsRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "HttpRequestWithFloatLabels"; } + + AWS_RESTJSONPROTOCOL_API Aws::String SerializePayload() const override; + + + ///@{ + + inline double GetFloat() const{ return m_float; } + inline bool FloatHasBeenSet() const { return m_floatHasBeenSet; } + inline void SetFloat(double value) { m_floatHasBeenSet = true; m_float = value; } + inline HttpRequestWithFloatLabelsRequest& WithFloat(double value) { SetFloat(value); return *this;} + ///@} + + ///@{ + + inline double GetDouble() const{ return m_double; } + inline bool DoubleHasBeenSet() const { return m_doubleHasBeenSet; } + inline void SetDouble(double value) { m_doubleHasBeenSet = true; m_double = value; } + inline HttpRequestWithFloatLabelsRequest& WithDouble(double value) { SetDouble(value); return *this;} + ///@} + private: + + double m_float; + bool m_floatHasBeenSet = false; + + double m_double; + bool m_doubleHasBeenSet = false; + }; + +} // namespace Model +} // namespace RestJsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/HttpRequestWithGreedyLabelInPathRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/HttpRequestWithGreedyLabelInPathRequest.h new file mode 100644 index 00000000000..65c1cb24213 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/HttpRequestWithGreedyLabelInPathRequest.h @@ -0,0 +1,69 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace RestJsonProtocol +{ +namespace Model +{ + + /** + */ + class HttpRequestWithGreedyLabelInPathRequest : public RestJsonProtocolRequest + { + public: + AWS_RESTJSONPROTOCOL_API HttpRequestWithGreedyLabelInPathRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "HttpRequestWithGreedyLabelInPath"; } + + AWS_RESTJSONPROTOCOL_API Aws::String SerializePayload() const override; + + + ///@{ + + inline const Aws::String& GetFoo() const{ return m_foo; } + inline bool FooHasBeenSet() const { return m_fooHasBeenSet; } + inline void SetFoo(const Aws::String& value) { m_fooHasBeenSet = true; m_foo = value; } + inline void SetFoo(Aws::String&& value) { m_fooHasBeenSet = true; m_foo = std::move(value); } + inline void SetFoo(const char* value) { m_fooHasBeenSet = true; m_foo.assign(value); } + inline HttpRequestWithGreedyLabelInPathRequest& WithFoo(const Aws::String& value) { SetFoo(value); return *this;} + inline HttpRequestWithGreedyLabelInPathRequest& WithFoo(Aws::String&& value) { SetFoo(std::move(value)); return *this;} + inline HttpRequestWithGreedyLabelInPathRequest& WithFoo(const char* value) { SetFoo(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetBaz() const{ return m_baz; } + inline bool BazHasBeenSet() const { return m_bazHasBeenSet; } + inline void SetBaz(const Aws::String& value) { m_bazHasBeenSet = true; m_baz = value; } + inline void SetBaz(Aws::String&& value) { m_bazHasBeenSet = true; m_baz = std::move(value); } + inline void SetBaz(const char* value) { m_bazHasBeenSet = true; m_baz.assign(value); } + inline HttpRequestWithGreedyLabelInPathRequest& WithBaz(const Aws::String& value) { SetBaz(value); return *this;} + inline HttpRequestWithGreedyLabelInPathRequest& WithBaz(Aws::String&& value) { SetBaz(std::move(value)); return *this;} + inline HttpRequestWithGreedyLabelInPathRequest& WithBaz(const char* value) { SetBaz(value); return *this;} + ///@} + private: + + Aws::String m_foo; + bool m_fooHasBeenSet = false; + + Aws::String m_baz; + bool m_bazHasBeenSet = false; + }; + +} // namespace Model +} // namespace RestJsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/HttpRequestWithLabelsAndTimestampFormatRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/HttpRequestWithLabelsAndTimestampFormatRequest.h new file mode 100644 index 00000000000..a302f0b73e7 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/HttpRequestWithLabelsAndTimestampFormatRequest.h @@ -0,0 +1,130 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace RestJsonProtocol +{ +namespace Model +{ + + /** + */ + class HttpRequestWithLabelsAndTimestampFormatRequest : public RestJsonProtocolRequest + { + public: + AWS_RESTJSONPROTOCOL_API HttpRequestWithLabelsAndTimestampFormatRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "HttpRequestWithLabelsAndTimestampFormat"; } + + AWS_RESTJSONPROTOCOL_API Aws::String SerializePayload() const override; + + + ///@{ + + inline const Aws::Utils::DateTime& GetMemberEpochSeconds() const{ return m_memberEpochSeconds; } + inline bool MemberEpochSecondsHasBeenSet() const { return m_memberEpochSecondsHasBeenSet; } + inline void SetMemberEpochSeconds(const Aws::Utils::DateTime& value) { m_memberEpochSecondsHasBeenSet = true; m_memberEpochSeconds = value; } + inline void SetMemberEpochSeconds(Aws::Utils::DateTime&& value) { m_memberEpochSecondsHasBeenSet = true; m_memberEpochSeconds = std::move(value); } + inline HttpRequestWithLabelsAndTimestampFormatRequest& WithMemberEpochSeconds(const Aws::Utils::DateTime& value) { SetMemberEpochSeconds(value); return *this;} + inline HttpRequestWithLabelsAndTimestampFormatRequest& WithMemberEpochSeconds(Aws::Utils::DateTime&& value) { SetMemberEpochSeconds(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::Utils::DateTime& GetMemberHttpDate() const{ return m_memberHttpDate; } + inline bool MemberHttpDateHasBeenSet() const { return m_memberHttpDateHasBeenSet; } + inline void SetMemberHttpDate(const Aws::Utils::DateTime& value) { m_memberHttpDateHasBeenSet = true; m_memberHttpDate = value; } + inline void SetMemberHttpDate(Aws::Utils::DateTime&& value) { m_memberHttpDateHasBeenSet = true; m_memberHttpDate = std::move(value); } + inline HttpRequestWithLabelsAndTimestampFormatRequest& WithMemberHttpDate(const Aws::Utils::DateTime& value) { SetMemberHttpDate(value); return *this;} + inline HttpRequestWithLabelsAndTimestampFormatRequest& WithMemberHttpDate(Aws::Utils::DateTime&& value) { SetMemberHttpDate(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::Utils::DateTime& GetMemberDateTime() const{ return m_memberDateTime; } + inline bool MemberDateTimeHasBeenSet() const { return m_memberDateTimeHasBeenSet; } + inline void SetMemberDateTime(const Aws::Utils::DateTime& value) { m_memberDateTimeHasBeenSet = true; m_memberDateTime = value; } + inline void SetMemberDateTime(Aws::Utils::DateTime&& value) { m_memberDateTimeHasBeenSet = true; m_memberDateTime = std::move(value); } + inline HttpRequestWithLabelsAndTimestampFormatRequest& WithMemberDateTime(const Aws::Utils::DateTime& value) { SetMemberDateTime(value); return *this;} + inline HttpRequestWithLabelsAndTimestampFormatRequest& WithMemberDateTime(Aws::Utils::DateTime&& value) { SetMemberDateTime(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::Utils::DateTime& GetDefaultFormat() const{ return m_defaultFormat; } + inline bool DefaultFormatHasBeenSet() const { return m_defaultFormatHasBeenSet; } + inline void SetDefaultFormat(const Aws::Utils::DateTime& value) { m_defaultFormatHasBeenSet = true; m_defaultFormat = value; } + inline void SetDefaultFormat(Aws::Utils::DateTime&& value) { m_defaultFormatHasBeenSet = true; m_defaultFormat = std::move(value); } + inline HttpRequestWithLabelsAndTimestampFormatRequest& WithDefaultFormat(const Aws::Utils::DateTime& value) { SetDefaultFormat(value); return *this;} + inline HttpRequestWithLabelsAndTimestampFormatRequest& WithDefaultFormat(Aws::Utils::DateTime&& value) { SetDefaultFormat(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::Utils::DateTime& GetTargetEpochSeconds() const{ return m_targetEpochSeconds; } + inline bool TargetEpochSecondsHasBeenSet() const { return m_targetEpochSecondsHasBeenSet; } + inline void SetTargetEpochSeconds(const Aws::Utils::DateTime& value) { m_targetEpochSecondsHasBeenSet = true; m_targetEpochSeconds = value; } + inline void SetTargetEpochSeconds(Aws::Utils::DateTime&& value) { m_targetEpochSecondsHasBeenSet = true; m_targetEpochSeconds = std::move(value); } + inline HttpRequestWithLabelsAndTimestampFormatRequest& WithTargetEpochSeconds(const Aws::Utils::DateTime& value) { SetTargetEpochSeconds(value); return *this;} + inline HttpRequestWithLabelsAndTimestampFormatRequest& WithTargetEpochSeconds(Aws::Utils::DateTime&& value) { SetTargetEpochSeconds(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::Utils::DateTime& GetTargetHttpDate() const{ return m_targetHttpDate; } + inline bool TargetHttpDateHasBeenSet() const { return m_targetHttpDateHasBeenSet; } + inline void SetTargetHttpDate(const Aws::Utils::DateTime& value) { m_targetHttpDateHasBeenSet = true; m_targetHttpDate = value; } + inline void SetTargetHttpDate(Aws::Utils::DateTime&& value) { m_targetHttpDateHasBeenSet = true; m_targetHttpDate = std::move(value); } + inline HttpRequestWithLabelsAndTimestampFormatRequest& WithTargetHttpDate(const Aws::Utils::DateTime& value) { SetTargetHttpDate(value); return *this;} + inline HttpRequestWithLabelsAndTimestampFormatRequest& WithTargetHttpDate(Aws::Utils::DateTime&& value) { SetTargetHttpDate(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::Utils::DateTime& GetTargetDateTime() const{ return m_targetDateTime; } + inline bool TargetDateTimeHasBeenSet() const { return m_targetDateTimeHasBeenSet; } + inline void SetTargetDateTime(const Aws::Utils::DateTime& value) { m_targetDateTimeHasBeenSet = true; m_targetDateTime = value; } + inline void SetTargetDateTime(Aws::Utils::DateTime&& value) { m_targetDateTimeHasBeenSet = true; m_targetDateTime = std::move(value); } + inline HttpRequestWithLabelsAndTimestampFormatRequest& WithTargetDateTime(const Aws::Utils::DateTime& value) { SetTargetDateTime(value); return *this;} + inline HttpRequestWithLabelsAndTimestampFormatRequest& WithTargetDateTime(Aws::Utils::DateTime&& value) { SetTargetDateTime(std::move(value)); return *this;} + ///@} + private: + + Aws::Utils::DateTime m_memberEpochSeconds; + bool m_memberEpochSecondsHasBeenSet = false; + + Aws::Utils::DateTime m_memberHttpDate; + bool m_memberHttpDateHasBeenSet = false; + + Aws::Utils::DateTime m_memberDateTime; + bool m_memberDateTimeHasBeenSet = false; + + Aws::Utils::DateTime m_defaultFormat; + bool m_defaultFormatHasBeenSet = false; + + Aws::Utils::DateTime m_targetEpochSeconds; + bool m_targetEpochSecondsHasBeenSet = false; + + Aws::Utils::DateTime m_targetHttpDate; + bool m_targetHttpDateHasBeenSet = false; + + Aws::Utils::DateTime m_targetDateTime; + bool m_targetDateTimeHasBeenSet = false; + }; + +} // namespace Model +} // namespace RestJsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/HttpRequestWithLabelsRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/HttpRequestWithLabelsRequest.h new file mode 100644 index 00000000000..83092954f4d --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/HttpRequestWithLabelsRequest.h @@ -0,0 +1,139 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace RestJsonProtocol +{ +namespace Model +{ + + /** + */ + class HttpRequestWithLabelsRequest : public RestJsonProtocolRequest + { + public: + AWS_RESTJSONPROTOCOL_API HttpRequestWithLabelsRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "HttpRequestWithLabels"; } + + AWS_RESTJSONPROTOCOL_API Aws::String SerializePayload() const override; + + + ///@{ + + inline const Aws::String& GetString() const{ return m_string; } + inline bool StringHasBeenSet() const { return m_stringHasBeenSet; } + inline void SetString(const Aws::String& value) { m_stringHasBeenSet = true; m_string = value; } + inline void SetString(Aws::String&& value) { m_stringHasBeenSet = true; m_string = std::move(value); } + inline void SetString(const char* value) { m_stringHasBeenSet = true; m_string.assign(value); } + inline HttpRequestWithLabelsRequest& WithString(const Aws::String& value) { SetString(value); return *this;} + inline HttpRequestWithLabelsRequest& WithString(Aws::String&& value) { SetString(std::move(value)); return *this;} + inline HttpRequestWithLabelsRequest& WithString(const char* value) { SetString(value); return *this;} + ///@} + + ///@{ + + inline int GetShort() const{ return m_short; } + inline bool ShortHasBeenSet() const { return m_shortHasBeenSet; } + inline void SetShort(int value) { m_shortHasBeenSet = true; m_short = value; } + inline HttpRequestWithLabelsRequest& WithShort(int value) { SetShort(value); return *this;} + ///@} + + ///@{ + + inline int GetInteger() const{ return m_integer; } + inline bool IntegerHasBeenSet() const { return m_integerHasBeenSet; } + inline void SetInteger(int value) { m_integerHasBeenSet = true; m_integer = value; } + inline HttpRequestWithLabelsRequest& WithInteger(int value) { SetInteger(value); return *this;} + ///@} + + ///@{ + + inline long long GetLong() const{ return m_long; } + inline bool LongHasBeenSet() const { return m_longHasBeenSet; } + inline void SetLong(long long value) { m_longHasBeenSet = true; m_long = value; } + inline HttpRequestWithLabelsRequest& WithLong(long long value) { SetLong(value); return *this;} + ///@} + + ///@{ + + inline double GetFloat() const{ return m_float; } + inline bool FloatHasBeenSet() const { return m_floatHasBeenSet; } + inline void SetFloat(double value) { m_floatHasBeenSet = true; m_float = value; } + inline HttpRequestWithLabelsRequest& WithFloat(double value) { SetFloat(value); return *this;} + ///@} + + ///@{ + + inline double GetDouble() const{ return m_double; } + inline bool DoubleHasBeenSet() const { return m_doubleHasBeenSet; } + inline void SetDouble(double value) { m_doubleHasBeenSet = true; m_double = value; } + inline HttpRequestWithLabelsRequest& WithDouble(double value) { SetDouble(value); return *this;} + ///@} + + ///@{ + /** + *

Serialized in the path as true or false.

+ */ + inline bool GetBoolean() const{ return m_boolean; } + inline bool BooleanHasBeenSet() const { return m_booleanHasBeenSet; } + inline void SetBoolean(bool value) { m_booleanHasBeenSet = true; m_boolean = value; } + inline HttpRequestWithLabelsRequest& WithBoolean(bool value) { SetBoolean(value); return *this;} + ///@} + + ///@{ + /** + *

Note that this member has no format, so it's serialized as an RFC 3399 + * date-time.

+ */ + inline const Aws::Utils::DateTime& GetTimestamp() const{ return m_timestamp; } + inline bool TimestampHasBeenSet() const { return m_timestampHasBeenSet; } + inline void SetTimestamp(const Aws::Utils::DateTime& value) { m_timestampHasBeenSet = true; m_timestamp = value; } + inline void SetTimestamp(Aws::Utils::DateTime&& value) { m_timestampHasBeenSet = true; m_timestamp = std::move(value); } + inline HttpRequestWithLabelsRequest& WithTimestamp(const Aws::Utils::DateTime& value) { SetTimestamp(value); return *this;} + inline HttpRequestWithLabelsRequest& WithTimestamp(Aws::Utils::DateTime&& value) { SetTimestamp(std::move(value)); return *this;} + ///@} + private: + + Aws::String m_string; + bool m_stringHasBeenSet = false; + + int m_short; + bool m_shortHasBeenSet = false; + + int m_integer; + bool m_integerHasBeenSet = false; + + long long m_long; + bool m_longHasBeenSet = false; + + double m_float; + bool m_floatHasBeenSet = false; + + double m_double; + bool m_doubleHasBeenSet = false; + + bool m_boolean; + bool m_booleanHasBeenSet = false; + + Aws::Utils::DateTime m_timestamp; + bool m_timestampHasBeenSet = false; + }; + +} // namespace Model +} // namespace RestJsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/HttpRequestWithRegexLiteralRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/HttpRequestWithRegexLiteralRequest.h new file mode 100644 index 00000000000..a94e4e88a37 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/HttpRequestWithRegexLiteralRequest.h @@ -0,0 +1,54 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace RestJsonProtocol +{ +namespace Model +{ + + /** + */ + class HttpRequestWithRegexLiteralRequest : public RestJsonProtocolRequest + { + public: + AWS_RESTJSONPROTOCOL_API HttpRequestWithRegexLiteralRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "HttpRequestWithRegexLiteral"; } + + AWS_RESTJSONPROTOCOL_API Aws::String SerializePayload() const override; + + + ///@{ + + inline const Aws::String& GetStr() const{ return m_str; } + inline bool StrHasBeenSet() const { return m_strHasBeenSet; } + inline void SetStr(const Aws::String& value) { m_strHasBeenSet = true; m_str = value; } + inline void SetStr(Aws::String&& value) { m_strHasBeenSet = true; m_str = std::move(value); } + inline void SetStr(const char* value) { m_strHasBeenSet = true; m_str.assign(value); } + inline HttpRequestWithRegexLiteralRequest& WithStr(const Aws::String& value) { SetStr(value); return *this;} + inline HttpRequestWithRegexLiteralRequest& WithStr(Aws::String&& value) { SetStr(std::move(value)); return *this;} + inline HttpRequestWithRegexLiteralRequest& WithStr(const char* value) { SetStr(value); return *this;} + ///@} + private: + + Aws::String m_str; + bool m_strHasBeenSet = false; + }; + +} // namespace Model +} // namespace RestJsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/HttpResponseCodeRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/HttpResponseCodeRequest.h new file mode 100644 index 00000000000..a97e58069fd --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/HttpResponseCodeRequest.h @@ -0,0 +1,36 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace RestJsonProtocol +{ +namespace Model +{ + + /** + */ + class HttpResponseCodeRequest : public RestJsonProtocolRequest + { + public: + AWS_RESTJSONPROTOCOL_API HttpResponseCodeRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "HttpResponseCode"; } + + AWS_RESTJSONPROTOCOL_API Aws::String SerializePayload() const override; + + }; + +} // namespace Model +} // namespace RestJsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/HttpResponseCodeResult.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/HttpResponseCodeResult.h new file mode 100644 index 00000000000..20dfe6833cb --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/HttpResponseCodeResult.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace RestJsonProtocol +{ +namespace Model +{ + class HttpResponseCodeResult + { + public: + AWS_RESTJSONPROTOCOL_API HttpResponseCodeResult(); + AWS_RESTJSONPROTOCOL_API HttpResponseCodeResult(const Aws::AmazonWebServiceResult& result); + AWS_RESTJSONPROTOCOL_API HttpResponseCodeResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline int GetStatus() const{ return m_status; } + inline void SetStatus(int value) { m_status = value; } + inline HttpResponseCodeResult& WithStatus(int value) { SetStatus(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline HttpResponseCodeResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline HttpResponseCodeResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline HttpResponseCodeResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + int m_status; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace RestJsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/HttpStringPayloadRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/HttpStringPayloadRequest.h new file mode 100644 index 00000000000..8ff0aa0632e --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/HttpStringPayloadRequest.h @@ -0,0 +1,55 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace RestJsonProtocol +{ +namespace Model +{ + + /** + */ + class HttpStringPayloadRequest : public StreamingRestJsonProtocolRequest + { + public: + AWS_RESTJSONPROTOCOL_API HttpStringPayloadRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "HttpStringPayload"; } + + AWS_RESTJSONPROTOCOL_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline bool RequestIdHasBeenSet() const { return m_requestIdHasBeenSet; } + inline void SetRequestId(const Aws::String& value) { m_requestIdHasBeenSet = true; m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestIdHasBeenSet = true; m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestIdHasBeenSet = true; m_requestId.assign(value); } + inline HttpStringPayloadRequest& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline HttpStringPayloadRequest& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline HttpStringPayloadRequest& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace RestJsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/HttpStringPayloadResult.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/HttpStringPayloadResult.h new file mode 100644 index 00000000000..7f1b99830c1 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/HttpStringPayloadResult.h @@ -0,0 +1,65 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace RestJsonProtocol +{ +namespace Model +{ + class HttpStringPayloadResult + { + public: + AWS_RESTJSONPROTOCOL_API HttpStringPayloadResult(); + //We have to define these because Microsoft doesn't auto generate them + AWS_RESTJSONPROTOCOL_API HttpStringPayloadResult(HttpStringPayloadResult&&); + AWS_RESTJSONPROTOCOL_API HttpStringPayloadResult& operator=(HttpStringPayloadResult&&); + //we delete these because Microsoft doesn't handle move generation correctly + //and we therefore don't trust them to get it right here either. + HttpStringPayloadResult(const HttpStringPayloadResult&) = delete; + HttpStringPayloadResult& operator=(const HttpStringPayloadResult&) = delete; + + + AWS_RESTJSONPROTOCOL_API HttpStringPayloadResult(Aws::AmazonWebServiceResult&& result); + AWS_RESTJSONPROTOCOL_API HttpStringPayloadResult& operator=(Aws::AmazonWebServiceResult&& result); + + + + ///@{ + + inline Aws::IOStream& GetPayload() const { return m_payload.GetUnderlyingStream(); } + inline void ReplaceBody(Aws::IOStream* body) { m_payload = Aws::Utils::Stream::ResponseStream(body); } + + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline HttpStringPayloadResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline HttpStringPayloadResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline HttpStringPayloadResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::Utils::Stream::ResponseStream m_payload; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace RestJsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/IgnoreQueryParamsInResponseRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/IgnoreQueryParamsInResponseRequest.h new file mode 100644 index 00000000000..ae1224fae15 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/IgnoreQueryParamsInResponseRequest.h @@ -0,0 +1,36 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace RestJsonProtocol +{ +namespace Model +{ + + /** + */ + class IgnoreQueryParamsInResponseRequest : public RestJsonProtocolRequest + { + public: + AWS_RESTJSONPROTOCOL_API IgnoreQueryParamsInResponseRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "IgnoreQueryParamsInResponse"; } + + AWS_RESTJSONPROTOCOL_API Aws::String SerializePayload() const override; + + }; + +} // namespace Model +} // namespace RestJsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/IgnoreQueryParamsInResponseResult.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/IgnoreQueryParamsInResponseResult.h new file mode 100644 index 00000000000..2f75d32b144 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/IgnoreQueryParamsInResponseResult.h @@ -0,0 +1,65 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace RestJsonProtocol +{ +namespace Model +{ + class IgnoreQueryParamsInResponseResult + { + public: + AWS_RESTJSONPROTOCOL_API IgnoreQueryParamsInResponseResult(); + AWS_RESTJSONPROTOCOL_API IgnoreQueryParamsInResponseResult(const Aws::AmazonWebServiceResult& result); + AWS_RESTJSONPROTOCOL_API IgnoreQueryParamsInResponseResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::String& GetBaz() const{ return m_baz; } + inline void SetBaz(const Aws::String& value) { m_baz = value; } + inline void SetBaz(Aws::String&& value) { m_baz = std::move(value); } + inline void SetBaz(const char* value) { m_baz.assign(value); } + inline IgnoreQueryParamsInResponseResult& WithBaz(const Aws::String& value) { SetBaz(value); return *this;} + inline IgnoreQueryParamsInResponseResult& WithBaz(Aws::String&& value) { SetBaz(std::move(value)); return *this;} + inline IgnoreQueryParamsInResponseResult& WithBaz(const char* value) { SetBaz(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline IgnoreQueryParamsInResponseResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline IgnoreQueryParamsInResponseResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline IgnoreQueryParamsInResponseResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_baz; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace RestJsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/InputAndOutputWithHeadersRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/InputAndOutputWithHeadersRequest.h new file mode 100644 index 00000000000..d2f7041835c --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/InputAndOutputWithHeadersRequest.h @@ -0,0 +1,290 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace RestJsonProtocol +{ +namespace Model +{ + + /** + */ + class InputAndOutputWithHeadersRequest : public RestJsonProtocolRequest + { + public: + AWS_RESTJSONPROTOCOL_API InputAndOutputWithHeadersRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "InputAndOutputWithHeaders"; } + + AWS_RESTJSONPROTOCOL_API Aws::String SerializePayload() const override; + + AWS_RESTJSONPROTOCOL_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + + inline const Aws::String& GetHeaderString() const{ return m_headerString; } + inline bool HeaderStringHasBeenSet() const { return m_headerStringHasBeenSet; } + inline void SetHeaderString(const Aws::String& value) { m_headerStringHasBeenSet = true; m_headerString = value; } + inline void SetHeaderString(Aws::String&& value) { m_headerStringHasBeenSet = true; m_headerString = std::move(value); } + inline void SetHeaderString(const char* value) { m_headerStringHasBeenSet = true; m_headerString.assign(value); } + inline InputAndOutputWithHeadersRequest& WithHeaderString(const Aws::String& value) { SetHeaderString(value); return *this;} + inline InputAndOutputWithHeadersRequest& WithHeaderString(Aws::String&& value) { SetHeaderString(std::move(value)); return *this;} + inline InputAndOutputWithHeadersRequest& WithHeaderString(const char* value) { SetHeaderString(value); return *this;} + ///@} + + ///@{ + + inline int GetHeaderByte() const{ return m_headerByte; } + inline bool HeaderByteHasBeenSet() const { return m_headerByteHasBeenSet; } + inline void SetHeaderByte(int value) { m_headerByteHasBeenSet = true; m_headerByte = value; } + inline InputAndOutputWithHeadersRequest& WithHeaderByte(int value) { SetHeaderByte(value); return *this;} + ///@} + + ///@{ + + inline int GetHeaderShort() const{ return m_headerShort; } + inline bool HeaderShortHasBeenSet() const { return m_headerShortHasBeenSet; } + inline void SetHeaderShort(int value) { m_headerShortHasBeenSet = true; m_headerShort = value; } + inline InputAndOutputWithHeadersRequest& WithHeaderShort(int value) { SetHeaderShort(value); return *this;} + ///@} + + ///@{ + + inline int GetHeaderInteger() const{ return m_headerInteger; } + inline bool HeaderIntegerHasBeenSet() const { return m_headerIntegerHasBeenSet; } + inline void SetHeaderInteger(int value) { m_headerIntegerHasBeenSet = true; m_headerInteger = value; } + inline InputAndOutputWithHeadersRequest& WithHeaderInteger(int value) { SetHeaderInteger(value); return *this;} + ///@} + + ///@{ + + inline long long GetHeaderLong() const{ return m_headerLong; } + inline bool HeaderLongHasBeenSet() const { return m_headerLongHasBeenSet; } + inline void SetHeaderLong(long long value) { m_headerLongHasBeenSet = true; m_headerLong = value; } + inline InputAndOutputWithHeadersRequest& WithHeaderLong(long long value) { SetHeaderLong(value); return *this;} + ///@} + + ///@{ + + inline double GetHeaderFloat() const{ return m_headerFloat; } + inline bool HeaderFloatHasBeenSet() const { return m_headerFloatHasBeenSet; } + inline void SetHeaderFloat(double value) { m_headerFloatHasBeenSet = true; m_headerFloat = value; } + inline InputAndOutputWithHeadersRequest& WithHeaderFloat(double value) { SetHeaderFloat(value); return *this;} + ///@} + + ///@{ + + inline double GetHeaderDouble() const{ return m_headerDouble; } + inline bool HeaderDoubleHasBeenSet() const { return m_headerDoubleHasBeenSet; } + inline void SetHeaderDouble(double value) { m_headerDoubleHasBeenSet = true; m_headerDouble = value; } + inline InputAndOutputWithHeadersRequest& WithHeaderDouble(double value) { SetHeaderDouble(value); return *this;} + ///@} + + ///@{ + + inline bool GetHeaderTrueBool() const{ return m_headerTrueBool; } + inline bool HeaderTrueBoolHasBeenSet() const { return m_headerTrueBoolHasBeenSet; } + inline void SetHeaderTrueBool(bool value) { m_headerTrueBoolHasBeenSet = true; m_headerTrueBool = value; } + inline InputAndOutputWithHeadersRequest& WithHeaderTrueBool(bool value) { SetHeaderTrueBool(value); return *this;} + ///@} + + ///@{ + + inline bool GetHeaderFalseBool() const{ return m_headerFalseBool; } + inline bool HeaderFalseBoolHasBeenSet() const { return m_headerFalseBoolHasBeenSet; } + inline void SetHeaderFalseBool(bool value) { m_headerFalseBoolHasBeenSet = true; m_headerFalseBool = value; } + inline InputAndOutputWithHeadersRequest& WithHeaderFalseBool(bool value) { SetHeaderFalseBool(value); return *this;} + ///@} + + ///@{ + + inline const Aws::Vector& GetHeaderStringList() const{ return m_headerStringList; } + inline bool HeaderStringListHasBeenSet() const { return m_headerStringListHasBeenSet; } + inline void SetHeaderStringList(const Aws::Vector& value) { m_headerStringListHasBeenSet = true; m_headerStringList = value; } + inline void SetHeaderStringList(Aws::Vector&& value) { m_headerStringListHasBeenSet = true; m_headerStringList = std::move(value); } + inline InputAndOutputWithHeadersRequest& WithHeaderStringList(const Aws::Vector& value) { SetHeaderStringList(value); return *this;} + inline InputAndOutputWithHeadersRequest& WithHeaderStringList(Aws::Vector&& value) { SetHeaderStringList(std::move(value)); return *this;} + inline InputAndOutputWithHeadersRequest& AddHeaderStringList(const Aws::String& value) { m_headerStringListHasBeenSet = true; m_headerStringList.push_back(value); return *this; } + inline InputAndOutputWithHeadersRequest& AddHeaderStringList(Aws::String&& value) { m_headerStringListHasBeenSet = true; m_headerStringList.push_back(std::move(value)); return *this; } + inline InputAndOutputWithHeadersRequest& AddHeaderStringList(const char* value) { m_headerStringListHasBeenSet = true; m_headerStringList.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetHeaderStringSet() const{ return m_headerStringSet; } + inline bool HeaderStringSetHasBeenSet() const { return m_headerStringSetHasBeenSet; } + inline void SetHeaderStringSet(const Aws::Vector& value) { m_headerStringSetHasBeenSet = true; m_headerStringSet = value; } + inline void SetHeaderStringSet(Aws::Vector&& value) { m_headerStringSetHasBeenSet = true; m_headerStringSet = std::move(value); } + inline InputAndOutputWithHeadersRequest& WithHeaderStringSet(const Aws::Vector& value) { SetHeaderStringSet(value); return *this;} + inline InputAndOutputWithHeadersRequest& WithHeaderStringSet(Aws::Vector&& value) { SetHeaderStringSet(std::move(value)); return *this;} + inline InputAndOutputWithHeadersRequest& AddHeaderStringSet(const Aws::String& value) { m_headerStringSetHasBeenSet = true; m_headerStringSet.push_back(value); return *this; } + inline InputAndOutputWithHeadersRequest& AddHeaderStringSet(Aws::String&& value) { m_headerStringSetHasBeenSet = true; m_headerStringSet.push_back(std::move(value)); return *this; } + inline InputAndOutputWithHeadersRequest& AddHeaderStringSet(const char* value) { m_headerStringSetHasBeenSet = true; m_headerStringSet.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetHeaderIntegerList() const{ return m_headerIntegerList; } + inline bool HeaderIntegerListHasBeenSet() const { return m_headerIntegerListHasBeenSet; } + inline void SetHeaderIntegerList(const Aws::Vector& value) { m_headerIntegerListHasBeenSet = true; m_headerIntegerList = value; } + inline void SetHeaderIntegerList(Aws::Vector&& value) { m_headerIntegerListHasBeenSet = true; m_headerIntegerList = std::move(value); } + inline InputAndOutputWithHeadersRequest& WithHeaderIntegerList(const Aws::Vector& value) { SetHeaderIntegerList(value); return *this;} + inline InputAndOutputWithHeadersRequest& WithHeaderIntegerList(Aws::Vector&& value) { SetHeaderIntegerList(std::move(value)); return *this;} + inline InputAndOutputWithHeadersRequest& AddHeaderIntegerList(int value) { m_headerIntegerListHasBeenSet = true; m_headerIntegerList.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetHeaderBooleanList() const{ return m_headerBooleanList; } + inline bool HeaderBooleanListHasBeenSet() const { return m_headerBooleanListHasBeenSet; } + inline void SetHeaderBooleanList(const Aws::Vector& value) { m_headerBooleanListHasBeenSet = true; m_headerBooleanList = value; } + inline void SetHeaderBooleanList(Aws::Vector&& value) { m_headerBooleanListHasBeenSet = true; m_headerBooleanList = std::move(value); } + inline InputAndOutputWithHeadersRequest& WithHeaderBooleanList(const Aws::Vector& value) { SetHeaderBooleanList(value); return *this;} + inline InputAndOutputWithHeadersRequest& WithHeaderBooleanList(Aws::Vector&& value) { SetHeaderBooleanList(std::move(value)); return *this;} + inline InputAndOutputWithHeadersRequest& AddHeaderBooleanList(bool value) { m_headerBooleanListHasBeenSet = true; m_headerBooleanList.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetHeaderTimestampList() const{ return m_headerTimestampList; } + inline bool HeaderTimestampListHasBeenSet() const { return m_headerTimestampListHasBeenSet; } + inline void SetHeaderTimestampList(const Aws::Vector& value) { m_headerTimestampListHasBeenSet = true; m_headerTimestampList = value; } + inline void SetHeaderTimestampList(Aws::Vector&& value) { m_headerTimestampListHasBeenSet = true; m_headerTimestampList = std::move(value); } + inline InputAndOutputWithHeadersRequest& WithHeaderTimestampList(const Aws::Vector& value) { SetHeaderTimestampList(value); return *this;} + inline InputAndOutputWithHeadersRequest& WithHeaderTimestampList(Aws::Vector&& value) { SetHeaderTimestampList(std::move(value)); return *this;} + inline InputAndOutputWithHeadersRequest& AddHeaderTimestampList(const Aws::Utils::DateTime& value) { m_headerTimestampListHasBeenSet = true; m_headerTimestampList.push_back(value); return *this; } + inline InputAndOutputWithHeadersRequest& AddHeaderTimestampList(Aws::Utils::DateTime&& value) { m_headerTimestampListHasBeenSet = true; m_headerTimestampList.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + + inline const FooEnum& GetHeaderEnum() const{ return m_headerEnum; } + inline bool HeaderEnumHasBeenSet() const { return m_headerEnumHasBeenSet; } + inline void SetHeaderEnum(const FooEnum& value) { m_headerEnumHasBeenSet = true; m_headerEnum = value; } + inline void SetHeaderEnum(FooEnum&& value) { m_headerEnumHasBeenSet = true; m_headerEnum = std::move(value); } + inline InputAndOutputWithHeadersRequest& WithHeaderEnum(const FooEnum& value) { SetHeaderEnum(value); return *this;} + inline InputAndOutputWithHeadersRequest& WithHeaderEnum(FooEnum&& value) { SetHeaderEnum(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::Vector& GetHeaderEnumList() const{ return m_headerEnumList; } + inline bool HeaderEnumListHasBeenSet() const { return m_headerEnumListHasBeenSet; } + inline void SetHeaderEnumList(const Aws::Vector& value) { m_headerEnumListHasBeenSet = true; m_headerEnumList = value; } + inline void SetHeaderEnumList(Aws::Vector&& value) { m_headerEnumListHasBeenSet = true; m_headerEnumList = std::move(value); } + inline InputAndOutputWithHeadersRequest& WithHeaderEnumList(const Aws::Vector& value) { SetHeaderEnumList(value); return *this;} + inline InputAndOutputWithHeadersRequest& WithHeaderEnumList(Aws::Vector&& value) { SetHeaderEnumList(std::move(value)); return *this;} + inline InputAndOutputWithHeadersRequest& AddHeaderEnumList(const FooEnum& value) { m_headerEnumListHasBeenSet = true; m_headerEnumList.push_back(value); return *this; } + inline InputAndOutputWithHeadersRequest& AddHeaderEnumList(FooEnum&& value) { m_headerEnumListHasBeenSet = true; m_headerEnumList.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + + inline int GetHeaderIntegerEnum() const{ return m_headerIntegerEnum; } + inline bool HeaderIntegerEnumHasBeenSet() const { return m_headerIntegerEnumHasBeenSet; } + inline void SetHeaderIntegerEnum(int value) { m_headerIntegerEnumHasBeenSet = true; m_headerIntegerEnum = value; } + inline InputAndOutputWithHeadersRequest& WithHeaderIntegerEnum(int value) { SetHeaderIntegerEnum(value); return *this;} + ///@} + + ///@{ + + inline const Aws::Vector& GetHeaderIntegerEnumList() const{ return m_headerIntegerEnumList; } + inline bool HeaderIntegerEnumListHasBeenSet() const { return m_headerIntegerEnumListHasBeenSet; } + inline void SetHeaderIntegerEnumList(const Aws::Vector& value) { m_headerIntegerEnumListHasBeenSet = true; m_headerIntegerEnumList = value; } + inline void SetHeaderIntegerEnumList(Aws::Vector&& value) { m_headerIntegerEnumListHasBeenSet = true; m_headerIntegerEnumList = std::move(value); } + inline InputAndOutputWithHeadersRequest& WithHeaderIntegerEnumList(const Aws::Vector& value) { SetHeaderIntegerEnumList(value); return *this;} + inline InputAndOutputWithHeadersRequest& WithHeaderIntegerEnumList(Aws::Vector&& value) { SetHeaderIntegerEnumList(std::move(value)); return *this;} + inline InputAndOutputWithHeadersRequest& AddHeaderIntegerEnumList(int value) { m_headerIntegerEnumListHasBeenSet = true; m_headerIntegerEnumList.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline bool RequestIdHasBeenSet() const { return m_requestIdHasBeenSet; } + inline void SetRequestId(const Aws::String& value) { m_requestIdHasBeenSet = true; m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestIdHasBeenSet = true; m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestIdHasBeenSet = true; m_requestId.assign(value); } + inline InputAndOutputWithHeadersRequest& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline InputAndOutputWithHeadersRequest& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline InputAndOutputWithHeadersRequest& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_headerString; + bool m_headerStringHasBeenSet = false; + + int m_headerByte; + bool m_headerByteHasBeenSet = false; + + int m_headerShort; + bool m_headerShortHasBeenSet = false; + + int m_headerInteger; + bool m_headerIntegerHasBeenSet = false; + + long long m_headerLong; + bool m_headerLongHasBeenSet = false; + + double m_headerFloat; + bool m_headerFloatHasBeenSet = false; + + double m_headerDouble; + bool m_headerDoubleHasBeenSet = false; + + bool m_headerTrueBool; + bool m_headerTrueBoolHasBeenSet = false; + + bool m_headerFalseBool; + bool m_headerFalseBoolHasBeenSet = false; + + Aws::Vector m_headerStringList; + bool m_headerStringListHasBeenSet = false; + + Aws::Vector m_headerStringSet; + bool m_headerStringSetHasBeenSet = false; + + Aws::Vector m_headerIntegerList; + bool m_headerIntegerListHasBeenSet = false; + + Aws::Vector m_headerBooleanList; + bool m_headerBooleanListHasBeenSet = false; + + Aws::Vector m_headerTimestampList; + bool m_headerTimestampListHasBeenSet = false; + + FooEnum m_headerEnum; + bool m_headerEnumHasBeenSet = false; + + Aws::Vector m_headerEnumList; + bool m_headerEnumListHasBeenSet = false; + + int m_headerIntegerEnum; + bool m_headerIntegerEnumHasBeenSet = false; + + Aws::Vector m_headerIntegerEnumList; + bool m_headerIntegerEnumListHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace RestJsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/InputAndOutputWithHeadersResult.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/InputAndOutputWithHeadersResult.h new file mode 100644 index 00000000000..4bc4c230f15 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/InputAndOutputWithHeadersResult.h @@ -0,0 +1,250 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace RestJsonProtocol +{ +namespace Model +{ + class InputAndOutputWithHeadersResult + { + public: + AWS_RESTJSONPROTOCOL_API InputAndOutputWithHeadersResult(); + AWS_RESTJSONPROTOCOL_API InputAndOutputWithHeadersResult(const Aws::AmazonWebServiceResult& result); + AWS_RESTJSONPROTOCOL_API InputAndOutputWithHeadersResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::String& GetHeaderString() const{ return m_headerString; } + inline void SetHeaderString(const Aws::String& value) { m_headerString = value; } + inline void SetHeaderString(Aws::String&& value) { m_headerString = std::move(value); } + inline void SetHeaderString(const char* value) { m_headerString.assign(value); } + inline InputAndOutputWithHeadersResult& WithHeaderString(const Aws::String& value) { SetHeaderString(value); return *this;} + inline InputAndOutputWithHeadersResult& WithHeaderString(Aws::String&& value) { SetHeaderString(std::move(value)); return *this;} + inline InputAndOutputWithHeadersResult& WithHeaderString(const char* value) { SetHeaderString(value); return *this;} + ///@} + + ///@{ + + inline int GetHeaderByte() const{ return m_headerByte; } + inline void SetHeaderByte(int value) { m_headerByte = value; } + inline InputAndOutputWithHeadersResult& WithHeaderByte(int value) { SetHeaderByte(value); return *this;} + ///@} + + ///@{ + + inline int GetHeaderShort() const{ return m_headerShort; } + inline void SetHeaderShort(int value) { m_headerShort = value; } + inline InputAndOutputWithHeadersResult& WithHeaderShort(int value) { SetHeaderShort(value); return *this;} + ///@} + + ///@{ + + inline int GetHeaderInteger() const{ return m_headerInteger; } + inline void SetHeaderInteger(int value) { m_headerInteger = value; } + inline InputAndOutputWithHeadersResult& WithHeaderInteger(int value) { SetHeaderInteger(value); return *this;} + ///@} + + ///@{ + + inline long long GetHeaderLong() const{ return m_headerLong; } + inline void SetHeaderLong(long long value) { m_headerLong = value; } + inline InputAndOutputWithHeadersResult& WithHeaderLong(long long value) { SetHeaderLong(value); return *this;} + ///@} + + ///@{ + + inline double GetHeaderFloat() const{ return m_headerFloat; } + inline void SetHeaderFloat(double value) { m_headerFloat = value; } + inline InputAndOutputWithHeadersResult& WithHeaderFloat(double value) { SetHeaderFloat(value); return *this;} + ///@} + + ///@{ + + inline double GetHeaderDouble() const{ return m_headerDouble; } + inline void SetHeaderDouble(double value) { m_headerDouble = value; } + inline InputAndOutputWithHeadersResult& WithHeaderDouble(double value) { SetHeaderDouble(value); return *this;} + ///@} + + ///@{ + + inline bool GetHeaderTrueBool() const{ return m_headerTrueBool; } + inline void SetHeaderTrueBool(bool value) { m_headerTrueBool = value; } + inline InputAndOutputWithHeadersResult& WithHeaderTrueBool(bool value) { SetHeaderTrueBool(value); return *this;} + ///@} + + ///@{ + + inline bool GetHeaderFalseBool() const{ return m_headerFalseBool; } + inline void SetHeaderFalseBool(bool value) { m_headerFalseBool = value; } + inline InputAndOutputWithHeadersResult& WithHeaderFalseBool(bool value) { SetHeaderFalseBool(value); return *this;} + ///@} + + ///@{ + + inline const Aws::Vector& GetHeaderStringList() const{ return m_headerStringList; } + inline void SetHeaderStringList(const Aws::Vector& value) { m_headerStringList = value; } + inline void SetHeaderStringList(Aws::Vector&& value) { m_headerStringList = std::move(value); } + inline InputAndOutputWithHeadersResult& WithHeaderStringList(const Aws::Vector& value) { SetHeaderStringList(value); return *this;} + inline InputAndOutputWithHeadersResult& WithHeaderStringList(Aws::Vector&& value) { SetHeaderStringList(std::move(value)); return *this;} + inline InputAndOutputWithHeadersResult& AddHeaderStringList(const Aws::String& value) { m_headerStringList.push_back(value); return *this; } + inline InputAndOutputWithHeadersResult& AddHeaderStringList(Aws::String&& value) { m_headerStringList.push_back(std::move(value)); return *this; } + inline InputAndOutputWithHeadersResult& AddHeaderStringList(const char* value) { m_headerStringList.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetHeaderStringSet() const{ return m_headerStringSet; } + inline void SetHeaderStringSet(const Aws::Vector& value) { m_headerStringSet = value; } + inline void SetHeaderStringSet(Aws::Vector&& value) { m_headerStringSet = std::move(value); } + inline InputAndOutputWithHeadersResult& WithHeaderStringSet(const Aws::Vector& value) { SetHeaderStringSet(value); return *this;} + inline InputAndOutputWithHeadersResult& WithHeaderStringSet(Aws::Vector&& value) { SetHeaderStringSet(std::move(value)); return *this;} + inline InputAndOutputWithHeadersResult& AddHeaderStringSet(const Aws::String& value) { m_headerStringSet.push_back(value); return *this; } + inline InputAndOutputWithHeadersResult& AddHeaderStringSet(Aws::String&& value) { m_headerStringSet.push_back(std::move(value)); return *this; } + inline InputAndOutputWithHeadersResult& AddHeaderStringSet(const char* value) { m_headerStringSet.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetHeaderIntegerList() const{ return m_headerIntegerList; } + inline void SetHeaderIntegerList(const Aws::Vector& value) { m_headerIntegerList = value; } + inline void SetHeaderIntegerList(Aws::Vector&& value) { m_headerIntegerList = std::move(value); } + inline InputAndOutputWithHeadersResult& WithHeaderIntegerList(const Aws::Vector& value) { SetHeaderIntegerList(value); return *this;} + inline InputAndOutputWithHeadersResult& WithHeaderIntegerList(Aws::Vector&& value) { SetHeaderIntegerList(std::move(value)); return *this;} + inline InputAndOutputWithHeadersResult& AddHeaderIntegerList(int value) { m_headerIntegerList.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetHeaderBooleanList() const{ return m_headerBooleanList; } + inline void SetHeaderBooleanList(const Aws::Vector& value) { m_headerBooleanList = value; } + inline void SetHeaderBooleanList(Aws::Vector&& value) { m_headerBooleanList = std::move(value); } + inline InputAndOutputWithHeadersResult& WithHeaderBooleanList(const Aws::Vector& value) { SetHeaderBooleanList(value); return *this;} + inline InputAndOutputWithHeadersResult& WithHeaderBooleanList(Aws::Vector&& value) { SetHeaderBooleanList(std::move(value)); return *this;} + inline InputAndOutputWithHeadersResult& AddHeaderBooleanList(bool value) { m_headerBooleanList.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetHeaderTimestampList() const{ return m_headerTimestampList; } + inline void SetHeaderTimestampList(const Aws::Vector& value) { m_headerTimestampList = value; } + inline void SetHeaderTimestampList(Aws::Vector&& value) { m_headerTimestampList = std::move(value); } + inline InputAndOutputWithHeadersResult& WithHeaderTimestampList(const Aws::Vector& value) { SetHeaderTimestampList(value); return *this;} + inline InputAndOutputWithHeadersResult& WithHeaderTimestampList(Aws::Vector&& value) { SetHeaderTimestampList(std::move(value)); return *this;} + inline InputAndOutputWithHeadersResult& AddHeaderTimestampList(const Aws::Utils::DateTime& value) { m_headerTimestampList.push_back(value); return *this; } + inline InputAndOutputWithHeadersResult& AddHeaderTimestampList(Aws::Utils::DateTime&& value) { m_headerTimestampList.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + + inline const FooEnum& GetHeaderEnum() const{ return m_headerEnum; } + inline void SetHeaderEnum(const FooEnum& value) { m_headerEnum = value; } + inline void SetHeaderEnum(FooEnum&& value) { m_headerEnum = std::move(value); } + inline InputAndOutputWithHeadersResult& WithHeaderEnum(const FooEnum& value) { SetHeaderEnum(value); return *this;} + inline InputAndOutputWithHeadersResult& WithHeaderEnum(FooEnum&& value) { SetHeaderEnum(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::Vector& GetHeaderEnumList() const{ return m_headerEnumList; } + inline void SetHeaderEnumList(const Aws::Vector& value) { m_headerEnumList = value; } + inline void SetHeaderEnumList(Aws::Vector&& value) { m_headerEnumList = std::move(value); } + inline InputAndOutputWithHeadersResult& WithHeaderEnumList(const Aws::Vector& value) { SetHeaderEnumList(value); return *this;} + inline InputAndOutputWithHeadersResult& WithHeaderEnumList(Aws::Vector&& value) { SetHeaderEnumList(std::move(value)); return *this;} + inline InputAndOutputWithHeadersResult& AddHeaderEnumList(const FooEnum& value) { m_headerEnumList.push_back(value); return *this; } + inline InputAndOutputWithHeadersResult& AddHeaderEnumList(FooEnum&& value) { m_headerEnumList.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + + inline int GetHeaderIntegerEnum() const{ return m_headerIntegerEnum; } + inline void SetHeaderIntegerEnum(int value) { m_headerIntegerEnum = value; } + inline InputAndOutputWithHeadersResult& WithHeaderIntegerEnum(int value) { SetHeaderIntegerEnum(value); return *this;} + ///@} + + ///@{ + + inline const Aws::Vector& GetHeaderIntegerEnumList() const{ return m_headerIntegerEnumList; } + inline void SetHeaderIntegerEnumList(const Aws::Vector& value) { m_headerIntegerEnumList = value; } + inline void SetHeaderIntegerEnumList(Aws::Vector&& value) { m_headerIntegerEnumList = std::move(value); } + inline InputAndOutputWithHeadersResult& WithHeaderIntegerEnumList(const Aws::Vector& value) { SetHeaderIntegerEnumList(value); return *this;} + inline InputAndOutputWithHeadersResult& WithHeaderIntegerEnumList(Aws::Vector&& value) { SetHeaderIntegerEnumList(std::move(value)); return *this;} + inline InputAndOutputWithHeadersResult& AddHeaderIntegerEnumList(int value) { m_headerIntegerEnumList.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline InputAndOutputWithHeadersResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline InputAndOutputWithHeadersResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline InputAndOutputWithHeadersResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_headerString; + + int m_headerByte; + + int m_headerShort; + + int m_headerInteger; + + long long m_headerLong; + + double m_headerFloat; + + double m_headerDouble; + + bool m_headerTrueBool; + + bool m_headerFalseBool; + + Aws::Vector m_headerStringList; + + Aws::Vector m_headerStringSet; + + Aws::Vector m_headerIntegerList; + + Aws::Vector m_headerBooleanList; + + Aws::Vector m_headerTimestampList; + + FooEnum m_headerEnum; + + Aws::Vector m_headerEnumList; + + int m_headerIntegerEnum; + + Aws::Vector m_headerIntegerEnumList; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace RestJsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/JsonBlobsRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/JsonBlobsRequest.h new file mode 100644 index 00000000000..855546ddaa5 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/JsonBlobsRequest.h @@ -0,0 +1,70 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace RestJsonProtocol +{ +namespace Model +{ + + /** + */ + class JsonBlobsRequest : public RestJsonProtocolRequest + { + public: + AWS_RESTJSONPROTOCOL_API JsonBlobsRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "JsonBlobs"; } + + AWS_RESTJSONPROTOCOL_API Aws::String SerializePayload() const override; + + AWS_RESTJSONPROTOCOL_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + + inline const Aws::Utils::ByteBuffer& GetData() const{ return m_data; } + inline bool DataHasBeenSet() const { return m_dataHasBeenSet; } + inline void SetData(const Aws::Utils::ByteBuffer& value) { m_dataHasBeenSet = true; m_data = value; } + inline void SetData(Aws::Utils::ByteBuffer&& value) { m_dataHasBeenSet = true; m_data = std::move(value); } + inline JsonBlobsRequest& WithData(const Aws::Utils::ByteBuffer& value) { SetData(value); return *this;} + inline JsonBlobsRequest& WithData(Aws::Utils::ByteBuffer&& value) { SetData(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline bool RequestIdHasBeenSet() const { return m_requestIdHasBeenSet; } + inline void SetRequestId(const Aws::String& value) { m_requestIdHasBeenSet = true; m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestIdHasBeenSet = true; m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestIdHasBeenSet = true; m_requestId.assign(value); } + inline JsonBlobsRequest& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline JsonBlobsRequest& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline JsonBlobsRequest& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::Utils::ByteBuffer m_data; + bool m_dataHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace RestJsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/JsonBlobsResult.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/JsonBlobsResult.h new file mode 100644 index 00000000000..407cfb38898 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/JsonBlobsResult.h @@ -0,0 +1,64 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace RestJsonProtocol +{ +namespace Model +{ + class JsonBlobsResult + { + public: + AWS_RESTJSONPROTOCOL_API JsonBlobsResult(); + AWS_RESTJSONPROTOCOL_API JsonBlobsResult(const Aws::AmazonWebServiceResult& result); + AWS_RESTJSONPROTOCOL_API JsonBlobsResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::Utils::ByteBuffer& GetData() const{ return m_data; } + inline void SetData(const Aws::Utils::ByteBuffer& value) { m_data = value; } + inline void SetData(Aws::Utils::ByteBuffer&& value) { m_data = std::move(value); } + inline JsonBlobsResult& WithData(const Aws::Utils::ByteBuffer& value) { SetData(value); return *this;} + inline JsonBlobsResult& WithData(Aws::Utils::ByteBuffer&& value) { SetData(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline JsonBlobsResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline JsonBlobsResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline JsonBlobsResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::Utils::ByteBuffer m_data; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace RestJsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/JsonEnumsRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/JsonEnumsRequest.h new file mode 100644 index 00000000000..8f03f7e214e --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/JsonEnumsRequest.h @@ -0,0 +1,147 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace RestJsonProtocol +{ +namespace Model +{ + + /** + */ + class JsonEnumsRequest : public RestJsonProtocolRequest + { + public: + AWS_RESTJSONPROTOCOL_API JsonEnumsRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "JsonEnums"; } + + AWS_RESTJSONPROTOCOL_API Aws::String SerializePayload() const override; + + AWS_RESTJSONPROTOCOL_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + + inline const FooEnum& GetFooEnum1() const{ return m_fooEnum1; } + inline bool FooEnum1HasBeenSet() const { return m_fooEnum1HasBeenSet; } + inline void SetFooEnum1(const FooEnum& value) { m_fooEnum1HasBeenSet = true; m_fooEnum1 = value; } + inline void SetFooEnum1(FooEnum&& value) { m_fooEnum1HasBeenSet = true; m_fooEnum1 = std::move(value); } + inline JsonEnumsRequest& WithFooEnum1(const FooEnum& value) { SetFooEnum1(value); return *this;} + inline JsonEnumsRequest& WithFooEnum1(FooEnum&& value) { SetFooEnum1(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const FooEnum& GetFooEnum2() const{ return m_fooEnum2; } + inline bool FooEnum2HasBeenSet() const { return m_fooEnum2HasBeenSet; } + inline void SetFooEnum2(const FooEnum& value) { m_fooEnum2HasBeenSet = true; m_fooEnum2 = value; } + inline void SetFooEnum2(FooEnum&& value) { m_fooEnum2HasBeenSet = true; m_fooEnum2 = std::move(value); } + inline JsonEnumsRequest& WithFooEnum2(const FooEnum& value) { SetFooEnum2(value); return *this;} + inline JsonEnumsRequest& WithFooEnum2(FooEnum&& value) { SetFooEnum2(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const FooEnum& GetFooEnum3() const{ return m_fooEnum3; } + inline bool FooEnum3HasBeenSet() const { return m_fooEnum3HasBeenSet; } + inline void SetFooEnum3(const FooEnum& value) { m_fooEnum3HasBeenSet = true; m_fooEnum3 = value; } + inline void SetFooEnum3(FooEnum&& value) { m_fooEnum3HasBeenSet = true; m_fooEnum3 = std::move(value); } + inline JsonEnumsRequest& WithFooEnum3(const FooEnum& value) { SetFooEnum3(value); return *this;} + inline JsonEnumsRequest& WithFooEnum3(FooEnum&& value) { SetFooEnum3(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::Vector& GetFooEnumList() const{ return m_fooEnumList; } + inline bool FooEnumListHasBeenSet() const { return m_fooEnumListHasBeenSet; } + inline void SetFooEnumList(const Aws::Vector& value) { m_fooEnumListHasBeenSet = true; m_fooEnumList = value; } + inline void SetFooEnumList(Aws::Vector&& value) { m_fooEnumListHasBeenSet = true; m_fooEnumList = std::move(value); } + inline JsonEnumsRequest& WithFooEnumList(const Aws::Vector& value) { SetFooEnumList(value); return *this;} + inline JsonEnumsRequest& WithFooEnumList(Aws::Vector&& value) { SetFooEnumList(std::move(value)); return *this;} + inline JsonEnumsRequest& AddFooEnumList(const FooEnum& value) { m_fooEnumListHasBeenSet = true; m_fooEnumList.push_back(value); return *this; } + inline JsonEnumsRequest& AddFooEnumList(FooEnum&& value) { m_fooEnumListHasBeenSet = true; m_fooEnumList.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetFooEnumSet() const{ return m_fooEnumSet; } + inline bool FooEnumSetHasBeenSet() const { return m_fooEnumSetHasBeenSet; } + inline void SetFooEnumSet(const Aws::Vector& value) { m_fooEnumSetHasBeenSet = true; m_fooEnumSet = value; } + inline void SetFooEnumSet(Aws::Vector&& value) { m_fooEnumSetHasBeenSet = true; m_fooEnumSet = std::move(value); } + inline JsonEnumsRequest& WithFooEnumSet(const Aws::Vector& value) { SetFooEnumSet(value); return *this;} + inline JsonEnumsRequest& WithFooEnumSet(Aws::Vector&& value) { SetFooEnumSet(std::move(value)); return *this;} + inline JsonEnumsRequest& AddFooEnumSet(const FooEnum& value) { m_fooEnumSetHasBeenSet = true; m_fooEnumSet.push_back(value); return *this; } + inline JsonEnumsRequest& AddFooEnumSet(FooEnum&& value) { m_fooEnumSetHasBeenSet = true; m_fooEnumSet.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + + inline const Aws::Map& GetFooEnumMap() const{ return m_fooEnumMap; } + inline bool FooEnumMapHasBeenSet() const { return m_fooEnumMapHasBeenSet; } + inline void SetFooEnumMap(const Aws::Map& value) { m_fooEnumMapHasBeenSet = true; m_fooEnumMap = value; } + inline void SetFooEnumMap(Aws::Map&& value) { m_fooEnumMapHasBeenSet = true; m_fooEnumMap = std::move(value); } + inline JsonEnumsRequest& WithFooEnumMap(const Aws::Map& value) { SetFooEnumMap(value); return *this;} + inline JsonEnumsRequest& WithFooEnumMap(Aws::Map&& value) { SetFooEnumMap(std::move(value)); return *this;} + inline JsonEnumsRequest& AddFooEnumMap(const Aws::String& key, const FooEnum& value) { m_fooEnumMapHasBeenSet = true; m_fooEnumMap.emplace(key, value); return *this; } + inline JsonEnumsRequest& AddFooEnumMap(Aws::String&& key, const FooEnum& value) { m_fooEnumMapHasBeenSet = true; m_fooEnumMap.emplace(std::move(key), value); return *this; } + inline JsonEnumsRequest& AddFooEnumMap(const Aws::String& key, FooEnum&& value) { m_fooEnumMapHasBeenSet = true; m_fooEnumMap.emplace(key, std::move(value)); return *this; } + inline JsonEnumsRequest& AddFooEnumMap(Aws::String&& key, FooEnum&& value) { m_fooEnumMapHasBeenSet = true; m_fooEnumMap.emplace(std::move(key), std::move(value)); return *this; } + inline JsonEnumsRequest& AddFooEnumMap(const char* key, FooEnum&& value) { m_fooEnumMapHasBeenSet = true; m_fooEnumMap.emplace(key, std::move(value)); return *this; } + inline JsonEnumsRequest& AddFooEnumMap(const char* key, const FooEnum& value) { m_fooEnumMapHasBeenSet = true; m_fooEnumMap.emplace(key, value); return *this; } + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline bool RequestIdHasBeenSet() const { return m_requestIdHasBeenSet; } + inline void SetRequestId(const Aws::String& value) { m_requestIdHasBeenSet = true; m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestIdHasBeenSet = true; m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestIdHasBeenSet = true; m_requestId.assign(value); } + inline JsonEnumsRequest& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline JsonEnumsRequest& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline JsonEnumsRequest& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + FooEnum m_fooEnum1; + bool m_fooEnum1HasBeenSet = false; + + FooEnum m_fooEnum2; + bool m_fooEnum2HasBeenSet = false; + + FooEnum m_fooEnum3; + bool m_fooEnum3HasBeenSet = false; + + Aws::Vector m_fooEnumList; + bool m_fooEnumListHasBeenSet = false; + + Aws::Vector m_fooEnumSet; + bool m_fooEnumSetHasBeenSet = false; + + Aws::Map m_fooEnumMap; + bool m_fooEnumMapHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace RestJsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/JsonEnumsResult.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/JsonEnumsResult.h new file mode 100644 index 00000000000..37e1309e5c9 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/JsonEnumsResult.h @@ -0,0 +1,131 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace RestJsonProtocol +{ +namespace Model +{ + class JsonEnumsResult + { + public: + AWS_RESTJSONPROTOCOL_API JsonEnumsResult(); + AWS_RESTJSONPROTOCOL_API JsonEnumsResult(const Aws::AmazonWebServiceResult& result); + AWS_RESTJSONPROTOCOL_API JsonEnumsResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const FooEnum& GetFooEnum1() const{ return m_fooEnum1; } + inline void SetFooEnum1(const FooEnum& value) { m_fooEnum1 = value; } + inline void SetFooEnum1(FooEnum&& value) { m_fooEnum1 = std::move(value); } + inline JsonEnumsResult& WithFooEnum1(const FooEnum& value) { SetFooEnum1(value); return *this;} + inline JsonEnumsResult& WithFooEnum1(FooEnum&& value) { SetFooEnum1(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const FooEnum& GetFooEnum2() const{ return m_fooEnum2; } + inline void SetFooEnum2(const FooEnum& value) { m_fooEnum2 = value; } + inline void SetFooEnum2(FooEnum&& value) { m_fooEnum2 = std::move(value); } + inline JsonEnumsResult& WithFooEnum2(const FooEnum& value) { SetFooEnum2(value); return *this;} + inline JsonEnumsResult& WithFooEnum2(FooEnum&& value) { SetFooEnum2(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const FooEnum& GetFooEnum3() const{ return m_fooEnum3; } + inline void SetFooEnum3(const FooEnum& value) { m_fooEnum3 = value; } + inline void SetFooEnum3(FooEnum&& value) { m_fooEnum3 = std::move(value); } + inline JsonEnumsResult& WithFooEnum3(const FooEnum& value) { SetFooEnum3(value); return *this;} + inline JsonEnumsResult& WithFooEnum3(FooEnum&& value) { SetFooEnum3(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::Vector& GetFooEnumList() const{ return m_fooEnumList; } + inline void SetFooEnumList(const Aws::Vector& value) { m_fooEnumList = value; } + inline void SetFooEnumList(Aws::Vector&& value) { m_fooEnumList = std::move(value); } + inline JsonEnumsResult& WithFooEnumList(const Aws::Vector& value) { SetFooEnumList(value); return *this;} + inline JsonEnumsResult& WithFooEnumList(Aws::Vector&& value) { SetFooEnumList(std::move(value)); return *this;} + inline JsonEnumsResult& AddFooEnumList(const FooEnum& value) { m_fooEnumList.push_back(value); return *this; } + inline JsonEnumsResult& AddFooEnumList(FooEnum&& value) { m_fooEnumList.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetFooEnumSet() const{ return m_fooEnumSet; } + inline void SetFooEnumSet(const Aws::Vector& value) { m_fooEnumSet = value; } + inline void SetFooEnumSet(Aws::Vector&& value) { m_fooEnumSet = std::move(value); } + inline JsonEnumsResult& WithFooEnumSet(const Aws::Vector& value) { SetFooEnumSet(value); return *this;} + inline JsonEnumsResult& WithFooEnumSet(Aws::Vector&& value) { SetFooEnumSet(std::move(value)); return *this;} + inline JsonEnumsResult& AddFooEnumSet(const FooEnum& value) { m_fooEnumSet.push_back(value); return *this; } + inline JsonEnumsResult& AddFooEnumSet(FooEnum&& value) { m_fooEnumSet.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + + inline const Aws::Map& GetFooEnumMap() const{ return m_fooEnumMap; } + inline void SetFooEnumMap(const Aws::Map& value) { m_fooEnumMap = value; } + inline void SetFooEnumMap(Aws::Map&& value) { m_fooEnumMap = std::move(value); } + inline JsonEnumsResult& WithFooEnumMap(const Aws::Map& value) { SetFooEnumMap(value); return *this;} + inline JsonEnumsResult& WithFooEnumMap(Aws::Map&& value) { SetFooEnumMap(std::move(value)); return *this;} + inline JsonEnumsResult& AddFooEnumMap(const Aws::String& key, const FooEnum& value) { m_fooEnumMap.emplace(key, value); return *this; } + inline JsonEnumsResult& AddFooEnumMap(Aws::String&& key, const FooEnum& value) { m_fooEnumMap.emplace(std::move(key), value); return *this; } + inline JsonEnumsResult& AddFooEnumMap(const Aws::String& key, FooEnum&& value) { m_fooEnumMap.emplace(key, std::move(value)); return *this; } + inline JsonEnumsResult& AddFooEnumMap(Aws::String&& key, FooEnum&& value) { m_fooEnumMap.emplace(std::move(key), std::move(value)); return *this; } + inline JsonEnumsResult& AddFooEnumMap(const char* key, FooEnum&& value) { m_fooEnumMap.emplace(key, std::move(value)); return *this; } + inline JsonEnumsResult& AddFooEnumMap(const char* key, const FooEnum& value) { m_fooEnumMap.emplace(key, value); return *this; } + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline JsonEnumsResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline JsonEnumsResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline JsonEnumsResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + FooEnum m_fooEnum1; + + FooEnum m_fooEnum2; + + FooEnum m_fooEnum3; + + Aws::Vector m_fooEnumList; + + Aws::Vector m_fooEnumSet; + + Aws::Map m_fooEnumMap; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace RestJsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/JsonIntEnumsRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/JsonIntEnumsRequest.h new file mode 100644 index 00000000000..0f998fc09e1 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/JsonIntEnumsRequest.h @@ -0,0 +1,135 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace RestJsonProtocol +{ +namespace Model +{ + + /** + */ + class JsonIntEnumsRequest : public RestJsonProtocolRequest + { + public: + AWS_RESTJSONPROTOCOL_API JsonIntEnumsRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "JsonIntEnums"; } + + AWS_RESTJSONPROTOCOL_API Aws::String SerializePayload() const override; + + AWS_RESTJSONPROTOCOL_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + + inline int GetIntegerEnum1() const{ return m_integerEnum1; } + inline bool IntegerEnum1HasBeenSet() const { return m_integerEnum1HasBeenSet; } + inline void SetIntegerEnum1(int value) { m_integerEnum1HasBeenSet = true; m_integerEnum1 = value; } + inline JsonIntEnumsRequest& WithIntegerEnum1(int value) { SetIntegerEnum1(value); return *this;} + ///@} + + ///@{ + + inline int GetIntegerEnum2() const{ return m_integerEnum2; } + inline bool IntegerEnum2HasBeenSet() const { return m_integerEnum2HasBeenSet; } + inline void SetIntegerEnum2(int value) { m_integerEnum2HasBeenSet = true; m_integerEnum2 = value; } + inline JsonIntEnumsRequest& WithIntegerEnum2(int value) { SetIntegerEnum2(value); return *this;} + ///@} + + ///@{ + + inline int GetIntegerEnum3() const{ return m_integerEnum3; } + inline bool IntegerEnum3HasBeenSet() const { return m_integerEnum3HasBeenSet; } + inline void SetIntegerEnum3(int value) { m_integerEnum3HasBeenSet = true; m_integerEnum3 = value; } + inline JsonIntEnumsRequest& WithIntegerEnum3(int value) { SetIntegerEnum3(value); return *this;} + ///@} + + ///@{ + + inline const Aws::Vector& GetIntegerEnumList() const{ return m_integerEnumList; } + inline bool IntegerEnumListHasBeenSet() const { return m_integerEnumListHasBeenSet; } + inline void SetIntegerEnumList(const Aws::Vector& value) { m_integerEnumListHasBeenSet = true; m_integerEnumList = value; } + inline void SetIntegerEnumList(Aws::Vector&& value) { m_integerEnumListHasBeenSet = true; m_integerEnumList = std::move(value); } + inline JsonIntEnumsRequest& WithIntegerEnumList(const Aws::Vector& value) { SetIntegerEnumList(value); return *this;} + inline JsonIntEnumsRequest& WithIntegerEnumList(Aws::Vector&& value) { SetIntegerEnumList(std::move(value)); return *this;} + inline JsonIntEnumsRequest& AddIntegerEnumList(int value) { m_integerEnumListHasBeenSet = true; m_integerEnumList.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetIntegerEnumSet() const{ return m_integerEnumSet; } + inline bool IntegerEnumSetHasBeenSet() const { return m_integerEnumSetHasBeenSet; } + inline void SetIntegerEnumSet(const Aws::Vector& value) { m_integerEnumSetHasBeenSet = true; m_integerEnumSet = value; } + inline void SetIntegerEnumSet(Aws::Vector&& value) { m_integerEnumSetHasBeenSet = true; m_integerEnumSet = std::move(value); } + inline JsonIntEnumsRequest& WithIntegerEnumSet(const Aws::Vector& value) { SetIntegerEnumSet(value); return *this;} + inline JsonIntEnumsRequest& WithIntegerEnumSet(Aws::Vector&& value) { SetIntegerEnumSet(std::move(value)); return *this;} + inline JsonIntEnumsRequest& AddIntegerEnumSet(int value) { m_integerEnumSetHasBeenSet = true; m_integerEnumSet.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::Map& GetIntegerEnumMap() const{ return m_integerEnumMap; } + inline bool IntegerEnumMapHasBeenSet() const { return m_integerEnumMapHasBeenSet; } + inline void SetIntegerEnumMap(const Aws::Map& value) { m_integerEnumMapHasBeenSet = true; m_integerEnumMap = value; } + inline void SetIntegerEnumMap(Aws::Map&& value) { m_integerEnumMapHasBeenSet = true; m_integerEnumMap = std::move(value); } + inline JsonIntEnumsRequest& WithIntegerEnumMap(const Aws::Map& value) { SetIntegerEnumMap(value); return *this;} + inline JsonIntEnumsRequest& WithIntegerEnumMap(Aws::Map&& value) { SetIntegerEnumMap(std::move(value)); return *this;} + inline JsonIntEnumsRequest& AddIntegerEnumMap(const Aws::String& key, int value) { m_integerEnumMapHasBeenSet = true; m_integerEnumMap.emplace(key, value); return *this; } + inline JsonIntEnumsRequest& AddIntegerEnumMap(Aws::String&& key, int value) { m_integerEnumMapHasBeenSet = true; m_integerEnumMap.emplace(std::move(key), value); return *this; } + inline JsonIntEnumsRequest& AddIntegerEnumMap(const char* key, int value) { m_integerEnumMapHasBeenSet = true; m_integerEnumMap.emplace(key, value); return *this; } + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline bool RequestIdHasBeenSet() const { return m_requestIdHasBeenSet; } + inline void SetRequestId(const Aws::String& value) { m_requestIdHasBeenSet = true; m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestIdHasBeenSet = true; m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestIdHasBeenSet = true; m_requestId.assign(value); } + inline JsonIntEnumsRequest& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline JsonIntEnumsRequest& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline JsonIntEnumsRequest& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + int m_integerEnum1; + bool m_integerEnum1HasBeenSet = false; + + int m_integerEnum2; + bool m_integerEnum2HasBeenSet = false; + + int m_integerEnum3; + bool m_integerEnum3HasBeenSet = false; + + Aws::Vector m_integerEnumList; + bool m_integerEnumListHasBeenSet = false; + + Aws::Vector m_integerEnumSet; + bool m_integerEnumSetHasBeenSet = false; + + Aws::Map m_integerEnumMap; + bool m_integerEnumMapHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace RestJsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/JsonIntEnumsResult.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/JsonIntEnumsResult.h new file mode 100644 index 00000000000..7521ec0f6db --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/JsonIntEnumsResult.h @@ -0,0 +1,119 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace RestJsonProtocol +{ +namespace Model +{ + class JsonIntEnumsResult + { + public: + AWS_RESTJSONPROTOCOL_API JsonIntEnumsResult(); + AWS_RESTJSONPROTOCOL_API JsonIntEnumsResult(const Aws::AmazonWebServiceResult& result); + AWS_RESTJSONPROTOCOL_API JsonIntEnumsResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline int GetIntegerEnum1() const{ return m_integerEnum1; } + inline void SetIntegerEnum1(int value) { m_integerEnum1 = value; } + inline JsonIntEnumsResult& WithIntegerEnum1(int value) { SetIntegerEnum1(value); return *this;} + ///@} + + ///@{ + + inline int GetIntegerEnum2() const{ return m_integerEnum2; } + inline void SetIntegerEnum2(int value) { m_integerEnum2 = value; } + inline JsonIntEnumsResult& WithIntegerEnum2(int value) { SetIntegerEnum2(value); return *this;} + ///@} + + ///@{ + + inline int GetIntegerEnum3() const{ return m_integerEnum3; } + inline void SetIntegerEnum3(int value) { m_integerEnum3 = value; } + inline JsonIntEnumsResult& WithIntegerEnum3(int value) { SetIntegerEnum3(value); return *this;} + ///@} + + ///@{ + + inline const Aws::Vector& GetIntegerEnumList() const{ return m_integerEnumList; } + inline void SetIntegerEnumList(const Aws::Vector& value) { m_integerEnumList = value; } + inline void SetIntegerEnumList(Aws::Vector&& value) { m_integerEnumList = std::move(value); } + inline JsonIntEnumsResult& WithIntegerEnumList(const Aws::Vector& value) { SetIntegerEnumList(value); return *this;} + inline JsonIntEnumsResult& WithIntegerEnumList(Aws::Vector&& value) { SetIntegerEnumList(std::move(value)); return *this;} + inline JsonIntEnumsResult& AddIntegerEnumList(int value) { m_integerEnumList.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetIntegerEnumSet() const{ return m_integerEnumSet; } + inline void SetIntegerEnumSet(const Aws::Vector& value) { m_integerEnumSet = value; } + inline void SetIntegerEnumSet(Aws::Vector&& value) { m_integerEnumSet = std::move(value); } + inline JsonIntEnumsResult& WithIntegerEnumSet(const Aws::Vector& value) { SetIntegerEnumSet(value); return *this;} + inline JsonIntEnumsResult& WithIntegerEnumSet(Aws::Vector&& value) { SetIntegerEnumSet(std::move(value)); return *this;} + inline JsonIntEnumsResult& AddIntegerEnumSet(int value) { m_integerEnumSet.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::Map& GetIntegerEnumMap() const{ return m_integerEnumMap; } + inline void SetIntegerEnumMap(const Aws::Map& value) { m_integerEnumMap = value; } + inline void SetIntegerEnumMap(Aws::Map&& value) { m_integerEnumMap = std::move(value); } + inline JsonIntEnumsResult& WithIntegerEnumMap(const Aws::Map& value) { SetIntegerEnumMap(value); return *this;} + inline JsonIntEnumsResult& WithIntegerEnumMap(Aws::Map&& value) { SetIntegerEnumMap(std::move(value)); return *this;} + inline JsonIntEnumsResult& AddIntegerEnumMap(const Aws::String& key, int value) { m_integerEnumMap.emplace(key, value); return *this; } + inline JsonIntEnumsResult& AddIntegerEnumMap(Aws::String&& key, int value) { m_integerEnumMap.emplace(std::move(key), value); return *this; } + inline JsonIntEnumsResult& AddIntegerEnumMap(const char* key, int value) { m_integerEnumMap.emplace(key, value); return *this; } + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline JsonIntEnumsResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline JsonIntEnumsResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline JsonIntEnumsResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + int m_integerEnum1; + + int m_integerEnum2; + + int m_integerEnum3; + + Aws::Vector m_integerEnumList; + + Aws::Vector m_integerEnumSet; + + Aws::Map m_integerEnumMap; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace RestJsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/JsonListsRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/JsonListsRequest.h new file mode 100644 index 00000000000..b05b50d9184 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/JsonListsRequest.h @@ -0,0 +1,194 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace RestJsonProtocol +{ +namespace Model +{ + + /** + */ + class JsonListsRequest : public RestJsonProtocolRequest + { + public: + AWS_RESTJSONPROTOCOL_API JsonListsRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "JsonLists"; } + + AWS_RESTJSONPROTOCOL_API Aws::String SerializePayload() const override; + + AWS_RESTJSONPROTOCOL_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + + inline const Aws::Vector& GetStringList() const{ return m_stringList; } + inline bool StringListHasBeenSet() const { return m_stringListHasBeenSet; } + inline void SetStringList(const Aws::Vector& value) { m_stringListHasBeenSet = true; m_stringList = value; } + inline void SetStringList(Aws::Vector&& value) { m_stringListHasBeenSet = true; m_stringList = std::move(value); } + inline JsonListsRequest& WithStringList(const Aws::Vector& value) { SetStringList(value); return *this;} + inline JsonListsRequest& WithStringList(Aws::Vector&& value) { SetStringList(std::move(value)); return *this;} + inline JsonListsRequest& AddStringList(const Aws::String& value) { m_stringListHasBeenSet = true; m_stringList.push_back(value); return *this; } + inline JsonListsRequest& AddStringList(Aws::String&& value) { m_stringListHasBeenSet = true; m_stringList.push_back(std::move(value)); return *this; } + inline JsonListsRequest& AddStringList(const char* value) { m_stringListHasBeenSet = true; m_stringList.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetStringSet() const{ return m_stringSet; } + inline bool StringSetHasBeenSet() const { return m_stringSetHasBeenSet; } + inline void SetStringSet(const Aws::Vector& value) { m_stringSetHasBeenSet = true; m_stringSet = value; } + inline void SetStringSet(Aws::Vector&& value) { m_stringSetHasBeenSet = true; m_stringSet = std::move(value); } + inline JsonListsRequest& WithStringSet(const Aws::Vector& value) { SetStringSet(value); return *this;} + inline JsonListsRequest& WithStringSet(Aws::Vector&& value) { SetStringSet(std::move(value)); return *this;} + inline JsonListsRequest& AddStringSet(const Aws::String& value) { m_stringSetHasBeenSet = true; m_stringSet.push_back(value); return *this; } + inline JsonListsRequest& AddStringSet(Aws::String&& value) { m_stringSetHasBeenSet = true; m_stringSet.push_back(std::move(value)); return *this; } + inline JsonListsRequest& AddStringSet(const char* value) { m_stringSetHasBeenSet = true; m_stringSet.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetIntegerList() const{ return m_integerList; } + inline bool IntegerListHasBeenSet() const { return m_integerListHasBeenSet; } + inline void SetIntegerList(const Aws::Vector& value) { m_integerListHasBeenSet = true; m_integerList = value; } + inline void SetIntegerList(Aws::Vector&& value) { m_integerListHasBeenSet = true; m_integerList = std::move(value); } + inline JsonListsRequest& WithIntegerList(const Aws::Vector& value) { SetIntegerList(value); return *this;} + inline JsonListsRequest& WithIntegerList(Aws::Vector&& value) { SetIntegerList(std::move(value)); return *this;} + inline JsonListsRequest& AddIntegerList(int value) { m_integerListHasBeenSet = true; m_integerList.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetBooleanList() const{ return m_booleanList; } + inline bool BooleanListHasBeenSet() const { return m_booleanListHasBeenSet; } + inline void SetBooleanList(const Aws::Vector& value) { m_booleanListHasBeenSet = true; m_booleanList = value; } + inline void SetBooleanList(Aws::Vector&& value) { m_booleanListHasBeenSet = true; m_booleanList = std::move(value); } + inline JsonListsRequest& WithBooleanList(const Aws::Vector& value) { SetBooleanList(value); return *this;} + inline JsonListsRequest& WithBooleanList(Aws::Vector&& value) { SetBooleanList(std::move(value)); return *this;} + inline JsonListsRequest& AddBooleanList(bool value) { m_booleanListHasBeenSet = true; m_booleanList.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetTimestampList() const{ return m_timestampList; } + inline bool TimestampListHasBeenSet() const { return m_timestampListHasBeenSet; } + inline void SetTimestampList(const Aws::Vector& value) { m_timestampListHasBeenSet = true; m_timestampList = value; } + inline void SetTimestampList(Aws::Vector&& value) { m_timestampListHasBeenSet = true; m_timestampList = std::move(value); } + inline JsonListsRequest& WithTimestampList(const Aws::Vector& value) { SetTimestampList(value); return *this;} + inline JsonListsRequest& WithTimestampList(Aws::Vector&& value) { SetTimestampList(std::move(value)); return *this;} + inline JsonListsRequest& AddTimestampList(const Aws::Utils::DateTime& value) { m_timestampListHasBeenSet = true; m_timestampList.push_back(value); return *this; } + inline JsonListsRequest& AddTimestampList(Aws::Utils::DateTime&& value) { m_timestampListHasBeenSet = true; m_timestampList.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetEnumList() const{ return m_enumList; } + inline bool EnumListHasBeenSet() const { return m_enumListHasBeenSet; } + inline void SetEnumList(const Aws::Vector& value) { m_enumListHasBeenSet = true; m_enumList = value; } + inline void SetEnumList(Aws::Vector&& value) { m_enumListHasBeenSet = true; m_enumList = std::move(value); } + inline JsonListsRequest& WithEnumList(const Aws::Vector& value) { SetEnumList(value); return *this;} + inline JsonListsRequest& WithEnumList(Aws::Vector&& value) { SetEnumList(std::move(value)); return *this;} + inline JsonListsRequest& AddEnumList(const FooEnum& value) { m_enumListHasBeenSet = true; m_enumList.push_back(value); return *this; } + inline JsonListsRequest& AddEnumList(FooEnum&& value) { m_enumListHasBeenSet = true; m_enumList.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetIntEnumList() const{ return m_intEnumList; } + inline bool IntEnumListHasBeenSet() const { return m_intEnumListHasBeenSet; } + inline void SetIntEnumList(const Aws::Vector& value) { m_intEnumListHasBeenSet = true; m_intEnumList = value; } + inline void SetIntEnumList(Aws::Vector&& value) { m_intEnumListHasBeenSet = true; m_intEnumList = std::move(value); } + inline JsonListsRequest& WithIntEnumList(const Aws::Vector& value) { SetIntEnumList(value); return *this;} + inline JsonListsRequest& WithIntEnumList(Aws::Vector&& value) { SetIntEnumList(std::move(value)); return *this;} + inline JsonListsRequest& AddIntEnumList(int value) { m_intEnumListHasBeenSet = true; m_intEnumList.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector>& GetNestedStringList() const{ return m_nestedStringList; } + inline bool NestedStringListHasBeenSet() const { return m_nestedStringListHasBeenSet; } + inline void SetNestedStringList(const Aws::Vector>& value) { m_nestedStringListHasBeenSet = true; m_nestedStringList = value; } + inline void SetNestedStringList(Aws::Vector>&& value) { m_nestedStringListHasBeenSet = true; m_nestedStringList = std::move(value); } + inline JsonListsRequest& WithNestedStringList(const Aws::Vector>& value) { SetNestedStringList(value); return *this;} + inline JsonListsRequest& WithNestedStringList(Aws::Vector>&& value) { SetNestedStringList(std::move(value)); return *this;} + inline JsonListsRequest& AddNestedStringList(const Aws::Vector& value) { m_nestedStringListHasBeenSet = true; m_nestedStringList.push_back(value); return *this; } + inline JsonListsRequest& AddNestedStringList(Aws::Vector&& value) { m_nestedStringListHasBeenSet = true; m_nestedStringList.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetStructureList() const{ return m_structureList; } + inline bool StructureListHasBeenSet() const { return m_structureListHasBeenSet; } + inline void SetStructureList(const Aws::Vector& value) { m_structureListHasBeenSet = true; m_structureList = value; } + inline void SetStructureList(Aws::Vector&& value) { m_structureListHasBeenSet = true; m_structureList = std::move(value); } + inline JsonListsRequest& WithStructureList(const Aws::Vector& value) { SetStructureList(value); return *this;} + inline JsonListsRequest& WithStructureList(Aws::Vector&& value) { SetStructureList(std::move(value)); return *this;} + inline JsonListsRequest& AddStructureList(const StructureListMember& value) { m_structureListHasBeenSet = true; m_structureList.push_back(value); return *this; } + inline JsonListsRequest& AddStructureList(StructureListMember&& value) { m_structureListHasBeenSet = true; m_structureList.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline bool RequestIdHasBeenSet() const { return m_requestIdHasBeenSet; } + inline void SetRequestId(const Aws::String& value) { m_requestIdHasBeenSet = true; m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestIdHasBeenSet = true; m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestIdHasBeenSet = true; m_requestId.assign(value); } + inline JsonListsRequest& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline JsonListsRequest& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline JsonListsRequest& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::Vector m_stringList; + bool m_stringListHasBeenSet = false; + + Aws::Vector m_stringSet; + bool m_stringSetHasBeenSet = false; + + Aws::Vector m_integerList; + bool m_integerListHasBeenSet = false; + + Aws::Vector m_booleanList; + bool m_booleanListHasBeenSet = false; + + Aws::Vector m_timestampList; + bool m_timestampListHasBeenSet = false; + + Aws::Vector m_enumList; + bool m_enumListHasBeenSet = false; + + Aws::Vector m_intEnumList; + bool m_intEnumListHasBeenSet = false; + + Aws::Vector> m_nestedStringList; + bool m_nestedStringListHasBeenSet = false; + + Aws::Vector m_structureList; + bool m_structureListHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace RestJsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/JsonListsResult.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/JsonListsResult.h new file mode 100644 index 00000000000..651d56668cf --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/JsonListsResult.h @@ -0,0 +1,172 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace RestJsonProtocol +{ +namespace Model +{ + class JsonListsResult + { + public: + AWS_RESTJSONPROTOCOL_API JsonListsResult(); + AWS_RESTJSONPROTOCOL_API JsonListsResult(const Aws::AmazonWebServiceResult& result); + AWS_RESTJSONPROTOCOL_API JsonListsResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::Vector& GetStringList() const{ return m_stringList; } + inline void SetStringList(const Aws::Vector& value) { m_stringList = value; } + inline void SetStringList(Aws::Vector&& value) { m_stringList = std::move(value); } + inline JsonListsResult& WithStringList(const Aws::Vector& value) { SetStringList(value); return *this;} + inline JsonListsResult& WithStringList(Aws::Vector&& value) { SetStringList(std::move(value)); return *this;} + inline JsonListsResult& AddStringList(const Aws::String& value) { m_stringList.push_back(value); return *this; } + inline JsonListsResult& AddStringList(Aws::String&& value) { m_stringList.push_back(std::move(value)); return *this; } + inline JsonListsResult& AddStringList(const char* value) { m_stringList.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetStringSet() const{ return m_stringSet; } + inline void SetStringSet(const Aws::Vector& value) { m_stringSet = value; } + inline void SetStringSet(Aws::Vector&& value) { m_stringSet = std::move(value); } + inline JsonListsResult& WithStringSet(const Aws::Vector& value) { SetStringSet(value); return *this;} + inline JsonListsResult& WithStringSet(Aws::Vector&& value) { SetStringSet(std::move(value)); return *this;} + inline JsonListsResult& AddStringSet(const Aws::String& value) { m_stringSet.push_back(value); return *this; } + inline JsonListsResult& AddStringSet(Aws::String&& value) { m_stringSet.push_back(std::move(value)); return *this; } + inline JsonListsResult& AddStringSet(const char* value) { m_stringSet.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetIntegerList() const{ return m_integerList; } + inline void SetIntegerList(const Aws::Vector& value) { m_integerList = value; } + inline void SetIntegerList(Aws::Vector&& value) { m_integerList = std::move(value); } + inline JsonListsResult& WithIntegerList(const Aws::Vector& value) { SetIntegerList(value); return *this;} + inline JsonListsResult& WithIntegerList(Aws::Vector&& value) { SetIntegerList(std::move(value)); return *this;} + inline JsonListsResult& AddIntegerList(int value) { m_integerList.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetBooleanList() const{ return m_booleanList; } + inline void SetBooleanList(const Aws::Vector& value) { m_booleanList = value; } + inline void SetBooleanList(Aws::Vector&& value) { m_booleanList = std::move(value); } + inline JsonListsResult& WithBooleanList(const Aws::Vector& value) { SetBooleanList(value); return *this;} + inline JsonListsResult& WithBooleanList(Aws::Vector&& value) { SetBooleanList(std::move(value)); return *this;} + inline JsonListsResult& AddBooleanList(bool value) { m_booleanList.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetTimestampList() const{ return m_timestampList; } + inline void SetTimestampList(const Aws::Vector& value) { m_timestampList = value; } + inline void SetTimestampList(Aws::Vector&& value) { m_timestampList = std::move(value); } + inline JsonListsResult& WithTimestampList(const Aws::Vector& value) { SetTimestampList(value); return *this;} + inline JsonListsResult& WithTimestampList(Aws::Vector&& value) { SetTimestampList(std::move(value)); return *this;} + inline JsonListsResult& AddTimestampList(const Aws::Utils::DateTime& value) { m_timestampList.push_back(value); return *this; } + inline JsonListsResult& AddTimestampList(Aws::Utils::DateTime&& value) { m_timestampList.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetEnumList() const{ return m_enumList; } + inline void SetEnumList(const Aws::Vector& value) { m_enumList = value; } + inline void SetEnumList(Aws::Vector&& value) { m_enumList = std::move(value); } + inline JsonListsResult& WithEnumList(const Aws::Vector& value) { SetEnumList(value); return *this;} + inline JsonListsResult& WithEnumList(Aws::Vector&& value) { SetEnumList(std::move(value)); return *this;} + inline JsonListsResult& AddEnumList(const FooEnum& value) { m_enumList.push_back(value); return *this; } + inline JsonListsResult& AddEnumList(FooEnum&& value) { m_enumList.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetIntEnumList() const{ return m_intEnumList; } + inline void SetIntEnumList(const Aws::Vector& value) { m_intEnumList = value; } + inline void SetIntEnumList(Aws::Vector&& value) { m_intEnumList = std::move(value); } + inline JsonListsResult& WithIntEnumList(const Aws::Vector& value) { SetIntEnumList(value); return *this;} + inline JsonListsResult& WithIntEnumList(Aws::Vector&& value) { SetIntEnumList(std::move(value)); return *this;} + inline JsonListsResult& AddIntEnumList(int value) { m_intEnumList.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector>& GetNestedStringList() const{ return m_nestedStringList; } + inline void SetNestedStringList(const Aws::Vector>& value) { m_nestedStringList = value; } + inline void SetNestedStringList(Aws::Vector>&& value) { m_nestedStringList = std::move(value); } + inline JsonListsResult& WithNestedStringList(const Aws::Vector>& value) { SetNestedStringList(value); return *this;} + inline JsonListsResult& WithNestedStringList(Aws::Vector>&& value) { SetNestedStringList(std::move(value)); return *this;} + inline JsonListsResult& AddNestedStringList(const Aws::Vector& value) { m_nestedStringList.push_back(value); return *this; } + inline JsonListsResult& AddNestedStringList(Aws::Vector&& value) { m_nestedStringList.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetStructureList() const{ return m_structureList; } + inline void SetStructureList(const Aws::Vector& value) { m_structureList = value; } + inline void SetStructureList(Aws::Vector&& value) { m_structureList = std::move(value); } + inline JsonListsResult& WithStructureList(const Aws::Vector& value) { SetStructureList(value); return *this;} + inline JsonListsResult& WithStructureList(Aws::Vector&& value) { SetStructureList(std::move(value)); return *this;} + inline JsonListsResult& AddStructureList(const StructureListMember& value) { m_structureList.push_back(value); return *this; } + inline JsonListsResult& AddStructureList(StructureListMember&& value) { m_structureList.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline JsonListsResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline JsonListsResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline JsonListsResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::Vector m_stringList; + + Aws::Vector m_stringSet; + + Aws::Vector m_integerList; + + Aws::Vector m_booleanList; + + Aws::Vector m_timestampList; + + Aws::Vector m_enumList; + + Aws::Vector m_intEnumList; + + Aws::Vector> m_nestedStringList; + + Aws::Vector m_structureList; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace RestJsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/JsonMapsRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/JsonMapsRequest.h new file mode 100644 index 00000000000..1186bf323f6 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/JsonMapsRequest.h @@ -0,0 +1,149 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace RestJsonProtocol +{ +namespace Model +{ + + /** + */ + class JsonMapsRequest : public RestJsonProtocolRequest + { + public: + AWS_RESTJSONPROTOCOL_API JsonMapsRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "JsonMaps"; } + + AWS_RESTJSONPROTOCOL_API Aws::String SerializePayload() const override; + + AWS_RESTJSONPROTOCOL_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + + inline const Aws::Map& GetDenseStructMap() const{ return m_denseStructMap; } + inline bool DenseStructMapHasBeenSet() const { return m_denseStructMapHasBeenSet; } + inline void SetDenseStructMap(const Aws::Map& value) { m_denseStructMapHasBeenSet = true; m_denseStructMap = value; } + inline void SetDenseStructMap(Aws::Map&& value) { m_denseStructMapHasBeenSet = true; m_denseStructMap = std::move(value); } + inline JsonMapsRequest& WithDenseStructMap(const Aws::Map& value) { SetDenseStructMap(value); return *this;} + inline JsonMapsRequest& WithDenseStructMap(Aws::Map&& value) { SetDenseStructMap(std::move(value)); return *this;} + inline JsonMapsRequest& AddDenseStructMap(const Aws::String& key, const GreetingStruct& value) { m_denseStructMapHasBeenSet = true; m_denseStructMap.emplace(key, value); return *this; } + inline JsonMapsRequest& AddDenseStructMap(Aws::String&& key, const GreetingStruct& value) { m_denseStructMapHasBeenSet = true; m_denseStructMap.emplace(std::move(key), value); return *this; } + inline JsonMapsRequest& AddDenseStructMap(const Aws::String& key, GreetingStruct&& value) { m_denseStructMapHasBeenSet = true; m_denseStructMap.emplace(key, std::move(value)); return *this; } + inline JsonMapsRequest& AddDenseStructMap(Aws::String&& key, GreetingStruct&& value) { m_denseStructMapHasBeenSet = true; m_denseStructMap.emplace(std::move(key), std::move(value)); return *this; } + inline JsonMapsRequest& AddDenseStructMap(const char* key, GreetingStruct&& value) { m_denseStructMapHasBeenSet = true; m_denseStructMap.emplace(key, std::move(value)); return *this; } + inline JsonMapsRequest& AddDenseStructMap(const char* key, const GreetingStruct& value) { m_denseStructMapHasBeenSet = true; m_denseStructMap.emplace(key, value); return *this; } + ///@} + + ///@{ + + inline const Aws::Map& GetDenseNumberMap() const{ return m_denseNumberMap; } + inline bool DenseNumberMapHasBeenSet() const { return m_denseNumberMapHasBeenSet; } + inline void SetDenseNumberMap(const Aws::Map& value) { m_denseNumberMapHasBeenSet = true; m_denseNumberMap = value; } + inline void SetDenseNumberMap(Aws::Map&& value) { m_denseNumberMapHasBeenSet = true; m_denseNumberMap = std::move(value); } + inline JsonMapsRequest& WithDenseNumberMap(const Aws::Map& value) { SetDenseNumberMap(value); return *this;} + inline JsonMapsRequest& WithDenseNumberMap(Aws::Map&& value) { SetDenseNumberMap(std::move(value)); return *this;} + inline JsonMapsRequest& AddDenseNumberMap(const Aws::String& key, int value) { m_denseNumberMapHasBeenSet = true; m_denseNumberMap.emplace(key, value); return *this; } + inline JsonMapsRequest& AddDenseNumberMap(Aws::String&& key, int value) { m_denseNumberMapHasBeenSet = true; m_denseNumberMap.emplace(std::move(key), value); return *this; } + inline JsonMapsRequest& AddDenseNumberMap(const char* key, int value) { m_denseNumberMapHasBeenSet = true; m_denseNumberMap.emplace(key, value); return *this; } + ///@} + + ///@{ + + inline const Aws::Map& GetDenseBooleanMap() const{ return m_denseBooleanMap; } + inline bool DenseBooleanMapHasBeenSet() const { return m_denseBooleanMapHasBeenSet; } + inline void SetDenseBooleanMap(const Aws::Map& value) { m_denseBooleanMapHasBeenSet = true; m_denseBooleanMap = value; } + inline void SetDenseBooleanMap(Aws::Map&& value) { m_denseBooleanMapHasBeenSet = true; m_denseBooleanMap = std::move(value); } + inline JsonMapsRequest& WithDenseBooleanMap(const Aws::Map& value) { SetDenseBooleanMap(value); return *this;} + inline JsonMapsRequest& WithDenseBooleanMap(Aws::Map&& value) { SetDenseBooleanMap(std::move(value)); return *this;} + inline JsonMapsRequest& AddDenseBooleanMap(const Aws::String& key, bool value) { m_denseBooleanMapHasBeenSet = true; m_denseBooleanMap.emplace(key, value); return *this; } + inline JsonMapsRequest& AddDenseBooleanMap(Aws::String&& key, bool value) { m_denseBooleanMapHasBeenSet = true; m_denseBooleanMap.emplace(std::move(key), value); return *this; } + inline JsonMapsRequest& AddDenseBooleanMap(const char* key, bool value) { m_denseBooleanMapHasBeenSet = true; m_denseBooleanMap.emplace(key, value); return *this; } + ///@} + + ///@{ + + inline const Aws::Map& GetDenseStringMap() const{ return m_denseStringMap; } + inline bool DenseStringMapHasBeenSet() const { return m_denseStringMapHasBeenSet; } + inline void SetDenseStringMap(const Aws::Map& value) { m_denseStringMapHasBeenSet = true; m_denseStringMap = value; } + inline void SetDenseStringMap(Aws::Map&& value) { m_denseStringMapHasBeenSet = true; m_denseStringMap = std::move(value); } + inline JsonMapsRequest& WithDenseStringMap(const Aws::Map& value) { SetDenseStringMap(value); return *this;} + inline JsonMapsRequest& WithDenseStringMap(Aws::Map&& value) { SetDenseStringMap(std::move(value)); return *this;} + inline JsonMapsRequest& AddDenseStringMap(const Aws::String& key, const Aws::String& value) { m_denseStringMapHasBeenSet = true; m_denseStringMap.emplace(key, value); return *this; } + inline JsonMapsRequest& AddDenseStringMap(Aws::String&& key, const Aws::String& value) { m_denseStringMapHasBeenSet = true; m_denseStringMap.emplace(std::move(key), value); return *this; } + inline JsonMapsRequest& AddDenseStringMap(const Aws::String& key, Aws::String&& value) { m_denseStringMapHasBeenSet = true; m_denseStringMap.emplace(key, std::move(value)); return *this; } + inline JsonMapsRequest& AddDenseStringMap(Aws::String&& key, Aws::String&& value) { m_denseStringMapHasBeenSet = true; m_denseStringMap.emplace(std::move(key), std::move(value)); return *this; } + inline JsonMapsRequest& AddDenseStringMap(const char* key, Aws::String&& value) { m_denseStringMapHasBeenSet = true; m_denseStringMap.emplace(key, std::move(value)); return *this; } + inline JsonMapsRequest& AddDenseStringMap(Aws::String&& key, const char* value) { m_denseStringMapHasBeenSet = true; m_denseStringMap.emplace(std::move(key), value); return *this; } + inline JsonMapsRequest& AddDenseStringMap(const char* key, const char* value) { m_denseStringMapHasBeenSet = true; m_denseStringMap.emplace(key, value); return *this; } + ///@} + + ///@{ + + inline const Aws::Map>& GetDenseSetMap() const{ return m_denseSetMap; } + inline bool DenseSetMapHasBeenSet() const { return m_denseSetMapHasBeenSet; } + inline void SetDenseSetMap(const Aws::Map>& value) { m_denseSetMapHasBeenSet = true; m_denseSetMap = value; } + inline void SetDenseSetMap(Aws::Map>&& value) { m_denseSetMapHasBeenSet = true; m_denseSetMap = std::move(value); } + inline JsonMapsRequest& WithDenseSetMap(const Aws::Map>& value) { SetDenseSetMap(value); return *this;} + inline JsonMapsRequest& WithDenseSetMap(Aws::Map>&& value) { SetDenseSetMap(std::move(value)); return *this;} + inline JsonMapsRequest& AddDenseSetMap(const Aws::String& key, const Aws::Vector& value) { m_denseSetMapHasBeenSet = true; m_denseSetMap.emplace(key, value); return *this; } + inline JsonMapsRequest& AddDenseSetMap(Aws::String&& key, const Aws::Vector& value) { m_denseSetMapHasBeenSet = true; m_denseSetMap.emplace(std::move(key), value); return *this; } + inline JsonMapsRequest& AddDenseSetMap(const Aws::String& key, Aws::Vector&& value) { m_denseSetMapHasBeenSet = true; m_denseSetMap.emplace(key, std::move(value)); return *this; } + inline JsonMapsRequest& AddDenseSetMap(Aws::String&& key, Aws::Vector&& value) { m_denseSetMapHasBeenSet = true; m_denseSetMap.emplace(std::move(key), std::move(value)); return *this; } + inline JsonMapsRequest& AddDenseSetMap(const char* key, Aws::Vector&& value) { m_denseSetMapHasBeenSet = true; m_denseSetMap.emplace(key, std::move(value)); return *this; } + inline JsonMapsRequest& AddDenseSetMap(const char* key, const Aws::Vector& value) { m_denseSetMapHasBeenSet = true; m_denseSetMap.emplace(key, value); return *this; } + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline bool RequestIdHasBeenSet() const { return m_requestIdHasBeenSet; } + inline void SetRequestId(const Aws::String& value) { m_requestIdHasBeenSet = true; m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestIdHasBeenSet = true; m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestIdHasBeenSet = true; m_requestId.assign(value); } + inline JsonMapsRequest& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline JsonMapsRequest& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline JsonMapsRequest& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::Map m_denseStructMap; + bool m_denseStructMapHasBeenSet = false; + + Aws::Map m_denseNumberMap; + bool m_denseNumberMapHasBeenSet = false; + + Aws::Map m_denseBooleanMap; + bool m_denseBooleanMapHasBeenSet = false; + + Aws::Map m_denseStringMap; + bool m_denseStringMapHasBeenSet = false; + + Aws::Map> m_denseSetMap; + bool m_denseSetMapHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace RestJsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/JsonMapsResult.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/JsonMapsResult.h new file mode 100644 index 00000000000..6ecea4a8a46 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/JsonMapsResult.h @@ -0,0 +1,135 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace RestJsonProtocol +{ +namespace Model +{ + class JsonMapsResult + { + public: + AWS_RESTJSONPROTOCOL_API JsonMapsResult(); + AWS_RESTJSONPROTOCOL_API JsonMapsResult(const Aws::AmazonWebServiceResult& result); + AWS_RESTJSONPROTOCOL_API JsonMapsResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::Map& GetDenseStructMap() const{ return m_denseStructMap; } + inline void SetDenseStructMap(const Aws::Map& value) { m_denseStructMap = value; } + inline void SetDenseStructMap(Aws::Map&& value) { m_denseStructMap = std::move(value); } + inline JsonMapsResult& WithDenseStructMap(const Aws::Map& value) { SetDenseStructMap(value); return *this;} + inline JsonMapsResult& WithDenseStructMap(Aws::Map&& value) { SetDenseStructMap(std::move(value)); return *this;} + inline JsonMapsResult& AddDenseStructMap(const Aws::String& key, const GreetingStruct& value) { m_denseStructMap.emplace(key, value); return *this; } + inline JsonMapsResult& AddDenseStructMap(Aws::String&& key, const GreetingStruct& value) { m_denseStructMap.emplace(std::move(key), value); return *this; } + inline JsonMapsResult& AddDenseStructMap(const Aws::String& key, GreetingStruct&& value) { m_denseStructMap.emplace(key, std::move(value)); return *this; } + inline JsonMapsResult& AddDenseStructMap(Aws::String&& key, GreetingStruct&& value) { m_denseStructMap.emplace(std::move(key), std::move(value)); return *this; } + inline JsonMapsResult& AddDenseStructMap(const char* key, GreetingStruct&& value) { m_denseStructMap.emplace(key, std::move(value)); return *this; } + inline JsonMapsResult& AddDenseStructMap(const char* key, const GreetingStruct& value) { m_denseStructMap.emplace(key, value); return *this; } + ///@} + + ///@{ + + inline const Aws::Map& GetDenseNumberMap() const{ return m_denseNumberMap; } + inline void SetDenseNumberMap(const Aws::Map& value) { m_denseNumberMap = value; } + inline void SetDenseNumberMap(Aws::Map&& value) { m_denseNumberMap = std::move(value); } + inline JsonMapsResult& WithDenseNumberMap(const Aws::Map& value) { SetDenseNumberMap(value); return *this;} + inline JsonMapsResult& WithDenseNumberMap(Aws::Map&& value) { SetDenseNumberMap(std::move(value)); return *this;} + inline JsonMapsResult& AddDenseNumberMap(const Aws::String& key, int value) { m_denseNumberMap.emplace(key, value); return *this; } + inline JsonMapsResult& AddDenseNumberMap(Aws::String&& key, int value) { m_denseNumberMap.emplace(std::move(key), value); return *this; } + inline JsonMapsResult& AddDenseNumberMap(const char* key, int value) { m_denseNumberMap.emplace(key, value); return *this; } + ///@} + + ///@{ + + inline const Aws::Map& GetDenseBooleanMap() const{ return m_denseBooleanMap; } + inline void SetDenseBooleanMap(const Aws::Map& value) { m_denseBooleanMap = value; } + inline void SetDenseBooleanMap(Aws::Map&& value) { m_denseBooleanMap = std::move(value); } + inline JsonMapsResult& WithDenseBooleanMap(const Aws::Map& value) { SetDenseBooleanMap(value); return *this;} + inline JsonMapsResult& WithDenseBooleanMap(Aws::Map&& value) { SetDenseBooleanMap(std::move(value)); return *this;} + inline JsonMapsResult& AddDenseBooleanMap(const Aws::String& key, bool value) { m_denseBooleanMap.emplace(key, value); return *this; } + inline JsonMapsResult& AddDenseBooleanMap(Aws::String&& key, bool value) { m_denseBooleanMap.emplace(std::move(key), value); return *this; } + inline JsonMapsResult& AddDenseBooleanMap(const char* key, bool value) { m_denseBooleanMap.emplace(key, value); return *this; } + ///@} + + ///@{ + + inline const Aws::Map& GetDenseStringMap() const{ return m_denseStringMap; } + inline void SetDenseStringMap(const Aws::Map& value) { m_denseStringMap = value; } + inline void SetDenseStringMap(Aws::Map&& value) { m_denseStringMap = std::move(value); } + inline JsonMapsResult& WithDenseStringMap(const Aws::Map& value) { SetDenseStringMap(value); return *this;} + inline JsonMapsResult& WithDenseStringMap(Aws::Map&& value) { SetDenseStringMap(std::move(value)); return *this;} + inline JsonMapsResult& AddDenseStringMap(const Aws::String& key, const Aws::String& value) { m_denseStringMap.emplace(key, value); return *this; } + inline JsonMapsResult& AddDenseStringMap(Aws::String&& key, const Aws::String& value) { m_denseStringMap.emplace(std::move(key), value); return *this; } + inline JsonMapsResult& AddDenseStringMap(const Aws::String& key, Aws::String&& value) { m_denseStringMap.emplace(key, std::move(value)); return *this; } + inline JsonMapsResult& AddDenseStringMap(Aws::String&& key, Aws::String&& value) { m_denseStringMap.emplace(std::move(key), std::move(value)); return *this; } + inline JsonMapsResult& AddDenseStringMap(const char* key, Aws::String&& value) { m_denseStringMap.emplace(key, std::move(value)); return *this; } + inline JsonMapsResult& AddDenseStringMap(Aws::String&& key, const char* value) { m_denseStringMap.emplace(std::move(key), value); return *this; } + inline JsonMapsResult& AddDenseStringMap(const char* key, const char* value) { m_denseStringMap.emplace(key, value); return *this; } + ///@} + + ///@{ + + inline const Aws::Map>& GetDenseSetMap() const{ return m_denseSetMap; } + inline void SetDenseSetMap(const Aws::Map>& value) { m_denseSetMap = value; } + inline void SetDenseSetMap(Aws::Map>&& value) { m_denseSetMap = std::move(value); } + inline JsonMapsResult& WithDenseSetMap(const Aws::Map>& value) { SetDenseSetMap(value); return *this;} + inline JsonMapsResult& WithDenseSetMap(Aws::Map>&& value) { SetDenseSetMap(std::move(value)); return *this;} + inline JsonMapsResult& AddDenseSetMap(const Aws::String& key, const Aws::Vector& value) { m_denseSetMap.emplace(key, value); return *this; } + inline JsonMapsResult& AddDenseSetMap(Aws::String&& key, const Aws::Vector& value) { m_denseSetMap.emplace(std::move(key), value); return *this; } + inline JsonMapsResult& AddDenseSetMap(const Aws::String& key, Aws::Vector&& value) { m_denseSetMap.emplace(key, std::move(value)); return *this; } + inline JsonMapsResult& AddDenseSetMap(Aws::String&& key, Aws::Vector&& value) { m_denseSetMap.emplace(std::move(key), std::move(value)); return *this; } + inline JsonMapsResult& AddDenseSetMap(const char* key, Aws::Vector&& value) { m_denseSetMap.emplace(key, std::move(value)); return *this; } + inline JsonMapsResult& AddDenseSetMap(const char* key, const Aws::Vector& value) { m_denseSetMap.emplace(key, value); return *this; } + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline JsonMapsResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline JsonMapsResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline JsonMapsResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::Map m_denseStructMap; + + Aws::Map m_denseNumberMap; + + Aws::Map m_denseBooleanMap; + + Aws::Map m_denseStringMap; + + Aws::Map> m_denseSetMap; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace RestJsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/JsonTimestampsRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/JsonTimestampsRequest.h new file mode 100644 index 00000000000..d10c6b98bd1 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/JsonTimestampsRequest.h @@ -0,0 +1,148 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace RestJsonProtocol +{ +namespace Model +{ + + /** + */ + class JsonTimestampsRequest : public RestJsonProtocolRequest + { + public: + AWS_RESTJSONPROTOCOL_API JsonTimestampsRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "JsonTimestamps"; } + + AWS_RESTJSONPROTOCOL_API Aws::String SerializePayload() const override; + + AWS_RESTJSONPROTOCOL_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + + inline const Aws::Utils::DateTime& GetNormal() const{ return m_normal; } + inline bool NormalHasBeenSet() const { return m_normalHasBeenSet; } + inline void SetNormal(const Aws::Utils::DateTime& value) { m_normalHasBeenSet = true; m_normal = value; } + inline void SetNormal(Aws::Utils::DateTime&& value) { m_normalHasBeenSet = true; m_normal = std::move(value); } + inline JsonTimestampsRequest& WithNormal(const Aws::Utils::DateTime& value) { SetNormal(value); return *this;} + inline JsonTimestampsRequest& WithNormal(Aws::Utils::DateTime&& value) { SetNormal(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::Utils::DateTime& GetDateTime() const{ return m_dateTime; } + inline bool DateTimeHasBeenSet() const { return m_dateTimeHasBeenSet; } + inline void SetDateTime(const Aws::Utils::DateTime& value) { m_dateTimeHasBeenSet = true; m_dateTime = value; } + inline void SetDateTime(Aws::Utils::DateTime&& value) { m_dateTimeHasBeenSet = true; m_dateTime = std::move(value); } + inline JsonTimestampsRequest& WithDateTime(const Aws::Utils::DateTime& value) { SetDateTime(value); return *this;} + inline JsonTimestampsRequest& WithDateTime(Aws::Utils::DateTime&& value) { SetDateTime(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::Utils::DateTime& GetDateTimeOnTarget() const{ return m_dateTimeOnTarget; } + inline bool DateTimeOnTargetHasBeenSet() const { return m_dateTimeOnTargetHasBeenSet; } + inline void SetDateTimeOnTarget(const Aws::Utils::DateTime& value) { m_dateTimeOnTargetHasBeenSet = true; m_dateTimeOnTarget = value; } + inline void SetDateTimeOnTarget(Aws::Utils::DateTime&& value) { m_dateTimeOnTargetHasBeenSet = true; m_dateTimeOnTarget = std::move(value); } + inline JsonTimestampsRequest& WithDateTimeOnTarget(const Aws::Utils::DateTime& value) { SetDateTimeOnTarget(value); return *this;} + inline JsonTimestampsRequest& WithDateTimeOnTarget(Aws::Utils::DateTime&& value) { SetDateTimeOnTarget(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::Utils::DateTime& GetEpochSeconds() const{ return m_epochSeconds; } + inline bool EpochSecondsHasBeenSet() const { return m_epochSecondsHasBeenSet; } + inline void SetEpochSeconds(const Aws::Utils::DateTime& value) { m_epochSecondsHasBeenSet = true; m_epochSeconds = value; } + inline void SetEpochSeconds(Aws::Utils::DateTime&& value) { m_epochSecondsHasBeenSet = true; m_epochSeconds = std::move(value); } + inline JsonTimestampsRequest& WithEpochSeconds(const Aws::Utils::DateTime& value) { SetEpochSeconds(value); return *this;} + inline JsonTimestampsRequest& WithEpochSeconds(Aws::Utils::DateTime&& value) { SetEpochSeconds(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::Utils::DateTime& GetEpochSecondsOnTarget() const{ return m_epochSecondsOnTarget; } + inline bool EpochSecondsOnTargetHasBeenSet() const { return m_epochSecondsOnTargetHasBeenSet; } + inline void SetEpochSecondsOnTarget(const Aws::Utils::DateTime& value) { m_epochSecondsOnTargetHasBeenSet = true; m_epochSecondsOnTarget = value; } + inline void SetEpochSecondsOnTarget(Aws::Utils::DateTime&& value) { m_epochSecondsOnTargetHasBeenSet = true; m_epochSecondsOnTarget = std::move(value); } + inline JsonTimestampsRequest& WithEpochSecondsOnTarget(const Aws::Utils::DateTime& value) { SetEpochSecondsOnTarget(value); return *this;} + inline JsonTimestampsRequest& WithEpochSecondsOnTarget(Aws::Utils::DateTime&& value) { SetEpochSecondsOnTarget(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::Utils::DateTime& GetHttpDate() const{ return m_httpDate; } + inline bool HttpDateHasBeenSet() const { return m_httpDateHasBeenSet; } + inline void SetHttpDate(const Aws::Utils::DateTime& value) { m_httpDateHasBeenSet = true; m_httpDate = value; } + inline void SetHttpDate(Aws::Utils::DateTime&& value) { m_httpDateHasBeenSet = true; m_httpDate = std::move(value); } + inline JsonTimestampsRequest& WithHttpDate(const Aws::Utils::DateTime& value) { SetHttpDate(value); return *this;} + inline JsonTimestampsRequest& WithHttpDate(Aws::Utils::DateTime&& value) { SetHttpDate(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::Utils::DateTime& GetHttpDateOnTarget() const{ return m_httpDateOnTarget; } + inline bool HttpDateOnTargetHasBeenSet() const { return m_httpDateOnTargetHasBeenSet; } + inline void SetHttpDateOnTarget(const Aws::Utils::DateTime& value) { m_httpDateOnTargetHasBeenSet = true; m_httpDateOnTarget = value; } + inline void SetHttpDateOnTarget(Aws::Utils::DateTime&& value) { m_httpDateOnTargetHasBeenSet = true; m_httpDateOnTarget = std::move(value); } + inline JsonTimestampsRequest& WithHttpDateOnTarget(const Aws::Utils::DateTime& value) { SetHttpDateOnTarget(value); return *this;} + inline JsonTimestampsRequest& WithHttpDateOnTarget(Aws::Utils::DateTime&& value) { SetHttpDateOnTarget(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline bool RequestIdHasBeenSet() const { return m_requestIdHasBeenSet; } + inline void SetRequestId(const Aws::String& value) { m_requestIdHasBeenSet = true; m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestIdHasBeenSet = true; m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestIdHasBeenSet = true; m_requestId.assign(value); } + inline JsonTimestampsRequest& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline JsonTimestampsRequest& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline JsonTimestampsRequest& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::Utils::DateTime m_normal; + bool m_normalHasBeenSet = false; + + Aws::Utils::DateTime m_dateTime; + bool m_dateTimeHasBeenSet = false; + + Aws::Utils::DateTime m_dateTimeOnTarget; + bool m_dateTimeOnTargetHasBeenSet = false; + + Aws::Utils::DateTime m_epochSeconds; + bool m_epochSecondsHasBeenSet = false; + + Aws::Utils::DateTime m_epochSecondsOnTarget; + bool m_epochSecondsOnTargetHasBeenSet = false; + + Aws::Utils::DateTime m_httpDate; + bool m_httpDateHasBeenSet = false; + + Aws::Utils::DateTime m_httpDateOnTarget; + bool m_httpDateOnTargetHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace RestJsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/JsonTimestampsResult.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/JsonTimestampsResult.h new file mode 100644 index 00000000000..82d8d9f8468 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/JsonTimestampsResult.h @@ -0,0 +1,130 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace RestJsonProtocol +{ +namespace Model +{ + class JsonTimestampsResult + { + public: + AWS_RESTJSONPROTOCOL_API JsonTimestampsResult(); + AWS_RESTJSONPROTOCOL_API JsonTimestampsResult(const Aws::AmazonWebServiceResult& result); + AWS_RESTJSONPROTOCOL_API JsonTimestampsResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::Utils::DateTime& GetNormal() const{ return m_normal; } + inline void SetNormal(const Aws::Utils::DateTime& value) { m_normal = value; } + inline void SetNormal(Aws::Utils::DateTime&& value) { m_normal = std::move(value); } + inline JsonTimestampsResult& WithNormal(const Aws::Utils::DateTime& value) { SetNormal(value); return *this;} + inline JsonTimestampsResult& WithNormal(Aws::Utils::DateTime&& value) { SetNormal(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::Utils::DateTime& GetDateTime() const{ return m_dateTime; } + inline void SetDateTime(const Aws::Utils::DateTime& value) { m_dateTime = value; } + inline void SetDateTime(Aws::Utils::DateTime&& value) { m_dateTime = std::move(value); } + inline JsonTimestampsResult& WithDateTime(const Aws::Utils::DateTime& value) { SetDateTime(value); return *this;} + inline JsonTimestampsResult& WithDateTime(Aws::Utils::DateTime&& value) { SetDateTime(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::Utils::DateTime& GetDateTimeOnTarget() const{ return m_dateTimeOnTarget; } + inline void SetDateTimeOnTarget(const Aws::Utils::DateTime& value) { m_dateTimeOnTarget = value; } + inline void SetDateTimeOnTarget(Aws::Utils::DateTime&& value) { m_dateTimeOnTarget = std::move(value); } + inline JsonTimestampsResult& WithDateTimeOnTarget(const Aws::Utils::DateTime& value) { SetDateTimeOnTarget(value); return *this;} + inline JsonTimestampsResult& WithDateTimeOnTarget(Aws::Utils::DateTime&& value) { SetDateTimeOnTarget(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::Utils::DateTime& GetEpochSeconds() const{ return m_epochSeconds; } + inline void SetEpochSeconds(const Aws::Utils::DateTime& value) { m_epochSeconds = value; } + inline void SetEpochSeconds(Aws::Utils::DateTime&& value) { m_epochSeconds = std::move(value); } + inline JsonTimestampsResult& WithEpochSeconds(const Aws::Utils::DateTime& value) { SetEpochSeconds(value); return *this;} + inline JsonTimestampsResult& WithEpochSeconds(Aws::Utils::DateTime&& value) { SetEpochSeconds(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::Utils::DateTime& GetEpochSecondsOnTarget() const{ return m_epochSecondsOnTarget; } + inline void SetEpochSecondsOnTarget(const Aws::Utils::DateTime& value) { m_epochSecondsOnTarget = value; } + inline void SetEpochSecondsOnTarget(Aws::Utils::DateTime&& value) { m_epochSecondsOnTarget = std::move(value); } + inline JsonTimestampsResult& WithEpochSecondsOnTarget(const Aws::Utils::DateTime& value) { SetEpochSecondsOnTarget(value); return *this;} + inline JsonTimestampsResult& WithEpochSecondsOnTarget(Aws::Utils::DateTime&& value) { SetEpochSecondsOnTarget(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::Utils::DateTime& GetHttpDate() const{ return m_httpDate; } + inline void SetHttpDate(const Aws::Utils::DateTime& value) { m_httpDate = value; } + inline void SetHttpDate(Aws::Utils::DateTime&& value) { m_httpDate = std::move(value); } + inline JsonTimestampsResult& WithHttpDate(const Aws::Utils::DateTime& value) { SetHttpDate(value); return *this;} + inline JsonTimestampsResult& WithHttpDate(Aws::Utils::DateTime&& value) { SetHttpDate(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::Utils::DateTime& GetHttpDateOnTarget() const{ return m_httpDateOnTarget; } + inline void SetHttpDateOnTarget(const Aws::Utils::DateTime& value) { m_httpDateOnTarget = value; } + inline void SetHttpDateOnTarget(Aws::Utils::DateTime&& value) { m_httpDateOnTarget = std::move(value); } + inline JsonTimestampsResult& WithHttpDateOnTarget(const Aws::Utils::DateTime& value) { SetHttpDateOnTarget(value); return *this;} + inline JsonTimestampsResult& WithHttpDateOnTarget(Aws::Utils::DateTime&& value) { SetHttpDateOnTarget(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline JsonTimestampsResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline JsonTimestampsResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline JsonTimestampsResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::Utils::DateTime m_normal; + + Aws::Utils::DateTime m_dateTime; + + Aws::Utils::DateTime m_dateTimeOnTarget; + + Aws::Utils::DateTime m_epochSeconds; + + Aws::Utils::DateTime m_epochSecondsOnTarget; + + Aws::Utils::DateTime m_httpDate; + + Aws::Utils::DateTime m_httpDateOnTarget; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace RestJsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/JsonUnionsRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/JsonUnionsRequest.h new file mode 100644 index 00000000000..ce3b0d2fcb8 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/JsonUnionsRequest.h @@ -0,0 +1,74 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace RestJsonProtocol +{ +namespace Model +{ + + /** + *

A shared structure that contains a single union member.

See + * Also:

AWS + * API Reference

+ */ + class JsonUnionsRequest : public RestJsonProtocolRequest + { + public: + AWS_RESTJSONPROTOCOL_API JsonUnionsRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "JsonUnions"; } + + AWS_RESTJSONPROTOCOL_API Aws::String SerializePayload() const override; + + AWS_RESTJSONPROTOCOL_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + + inline const MyUnion& GetContents() const{ return m_contents; } + inline bool ContentsHasBeenSet() const { return m_contentsHasBeenSet; } + inline void SetContents(const MyUnion& value) { m_contentsHasBeenSet = true; m_contents = value; } + inline void SetContents(MyUnion&& value) { m_contentsHasBeenSet = true; m_contents = std::move(value); } + inline JsonUnionsRequest& WithContents(const MyUnion& value) { SetContents(value); return *this;} + inline JsonUnionsRequest& WithContents(MyUnion&& value) { SetContents(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline bool RequestIdHasBeenSet() const { return m_requestIdHasBeenSet; } + inline void SetRequestId(const Aws::String& value) { m_requestIdHasBeenSet = true; m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestIdHasBeenSet = true; m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestIdHasBeenSet = true; m_requestId.assign(value); } + inline JsonUnionsRequest& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline JsonUnionsRequest& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline JsonUnionsRequest& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + MyUnion m_contents; + bool m_contentsHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace RestJsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/JsonUnionsResult.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/JsonUnionsResult.h new file mode 100644 index 00000000000..86c95bb9541 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/JsonUnionsResult.h @@ -0,0 +1,70 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace RestJsonProtocol +{ +namespace Model +{ + /** + *

A shared structure that contains a single union member.

See + * Also:

AWS + * API Reference

+ */ + class JsonUnionsResult + { + public: + AWS_RESTJSONPROTOCOL_API JsonUnionsResult(); + AWS_RESTJSONPROTOCOL_API JsonUnionsResult(const Aws::AmazonWebServiceResult& result); + AWS_RESTJSONPROTOCOL_API JsonUnionsResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const MyUnion& GetContents() const{ return m_contents; } + inline void SetContents(const MyUnion& value) { m_contents = value; } + inline void SetContents(MyUnion&& value) { m_contents = std::move(value); } + inline JsonUnionsResult& WithContents(const MyUnion& value) { SetContents(value); return *this;} + inline JsonUnionsResult& WithContents(MyUnion&& value) { SetContents(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline JsonUnionsResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline JsonUnionsResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline JsonUnionsResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + MyUnion m_contents; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace RestJsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/MediaTypeHeaderRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/MediaTypeHeaderRequest.h new file mode 100644 index 00000000000..e85a59360a9 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/MediaTypeHeaderRequest.h @@ -0,0 +1,56 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace RestJsonProtocol +{ +namespace Model +{ + + /** + */ + class MediaTypeHeaderRequest : public RestJsonProtocolRequest + { + public: + AWS_RESTJSONPROTOCOL_API MediaTypeHeaderRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "MediaTypeHeader"; } + + AWS_RESTJSONPROTOCOL_API Aws::String SerializePayload() const override; + + AWS_RESTJSONPROTOCOL_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + + inline const Aws::String& GetJson() const{ return m_json; } + inline bool JsonHasBeenSet() const { return m_jsonHasBeenSet; } + inline void SetJson(const Aws::String& value) { m_jsonHasBeenSet = true; m_json = value; } + inline void SetJson(Aws::String&& value) { m_jsonHasBeenSet = true; m_json = std::move(value); } + inline void SetJson(const char* value) { m_jsonHasBeenSet = true; m_json.assign(value); } + inline MediaTypeHeaderRequest& WithJson(const Aws::String& value) { SetJson(value); return *this;} + inline MediaTypeHeaderRequest& WithJson(Aws::String&& value) { SetJson(std::move(value)); return *this;} + inline MediaTypeHeaderRequest& WithJson(const char* value) { SetJson(value); return *this;} + ///@} + private: + + Aws::String m_json; + bool m_jsonHasBeenSet = false; + }; + +} // namespace Model +} // namespace RestJsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/MediaTypeHeaderResult.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/MediaTypeHeaderResult.h new file mode 100644 index 00000000000..cf51bd31dc2 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/MediaTypeHeaderResult.h @@ -0,0 +1,65 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace RestJsonProtocol +{ +namespace Model +{ + class MediaTypeHeaderResult + { + public: + AWS_RESTJSONPROTOCOL_API MediaTypeHeaderResult(); + AWS_RESTJSONPROTOCOL_API MediaTypeHeaderResult(const Aws::AmazonWebServiceResult& result); + AWS_RESTJSONPROTOCOL_API MediaTypeHeaderResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::String& GetJson() const{ return m_json; } + inline void SetJson(const Aws::String& value) { m_json = value; } + inline void SetJson(Aws::String&& value) { m_json = std::move(value); } + inline void SetJson(const char* value) { m_json.assign(value); } + inline MediaTypeHeaderResult& WithJson(const Aws::String& value) { SetJson(value); return *this;} + inline MediaTypeHeaderResult& WithJson(Aws::String&& value) { SetJson(std::move(value)); return *this;} + inline MediaTypeHeaderResult& WithJson(const char* value) { SetJson(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline MediaTypeHeaderResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline MediaTypeHeaderResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline MediaTypeHeaderResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_json; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace RestJsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/MyUnion.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/MyUnion.h new file mode 100644 index 00000000000..b63fcaa849b --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/MyUnion.h @@ -0,0 +1,190 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace RestJsonProtocol +{ +namespace Model +{ + + /** + *

A union with a representative set of types for members.

See + * Also:

AWS + * API Reference

+ */ + class MyUnion + { + public: + AWS_RESTJSONPROTOCOL_API MyUnion(); + AWS_RESTJSONPROTOCOL_API MyUnion(Aws::Utils::Json::JsonView jsonValue); + AWS_RESTJSONPROTOCOL_API MyUnion& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_RESTJSONPROTOCOL_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + + inline const Aws::String& GetStringValue() const{ return m_stringValue; } + inline bool StringValueHasBeenSet() const { return m_stringValueHasBeenSet; } + inline void SetStringValue(const Aws::String& value) { m_stringValueHasBeenSet = true; m_stringValue = value; } + inline void SetStringValue(Aws::String&& value) { m_stringValueHasBeenSet = true; m_stringValue = std::move(value); } + inline void SetStringValue(const char* value) { m_stringValueHasBeenSet = true; m_stringValue.assign(value); } + inline MyUnion& WithStringValue(const Aws::String& value) { SetStringValue(value); return *this;} + inline MyUnion& WithStringValue(Aws::String&& value) { SetStringValue(std::move(value)); return *this;} + inline MyUnion& WithStringValue(const char* value) { SetStringValue(value); return *this;} + ///@} + + ///@{ + + inline bool GetBooleanValue() const{ return m_booleanValue; } + inline bool BooleanValueHasBeenSet() const { return m_booleanValueHasBeenSet; } + inline void SetBooleanValue(bool value) { m_booleanValueHasBeenSet = true; m_booleanValue = value; } + inline MyUnion& WithBooleanValue(bool value) { SetBooleanValue(value); return *this;} + ///@} + + ///@{ + + inline int GetNumberValue() const{ return m_numberValue; } + inline bool NumberValueHasBeenSet() const { return m_numberValueHasBeenSet; } + inline void SetNumberValue(int value) { m_numberValueHasBeenSet = true; m_numberValue = value; } + inline MyUnion& WithNumberValue(int value) { SetNumberValue(value); return *this;} + ///@} + + ///@{ + + inline const Aws::Utils::ByteBuffer& GetBlobValue() const{ return m_blobValue; } + inline bool BlobValueHasBeenSet() const { return m_blobValueHasBeenSet; } + inline void SetBlobValue(const Aws::Utils::ByteBuffer& value) { m_blobValueHasBeenSet = true; m_blobValue = value; } + inline void SetBlobValue(Aws::Utils::ByteBuffer&& value) { m_blobValueHasBeenSet = true; m_blobValue = std::move(value); } + inline MyUnion& WithBlobValue(const Aws::Utils::ByteBuffer& value) { SetBlobValue(value); return *this;} + inline MyUnion& WithBlobValue(Aws::Utils::ByteBuffer&& value) { SetBlobValue(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::Utils::DateTime& GetTimestampValue() const{ return m_timestampValue; } + inline bool TimestampValueHasBeenSet() const { return m_timestampValueHasBeenSet; } + inline void SetTimestampValue(const Aws::Utils::DateTime& value) { m_timestampValueHasBeenSet = true; m_timestampValue = value; } + inline void SetTimestampValue(Aws::Utils::DateTime&& value) { m_timestampValueHasBeenSet = true; m_timestampValue = std::move(value); } + inline MyUnion& WithTimestampValue(const Aws::Utils::DateTime& value) { SetTimestampValue(value); return *this;} + inline MyUnion& WithTimestampValue(Aws::Utils::DateTime&& value) { SetTimestampValue(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const FooEnum& GetEnumValue() const{ return m_enumValue; } + inline bool EnumValueHasBeenSet() const { return m_enumValueHasBeenSet; } + inline void SetEnumValue(const FooEnum& value) { m_enumValueHasBeenSet = true; m_enumValue = value; } + inline void SetEnumValue(FooEnum&& value) { m_enumValueHasBeenSet = true; m_enumValue = std::move(value); } + inline MyUnion& WithEnumValue(const FooEnum& value) { SetEnumValue(value); return *this;} + inline MyUnion& WithEnumValue(FooEnum&& value) { SetEnumValue(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::Vector& GetListValue() const{ return m_listValue; } + inline bool ListValueHasBeenSet() const { return m_listValueHasBeenSet; } + inline void SetListValue(const Aws::Vector& value) { m_listValueHasBeenSet = true; m_listValue = value; } + inline void SetListValue(Aws::Vector&& value) { m_listValueHasBeenSet = true; m_listValue = std::move(value); } + inline MyUnion& WithListValue(const Aws::Vector& value) { SetListValue(value); return *this;} + inline MyUnion& WithListValue(Aws::Vector&& value) { SetListValue(std::move(value)); return *this;} + inline MyUnion& AddListValue(const Aws::String& value) { m_listValueHasBeenSet = true; m_listValue.push_back(value); return *this; } + inline MyUnion& AddListValue(Aws::String&& value) { m_listValueHasBeenSet = true; m_listValue.push_back(std::move(value)); return *this; } + inline MyUnion& AddListValue(const char* value) { m_listValueHasBeenSet = true; m_listValue.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::Map& GetMapValue() const{ return m_mapValue; } + inline bool MapValueHasBeenSet() const { return m_mapValueHasBeenSet; } + inline void SetMapValue(const Aws::Map& value) { m_mapValueHasBeenSet = true; m_mapValue = value; } + inline void SetMapValue(Aws::Map&& value) { m_mapValueHasBeenSet = true; m_mapValue = std::move(value); } + inline MyUnion& WithMapValue(const Aws::Map& value) { SetMapValue(value); return *this;} + inline MyUnion& WithMapValue(Aws::Map&& value) { SetMapValue(std::move(value)); return *this;} + inline MyUnion& AddMapValue(const Aws::String& key, const Aws::String& value) { m_mapValueHasBeenSet = true; m_mapValue.emplace(key, value); return *this; } + inline MyUnion& AddMapValue(Aws::String&& key, const Aws::String& value) { m_mapValueHasBeenSet = true; m_mapValue.emplace(std::move(key), value); return *this; } + inline MyUnion& AddMapValue(const Aws::String& key, Aws::String&& value) { m_mapValueHasBeenSet = true; m_mapValue.emplace(key, std::move(value)); return *this; } + inline MyUnion& AddMapValue(Aws::String&& key, Aws::String&& value) { m_mapValueHasBeenSet = true; m_mapValue.emplace(std::move(key), std::move(value)); return *this; } + inline MyUnion& AddMapValue(const char* key, Aws::String&& value) { m_mapValueHasBeenSet = true; m_mapValue.emplace(key, std::move(value)); return *this; } + inline MyUnion& AddMapValue(Aws::String&& key, const char* value) { m_mapValueHasBeenSet = true; m_mapValue.emplace(std::move(key), value); return *this; } + inline MyUnion& AddMapValue(const char* key, const char* value) { m_mapValueHasBeenSet = true; m_mapValue.emplace(key, value); return *this; } + ///@} + + ///@{ + + inline const GreetingStruct& GetStructureValue() const{ return m_structureValue; } + inline bool StructureValueHasBeenSet() const { return m_structureValueHasBeenSet; } + inline void SetStructureValue(const GreetingStruct& value) { m_structureValueHasBeenSet = true; m_structureValue = value; } + inline void SetStructureValue(GreetingStruct&& value) { m_structureValueHasBeenSet = true; m_structureValue = std::move(value); } + inline MyUnion& WithStructureValue(const GreetingStruct& value) { SetStructureValue(value); return *this;} + inline MyUnion& WithStructureValue(GreetingStruct&& value) { SetStructureValue(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const RenamedGreeting& GetRenamedStructureValue() const{ return m_renamedStructureValue; } + inline bool RenamedStructureValueHasBeenSet() const { return m_renamedStructureValueHasBeenSet; } + inline void SetRenamedStructureValue(const RenamedGreeting& value) { m_renamedStructureValueHasBeenSet = true; m_renamedStructureValue = value; } + inline void SetRenamedStructureValue(RenamedGreeting&& value) { m_renamedStructureValueHasBeenSet = true; m_renamedStructureValue = std::move(value); } + inline MyUnion& WithRenamedStructureValue(const RenamedGreeting& value) { SetRenamedStructureValue(value); return *this;} + inline MyUnion& WithRenamedStructureValue(RenamedGreeting&& value) { SetRenamedStructureValue(std::move(value)); return *this;} + ///@} + private: + + Aws::String m_stringValue; + bool m_stringValueHasBeenSet = false; + + bool m_booleanValue; + bool m_booleanValueHasBeenSet = false; + + int m_numberValue; + bool m_numberValueHasBeenSet = false; + + Aws::Utils::ByteBuffer m_blobValue; + bool m_blobValueHasBeenSet = false; + + Aws::Utils::DateTime m_timestampValue; + bool m_timestampValueHasBeenSet = false; + + FooEnum m_enumValue; + bool m_enumValueHasBeenSet = false; + + Aws::Vector m_listValue; + bool m_listValueHasBeenSet = false; + + Aws::Map m_mapValue; + bool m_mapValueHasBeenSet = false; + + GreetingStruct m_structureValue; + bool m_structureValueHasBeenSet = false; + + RenamedGreeting m_renamedStructureValue; + bool m_renamedStructureValueHasBeenSet = false; + }; + +} // namespace Model +} // namespace RestJsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/NestedPayload.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/NestedPayload.h new file mode 100644 index 00000000000..cee09e2a5bc --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/NestedPayload.h @@ -0,0 +1,69 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace RestJsonProtocol +{ +namespace Model +{ + + class NestedPayload + { + public: + AWS_RESTJSONPROTOCOL_API NestedPayload(); + AWS_RESTJSONPROTOCOL_API NestedPayload(Aws::Utils::Json::JsonView jsonValue); + AWS_RESTJSONPROTOCOL_API NestedPayload& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_RESTJSONPROTOCOL_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + + inline const Aws::String& GetGreeting() const{ return m_greeting; } + inline bool GreetingHasBeenSet() const { return m_greetingHasBeenSet; } + inline void SetGreeting(const Aws::String& value) { m_greetingHasBeenSet = true; m_greeting = value; } + inline void SetGreeting(Aws::String&& value) { m_greetingHasBeenSet = true; m_greeting = std::move(value); } + inline void SetGreeting(const char* value) { m_greetingHasBeenSet = true; m_greeting.assign(value); } + inline NestedPayload& WithGreeting(const Aws::String& value) { SetGreeting(value); return *this;} + inline NestedPayload& WithGreeting(Aws::String&& value) { SetGreeting(std::move(value)); return *this;} + inline NestedPayload& WithGreeting(const char* value) { SetGreeting(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetName() const{ return m_name; } + inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } + inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } + inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } + inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } + inline NestedPayload& WithName(const Aws::String& value) { SetName(value); return *this;} + inline NestedPayload& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} + inline NestedPayload& WithName(const char* value) { SetName(value); return *this;} + ///@} + private: + + Aws::String m_greeting; + bool m_greetingHasBeenSet = false; + + Aws::String m_name; + bool m_nameHasBeenSet = false; + }; + +} // namespace Model +} // namespace RestJsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/NoInputAndNoOutputRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/NoInputAndNoOutputRequest.h new file mode 100644 index 00000000000..6d239e70bda --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/NoInputAndNoOutputRequest.h @@ -0,0 +1,36 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace RestJsonProtocol +{ +namespace Model +{ + + /** + */ + class NoInputAndNoOutputRequest : public RestJsonProtocolRequest + { + public: + AWS_RESTJSONPROTOCOL_API NoInputAndNoOutputRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "NoInputAndNoOutput"; } + + AWS_RESTJSONPROTOCOL_API Aws::String SerializePayload() const override; + + }; + +} // namespace Model +} // namespace RestJsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/NoInputAndOutputRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/NoInputAndOutputRequest.h new file mode 100644 index 00000000000..06047ebfeeb --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/NoInputAndOutputRequest.h @@ -0,0 +1,36 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace RestJsonProtocol +{ +namespace Model +{ + + /** + */ + class NoInputAndOutputRequest : public RestJsonProtocolRequest + { + public: + AWS_RESTJSONPROTOCOL_API NoInputAndOutputRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "NoInputAndOutput"; } + + AWS_RESTJSONPROTOCOL_API Aws::String SerializePayload() const override; + + }; + +} // namespace Model +} // namespace RestJsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/NoInputAndOutputResult.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/NoInputAndOutputResult.h new file mode 100644 index 00000000000..a8fe03b07a2 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/NoInputAndOutputResult.h @@ -0,0 +1,52 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace RestJsonProtocol +{ +namespace Model +{ + class NoInputAndOutputResult + { + public: + AWS_RESTJSONPROTOCOL_API NoInputAndOutputResult(); + AWS_RESTJSONPROTOCOL_API NoInputAndOutputResult(const Aws::AmazonWebServiceResult& result); + AWS_RESTJSONPROTOCOL_API NoInputAndOutputResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline NoInputAndOutputResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline NoInputAndOutputResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline NoInputAndOutputResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace RestJsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/NullAndEmptyHeadersClientRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/NullAndEmptyHeadersClientRequest.h new file mode 100644 index 00000000000..8468e9e8947 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/NullAndEmptyHeadersClientRequest.h @@ -0,0 +1,103 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace RestJsonProtocol +{ +namespace Model +{ + + /** + */ + class NullAndEmptyHeadersClientRequest : public RestJsonProtocolRequest + { + public: + AWS_RESTJSONPROTOCOL_API NullAndEmptyHeadersClientRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "NullAndEmptyHeadersClient"; } + + AWS_RESTJSONPROTOCOL_API Aws::String SerializePayload() const override; + + AWS_RESTJSONPROTOCOL_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + + inline const Aws::String& GetA() const{ return m_a; } + inline bool AHasBeenSet() const { return m_aHasBeenSet; } + inline void SetA(const Aws::String& value) { m_aHasBeenSet = true; m_a = value; } + inline void SetA(Aws::String&& value) { m_aHasBeenSet = true; m_a = std::move(value); } + inline void SetA(const char* value) { m_aHasBeenSet = true; m_a.assign(value); } + inline NullAndEmptyHeadersClientRequest& WithA(const Aws::String& value) { SetA(value); return *this;} + inline NullAndEmptyHeadersClientRequest& WithA(Aws::String&& value) { SetA(std::move(value)); return *this;} + inline NullAndEmptyHeadersClientRequest& WithA(const char* value) { SetA(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetB() const{ return m_b; } + inline bool BHasBeenSet() const { return m_bHasBeenSet; } + inline void SetB(const Aws::String& value) { m_bHasBeenSet = true; m_b = value; } + inline void SetB(Aws::String&& value) { m_bHasBeenSet = true; m_b = std::move(value); } + inline void SetB(const char* value) { m_bHasBeenSet = true; m_b.assign(value); } + inline NullAndEmptyHeadersClientRequest& WithB(const Aws::String& value) { SetB(value); return *this;} + inline NullAndEmptyHeadersClientRequest& WithB(Aws::String&& value) { SetB(std::move(value)); return *this;} + inline NullAndEmptyHeadersClientRequest& WithB(const char* value) { SetB(value); return *this;} + ///@} + + ///@{ + + inline const Aws::Vector& GetC() const{ return m_c; } + inline bool CHasBeenSet() const { return m_cHasBeenSet; } + inline void SetC(const Aws::Vector& value) { m_cHasBeenSet = true; m_c = value; } + inline void SetC(Aws::Vector&& value) { m_cHasBeenSet = true; m_c = std::move(value); } + inline NullAndEmptyHeadersClientRequest& WithC(const Aws::Vector& value) { SetC(value); return *this;} + inline NullAndEmptyHeadersClientRequest& WithC(Aws::Vector&& value) { SetC(std::move(value)); return *this;} + inline NullAndEmptyHeadersClientRequest& AddC(const Aws::String& value) { m_cHasBeenSet = true; m_c.push_back(value); return *this; } + inline NullAndEmptyHeadersClientRequest& AddC(Aws::String&& value) { m_cHasBeenSet = true; m_c.push_back(std::move(value)); return *this; } + inline NullAndEmptyHeadersClientRequest& AddC(const char* value) { m_cHasBeenSet = true; m_c.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline bool RequestIdHasBeenSet() const { return m_requestIdHasBeenSet; } + inline void SetRequestId(const Aws::String& value) { m_requestIdHasBeenSet = true; m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestIdHasBeenSet = true; m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestIdHasBeenSet = true; m_requestId.assign(value); } + inline NullAndEmptyHeadersClientRequest& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline NullAndEmptyHeadersClientRequest& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline NullAndEmptyHeadersClientRequest& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_a; + bool m_aHasBeenSet = false; + + Aws::String m_b; + bool m_bHasBeenSet = false; + + Aws::Vector m_c; + bool m_cHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace RestJsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/NullAndEmptyHeadersClientResult.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/NullAndEmptyHeadersClientResult.h new file mode 100644 index 00000000000..b4d3b277d8d --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/NullAndEmptyHeadersClientResult.h @@ -0,0 +1,93 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace RestJsonProtocol +{ +namespace Model +{ + class NullAndEmptyHeadersClientResult + { + public: + AWS_RESTJSONPROTOCOL_API NullAndEmptyHeadersClientResult(); + AWS_RESTJSONPROTOCOL_API NullAndEmptyHeadersClientResult(const Aws::AmazonWebServiceResult& result); + AWS_RESTJSONPROTOCOL_API NullAndEmptyHeadersClientResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::String& GetA() const{ return m_a; } + inline void SetA(const Aws::String& value) { m_a = value; } + inline void SetA(Aws::String&& value) { m_a = std::move(value); } + inline void SetA(const char* value) { m_a.assign(value); } + inline NullAndEmptyHeadersClientResult& WithA(const Aws::String& value) { SetA(value); return *this;} + inline NullAndEmptyHeadersClientResult& WithA(Aws::String&& value) { SetA(std::move(value)); return *this;} + inline NullAndEmptyHeadersClientResult& WithA(const char* value) { SetA(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetB() const{ return m_b; } + inline void SetB(const Aws::String& value) { m_b = value; } + inline void SetB(Aws::String&& value) { m_b = std::move(value); } + inline void SetB(const char* value) { m_b.assign(value); } + inline NullAndEmptyHeadersClientResult& WithB(const Aws::String& value) { SetB(value); return *this;} + inline NullAndEmptyHeadersClientResult& WithB(Aws::String&& value) { SetB(std::move(value)); return *this;} + inline NullAndEmptyHeadersClientResult& WithB(const char* value) { SetB(value); return *this;} + ///@} + + ///@{ + + inline const Aws::Vector& GetC() const{ return m_c; } + inline void SetC(const Aws::Vector& value) { m_c = value; } + inline void SetC(Aws::Vector&& value) { m_c = std::move(value); } + inline NullAndEmptyHeadersClientResult& WithC(const Aws::Vector& value) { SetC(value); return *this;} + inline NullAndEmptyHeadersClientResult& WithC(Aws::Vector&& value) { SetC(std::move(value)); return *this;} + inline NullAndEmptyHeadersClientResult& AddC(const Aws::String& value) { m_c.push_back(value); return *this; } + inline NullAndEmptyHeadersClientResult& AddC(Aws::String&& value) { m_c.push_back(std::move(value)); return *this; } + inline NullAndEmptyHeadersClientResult& AddC(const char* value) { m_c.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline NullAndEmptyHeadersClientResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline NullAndEmptyHeadersClientResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline NullAndEmptyHeadersClientResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_a; + + Aws::String m_b; + + Aws::Vector m_c; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace RestJsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/NullAndEmptyHeadersServerRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/NullAndEmptyHeadersServerRequest.h new file mode 100644 index 00000000000..35da148cb30 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/NullAndEmptyHeadersServerRequest.h @@ -0,0 +1,103 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace RestJsonProtocol +{ +namespace Model +{ + + /** + */ + class NullAndEmptyHeadersServerRequest : public RestJsonProtocolRequest + { + public: + AWS_RESTJSONPROTOCOL_API NullAndEmptyHeadersServerRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "NullAndEmptyHeadersServer"; } + + AWS_RESTJSONPROTOCOL_API Aws::String SerializePayload() const override; + + AWS_RESTJSONPROTOCOL_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + + inline const Aws::String& GetA() const{ return m_a; } + inline bool AHasBeenSet() const { return m_aHasBeenSet; } + inline void SetA(const Aws::String& value) { m_aHasBeenSet = true; m_a = value; } + inline void SetA(Aws::String&& value) { m_aHasBeenSet = true; m_a = std::move(value); } + inline void SetA(const char* value) { m_aHasBeenSet = true; m_a.assign(value); } + inline NullAndEmptyHeadersServerRequest& WithA(const Aws::String& value) { SetA(value); return *this;} + inline NullAndEmptyHeadersServerRequest& WithA(Aws::String&& value) { SetA(std::move(value)); return *this;} + inline NullAndEmptyHeadersServerRequest& WithA(const char* value) { SetA(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetB() const{ return m_b; } + inline bool BHasBeenSet() const { return m_bHasBeenSet; } + inline void SetB(const Aws::String& value) { m_bHasBeenSet = true; m_b = value; } + inline void SetB(Aws::String&& value) { m_bHasBeenSet = true; m_b = std::move(value); } + inline void SetB(const char* value) { m_bHasBeenSet = true; m_b.assign(value); } + inline NullAndEmptyHeadersServerRequest& WithB(const Aws::String& value) { SetB(value); return *this;} + inline NullAndEmptyHeadersServerRequest& WithB(Aws::String&& value) { SetB(std::move(value)); return *this;} + inline NullAndEmptyHeadersServerRequest& WithB(const char* value) { SetB(value); return *this;} + ///@} + + ///@{ + + inline const Aws::Vector& GetC() const{ return m_c; } + inline bool CHasBeenSet() const { return m_cHasBeenSet; } + inline void SetC(const Aws::Vector& value) { m_cHasBeenSet = true; m_c = value; } + inline void SetC(Aws::Vector&& value) { m_cHasBeenSet = true; m_c = std::move(value); } + inline NullAndEmptyHeadersServerRequest& WithC(const Aws::Vector& value) { SetC(value); return *this;} + inline NullAndEmptyHeadersServerRequest& WithC(Aws::Vector&& value) { SetC(std::move(value)); return *this;} + inline NullAndEmptyHeadersServerRequest& AddC(const Aws::String& value) { m_cHasBeenSet = true; m_c.push_back(value); return *this; } + inline NullAndEmptyHeadersServerRequest& AddC(Aws::String&& value) { m_cHasBeenSet = true; m_c.push_back(std::move(value)); return *this; } + inline NullAndEmptyHeadersServerRequest& AddC(const char* value) { m_cHasBeenSet = true; m_c.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline bool RequestIdHasBeenSet() const { return m_requestIdHasBeenSet; } + inline void SetRequestId(const Aws::String& value) { m_requestIdHasBeenSet = true; m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestIdHasBeenSet = true; m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestIdHasBeenSet = true; m_requestId.assign(value); } + inline NullAndEmptyHeadersServerRequest& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline NullAndEmptyHeadersServerRequest& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline NullAndEmptyHeadersServerRequest& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_a; + bool m_aHasBeenSet = false; + + Aws::String m_b; + bool m_bHasBeenSet = false; + + Aws::Vector m_c; + bool m_cHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace RestJsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/NullAndEmptyHeadersServerResult.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/NullAndEmptyHeadersServerResult.h new file mode 100644 index 00000000000..0ba5111ed07 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/NullAndEmptyHeadersServerResult.h @@ -0,0 +1,93 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace RestJsonProtocol +{ +namespace Model +{ + class NullAndEmptyHeadersServerResult + { + public: + AWS_RESTJSONPROTOCOL_API NullAndEmptyHeadersServerResult(); + AWS_RESTJSONPROTOCOL_API NullAndEmptyHeadersServerResult(const Aws::AmazonWebServiceResult& result); + AWS_RESTJSONPROTOCOL_API NullAndEmptyHeadersServerResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::String& GetA() const{ return m_a; } + inline void SetA(const Aws::String& value) { m_a = value; } + inline void SetA(Aws::String&& value) { m_a = std::move(value); } + inline void SetA(const char* value) { m_a.assign(value); } + inline NullAndEmptyHeadersServerResult& WithA(const Aws::String& value) { SetA(value); return *this;} + inline NullAndEmptyHeadersServerResult& WithA(Aws::String&& value) { SetA(std::move(value)); return *this;} + inline NullAndEmptyHeadersServerResult& WithA(const char* value) { SetA(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetB() const{ return m_b; } + inline void SetB(const Aws::String& value) { m_b = value; } + inline void SetB(Aws::String&& value) { m_b = std::move(value); } + inline void SetB(const char* value) { m_b.assign(value); } + inline NullAndEmptyHeadersServerResult& WithB(const Aws::String& value) { SetB(value); return *this;} + inline NullAndEmptyHeadersServerResult& WithB(Aws::String&& value) { SetB(std::move(value)); return *this;} + inline NullAndEmptyHeadersServerResult& WithB(const char* value) { SetB(value); return *this;} + ///@} + + ///@{ + + inline const Aws::Vector& GetC() const{ return m_c; } + inline void SetC(const Aws::Vector& value) { m_c = value; } + inline void SetC(Aws::Vector&& value) { m_c = std::move(value); } + inline NullAndEmptyHeadersServerResult& WithC(const Aws::Vector& value) { SetC(value); return *this;} + inline NullAndEmptyHeadersServerResult& WithC(Aws::Vector&& value) { SetC(std::move(value)); return *this;} + inline NullAndEmptyHeadersServerResult& AddC(const Aws::String& value) { m_c.push_back(value); return *this; } + inline NullAndEmptyHeadersServerResult& AddC(Aws::String&& value) { m_c.push_back(std::move(value)); return *this; } + inline NullAndEmptyHeadersServerResult& AddC(const char* value) { m_c.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline NullAndEmptyHeadersServerResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline NullAndEmptyHeadersServerResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline NullAndEmptyHeadersServerResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_a; + + Aws::String m_b; + + Aws::Vector m_c; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace RestJsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/OmitsNullSerializesEmptyStringRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/OmitsNullSerializesEmptyStringRequest.h new file mode 100644 index 00000000000..010f5deadfe --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/OmitsNullSerializesEmptyStringRequest.h @@ -0,0 +1,75 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace RestJsonProtocol +{ +namespace Model +{ + + /** + */ + class OmitsNullSerializesEmptyStringRequest : public RestJsonProtocolRequest + { + public: + AWS_RESTJSONPROTOCOL_API OmitsNullSerializesEmptyStringRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "OmitsNullSerializesEmptyString"; } + + AWS_RESTJSONPROTOCOL_API Aws::String SerializePayload() const override; + + AWS_RESTJSONPROTOCOL_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + + ///@{ + + inline const Aws::String& GetNullValue() const{ return m_nullValue; } + inline bool NullValueHasBeenSet() const { return m_nullValueHasBeenSet; } + inline void SetNullValue(const Aws::String& value) { m_nullValueHasBeenSet = true; m_nullValue = value; } + inline void SetNullValue(Aws::String&& value) { m_nullValueHasBeenSet = true; m_nullValue = std::move(value); } + inline void SetNullValue(const char* value) { m_nullValueHasBeenSet = true; m_nullValue.assign(value); } + inline OmitsNullSerializesEmptyStringRequest& WithNullValue(const Aws::String& value) { SetNullValue(value); return *this;} + inline OmitsNullSerializesEmptyStringRequest& WithNullValue(Aws::String&& value) { SetNullValue(std::move(value)); return *this;} + inline OmitsNullSerializesEmptyStringRequest& WithNullValue(const char* value) { SetNullValue(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetEmptyString() const{ return m_emptyString; } + inline bool EmptyStringHasBeenSet() const { return m_emptyStringHasBeenSet; } + inline void SetEmptyString(const Aws::String& value) { m_emptyStringHasBeenSet = true; m_emptyString = value; } + inline void SetEmptyString(Aws::String&& value) { m_emptyStringHasBeenSet = true; m_emptyString = std::move(value); } + inline void SetEmptyString(const char* value) { m_emptyStringHasBeenSet = true; m_emptyString.assign(value); } + inline OmitsNullSerializesEmptyStringRequest& WithEmptyString(const Aws::String& value) { SetEmptyString(value); return *this;} + inline OmitsNullSerializesEmptyStringRequest& WithEmptyString(Aws::String&& value) { SetEmptyString(std::move(value)); return *this;} + inline OmitsNullSerializesEmptyStringRequest& WithEmptyString(const char* value) { SetEmptyString(value); return *this;} + ///@} + private: + + Aws::String m_nullValue; + bool m_nullValueHasBeenSet = false; + + Aws::String m_emptyString; + bool m_emptyStringHasBeenSet = false; + }; + +} // namespace Model +} // namespace RestJsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/OmitsSerializingEmptyListsRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/OmitsSerializingEmptyListsRequest.h new file mode 100644 index 00000000000..e03ad314bdc --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/OmitsSerializingEmptyListsRequest.h @@ -0,0 +1,150 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace RestJsonProtocol +{ +namespace Model +{ + + /** + */ + class OmitsSerializingEmptyListsRequest : public RestJsonProtocolRequest + { + public: + AWS_RESTJSONPROTOCOL_API OmitsSerializingEmptyListsRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "OmitsSerializingEmptyLists"; } + + AWS_RESTJSONPROTOCOL_API Aws::String SerializePayload() const override; + + AWS_RESTJSONPROTOCOL_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + + ///@{ + + inline const Aws::Vector& GetQueryStringList() const{ return m_queryStringList; } + inline bool QueryStringListHasBeenSet() const { return m_queryStringListHasBeenSet; } + inline void SetQueryStringList(const Aws::Vector& value) { m_queryStringListHasBeenSet = true; m_queryStringList = value; } + inline void SetQueryStringList(Aws::Vector&& value) { m_queryStringListHasBeenSet = true; m_queryStringList = std::move(value); } + inline OmitsSerializingEmptyListsRequest& WithQueryStringList(const Aws::Vector& value) { SetQueryStringList(value); return *this;} + inline OmitsSerializingEmptyListsRequest& WithQueryStringList(Aws::Vector&& value) { SetQueryStringList(std::move(value)); return *this;} + inline OmitsSerializingEmptyListsRequest& AddQueryStringList(const Aws::String& value) { m_queryStringListHasBeenSet = true; m_queryStringList.push_back(value); return *this; } + inline OmitsSerializingEmptyListsRequest& AddQueryStringList(Aws::String&& value) { m_queryStringListHasBeenSet = true; m_queryStringList.push_back(std::move(value)); return *this; } + inline OmitsSerializingEmptyListsRequest& AddQueryStringList(const char* value) { m_queryStringListHasBeenSet = true; m_queryStringList.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetQueryIntegerList() const{ return m_queryIntegerList; } + inline bool QueryIntegerListHasBeenSet() const { return m_queryIntegerListHasBeenSet; } + inline void SetQueryIntegerList(const Aws::Vector& value) { m_queryIntegerListHasBeenSet = true; m_queryIntegerList = value; } + inline void SetQueryIntegerList(Aws::Vector&& value) { m_queryIntegerListHasBeenSet = true; m_queryIntegerList = std::move(value); } + inline OmitsSerializingEmptyListsRequest& WithQueryIntegerList(const Aws::Vector& value) { SetQueryIntegerList(value); return *this;} + inline OmitsSerializingEmptyListsRequest& WithQueryIntegerList(Aws::Vector&& value) { SetQueryIntegerList(std::move(value)); return *this;} + inline OmitsSerializingEmptyListsRequest& AddQueryIntegerList(int value) { m_queryIntegerListHasBeenSet = true; m_queryIntegerList.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetQueryDoubleList() const{ return m_queryDoubleList; } + inline bool QueryDoubleListHasBeenSet() const { return m_queryDoubleListHasBeenSet; } + inline void SetQueryDoubleList(const Aws::Vector& value) { m_queryDoubleListHasBeenSet = true; m_queryDoubleList = value; } + inline void SetQueryDoubleList(Aws::Vector&& value) { m_queryDoubleListHasBeenSet = true; m_queryDoubleList = std::move(value); } + inline OmitsSerializingEmptyListsRequest& WithQueryDoubleList(const Aws::Vector& value) { SetQueryDoubleList(value); return *this;} + inline OmitsSerializingEmptyListsRequest& WithQueryDoubleList(Aws::Vector&& value) { SetQueryDoubleList(std::move(value)); return *this;} + inline OmitsSerializingEmptyListsRequest& AddQueryDoubleList(double value) { m_queryDoubleListHasBeenSet = true; m_queryDoubleList.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetQueryBooleanList() const{ return m_queryBooleanList; } + inline bool QueryBooleanListHasBeenSet() const { return m_queryBooleanListHasBeenSet; } + inline void SetQueryBooleanList(const Aws::Vector& value) { m_queryBooleanListHasBeenSet = true; m_queryBooleanList = value; } + inline void SetQueryBooleanList(Aws::Vector&& value) { m_queryBooleanListHasBeenSet = true; m_queryBooleanList = std::move(value); } + inline OmitsSerializingEmptyListsRequest& WithQueryBooleanList(const Aws::Vector& value) { SetQueryBooleanList(value); return *this;} + inline OmitsSerializingEmptyListsRequest& WithQueryBooleanList(Aws::Vector&& value) { SetQueryBooleanList(std::move(value)); return *this;} + inline OmitsSerializingEmptyListsRequest& AddQueryBooleanList(bool value) { m_queryBooleanListHasBeenSet = true; m_queryBooleanList.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetQueryTimestampList() const{ return m_queryTimestampList; } + inline bool QueryTimestampListHasBeenSet() const { return m_queryTimestampListHasBeenSet; } + inline void SetQueryTimestampList(const Aws::Vector& value) { m_queryTimestampListHasBeenSet = true; m_queryTimestampList = value; } + inline void SetQueryTimestampList(Aws::Vector&& value) { m_queryTimestampListHasBeenSet = true; m_queryTimestampList = std::move(value); } + inline OmitsSerializingEmptyListsRequest& WithQueryTimestampList(const Aws::Vector& value) { SetQueryTimestampList(value); return *this;} + inline OmitsSerializingEmptyListsRequest& WithQueryTimestampList(Aws::Vector&& value) { SetQueryTimestampList(std::move(value)); return *this;} + inline OmitsSerializingEmptyListsRequest& AddQueryTimestampList(const Aws::Utils::DateTime& value) { m_queryTimestampListHasBeenSet = true; m_queryTimestampList.push_back(value); return *this; } + inline OmitsSerializingEmptyListsRequest& AddQueryTimestampList(Aws::Utils::DateTime&& value) { m_queryTimestampListHasBeenSet = true; m_queryTimestampList.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetQueryEnumList() const{ return m_queryEnumList; } + inline bool QueryEnumListHasBeenSet() const { return m_queryEnumListHasBeenSet; } + inline void SetQueryEnumList(const Aws::Vector& value) { m_queryEnumListHasBeenSet = true; m_queryEnumList = value; } + inline void SetQueryEnumList(Aws::Vector&& value) { m_queryEnumListHasBeenSet = true; m_queryEnumList = std::move(value); } + inline OmitsSerializingEmptyListsRequest& WithQueryEnumList(const Aws::Vector& value) { SetQueryEnumList(value); return *this;} + inline OmitsSerializingEmptyListsRequest& WithQueryEnumList(Aws::Vector&& value) { SetQueryEnumList(std::move(value)); return *this;} + inline OmitsSerializingEmptyListsRequest& AddQueryEnumList(const FooEnum& value) { m_queryEnumListHasBeenSet = true; m_queryEnumList.push_back(value); return *this; } + inline OmitsSerializingEmptyListsRequest& AddQueryEnumList(FooEnum&& value) { m_queryEnumListHasBeenSet = true; m_queryEnumList.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetQueryIntegerEnumList() const{ return m_queryIntegerEnumList; } + inline bool QueryIntegerEnumListHasBeenSet() const { return m_queryIntegerEnumListHasBeenSet; } + inline void SetQueryIntegerEnumList(const Aws::Vector& value) { m_queryIntegerEnumListHasBeenSet = true; m_queryIntegerEnumList = value; } + inline void SetQueryIntegerEnumList(Aws::Vector&& value) { m_queryIntegerEnumListHasBeenSet = true; m_queryIntegerEnumList = std::move(value); } + inline OmitsSerializingEmptyListsRequest& WithQueryIntegerEnumList(const Aws::Vector& value) { SetQueryIntegerEnumList(value); return *this;} + inline OmitsSerializingEmptyListsRequest& WithQueryIntegerEnumList(Aws::Vector&& value) { SetQueryIntegerEnumList(std::move(value)); return *this;} + inline OmitsSerializingEmptyListsRequest& AddQueryIntegerEnumList(int value) { m_queryIntegerEnumListHasBeenSet = true; m_queryIntegerEnumList.push_back(value); return *this; } + ///@} + private: + + Aws::Vector m_queryStringList; + bool m_queryStringListHasBeenSet = false; + + Aws::Vector m_queryIntegerList; + bool m_queryIntegerListHasBeenSet = false; + + Aws::Vector m_queryDoubleList; + bool m_queryDoubleListHasBeenSet = false; + + Aws::Vector m_queryBooleanList; + bool m_queryBooleanListHasBeenSet = false; + + Aws::Vector m_queryTimestampList; + bool m_queryTimestampListHasBeenSet = false; + + Aws::Vector m_queryEnumList; + bool m_queryEnumListHasBeenSet = false; + + Aws::Vector m_queryIntegerEnumList; + bool m_queryIntegerEnumListHasBeenSet = false; + }; + +} // namespace Model +} // namespace RestJsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/PayloadConfig.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/PayloadConfig.h new file mode 100644 index 00000000000..99ba9ec2bcf --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/PayloadConfig.h @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace RestJsonProtocol +{ +namespace Model +{ + + class PayloadConfig + { + public: + AWS_RESTJSONPROTOCOL_API PayloadConfig(); + AWS_RESTJSONPROTOCOL_API PayloadConfig(Aws::Utils::Json::JsonView jsonValue); + AWS_RESTJSONPROTOCOL_API PayloadConfig& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_RESTJSONPROTOCOL_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + + inline int GetData() const{ return m_data; } + inline bool DataHasBeenSet() const { return m_dataHasBeenSet; } + inline void SetData(int value) { m_dataHasBeenSet = true; m_data = value; } + inline PayloadConfig& WithData(int value) { SetData(value); return *this;} + ///@} + private: + + int m_data; + bool m_dataHasBeenSet = false; + }; + +} // namespace Model +} // namespace RestJsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/PostUnionWithJsonNameRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/PostUnionWithJsonNameRequest.h new file mode 100644 index 00000000000..54cd9497efb --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/PostUnionWithJsonNameRequest.h @@ -0,0 +1,52 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace RestJsonProtocol +{ +namespace Model +{ + + /** + */ + class PostUnionWithJsonNameRequest : public RestJsonProtocolRequest + { + public: + AWS_RESTJSONPROTOCOL_API PostUnionWithJsonNameRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "PostUnionWithJsonName"; } + + AWS_RESTJSONPROTOCOL_API Aws::String SerializePayload() const override; + + + ///@{ + + inline const UnionWithJsonName& GetValue() const{ return m_value; } + inline bool ValueHasBeenSet() const { return m_valueHasBeenSet; } + inline void SetValue(const UnionWithJsonName& value) { m_valueHasBeenSet = true; m_value = value; } + inline void SetValue(UnionWithJsonName&& value) { m_valueHasBeenSet = true; m_value = std::move(value); } + inline PostUnionWithJsonNameRequest& WithValue(const UnionWithJsonName& value) { SetValue(value); return *this;} + inline PostUnionWithJsonNameRequest& WithValue(UnionWithJsonName&& value) { SetValue(std::move(value)); return *this;} + ///@} + private: + + UnionWithJsonName m_value; + bool m_valueHasBeenSet = false; + }; + +} // namespace Model +} // namespace RestJsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/PostUnionWithJsonNameResult.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/PostUnionWithJsonNameResult.h new file mode 100644 index 00000000000..2456633dd3c --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/PostUnionWithJsonNameResult.h @@ -0,0 +1,64 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace RestJsonProtocol +{ +namespace Model +{ + class PostUnionWithJsonNameResult + { + public: + AWS_RESTJSONPROTOCOL_API PostUnionWithJsonNameResult(); + AWS_RESTJSONPROTOCOL_API PostUnionWithJsonNameResult(const Aws::AmazonWebServiceResult& result); + AWS_RESTJSONPROTOCOL_API PostUnionWithJsonNameResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const UnionWithJsonName& GetValue() const{ return m_value; } + inline void SetValue(const UnionWithJsonName& value) { m_value = value; } + inline void SetValue(UnionWithJsonName&& value) { m_value = std::move(value); } + inline PostUnionWithJsonNameResult& WithValue(const UnionWithJsonName& value) { SetValue(value); return *this;} + inline PostUnionWithJsonNameResult& WithValue(UnionWithJsonName&& value) { SetValue(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline PostUnionWithJsonNameResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline PostUnionWithJsonNameResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline PostUnionWithJsonNameResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + UnionWithJsonName m_value; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace RestJsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/PutWithContentEncodingRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/PutWithContentEncodingRequest.h new file mode 100644 index 00000000000..c1217b88f5c --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/PutWithContentEncodingRequest.h @@ -0,0 +1,76 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace RestJsonProtocol +{ +namespace Model +{ + + /** + */ + class PutWithContentEncodingRequest : public RestJsonProtocolRequest + { + public: + AWS_RESTJSONPROTOCOL_API PutWithContentEncodingRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "PutWithContentEncoding"; } + + AWS_RESTJSONPROTOCOL_API Aws::String SerializePayload() const override; + + AWS_RESTJSONPROTOCOL_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + +#ifdef ENABLED_ZLIB_REQUEST_COMPRESSION + virtual Aws::Client::CompressionAlgorithm + GetSelectedCompressionAlgorithm(Aws::Client::RequestCompressionConfig config) const override; +#endif + + + ///@{ + + inline const Aws::String& GetEncoding() const{ return m_encoding; } + inline bool EncodingHasBeenSet() const { return m_encodingHasBeenSet; } + inline void SetEncoding(const Aws::String& value) { m_encodingHasBeenSet = true; m_encoding = value; } + inline void SetEncoding(Aws::String&& value) { m_encodingHasBeenSet = true; m_encoding = std::move(value); } + inline void SetEncoding(const char* value) { m_encodingHasBeenSet = true; m_encoding.assign(value); } + inline PutWithContentEncodingRequest& WithEncoding(const Aws::String& value) { SetEncoding(value); return *this;} + inline PutWithContentEncodingRequest& WithEncoding(Aws::String&& value) { SetEncoding(std::move(value)); return *this;} + inline PutWithContentEncodingRequest& WithEncoding(const char* value) { SetEncoding(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetData() const{ return m_data; } + inline bool DataHasBeenSet() const { return m_dataHasBeenSet; } + inline void SetData(const Aws::String& value) { m_dataHasBeenSet = true; m_data = value; } + inline void SetData(Aws::String&& value) { m_dataHasBeenSet = true; m_data = std::move(value); } + inline void SetData(const char* value) { m_dataHasBeenSet = true; m_data.assign(value); } + inline PutWithContentEncodingRequest& WithData(const Aws::String& value) { SetData(value); return *this;} + inline PutWithContentEncodingRequest& WithData(Aws::String&& value) { SetData(std::move(value)); return *this;} + inline PutWithContentEncodingRequest& WithData(const char* value) { SetData(value); return *this;} + ///@} + private: + + Aws::String m_encoding; + bool m_encodingHasBeenSet = false; + + Aws::String m_data; + bool m_dataHasBeenSet = false; + }; + +} // namespace Model +} // namespace RestJsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/QueryIdempotencyTokenAutoFillRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/QueryIdempotencyTokenAutoFillRequest.h new file mode 100644 index 00000000000..9a02c7d48a8 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/QueryIdempotencyTokenAutoFillRequest.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace RestJsonProtocol +{ +namespace Model +{ + + /** + */ + class QueryIdempotencyTokenAutoFillRequest : public RestJsonProtocolRequest + { + public: + AWS_RESTJSONPROTOCOL_API QueryIdempotencyTokenAutoFillRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "QueryIdempotencyTokenAutoFill"; } + + AWS_RESTJSONPROTOCOL_API Aws::String SerializePayload() const override; + + AWS_RESTJSONPROTOCOL_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + + ///@{ + + inline const Aws::String& GetToken() const{ return m_token; } + inline bool TokenHasBeenSet() const { return m_tokenHasBeenSet; } + inline void SetToken(const Aws::String& value) { m_tokenHasBeenSet = true; m_token = value; } + inline void SetToken(Aws::String&& value) { m_tokenHasBeenSet = true; m_token = std::move(value); } + inline void SetToken(const char* value) { m_tokenHasBeenSet = true; m_token.assign(value); } + inline QueryIdempotencyTokenAutoFillRequest& WithToken(const Aws::String& value) { SetToken(value); return *this;} + inline QueryIdempotencyTokenAutoFillRequest& WithToken(Aws::String&& value) { SetToken(std::move(value)); return *this;} + inline QueryIdempotencyTokenAutoFillRequest& WithToken(const char* value) { SetToken(value); return *this;} + ///@} + private: + + Aws::String m_token; + bool m_tokenHasBeenSet = false; + }; + +} // namespace Model +} // namespace RestJsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/QueryParamsAsStringListMapRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/QueryParamsAsStringListMapRequest.h new file mode 100644 index 00000000000..68f22b8868f --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/QueryParamsAsStringListMapRequest.h @@ -0,0 +1,81 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace RestJsonProtocol +{ +namespace Model +{ + + /** + */ + class QueryParamsAsStringListMapRequest : public RestJsonProtocolRequest + { + public: + AWS_RESTJSONPROTOCOL_API QueryParamsAsStringListMapRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "QueryParamsAsStringListMap"; } + + AWS_RESTJSONPROTOCOL_API Aws::String SerializePayload() const override; + + AWS_RESTJSONPROTOCOL_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + + ///@{ + + inline const Aws::String& GetQux() const{ return m_qux; } + inline bool QuxHasBeenSet() const { return m_quxHasBeenSet; } + inline void SetQux(const Aws::String& value) { m_quxHasBeenSet = true; m_qux = value; } + inline void SetQux(Aws::String&& value) { m_quxHasBeenSet = true; m_qux = std::move(value); } + inline void SetQux(const char* value) { m_quxHasBeenSet = true; m_qux.assign(value); } + inline QueryParamsAsStringListMapRequest& WithQux(const Aws::String& value) { SetQux(value); return *this;} + inline QueryParamsAsStringListMapRequest& WithQux(Aws::String&& value) { SetQux(std::move(value)); return *this;} + inline QueryParamsAsStringListMapRequest& WithQux(const char* value) { SetQux(value); return *this;} + ///@} + + ///@{ + + inline const Aws::Map>& GetFoo() const{ return m_foo; } + inline bool FooHasBeenSet() const { return m_fooHasBeenSet; } + inline void SetFoo(const Aws::Map>& value) { m_fooHasBeenSet = true; m_foo = value; } + inline void SetFoo(Aws::Map>&& value) { m_fooHasBeenSet = true; m_foo = std::move(value); } + inline QueryParamsAsStringListMapRequest& WithFoo(const Aws::Map>& value) { SetFoo(value); return *this;} + inline QueryParamsAsStringListMapRequest& WithFoo(Aws::Map>&& value) { SetFoo(std::move(value)); return *this;} + inline QueryParamsAsStringListMapRequest& AddFoo(const Aws::String& key, const Aws::Vector& value) { m_fooHasBeenSet = true; m_foo.emplace(key, value); return *this; } + inline QueryParamsAsStringListMapRequest& AddFoo(Aws::String&& key, const Aws::Vector& value) { m_fooHasBeenSet = true; m_foo.emplace(std::move(key), value); return *this; } + inline QueryParamsAsStringListMapRequest& AddFoo(const Aws::String& key, Aws::Vector&& value) { m_fooHasBeenSet = true; m_foo.emplace(key, std::move(value)); return *this; } + inline QueryParamsAsStringListMapRequest& AddFoo(Aws::String&& key, Aws::Vector&& value) { m_fooHasBeenSet = true; m_foo.emplace(std::move(key), std::move(value)); return *this; } + inline QueryParamsAsStringListMapRequest& AddFoo(const char* key, Aws::Vector&& value) { m_fooHasBeenSet = true; m_foo.emplace(key, std::move(value)); return *this; } + inline QueryParamsAsStringListMapRequest& AddFoo(const char* key, const Aws::Vector& value) { m_fooHasBeenSet = true; m_foo.emplace(key, value); return *this; } + ///@} + private: + + Aws::String m_qux; + bool m_quxHasBeenSet = false; + + Aws::Map> m_foo; + bool m_fooHasBeenSet = false; + }; + +} // namespace Model +} // namespace RestJsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/QueryPrecedenceRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/QueryPrecedenceRequest.h new file mode 100644 index 00000000000..dfbe7d78837 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/QueryPrecedenceRequest.h @@ -0,0 +1,81 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace RestJsonProtocol +{ +namespace Model +{ + + /** + */ + class QueryPrecedenceRequest : public RestJsonProtocolRequest + { + public: + AWS_RESTJSONPROTOCOL_API QueryPrecedenceRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "QueryPrecedence"; } + + AWS_RESTJSONPROTOCOL_API Aws::String SerializePayload() const override; + + AWS_RESTJSONPROTOCOL_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + + ///@{ + + inline const Aws::String& GetFoo() const{ return m_foo; } + inline bool FooHasBeenSet() const { return m_fooHasBeenSet; } + inline void SetFoo(const Aws::String& value) { m_fooHasBeenSet = true; m_foo = value; } + inline void SetFoo(Aws::String&& value) { m_fooHasBeenSet = true; m_foo = std::move(value); } + inline void SetFoo(const char* value) { m_fooHasBeenSet = true; m_foo.assign(value); } + inline QueryPrecedenceRequest& WithFoo(const Aws::String& value) { SetFoo(value); return *this;} + inline QueryPrecedenceRequest& WithFoo(Aws::String&& value) { SetFoo(std::move(value)); return *this;} + inline QueryPrecedenceRequest& WithFoo(const char* value) { SetFoo(value); return *this;} + ///@} + + ///@{ + + inline const Aws::Map& GetBaz() const{ return m_baz; } + inline bool BazHasBeenSet() const { return m_bazHasBeenSet; } + inline void SetBaz(const Aws::Map& value) { m_bazHasBeenSet = true; m_baz = value; } + inline void SetBaz(Aws::Map&& value) { m_bazHasBeenSet = true; m_baz = std::move(value); } + inline QueryPrecedenceRequest& WithBaz(const Aws::Map& value) { SetBaz(value); return *this;} + inline QueryPrecedenceRequest& WithBaz(Aws::Map&& value) { SetBaz(std::move(value)); return *this;} + inline QueryPrecedenceRequest& AddBaz(const Aws::String& key, const Aws::String& value) { m_bazHasBeenSet = true; m_baz.emplace(key, value); return *this; } + inline QueryPrecedenceRequest& AddBaz(Aws::String&& key, const Aws::String& value) { m_bazHasBeenSet = true; m_baz.emplace(std::move(key), value); return *this; } + inline QueryPrecedenceRequest& AddBaz(const Aws::String& key, Aws::String&& value) { m_bazHasBeenSet = true; m_baz.emplace(key, std::move(value)); return *this; } + inline QueryPrecedenceRequest& AddBaz(Aws::String&& key, Aws::String&& value) { m_bazHasBeenSet = true; m_baz.emplace(std::move(key), std::move(value)); return *this; } + inline QueryPrecedenceRequest& AddBaz(const char* key, Aws::String&& value) { m_bazHasBeenSet = true; m_baz.emplace(key, std::move(value)); return *this; } + inline QueryPrecedenceRequest& AddBaz(Aws::String&& key, const char* value) { m_bazHasBeenSet = true; m_baz.emplace(std::move(key), value); return *this; } + inline QueryPrecedenceRequest& AddBaz(const char* key, const char* value) { m_bazHasBeenSet = true; m_baz.emplace(key, value); return *this; } + ///@} + private: + + Aws::String m_foo; + bool m_fooHasBeenSet = false; + + Aws::Map m_baz; + bool m_bazHasBeenSet = false; + }; + +} // namespace Model +} // namespace RestJsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/RecursiveShapesInputOutputNested1.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/RecursiveShapesInputOutputNested1.h new file mode 100644 index 00000000000..1a45ab7cbb7 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/RecursiveShapesInputOutputNested1.h @@ -0,0 +1,69 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace RestJsonProtocol +{ +namespace Model +{ + class RecursiveShapesInputOutputNested2; + + class RecursiveShapesInputOutputNested1 + { + public: + AWS_RESTJSONPROTOCOL_API RecursiveShapesInputOutputNested1(); + AWS_RESTJSONPROTOCOL_API RecursiveShapesInputOutputNested1(Aws::Utils::Json::JsonView jsonValue); + AWS_RESTJSONPROTOCOL_API RecursiveShapesInputOutputNested1& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_RESTJSONPROTOCOL_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + + inline const Aws::String& GetFoo() const{ return m_foo; } + inline bool FooHasBeenSet() const { return m_fooHasBeenSet; } + inline void SetFoo(const Aws::String& value) { m_fooHasBeenSet = true; m_foo = value; } + inline void SetFoo(Aws::String&& value) { m_fooHasBeenSet = true; m_foo = std::move(value); } + inline void SetFoo(const char* value) { m_fooHasBeenSet = true; m_foo.assign(value); } + inline RecursiveShapesInputOutputNested1& WithFoo(const Aws::String& value) { SetFoo(value); return *this;} + inline RecursiveShapesInputOutputNested1& WithFoo(Aws::String&& value) { SetFoo(std::move(value)); return *this;} + inline RecursiveShapesInputOutputNested1& WithFoo(const char* value) { SetFoo(value); return *this;} + ///@} + + ///@{ + + AWS_RESTJSONPROTOCOL_API const RecursiveShapesInputOutputNested2& GetNested() const; + AWS_RESTJSONPROTOCOL_API bool NestedHasBeenSet() const; + AWS_RESTJSONPROTOCOL_API void SetNested(const RecursiveShapesInputOutputNested2& value); + AWS_RESTJSONPROTOCOL_API void SetNested(RecursiveShapesInputOutputNested2&& value); + AWS_RESTJSONPROTOCOL_API RecursiveShapesInputOutputNested1& WithNested(const RecursiveShapesInputOutputNested2& value); + AWS_RESTJSONPROTOCOL_API RecursiveShapesInputOutputNested1& WithNested(RecursiveShapesInputOutputNested2&& value); + ///@} + private: + + Aws::String m_foo; + bool m_fooHasBeenSet = false; + + std::shared_ptr m_nested; + bool m_nestedHasBeenSet = false; + }; + +} // namespace Model +} // namespace RestJsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/RecursiveShapesInputOutputNested2.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/RecursiveShapesInputOutputNested2.h new file mode 100644 index 00000000000..357305d12b3 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/RecursiveShapesInputOutputNested2.h @@ -0,0 +1,69 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace RestJsonProtocol +{ +namespace Model +{ + class RecursiveShapesInputOutputNested1; + + class RecursiveShapesInputOutputNested2 + { + public: + AWS_RESTJSONPROTOCOL_API RecursiveShapesInputOutputNested2(); + AWS_RESTJSONPROTOCOL_API RecursiveShapesInputOutputNested2(Aws::Utils::Json::JsonView jsonValue); + AWS_RESTJSONPROTOCOL_API RecursiveShapesInputOutputNested2& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_RESTJSONPROTOCOL_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + + inline const Aws::String& GetBar() const{ return m_bar; } + inline bool BarHasBeenSet() const { return m_barHasBeenSet; } + inline void SetBar(const Aws::String& value) { m_barHasBeenSet = true; m_bar = value; } + inline void SetBar(Aws::String&& value) { m_barHasBeenSet = true; m_bar = std::move(value); } + inline void SetBar(const char* value) { m_barHasBeenSet = true; m_bar.assign(value); } + inline RecursiveShapesInputOutputNested2& WithBar(const Aws::String& value) { SetBar(value); return *this;} + inline RecursiveShapesInputOutputNested2& WithBar(Aws::String&& value) { SetBar(std::move(value)); return *this;} + inline RecursiveShapesInputOutputNested2& WithBar(const char* value) { SetBar(value); return *this;} + ///@} + + ///@{ + + AWS_RESTJSONPROTOCOL_API const RecursiveShapesInputOutputNested1& GetRecursiveMember() const; + AWS_RESTJSONPROTOCOL_API bool RecursiveMemberHasBeenSet() const; + AWS_RESTJSONPROTOCOL_API void SetRecursiveMember(const RecursiveShapesInputOutputNested1& value); + AWS_RESTJSONPROTOCOL_API void SetRecursiveMember(RecursiveShapesInputOutputNested1&& value); + AWS_RESTJSONPROTOCOL_API RecursiveShapesInputOutputNested2& WithRecursiveMember(const RecursiveShapesInputOutputNested1& value); + AWS_RESTJSONPROTOCOL_API RecursiveShapesInputOutputNested2& WithRecursiveMember(RecursiveShapesInputOutputNested1&& value); + ///@} + private: + + Aws::String m_bar; + bool m_barHasBeenSet = false; + + std::shared_ptr m_recursiveMember; + bool m_recursiveMemberHasBeenSet = false; + }; + +} // namespace Model +} // namespace RestJsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/RecursiveShapesRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/RecursiveShapesRequest.h new file mode 100644 index 00000000000..6b9d6a6b766 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/RecursiveShapesRequest.h @@ -0,0 +1,70 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace RestJsonProtocol +{ +namespace Model +{ + + /** + */ + class RecursiveShapesRequest : public RestJsonProtocolRequest + { + public: + AWS_RESTJSONPROTOCOL_API RecursiveShapesRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "RecursiveShapes"; } + + AWS_RESTJSONPROTOCOL_API Aws::String SerializePayload() const override; + + AWS_RESTJSONPROTOCOL_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + + inline const RecursiveShapesInputOutputNested1& GetNested() const{ return m_nested; } + inline bool NestedHasBeenSet() const { return m_nestedHasBeenSet; } + inline void SetNested(const RecursiveShapesInputOutputNested1& value) { m_nestedHasBeenSet = true; m_nested = value; } + inline void SetNested(RecursiveShapesInputOutputNested1&& value) { m_nestedHasBeenSet = true; m_nested = std::move(value); } + inline RecursiveShapesRequest& WithNested(const RecursiveShapesInputOutputNested1& value) { SetNested(value); return *this;} + inline RecursiveShapesRequest& WithNested(RecursiveShapesInputOutputNested1&& value) { SetNested(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline bool RequestIdHasBeenSet() const { return m_requestIdHasBeenSet; } + inline void SetRequestId(const Aws::String& value) { m_requestIdHasBeenSet = true; m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestIdHasBeenSet = true; m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestIdHasBeenSet = true; m_requestId.assign(value); } + inline RecursiveShapesRequest& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline RecursiveShapesRequest& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline RecursiveShapesRequest& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + RecursiveShapesInputOutputNested1 m_nested; + bool m_nestedHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace RestJsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/RecursiveShapesResult.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/RecursiveShapesResult.h new file mode 100644 index 00000000000..7bf928ebbf5 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/RecursiveShapesResult.h @@ -0,0 +1,64 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace RestJsonProtocol +{ +namespace Model +{ + class RecursiveShapesResult + { + public: + AWS_RESTJSONPROTOCOL_API RecursiveShapesResult(); + AWS_RESTJSONPROTOCOL_API RecursiveShapesResult(const Aws::AmazonWebServiceResult& result); + AWS_RESTJSONPROTOCOL_API RecursiveShapesResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const RecursiveShapesInputOutputNested1& GetNested() const{ return m_nested; } + inline void SetNested(const RecursiveShapesInputOutputNested1& value) { m_nested = value; } + inline void SetNested(RecursiveShapesInputOutputNested1&& value) { m_nested = std::move(value); } + inline RecursiveShapesResult& WithNested(const RecursiveShapesInputOutputNested1& value) { SetNested(value); return *this;} + inline RecursiveShapesResult& WithNested(RecursiveShapesInputOutputNested1&& value) { SetNested(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline RecursiveShapesResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline RecursiveShapesResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline RecursiveShapesResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + RecursiveShapesInputOutputNested1 m_nested; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace RestJsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/RenamedGreeting.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/RenamedGreeting.h new file mode 100644 index 00000000000..6006d1e0de5 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/RenamedGreeting.h @@ -0,0 +1,54 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace RestJsonProtocol +{ +namespace Model +{ + + class RenamedGreeting + { + public: + AWS_RESTJSONPROTOCOL_API RenamedGreeting(); + AWS_RESTJSONPROTOCOL_API RenamedGreeting(Aws::Utils::Json::JsonView jsonValue); + AWS_RESTJSONPROTOCOL_API RenamedGreeting& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_RESTJSONPROTOCOL_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + + inline const Aws::String& GetSalutation() const{ return m_salutation; } + inline bool SalutationHasBeenSet() const { return m_salutationHasBeenSet; } + inline void SetSalutation(const Aws::String& value) { m_salutationHasBeenSet = true; m_salutation = value; } + inline void SetSalutation(Aws::String&& value) { m_salutationHasBeenSet = true; m_salutation = std::move(value); } + inline void SetSalutation(const char* value) { m_salutationHasBeenSet = true; m_salutation.assign(value); } + inline RenamedGreeting& WithSalutation(const Aws::String& value) { SetSalutation(value); return *this;} + inline RenamedGreeting& WithSalutation(Aws::String&& value) { SetSalutation(std::move(value)); return *this;} + inline RenamedGreeting& WithSalutation(const char* value) { SetSalutation(value); return *this;} + ///@} + private: + + Aws::String m_salutation; + bool m_salutationHasBeenSet = false; + }; + +} // namespace Model +} // namespace RestJsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/ResponseCodeHttpFallbackRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/ResponseCodeHttpFallbackRequest.h new file mode 100644 index 00000000000..8d28f3e2ff1 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/ResponseCodeHttpFallbackRequest.h @@ -0,0 +1,56 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace RestJsonProtocol +{ +namespace Model +{ + + /** + */ + class ResponseCodeHttpFallbackRequest : public RestJsonProtocolRequest + { + public: + AWS_RESTJSONPROTOCOL_API ResponseCodeHttpFallbackRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "ResponseCodeHttpFallback"; } + + AWS_RESTJSONPROTOCOL_API Aws::String SerializePayload() const override; + + AWS_RESTJSONPROTOCOL_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline bool RequestIdHasBeenSet() const { return m_requestIdHasBeenSet; } + inline void SetRequestId(const Aws::String& value) { m_requestIdHasBeenSet = true; m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestIdHasBeenSet = true; m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestIdHasBeenSet = true; m_requestId.assign(value); } + inline ResponseCodeHttpFallbackRequest& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline ResponseCodeHttpFallbackRequest& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline ResponseCodeHttpFallbackRequest& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace RestJsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/ResponseCodeHttpFallbackResult.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/ResponseCodeHttpFallbackResult.h new file mode 100644 index 00000000000..2c9b04bb7f0 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/ResponseCodeHttpFallbackResult.h @@ -0,0 +1,52 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace RestJsonProtocol +{ +namespace Model +{ + class ResponseCodeHttpFallbackResult + { + public: + AWS_RESTJSONPROTOCOL_API ResponseCodeHttpFallbackResult(); + AWS_RESTJSONPROTOCOL_API ResponseCodeHttpFallbackResult(const Aws::AmazonWebServiceResult& result); + AWS_RESTJSONPROTOCOL_API ResponseCodeHttpFallbackResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline ResponseCodeHttpFallbackResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline ResponseCodeHttpFallbackResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline ResponseCodeHttpFallbackResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace RestJsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/ResponseCodeRequiredRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/ResponseCodeRequiredRequest.h new file mode 100644 index 00000000000..b1e414785a3 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/ResponseCodeRequiredRequest.h @@ -0,0 +1,36 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace RestJsonProtocol +{ +namespace Model +{ + + /** + */ + class ResponseCodeRequiredRequest : public RestJsonProtocolRequest + { + public: + AWS_RESTJSONPROTOCOL_API ResponseCodeRequiredRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "ResponseCodeRequired"; } + + AWS_RESTJSONPROTOCOL_API Aws::String SerializePayload() const override; + + }; + +} // namespace Model +} // namespace RestJsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/ResponseCodeRequiredResult.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/ResponseCodeRequiredResult.h new file mode 100644 index 00000000000..95203533d5e --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/ResponseCodeRequiredResult.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace RestJsonProtocol +{ +namespace Model +{ + class ResponseCodeRequiredResult + { + public: + AWS_RESTJSONPROTOCOL_API ResponseCodeRequiredResult(); + AWS_RESTJSONPROTOCOL_API ResponseCodeRequiredResult(const Aws::AmazonWebServiceResult& result); + AWS_RESTJSONPROTOCOL_API ResponseCodeRequiredResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline int GetResponseCode() const{ return m_responseCode; } + inline void SetResponseCode(int value) { m_responseCode = value; } + inline ResponseCodeRequiredResult& WithResponseCode(int value) { SetResponseCode(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline ResponseCodeRequiredResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline ResponseCodeRequiredResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline ResponseCodeRequiredResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + int m_responseCode; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace RestJsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/SimpleScalarPropertiesRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/SimpleScalarPropertiesRequest.h new file mode 100644 index 00000000000..6175bceed72 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/SimpleScalarPropertiesRequest.h @@ -0,0 +1,174 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace RestJsonProtocol +{ +namespace Model +{ + + /** + */ + class SimpleScalarPropertiesRequest : public RestJsonProtocolRequest + { + public: + AWS_RESTJSONPROTOCOL_API SimpleScalarPropertiesRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "SimpleScalarProperties"; } + + AWS_RESTJSONPROTOCOL_API Aws::String SerializePayload() const override; + + AWS_RESTJSONPROTOCOL_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + + inline const Aws::String& GetFoo() const{ return m_foo; } + inline bool FooHasBeenSet() const { return m_fooHasBeenSet; } + inline void SetFoo(const Aws::String& value) { m_fooHasBeenSet = true; m_foo = value; } + inline void SetFoo(Aws::String&& value) { m_fooHasBeenSet = true; m_foo = std::move(value); } + inline void SetFoo(const char* value) { m_fooHasBeenSet = true; m_foo.assign(value); } + inline SimpleScalarPropertiesRequest& WithFoo(const Aws::String& value) { SetFoo(value); return *this;} + inline SimpleScalarPropertiesRequest& WithFoo(Aws::String&& value) { SetFoo(std::move(value)); return *this;} + inline SimpleScalarPropertiesRequest& WithFoo(const char* value) { SetFoo(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetStringValue() const{ return m_stringValue; } + inline bool StringValueHasBeenSet() const { return m_stringValueHasBeenSet; } + inline void SetStringValue(const Aws::String& value) { m_stringValueHasBeenSet = true; m_stringValue = value; } + inline void SetStringValue(Aws::String&& value) { m_stringValueHasBeenSet = true; m_stringValue = std::move(value); } + inline void SetStringValue(const char* value) { m_stringValueHasBeenSet = true; m_stringValue.assign(value); } + inline SimpleScalarPropertiesRequest& WithStringValue(const Aws::String& value) { SetStringValue(value); return *this;} + inline SimpleScalarPropertiesRequest& WithStringValue(Aws::String&& value) { SetStringValue(std::move(value)); return *this;} + inline SimpleScalarPropertiesRequest& WithStringValue(const char* value) { SetStringValue(value); return *this;} + ///@} + + ///@{ + + inline bool GetTrueBooleanValue() const{ return m_trueBooleanValue; } + inline bool TrueBooleanValueHasBeenSet() const { return m_trueBooleanValueHasBeenSet; } + inline void SetTrueBooleanValue(bool value) { m_trueBooleanValueHasBeenSet = true; m_trueBooleanValue = value; } + inline SimpleScalarPropertiesRequest& WithTrueBooleanValue(bool value) { SetTrueBooleanValue(value); return *this;} + ///@} + + ///@{ + + inline bool GetFalseBooleanValue() const{ return m_falseBooleanValue; } + inline bool FalseBooleanValueHasBeenSet() const { return m_falseBooleanValueHasBeenSet; } + inline void SetFalseBooleanValue(bool value) { m_falseBooleanValueHasBeenSet = true; m_falseBooleanValue = value; } + inline SimpleScalarPropertiesRequest& WithFalseBooleanValue(bool value) { SetFalseBooleanValue(value); return *this;} + ///@} + + ///@{ + + inline int GetByteValue() const{ return m_byteValue; } + inline bool ByteValueHasBeenSet() const { return m_byteValueHasBeenSet; } + inline void SetByteValue(int value) { m_byteValueHasBeenSet = true; m_byteValue = value; } + inline SimpleScalarPropertiesRequest& WithByteValue(int value) { SetByteValue(value); return *this;} + ///@} + + ///@{ + + inline int GetShortValue() const{ return m_shortValue; } + inline bool ShortValueHasBeenSet() const { return m_shortValueHasBeenSet; } + inline void SetShortValue(int value) { m_shortValueHasBeenSet = true; m_shortValue = value; } + inline SimpleScalarPropertiesRequest& WithShortValue(int value) { SetShortValue(value); return *this;} + ///@} + + ///@{ + + inline int GetIntegerValue() const{ return m_integerValue; } + inline bool IntegerValueHasBeenSet() const { return m_integerValueHasBeenSet; } + inline void SetIntegerValue(int value) { m_integerValueHasBeenSet = true; m_integerValue = value; } + inline SimpleScalarPropertiesRequest& WithIntegerValue(int value) { SetIntegerValue(value); return *this;} + ///@} + + ///@{ + + inline long long GetLongValue() const{ return m_longValue; } + inline bool LongValueHasBeenSet() const { return m_longValueHasBeenSet; } + inline void SetLongValue(long long value) { m_longValueHasBeenSet = true; m_longValue = value; } + inline SimpleScalarPropertiesRequest& WithLongValue(long long value) { SetLongValue(value); return *this;} + ///@} + + ///@{ + + inline double GetFloatValue() const{ return m_floatValue; } + inline bool FloatValueHasBeenSet() const { return m_floatValueHasBeenSet; } + inline void SetFloatValue(double value) { m_floatValueHasBeenSet = true; m_floatValue = value; } + inline SimpleScalarPropertiesRequest& WithFloatValue(double value) { SetFloatValue(value); return *this;} + ///@} + + ///@{ + + inline double GetDoubleValue() const{ return m_doubleValue; } + inline bool DoubleValueHasBeenSet() const { return m_doubleValueHasBeenSet; } + inline void SetDoubleValue(double value) { m_doubleValueHasBeenSet = true; m_doubleValue = value; } + inline SimpleScalarPropertiesRequest& WithDoubleValue(double value) { SetDoubleValue(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline bool RequestIdHasBeenSet() const { return m_requestIdHasBeenSet; } + inline void SetRequestId(const Aws::String& value) { m_requestIdHasBeenSet = true; m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestIdHasBeenSet = true; m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestIdHasBeenSet = true; m_requestId.assign(value); } + inline SimpleScalarPropertiesRequest& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline SimpleScalarPropertiesRequest& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline SimpleScalarPropertiesRequest& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_foo; + bool m_fooHasBeenSet = false; + + Aws::String m_stringValue; + bool m_stringValueHasBeenSet = false; + + bool m_trueBooleanValue; + bool m_trueBooleanValueHasBeenSet = false; + + bool m_falseBooleanValue; + bool m_falseBooleanValueHasBeenSet = false; + + int m_byteValue; + bool m_byteValueHasBeenSet = false; + + int m_shortValue; + bool m_shortValueHasBeenSet = false; + + int m_integerValue; + bool m_integerValueHasBeenSet = false; + + long long m_longValue; + bool m_longValueHasBeenSet = false; + + double m_floatValue; + bool m_floatValueHasBeenSet = false; + + double m_doubleValue; + bool m_doubleValueHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace RestJsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/SimpleScalarPropertiesResult.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/SimpleScalarPropertiesResult.h new file mode 100644 index 00000000000..eb0c46e9432 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/SimpleScalarPropertiesResult.h @@ -0,0 +1,150 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace RestJsonProtocol +{ +namespace Model +{ + class SimpleScalarPropertiesResult + { + public: + AWS_RESTJSONPROTOCOL_API SimpleScalarPropertiesResult(); + AWS_RESTJSONPROTOCOL_API SimpleScalarPropertiesResult(const Aws::AmazonWebServiceResult& result); + AWS_RESTJSONPROTOCOL_API SimpleScalarPropertiesResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::String& GetFoo() const{ return m_foo; } + inline void SetFoo(const Aws::String& value) { m_foo = value; } + inline void SetFoo(Aws::String&& value) { m_foo = std::move(value); } + inline void SetFoo(const char* value) { m_foo.assign(value); } + inline SimpleScalarPropertiesResult& WithFoo(const Aws::String& value) { SetFoo(value); return *this;} + inline SimpleScalarPropertiesResult& WithFoo(Aws::String&& value) { SetFoo(std::move(value)); return *this;} + inline SimpleScalarPropertiesResult& WithFoo(const char* value) { SetFoo(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetStringValue() const{ return m_stringValue; } + inline void SetStringValue(const Aws::String& value) { m_stringValue = value; } + inline void SetStringValue(Aws::String&& value) { m_stringValue = std::move(value); } + inline void SetStringValue(const char* value) { m_stringValue.assign(value); } + inline SimpleScalarPropertiesResult& WithStringValue(const Aws::String& value) { SetStringValue(value); return *this;} + inline SimpleScalarPropertiesResult& WithStringValue(Aws::String&& value) { SetStringValue(std::move(value)); return *this;} + inline SimpleScalarPropertiesResult& WithStringValue(const char* value) { SetStringValue(value); return *this;} + ///@} + + ///@{ + + inline bool GetTrueBooleanValue() const{ return m_trueBooleanValue; } + inline void SetTrueBooleanValue(bool value) { m_trueBooleanValue = value; } + inline SimpleScalarPropertiesResult& WithTrueBooleanValue(bool value) { SetTrueBooleanValue(value); return *this;} + ///@} + + ///@{ + + inline bool GetFalseBooleanValue() const{ return m_falseBooleanValue; } + inline void SetFalseBooleanValue(bool value) { m_falseBooleanValue = value; } + inline SimpleScalarPropertiesResult& WithFalseBooleanValue(bool value) { SetFalseBooleanValue(value); return *this;} + ///@} + + ///@{ + + inline int GetByteValue() const{ return m_byteValue; } + inline void SetByteValue(int value) { m_byteValue = value; } + inline SimpleScalarPropertiesResult& WithByteValue(int value) { SetByteValue(value); return *this;} + ///@} + + ///@{ + + inline int GetShortValue() const{ return m_shortValue; } + inline void SetShortValue(int value) { m_shortValue = value; } + inline SimpleScalarPropertiesResult& WithShortValue(int value) { SetShortValue(value); return *this;} + ///@} + + ///@{ + + inline int GetIntegerValue() const{ return m_integerValue; } + inline void SetIntegerValue(int value) { m_integerValue = value; } + inline SimpleScalarPropertiesResult& WithIntegerValue(int value) { SetIntegerValue(value); return *this;} + ///@} + + ///@{ + + inline long long GetLongValue() const{ return m_longValue; } + inline void SetLongValue(long long value) { m_longValue = value; } + inline SimpleScalarPropertiesResult& WithLongValue(long long value) { SetLongValue(value); return *this;} + ///@} + + ///@{ + + inline double GetFloatValue() const{ return m_floatValue; } + inline void SetFloatValue(double value) { m_floatValue = value; } + inline SimpleScalarPropertiesResult& WithFloatValue(double value) { SetFloatValue(value); return *this;} + ///@} + + ///@{ + + inline double GetDoubleValue() const{ return m_doubleValue; } + inline void SetDoubleValue(double value) { m_doubleValue = value; } + inline SimpleScalarPropertiesResult& WithDoubleValue(double value) { SetDoubleValue(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline SimpleScalarPropertiesResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline SimpleScalarPropertiesResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline SimpleScalarPropertiesResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_foo; + + Aws::String m_stringValue; + + bool m_trueBooleanValue; + + bool m_falseBooleanValue; + + int m_byteValue; + + int m_shortValue; + + int m_integerValue; + + long long m_longValue; + + double m_floatValue; + + double m_doubleValue; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace RestJsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/StringEnum.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/StringEnum.h new file mode 100644 index 00000000000..cd1dc1757a8 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/StringEnum.h @@ -0,0 +1,30 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace RestJsonProtocol +{ +namespace Model +{ + enum class StringEnum + { + NOT_SET, + enumvalue + }; + +namespace StringEnumMapper +{ +AWS_RESTJSONPROTOCOL_API StringEnum GetStringEnumForName(const Aws::String& name); + +AWS_RESTJSONPROTOCOL_API Aws::String GetNameForStringEnum(StringEnum value); +} // namespace StringEnumMapper +} // namespace Model +} // namespace RestJsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/StructureListMember.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/StructureListMember.h new file mode 100644 index 00000000000..e6401a8d4f2 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/StructureListMember.h @@ -0,0 +1,69 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace RestJsonProtocol +{ +namespace Model +{ + + class StructureListMember + { + public: + AWS_RESTJSONPROTOCOL_API StructureListMember(); + AWS_RESTJSONPROTOCOL_API StructureListMember(Aws::Utils::Json::JsonView jsonValue); + AWS_RESTJSONPROTOCOL_API StructureListMember& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_RESTJSONPROTOCOL_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + + inline const Aws::String& GetA() const{ return m_a; } + inline bool AHasBeenSet() const { return m_aHasBeenSet; } + inline void SetA(const Aws::String& value) { m_aHasBeenSet = true; m_a = value; } + inline void SetA(Aws::String&& value) { m_aHasBeenSet = true; m_a = std::move(value); } + inline void SetA(const char* value) { m_aHasBeenSet = true; m_a.assign(value); } + inline StructureListMember& WithA(const Aws::String& value) { SetA(value); return *this;} + inline StructureListMember& WithA(Aws::String&& value) { SetA(std::move(value)); return *this;} + inline StructureListMember& WithA(const char* value) { SetA(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetB() const{ return m_b; } + inline bool BHasBeenSet() const { return m_bHasBeenSet; } + inline void SetB(const Aws::String& value) { m_bHasBeenSet = true; m_b = value; } + inline void SetB(Aws::String&& value) { m_bHasBeenSet = true; m_b = std::move(value); } + inline void SetB(const char* value) { m_bHasBeenSet = true; m_b.assign(value); } + inline StructureListMember& WithB(const Aws::String& value) { SetB(value); return *this;} + inline StructureListMember& WithB(Aws::String&& value) { SetB(std::move(value)); return *this;} + inline StructureListMember& WithB(const char* value) { SetB(value); return *this;} + ///@} + private: + + Aws::String m_a; + bool m_aHasBeenSet = false; + + Aws::String m_b; + bool m_bHasBeenSet = false; + }; + +} // namespace Model +} // namespace RestJsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/TestBodyStructureRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/TestBodyStructureRequest.h new file mode 100644 index 00000000000..2799e4e80f4 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/TestBodyStructureRequest.h @@ -0,0 +1,85 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace RestJsonProtocol +{ +namespace Model +{ + + /** + */ + class TestBodyStructureRequest : public RestJsonProtocolRequest + { + public: + AWS_RESTJSONPROTOCOL_API TestBodyStructureRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "TestBodyStructure"; } + + AWS_RESTJSONPROTOCOL_API Aws::String SerializePayload() const override; + + AWS_RESTJSONPROTOCOL_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + + inline const Aws::String& GetTestId() const{ return m_testId; } + inline bool TestIdHasBeenSet() const { return m_testIdHasBeenSet; } + inline void SetTestId(const Aws::String& value) { m_testIdHasBeenSet = true; m_testId = value; } + inline void SetTestId(Aws::String&& value) { m_testIdHasBeenSet = true; m_testId = std::move(value); } + inline void SetTestId(const char* value) { m_testIdHasBeenSet = true; m_testId.assign(value); } + inline TestBodyStructureRequest& WithTestId(const Aws::String& value) { SetTestId(value); return *this;} + inline TestBodyStructureRequest& WithTestId(Aws::String&& value) { SetTestId(std::move(value)); return *this;} + inline TestBodyStructureRequest& WithTestId(const char* value) { SetTestId(value); return *this;} + ///@} + + ///@{ + + inline const TestConfig& GetTestConfig() const{ return m_testConfig; } + inline bool TestConfigHasBeenSet() const { return m_testConfigHasBeenSet; } + inline void SetTestConfig(const TestConfig& value) { m_testConfigHasBeenSet = true; m_testConfig = value; } + inline void SetTestConfig(TestConfig&& value) { m_testConfigHasBeenSet = true; m_testConfig = std::move(value); } + inline TestBodyStructureRequest& WithTestConfig(const TestConfig& value) { SetTestConfig(value); return *this;} + inline TestBodyStructureRequest& WithTestConfig(TestConfig&& value) { SetTestConfig(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline bool RequestIdHasBeenSet() const { return m_requestIdHasBeenSet; } + inline void SetRequestId(const Aws::String& value) { m_requestIdHasBeenSet = true; m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestIdHasBeenSet = true; m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestIdHasBeenSet = true; m_requestId.assign(value); } + inline TestBodyStructureRequest& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline TestBodyStructureRequest& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline TestBodyStructureRequest& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_testId; + bool m_testIdHasBeenSet = false; + + TestConfig m_testConfig; + bool m_testConfigHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace RestJsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/TestBodyStructureResult.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/TestBodyStructureResult.h new file mode 100644 index 00000000000..64593e08e8d --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/TestBodyStructureResult.h @@ -0,0 +1,77 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace RestJsonProtocol +{ +namespace Model +{ + class TestBodyStructureResult + { + public: + AWS_RESTJSONPROTOCOL_API TestBodyStructureResult(); + AWS_RESTJSONPROTOCOL_API TestBodyStructureResult(const Aws::AmazonWebServiceResult& result); + AWS_RESTJSONPROTOCOL_API TestBodyStructureResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::String& GetTestId() const{ return m_testId; } + inline void SetTestId(const Aws::String& value) { m_testId = value; } + inline void SetTestId(Aws::String&& value) { m_testId = std::move(value); } + inline void SetTestId(const char* value) { m_testId.assign(value); } + inline TestBodyStructureResult& WithTestId(const Aws::String& value) { SetTestId(value); return *this;} + inline TestBodyStructureResult& WithTestId(Aws::String&& value) { SetTestId(std::move(value)); return *this;} + inline TestBodyStructureResult& WithTestId(const char* value) { SetTestId(value); return *this;} + ///@} + + ///@{ + + inline const TestConfig& GetTestConfig() const{ return m_testConfig; } + inline void SetTestConfig(const TestConfig& value) { m_testConfig = value; } + inline void SetTestConfig(TestConfig&& value) { m_testConfig = std::move(value); } + inline TestBodyStructureResult& WithTestConfig(const TestConfig& value) { SetTestConfig(value); return *this;} + inline TestBodyStructureResult& WithTestConfig(TestConfig&& value) { SetTestConfig(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline TestBodyStructureResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline TestBodyStructureResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline TestBodyStructureResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_testId; + + TestConfig m_testConfig; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace RestJsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/TestConfig.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/TestConfig.h new file mode 100644 index 00000000000..7133fac8b65 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/TestConfig.h @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace RestJsonProtocol +{ +namespace Model +{ + + class TestConfig + { + public: + AWS_RESTJSONPROTOCOL_API TestConfig(); + AWS_RESTJSONPROTOCOL_API TestConfig(Aws::Utils::Json::JsonView jsonValue); + AWS_RESTJSONPROTOCOL_API TestConfig& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_RESTJSONPROTOCOL_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + + inline int GetTimeout() const{ return m_timeout; } + inline bool TimeoutHasBeenSet() const { return m_timeoutHasBeenSet; } + inline void SetTimeout(int value) { m_timeoutHasBeenSet = true; m_timeout = value; } + inline TestConfig& WithTimeout(int value) { SetTimeout(value); return *this;} + ///@} + private: + + int m_timeout; + bool m_timeoutHasBeenSet = false; + }; + +} // namespace Model +} // namespace RestJsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/TestGetNoInputNoPayloadRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/TestGetNoInputNoPayloadRequest.h new file mode 100644 index 00000000000..f4eb688b470 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/TestGetNoInputNoPayloadRequest.h @@ -0,0 +1,36 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace RestJsonProtocol +{ +namespace Model +{ + + /** + */ + class TestGetNoInputNoPayloadRequest : public RestJsonProtocolRequest + { + public: + AWS_RESTJSONPROTOCOL_API TestGetNoInputNoPayloadRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "TestGetNoInputNoPayload"; } + + AWS_RESTJSONPROTOCOL_API Aws::String SerializePayload() const override; + + }; + +} // namespace Model +} // namespace RestJsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/TestGetNoInputNoPayloadResult.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/TestGetNoInputNoPayloadResult.h new file mode 100644 index 00000000000..babd362567e --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/TestGetNoInputNoPayloadResult.h @@ -0,0 +1,65 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace RestJsonProtocol +{ +namespace Model +{ + class TestGetNoInputNoPayloadResult + { + public: + AWS_RESTJSONPROTOCOL_API TestGetNoInputNoPayloadResult(); + AWS_RESTJSONPROTOCOL_API TestGetNoInputNoPayloadResult(const Aws::AmazonWebServiceResult& result); + AWS_RESTJSONPROTOCOL_API TestGetNoInputNoPayloadResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::String& GetTestId() const{ return m_testId; } + inline void SetTestId(const Aws::String& value) { m_testId = value; } + inline void SetTestId(Aws::String&& value) { m_testId = std::move(value); } + inline void SetTestId(const char* value) { m_testId.assign(value); } + inline TestGetNoInputNoPayloadResult& WithTestId(const Aws::String& value) { SetTestId(value); return *this;} + inline TestGetNoInputNoPayloadResult& WithTestId(Aws::String&& value) { SetTestId(std::move(value)); return *this;} + inline TestGetNoInputNoPayloadResult& WithTestId(const char* value) { SetTestId(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline TestGetNoInputNoPayloadResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline TestGetNoInputNoPayloadResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline TestGetNoInputNoPayloadResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_testId; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace RestJsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/TestGetNoPayloadRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/TestGetNoPayloadRequest.h new file mode 100644 index 00000000000..8263abdc4ab --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/TestGetNoPayloadRequest.h @@ -0,0 +1,71 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace RestJsonProtocol +{ +namespace Model +{ + + /** + */ + class TestGetNoPayloadRequest : public RestJsonProtocolRequest + { + public: + AWS_RESTJSONPROTOCOL_API TestGetNoPayloadRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "TestGetNoPayload"; } + + AWS_RESTJSONPROTOCOL_API Aws::String SerializePayload() const override; + + AWS_RESTJSONPROTOCOL_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + + inline const Aws::String& GetTestId() const{ return m_testId; } + inline bool TestIdHasBeenSet() const { return m_testIdHasBeenSet; } + inline void SetTestId(const Aws::String& value) { m_testIdHasBeenSet = true; m_testId = value; } + inline void SetTestId(Aws::String&& value) { m_testIdHasBeenSet = true; m_testId = std::move(value); } + inline void SetTestId(const char* value) { m_testIdHasBeenSet = true; m_testId.assign(value); } + inline TestGetNoPayloadRequest& WithTestId(const Aws::String& value) { SetTestId(value); return *this;} + inline TestGetNoPayloadRequest& WithTestId(Aws::String&& value) { SetTestId(std::move(value)); return *this;} + inline TestGetNoPayloadRequest& WithTestId(const char* value) { SetTestId(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline bool RequestIdHasBeenSet() const { return m_requestIdHasBeenSet; } + inline void SetRequestId(const Aws::String& value) { m_requestIdHasBeenSet = true; m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestIdHasBeenSet = true; m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestIdHasBeenSet = true; m_requestId.assign(value); } + inline TestGetNoPayloadRequest& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline TestGetNoPayloadRequest& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline TestGetNoPayloadRequest& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_testId; + bool m_testIdHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace RestJsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/TestGetNoPayloadResult.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/TestGetNoPayloadResult.h new file mode 100644 index 00000000000..31a34db3384 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/TestGetNoPayloadResult.h @@ -0,0 +1,65 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace RestJsonProtocol +{ +namespace Model +{ + class TestGetNoPayloadResult + { + public: + AWS_RESTJSONPROTOCOL_API TestGetNoPayloadResult(); + AWS_RESTJSONPROTOCOL_API TestGetNoPayloadResult(const Aws::AmazonWebServiceResult& result); + AWS_RESTJSONPROTOCOL_API TestGetNoPayloadResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::String& GetTestId() const{ return m_testId; } + inline void SetTestId(const Aws::String& value) { m_testId = value; } + inline void SetTestId(Aws::String&& value) { m_testId = std::move(value); } + inline void SetTestId(const char* value) { m_testId.assign(value); } + inline TestGetNoPayloadResult& WithTestId(const Aws::String& value) { SetTestId(value); return *this;} + inline TestGetNoPayloadResult& WithTestId(Aws::String&& value) { SetTestId(std::move(value)); return *this;} + inline TestGetNoPayloadResult& WithTestId(const char* value) { SetTestId(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline TestGetNoPayloadResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline TestGetNoPayloadResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline TestGetNoPayloadResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_testId; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace RestJsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/TestPayloadBlobRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/TestPayloadBlobRequest.h new file mode 100644 index 00000000000..b00e168125c --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/TestPayloadBlobRequest.h @@ -0,0 +1,56 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace RestJsonProtocol +{ +namespace Model +{ + + /** + */ + class TestPayloadBlobRequest : public StreamingRestJsonProtocolRequest + { + public: + AWS_RESTJSONPROTOCOL_API TestPayloadBlobRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "TestPayloadBlob"; } + + AWS_RESTJSONPROTOCOL_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline bool RequestIdHasBeenSet() const { return m_requestIdHasBeenSet; } + inline void SetRequestId(const Aws::String& value) { m_requestIdHasBeenSet = true; m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestIdHasBeenSet = true; m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestIdHasBeenSet = true; m_requestId.assign(value); } + inline TestPayloadBlobRequest& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline TestPayloadBlobRequest& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline TestPayloadBlobRequest& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace RestJsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/TestPayloadBlobResult.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/TestPayloadBlobResult.h new file mode 100644 index 00000000000..8abe6045b3e --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/TestPayloadBlobResult.h @@ -0,0 +1,66 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace RestJsonProtocol +{ +namespace Model +{ + class TestPayloadBlobResult + { + public: + AWS_RESTJSONPROTOCOL_API TestPayloadBlobResult(); + //We have to define these because Microsoft doesn't auto generate them + AWS_RESTJSONPROTOCOL_API TestPayloadBlobResult(TestPayloadBlobResult&&); + AWS_RESTJSONPROTOCOL_API TestPayloadBlobResult& operator=(TestPayloadBlobResult&&); + //we delete these because Microsoft doesn't handle move generation correctly + //and we therefore don't trust them to get it right here either. + TestPayloadBlobResult(const TestPayloadBlobResult&) = delete; + TestPayloadBlobResult& operator=(const TestPayloadBlobResult&) = delete; + + + AWS_RESTJSONPROTOCOL_API TestPayloadBlobResult(Aws::AmazonWebServiceResult&& result); + AWS_RESTJSONPROTOCOL_API TestPayloadBlobResult& operator=(Aws::AmazonWebServiceResult&& result); + + + + ///@{ + + inline Aws::IOStream& GetData() const { return m_data.GetUnderlyingStream(); } + inline void ReplaceBody(Aws::IOStream* body) { m_data = Aws::Utils::Stream::ResponseStream(body); } + + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline TestPayloadBlobResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline TestPayloadBlobResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline TestPayloadBlobResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::Utils::Stream::ResponseStream m_data; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace RestJsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/TestPayloadStructureRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/TestPayloadStructureRequest.h new file mode 100644 index 00000000000..269d20ad328 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/TestPayloadStructureRequest.h @@ -0,0 +1,85 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace RestJsonProtocol +{ +namespace Model +{ + + /** + */ + class TestPayloadStructureRequest : public RestJsonProtocolRequest + { + public: + AWS_RESTJSONPROTOCOL_API TestPayloadStructureRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "TestPayloadStructure"; } + + AWS_RESTJSONPROTOCOL_API Aws::String SerializePayload() const override; + + AWS_RESTJSONPROTOCOL_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + + inline const Aws::String& GetTestId() const{ return m_testId; } + inline bool TestIdHasBeenSet() const { return m_testIdHasBeenSet; } + inline void SetTestId(const Aws::String& value) { m_testIdHasBeenSet = true; m_testId = value; } + inline void SetTestId(Aws::String&& value) { m_testIdHasBeenSet = true; m_testId = std::move(value); } + inline void SetTestId(const char* value) { m_testIdHasBeenSet = true; m_testId.assign(value); } + inline TestPayloadStructureRequest& WithTestId(const Aws::String& value) { SetTestId(value); return *this;} + inline TestPayloadStructureRequest& WithTestId(Aws::String&& value) { SetTestId(std::move(value)); return *this;} + inline TestPayloadStructureRequest& WithTestId(const char* value) { SetTestId(value); return *this;} + ///@} + + ///@{ + + inline const PayloadConfig& GetPayloadConfig() const{ return m_payloadConfig; } + inline bool PayloadConfigHasBeenSet() const { return m_payloadConfigHasBeenSet; } + inline void SetPayloadConfig(const PayloadConfig& value) { m_payloadConfigHasBeenSet = true; m_payloadConfig = value; } + inline void SetPayloadConfig(PayloadConfig&& value) { m_payloadConfigHasBeenSet = true; m_payloadConfig = std::move(value); } + inline TestPayloadStructureRequest& WithPayloadConfig(const PayloadConfig& value) { SetPayloadConfig(value); return *this;} + inline TestPayloadStructureRequest& WithPayloadConfig(PayloadConfig&& value) { SetPayloadConfig(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline bool RequestIdHasBeenSet() const { return m_requestIdHasBeenSet; } + inline void SetRequestId(const Aws::String& value) { m_requestIdHasBeenSet = true; m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestIdHasBeenSet = true; m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestIdHasBeenSet = true; m_requestId.assign(value); } + inline TestPayloadStructureRequest& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline TestPayloadStructureRequest& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline TestPayloadStructureRequest& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_testId; + bool m_testIdHasBeenSet = false; + + PayloadConfig m_payloadConfig; + bool m_payloadConfigHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace RestJsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/TestPayloadStructureResult.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/TestPayloadStructureResult.h new file mode 100644 index 00000000000..c9b8265199d --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/TestPayloadStructureResult.h @@ -0,0 +1,77 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace RestJsonProtocol +{ +namespace Model +{ + class TestPayloadStructureResult + { + public: + AWS_RESTJSONPROTOCOL_API TestPayloadStructureResult(); + AWS_RESTJSONPROTOCOL_API TestPayloadStructureResult(const Aws::AmazonWebServiceResult& result); + AWS_RESTJSONPROTOCOL_API TestPayloadStructureResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::String& GetTestId() const{ return m_testId; } + inline void SetTestId(const Aws::String& value) { m_testId = value; } + inline void SetTestId(Aws::String&& value) { m_testId = std::move(value); } + inline void SetTestId(const char* value) { m_testId.assign(value); } + inline TestPayloadStructureResult& WithTestId(const Aws::String& value) { SetTestId(value); return *this;} + inline TestPayloadStructureResult& WithTestId(Aws::String&& value) { SetTestId(std::move(value)); return *this;} + inline TestPayloadStructureResult& WithTestId(const char* value) { SetTestId(value); return *this;} + ///@} + + ///@{ + + inline const PayloadConfig& GetPayloadConfig() const{ return m_payloadConfig; } + inline void SetPayloadConfig(const PayloadConfig& value) { m_payloadConfig = value; } + inline void SetPayloadConfig(PayloadConfig&& value) { m_payloadConfig = std::move(value); } + inline TestPayloadStructureResult& WithPayloadConfig(const PayloadConfig& value) { SetPayloadConfig(value); return *this;} + inline TestPayloadStructureResult& WithPayloadConfig(PayloadConfig&& value) { SetPayloadConfig(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline TestPayloadStructureResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline TestPayloadStructureResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline TestPayloadStructureResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_testId; + + PayloadConfig m_payloadConfig; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace RestJsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/TestPostNoInputNoPayloadRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/TestPostNoInputNoPayloadRequest.h new file mode 100644 index 00000000000..f2777fbf2bf --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/TestPostNoInputNoPayloadRequest.h @@ -0,0 +1,36 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace RestJsonProtocol +{ +namespace Model +{ + + /** + */ + class TestPostNoInputNoPayloadRequest : public RestJsonProtocolRequest + { + public: + AWS_RESTJSONPROTOCOL_API TestPostNoInputNoPayloadRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "TestPostNoInputNoPayload"; } + + AWS_RESTJSONPROTOCOL_API Aws::String SerializePayload() const override; + + }; + +} // namespace Model +} // namespace RestJsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/TestPostNoInputNoPayloadResult.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/TestPostNoInputNoPayloadResult.h new file mode 100644 index 00000000000..2f8e9e5501a --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/TestPostNoInputNoPayloadResult.h @@ -0,0 +1,65 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace RestJsonProtocol +{ +namespace Model +{ + class TestPostNoInputNoPayloadResult + { + public: + AWS_RESTJSONPROTOCOL_API TestPostNoInputNoPayloadResult(); + AWS_RESTJSONPROTOCOL_API TestPostNoInputNoPayloadResult(const Aws::AmazonWebServiceResult& result); + AWS_RESTJSONPROTOCOL_API TestPostNoInputNoPayloadResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::String& GetTestId() const{ return m_testId; } + inline void SetTestId(const Aws::String& value) { m_testId = value; } + inline void SetTestId(Aws::String&& value) { m_testId = std::move(value); } + inline void SetTestId(const char* value) { m_testId.assign(value); } + inline TestPostNoInputNoPayloadResult& WithTestId(const Aws::String& value) { SetTestId(value); return *this;} + inline TestPostNoInputNoPayloadResult& WithTestId(Aws::String&& value) { SetTestId(std::move(value)); return *this;} + inline TestPostNoInputNoPayloadResult& WithTestId(const char* value) { SetTestId(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline TestPostNoInputNoPayloadResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline TestPostNoInputNoPayloadResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline TestPostNoInputNoPayloadResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_testId; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace RestJsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/TestPostNoPayloadRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/TestPostNoPayloadRequest.h new file mode 100644 index 00000000000..98797c3283e --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/TestPostNoPayloadRequest.h @@ -0,0 +1,71 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace RestJsonProtocol +{ +namespace Model +{ + + /** + */ + class TestPostNoPayloadRequest : public RestJsonProtocolRequest + { + public: + AWS_RESTJSONPROTOCOL_API TestPostNoPayloadRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "TestPostNoPayload"; } + + AWS_RESTJSONPROTOCOL_API Aws::String SerializePayload() const override; + + AWS_RESTJSONPROTOCOL_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + + inline const Aws::String& GetTestId() const{ return m_testId; } + inline bool TestIdHasBeenSet() const { return m_testIdHasBeenSet; } + inline void SetTestId(const Aws::String& value) { m_testIdHasBeenSet = true; m_testId = value; } + inline void SetTestId(Aws::String&& value) { m_testIdHasBeenSet = true; m_testId = std::move(value); } + inline void SetTestId(const char* value) { m_testIdHasBeenSet = true; m_testId.assign(value); } + inline TestPostNoPayloadRequest& WithTestId(const Aws::String& value) { SetTestId(value); return *this;} + inline TestPostNoPayloadRequest& WithTestId(Aws::String&& value) { SetTestId(std::move(value)); return *this;} + inline TestPostNoPayloadRequest& WithTestId(const char* value) { SetTestId(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline bool RequestIdHasBeenSet() const { return m_requestIdHasBeenSet; } + inline void SetRequestId(const Aws::String& value) { m_requestIdHasBeenSet = true; m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestIdHasBeenSet = true; m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestIdHasBeenSet = true; m_requestId.assign(value); } + inline TestPostNoPayloadRequest& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline TestPostNoPayloadRequest& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline TestPostNoPayloadRequest& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_testId; + bool m_testIdHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace RestJsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/TestPostNoPayloadResult.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/TestPostNoPayloadResult.h new file mode 100644 index 00000000000..afdcfce6c96 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/TestPostNoPayloadResult.h @@ -0,0 +1,65 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace RestJsonProtocol +{ +namespace Model +{ + class TestPostNoPayloadResult + { + public: + AWS_RESTJSONPROTOCOL_API TestPostNoPayloadResult(); + AWS_RESTJSONPROTOCOL_API TestPostNoPayloadResult(const Aws::AmazonWebServiceResult& result); + AWS_RESTJSONPROTOCOL_API TestPostNoPayloadResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::String& GetTestId() const{ return m_testId; } + inline void SetTestId(const Aws::String& value) { m_testId = value; } + inline void SetTestId(Aws::String&& value) { m_testId = std::move(value); } + inline void SetTestId(const char* value) { m_testId.assign(value); } + inline TestPostNoPayloadResult& WithTestId(const Aws::String& value) { SetTestId(value); return *this;} + inline TestPostNoPayloadResult& WithTestId(Aws::String&& value) { SetTestId(std::move(value)); return *this;} + inline TestPostNoPayloadResult& WithTestId(const char* value) { SetTestId(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline TestPostNoPayloadResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline TestPostNoPayloadResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline TestPostNoPayloadResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_testId; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace RestJsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/TimestampFormatHeadersRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/TimestampFormatHeadersRequest.h new file mode 100644 index 00000000000..fd2c52470d1 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/TimestampFormatHeadersRequest.h @@ -0,0 +1,148 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace RestJsonProtocol +{ +namespace Model +{ + + /** + */ + class TimestampFormatHeadersRequest : public RestJsonProtocolRequest + { + public: + AWS_RESTJSONPROTOCOL_API TimestampFormatHeadersRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "TimestampFormatHeaders"; } + + AWS_RESTJSONPROTOCOL_API Aws::String SerializePayload() const override; + + AWS_RESTJSONPROTOCOL_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + + inline const Aws::Utils::DateTime& GetMemberEpochSeconds() const{ return m_memberEpochSeconds; } + inline bool MemberEpochSecondsHasBeenSet() const { return m_memberEpochSecondsHasBeenSet; } + inline void SetMemberEpochSeconds(const Aws::Utils::DateTime& value) { m_memberEpochSecondsHasBeenSet = true; m_memberEpochSeconds = value; } + inline void SetMemberEpochSeconds(Aws::Utils::DateTime&& value) { m_memberEpochSecondsHasBeenSet = true; m_memberEpochSeconds = std::move(value); } + inline TimestampFormatHeadersRequest& WithMemberEpochSeconds(const Aws::Utils::DateTime& value) { SetMemberEpochSeconds(value); return *this;} + inline TimestampFormatHeadersRequest& WithMemberEpochSeconds(Aws::Utils::DateTime&& value) { SetMemberEpochSeconds(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::Utils::DateTime& GetMemberHttpDate() const{ return m_memberHttpDate; } + inline bool MemberHttpDateHasBeenSet() const { return m_memberHttpDateHasBeenSet; } + inline void SetMemberHttpDate(const Aws::Utils::DateTime& value) { m_memberHttpDateHasBeenSet = true; m_memberHttpDate = value; } + inline void SetMemberHttpDate(Aws::Utils::DateTime&& value) { m_memberHttpDateHasBeenSet = true; m_memberHttpDate = std::move(value); } + inline TimestampFormatHeadersRequest& WithMemberHttpDate(const Aws::Utils::DateTime& value) { SetMemberHttpDate(value); return *this;} + inline TimestampFormatHeadersRequest& WithMemberHttpDate(Aws::Utils::DateTime&& value) { SetMemberHttpDate(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::Utils::DateTime& GetMemberDateTime() const{ return m_memberDateTime; } + inline bool MemberDateTimeHasBeenSet() const { return m_memberDateTimeHasBeenSet; } + inline void SetMemberDateTime(const Aws::Utils::DateTime& value) { m_memberDateTimeHasBeenSet = true; m_memberDateTime = value; } + inline void SetMemberDateTime(Aws::Utils::DateTime&& value) { m_memberDateTimeHasBeenSet = true; m_memberDateTime = std::move(value); } + inline TimestampFormatHeadersRequest& WithMemberDateTime(const Aws::Utils::DateTime& value) { SetMemberDateTime(value); return *this;} + inline TimestampFormatHeadersRequest& WithMemberDateTime(Aws::Utils::DateTime&& value) { SetMemberDateTime(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::Utils::DateTime& GetDefaultFormat() const{ return m_defaultFormat; } + inline bool DefaultFormatHasBeenSet() const { return m_defaultFormatHasBeenSet; } + inline void SetDefaultFormat(const Aws::Utils::DateTime& value) { m_defaultFormatHasBeenSet = true; m_defaultFormat = value; } + inline void SetDefaultFormat(Aws::Utils::DateTime&& value) { m_defaultFormatHasBeenSet = true; m_defaultFormat = std::move(value); } + inline TimestampFormatHeadersRequest& WithDefaultFormat(const Aws::Utils::DateTime& value) { SetDefaultFormat(value); return *this;} + inline TimestampFormatHeadersRequest& WithDefaultFormat(Aws::Utils::DateTime&& value) { SetDefaultFormat(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::Utils::DateTime& GetTargetEpochSeconds() const{ return m_targetEpochSeconds; } + inline bool TargetEpochSecondsHasBeenSet() const { return m_targetEpochSecondsHasBeenSet; } + inline void SetTargetEpochSeconds(const Aws::Utils::DateTime& value) { m_targetEpochSecondsHasBeenSet = true; m_targetEpochSeconds = value; } + inline void SetTargetEpochSeconds(Aws::Utils::DateTime&& value) { m_targetEpochSecondsHasBeenSet = true; m_targetEpochSeconds = std::move(value); } + inline TimestampFormatHeadersRequest& WithTargetEpochSeconds(const Aws::Utils::DateTime& value) { SetTargetEpochSeconds(value); return *this;} + inline TimestampFormatHeadersRequest& WithTargetEpochSeconds(Aws::Utils::DateTime&& value) { SetTargetEpochSeconds(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::Utils::DateTime& GetTargetHttpDate() const{ return m_targetHttpDate; } + inline bool TargetHttpDateHasBeenSet() const { return m_targetHttpDateHasBeenSet; } + inline void SetTargetHttpDate(const Aws::Utils::DateTime& value) { m_targetHttpDateHasBeenSet = true; m_targetHttpDate = value; } + inline void SetTargetHttpDate(Aws::Utils::DateTime&& value) { m_targetHttpDateHasBeenSet = true; m_targetHttpDate = std::move(value); } + inline TimestampFormatHeadersRequest& WithTargetHttpDate(const Aws::Utils::DateTime& value) { SetTargetHttpDate(value); return *this;} + inline TimestampFormatHeadersRequest& WithTargetHttpDate(Aws::Utils::DateTime&& value) { SetTargetHttpDate(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::Utils::DateTime& GetTargetDateTime() const{ return m_targetDateTime; } + inline bool TargetDateTimeHasBeenSet() const { return m_targetDateTimeHasBeenSet; } + inline void SetTargetDateTime(const Aws::Utils::DateTime& value) { m_targetDateTimeHasBeenSet = true; m_targetDateTime = value; } + inline void SetTargetDateTime(Aws::Utils::DateTime&& value) { m_targetDateTimeHasBeenSet = true; m_targetDateTime = std::move(value); } + inline TimestampFormatHeadersRequest& WithTargetDateTime(const Aws::Utils::DateTime& value) { SetTargetDateTime(value); return *this;} + inline TimestampFormatHeadersRequest& WithTargetDateTime(Aws::Utils::DateTime&& value) { SetTargetDateTime(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline bool RequestIdHasBeenSet() const { return m_requestIdHasBeenSet; } + inline void SetRequestId(const Aws::String& value) { m_requestIdHasBeenSet = true; m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestIdHasBeenSet = true; m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestIdHasBeenSet = true; m_requestId.assign(value); } + inline TimestampFormatHeadersRequest& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline TimestampFormatHeadersRequest& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline TimestampFormatHeadersRequest& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::Utils::DateTime m_memberEpochSeconds; + bool m_memberEpochSecondsHasBeenSet = false; + + Aws::Utils::DateTime m_memberHttpDate; + bool m_memberHttpDateHasBeenSet = false; + + Aws::Utils::DateTime m_memberDateTime; + bool m_memberDateTimeHasBeenSet = false; + + Aws::Utils::DateTime m_defaultFormat; + bool m_defaultFormatHasBeenSet = false; + + Aws::Utils::DateTime m_targetEpochSeconds; + bool m_targetEpochSecondsHasBeenSet = false; + + Aws::Utils::DateTime m_targetHttpDate; + bool m_targetHttpDateHasBeenSet = false; + + Aws::Utils::DateTime m_targetDateTime; + bool m_targetDateTimeHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace RestJsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/TimestampFormatHeadersResult.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/TimestampFormatHeadersResult.h new file mode 100644 index 00000000000..f2456aee11a --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/TimestampFormatHeadersResult.h @@ -0,0 +1,130 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace RestJsonProtocol +{ +namespace Model +{ + class TimestampFormatHeadersResult + { + public: + AWS_RESTJSONPROTOCOL_API TimestampFormatHeadersResult(); + AWS_RESTJSONPROTOCOL_API TimestampFormatHeadersResult(const Aws::AmazonWebServiceResult& result); + AWS_RESTJSONPROTOCOL_API TimestampFormatHeadersResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::Utils::DateTime& GetMemberEpochSeconds() const{ return m_memberEpochSeconds; } + inline void SetMemberEpochSeconds(const Aws::Utils::DateTime& value) { m_memberEpochSeconds = value; } + inline void SetMemberEpochSeconds(Aws::Utils::DateTime&& value) { m_memberEpochSeconds = std::move(value); } + inline TimestampFormatHeadersResult& WithMemberEpochSeconds(const Aws::Utils::DateTime& value) { SetMemberEpochSeconds(value); return *this;} + inline TimestampFormatHeadersResult& WithMemberEpochSeconds(Aws::Utils::DateTime&& value) { SetMemberEpochSeconds(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::Utils::DateTime& GetMemberHttpDate() const{ return m_memberHttpDate; } + inline void SetMemberHttpDate(const Aws::Utils::DateTime& value) { m_memberHttpDate = value; } + inline void SetMemberHttpDate(Aws::Utils::DateTime&& value) { m_memberHttpDate = std::move(value); } + inline TimestampFormatHeadersResult& WithMemberHttpDate(const Aws::Utils::DateTime& value) { SetMemberHttpDate(value); return *this;} + inline TimestampFormatHeadersResult& WithMemberHttpDate(Aws::Utils::DateTime&& value) { SetMemberHttpDate(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::Utils::DateTime& GetMemberDateTime() const{ return m_memberDateTime; } + inline void SetMemberDateTime(const Aws::Utils::DateTime& value) { m_memberDateTime = value; } + inline void SetMemberDateTime(Aws::Utils::DateTime&& value) { m_memberDateTime = std::move(value); } + inline TimestampFormatHeadersResult& WithMemberDateTime(const Aws::Utils::DateTime& value) { SetMemberDateTime(value); return *this;} + inline TimestampFormatHeadersResult& WithMemberDateTime(Aws::Utils::DateTime&& value) { SetMemberDateTime(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::Utils::DateTime& GetDefaultFormat() const{ return m_defaultFormat; } + inline void SetDefaultFormat(const Aws::Utils::DateTime& value) { m_defaultFormat = value; } + inline void SetDefaultFormat(Aws::Utils::DateTime&& value) { m_defaultFormat = std::move(value); } + inline TimestampFormatHeadersResult& WithDefaultFormat(const Aws::Utils::DateTime& value) { SetDefaultFormat(value); return *this;} + inline TimestampFormatHeadersResult& WithDefaultFormat(Aws::Utils::DateTime&& value) { SetDefaultFormat(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::Utils::DateTime& GetTargetEpochSeconds() const{ return m_targetEpochSeconds; } + inline void SetTargetEpochSeconds(const Aws::Utils::DateTime& value) { m_targetEpochSeconds = value; } + inline void SetTargetEpochSeconds(Aws::Utils::DateTime&& value) { m_targetEpochSeconds = std::move(value); } + inline TimestampFormatHeadersResult& WithTargetEpochSeconds(const Aws::Utils::DateTime& value) { SetTargetEpochSeconds(value); return *this;} + inline TimestampFormatHeadersResult& WithTargetEpochSeconds(Aws::Utils::DateTime&& value) { SetTargetEpochSeconds(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::Utils::DateTime& GetTargetHttpDate() const{ return m_targetHttpDate; } + inline void SetTargetHttpDate(const Aws::Utils::DateTime& value) { m_targetHttpDate = value; } + inline void SetTargetHttpDate(Aws::Utils::DateTime&& value) { m_targetHttpDate = std::move(value); } + inline TimestampFormatHeadersResult& WithTargetHttpDate(const Aws::Utils::DateTime& value) { SetTargetHttpDate(value); return *this;} + inline TimestampFormatHeadersResult& WithTargetHttpDate(Aws::Utils::DateTime&& value) { SetTargetHttpDate(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::Utils::DateTime& GetTargetDateTime() const{ return m_targetDateTime; } + inline void SetTargetDateTime(const Aws::Utils::DateTime& value) { m_targetDateTime = value; } + inline void SetTargetDateTime(Aws::Utils::DateTime&& value) { m_targetDateTime = std::move(value); } + inline TimestampFormatHeadersResult& WithTargetDateTime(const Aws::Utils::DateTime& value) { SetTargetDateTime(value); return *this;} + inline TimestampFormatHeadersResult& WithTargetDateTime(Aws::Utils::DateTime&& value) { SetTargetDateTime(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline TimestampFormatHeadersResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline TimestampFormatHeadersResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline TimestampFormatHeadersResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::Utils::DateTime m_memberEpochSeconds; + + Aws::Utils::DateTime m_memberHttpDate; + + Aws::Utils::DateTime m_memberDateTime; + + Aws::Utils::DateTime m_defaultFormat; + + Aws::Utils::DateTime m_targetEpochSeconds; + + Aws::Utils::DateTime m_targetHttpDate; + + Aws::Utils::DateTime m_targetDateTime; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace RestJsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/UnionPayload.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/UnionPayload.h new file mode 100644 index 00000000000..eac5a8b3457 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/UnionPayload.h @@ -0,0 +1,54 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace RestJsonProtocol +{ +namespace Model +{ + + class UnionPayload + { + public: + AWS_RESTJSONPROTOCOL_API UnionPayload(); + AWS_RESTJSONPROTOCOL_API UnionPayload(Aws::Utils::Json::JsonView jsonValue); + AWS_RESTJSONPROTOCOL_API UnionPayload& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_RESTJSONPROTOCOL_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + + inline const Aws::String& GetGreeting() const{ return m_greeting; } + inline bool GreetingHasBeenSet() const { return m_greetingHasBeenSet; } + inline void SetGreeting(const Aws::String& value) { m_greetingHasBeenSet = true; m_greeting = value; } + inline void SetGreeting(Aws::String&& value) { m_greetingHasBeenSet = true; m_greeting = std::move(value); } + inline void SetGreeting(const char* value) { m_greetingHasBeenSet = true; m_greeting.assign(value); } + inline UnionPayload& WithGreeting(const Aws::String& value) { SetGreeting(value); return *this;} + inline UnionPayload& WithGreeting(Aws::String&& value) { SetGreeting(std::move(value)); return *this;} + inline UnionPayload& WithGreeting(const char* value) { SetGreeting(value); return *this;} + ///@} + private: + + Aws::String m_greeting; + bool m_greetingHasBeenSet = false; + }; + +} // namespace Model +} // namespace RestJsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/UnionWithJsonName.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/UnionWithJsonName.h new file mode 100644 index 00000000000..f171efa6173 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/UnionWithJsonName.h @@ -0,0 +1,84 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace RestJsonProtocol +{ +namespace Model +{ + + class UnionWithJsonName + { + public: + AWS_RESTJSONPROTOCOL_API UnionWithJsonName(); + AWS_RESTJSONPROTOCOL_API UnionWithJsonName(Aws::Utils::Json::JsonView jsonValue); + AWS_RESTJSONPROTOCOL_API UnionWithJsonName& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_RESTJSONPROTOCOL_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + + inline const Aws::String& GetFoo() const{ return m_foo; } + inline bool FooHasBeenSet() const { return m_fooHasBeenSet; } + inline void SetFoo(const Aws::String& value) { m_fooHasBeenSet = true; m_foo = value; } + inline void SetFoo(Aws::String&& value) { m_fooHasBeenSet = true; m_foo = std::move(value); } + inline void SetFoo(const char* value) { m_fooHasBeenSet = true; m_foo.assign(value); } + inline UnionWithJsonName& WithFoo(const Aws::String& value) { SetFoo(value); return *this;} + inline UnionWithJsonName& WithFoo(Aws::String&& value) { SetFoo(std::move(value)); return *this;} + inline UnionWithJsonName& WithFoo(const char* value) { SetFoo(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetBar() const{ return m_bar; } + inline bool BarHasBeenSet() const { return m_barHasBeenSet; } + inline void SetBar(const Aws::String& value) { m_barHasBeenSet = true; m_bar = value; } + inline void SetBar(Aws::String&& value) { m_barHasBeenSet = true; m_bar = std::move(value); } + inline void SetBar(const char* value) { m_barHasBeenSet = true; m_bar.assign(value); } + inline UnionWithJsonName& WithBar(const Aws::String& value) { SetBar(value); return *this;} + inline UnionWithJsonName& WithBar(Aws::String&& value) { SetBar(std::move(value)); return *this;} + inline UnionWithJsonName& WithBar(const char* value) { SetBar(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetBaz() const{ return m_baz; } + inline bool BazHasBeenSet() const { return m_bazHasBeenSet; } + inline void SetBaz(const Aws::String& value) { m_bazHasBeenSet = true; m_baz = value; } + inline void SetBaz(Aws::String&& value) { m_bazHasBeenSet = true; m_baz = std::move(value); } + inline void SetBaz(const char* value) { m_bazHasBeenSet = true; m_baz.assign(value); } + inline UnionWithJsonName& WithBaz(const Aws::String& value) { SetBaz(value); return *this;} + inline UnionWithJsonName& WithBaz(Aws::String&& value) { SetBaz(std::move(value)); return *this;} + inline UnionWithJsonName& WithBaz(const char* value) { SetBaz(value); return *this;} + ///@} + private: + + Aws::String m_foo; + bool m_fooHasBeenSet = false; + + Aws::String m_bar; + bool m_barHasBeenSet = false; + + Aws::String m_baz; + bool m_bazHasBeenSet = false; + }; + +} // namespace Model +} // namespace RestJsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/UnitInputAndOutputRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/UnitInputAndOutputRequest.h new file mode 100644 index 00000000000..fadbdecda87 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/model/UnitInputAndOutputRequest.h @@ -0,0 +1,36 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace RestJsonProtocol +{ +namespace Model +{ + + /** + */ + class UnitInputAndOutputRequest : public RestJsonProtocolRequest + { + public: + AWS_RESTJSONPROTOCOL_API UnitInputAndOutputRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "UnitInputAndOutput"; } + + AWS_RESTJSONPROTOCOL_API Aws::String SerializePayload() const override; + + }; + +} // namespace Model +} // namespace RestJsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/RestJsonProtocolClient.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/RestJsonProtocolClient.cpp new file mode 100644 index 00000000000..711bd4bddc8 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/RestJsonProtocolClient.cpp @@ -0,0 +1,1712 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include + +#include +#include +#include + +using namespace Aws; +using namespace Aws::Auth; +using namespace Aws::Client; +using namespace Aws::RestJsonProtocol; +using namespace Aws::RestJsonProtocol::Model; +using namespace Aws::Http; +using namespace Aws::Utils::Json; +using namespace smithy::components::tracing; +using ResolveEndpointOutcome = Aws::Endpoint::ResolveEndpointOutcome; + +namespace Aws +{ + namespace RestJsonProtocol + { + const char ALLOCATION_TAG[] = "RestJsonProtocolClient"; + const char SERVICE_NAME[] = "restjson"; + } +} +const char* RestJsonProtocolClient::GetServiceName() {return SERVICE_NAME;} +const char* RestJsonProtocolClient::GetAllocationTag() {return ALLOCATION_TAG;} + +RestJsonProtocolClient::RestJsonProtocolClient(const RestJsonProtocol::RestJsonProtocolClientConfiguration& clientConfiguration, + std::shared_ptr endpointProvider) : + AwsSmithyClientT(clientConfiguration, + GetServiceName(), + "Rest Json Protocol", + Aws::Http::CreateHttpClient(clientConfiguration), + Aws::MakeShared(ALLOCATION_TAG), + endpointProvider ? endpointProvider : Aws::MakeShared(ALLOCATION_TAG), + Aws::MakeShared>(ALLOCATION_TAG), + { + {smithy::SigV4AuthSchemeOption::sigV4AuthSchemeOption.schemeId, smithy::SigV4AuthScheme{GetServiceName(), clientConfiguration.region}}, + }) +{} + +RestJsonProtocolClient::RestJsonProtocolClient(const AWSCredentials& credentials, + std::shared_ptr endpointProvider, + const RestJsonProtocol::RestJsonProtocolClientConfiguration& clientConfiguration) : + AwsSmithyClientT(clientConfiguration, + GetServiceName(), + "Rest Json Protocol", + Aws::Http::CreateHttpClient(clientConfiguration), + Aws::MakeShared(ALLOCATION_TAG), + endpointProvider ? endpointProvider : Aws::MakeShared(ALLOCATION_TAG), + Aws::MakeShared>(ALLOCATION_TAG), + { + {smithy::SigV4AuthSchemeOption::sigV4AuthSchemeOption.schemeId, smithy::SigV4AuthScheme{Aws::MakeShared(ALLOCATION_TAG, credentials), GetServiceName(), clientConfiguration.region}}, + }) +{} + +RestJsonProtocolClient::RestJsonProtocolClient(const std::shared_ptr& credentialsProvider, + std::shared_ptr endpointProvider, + const RestJsonProtocol::RestJsonProtocolClientConfiguration& clientConfiguration) : + AwsSmithyClientT(clientConfiguration, + GetServiceName(), + "Rest Json Protocol", + Aws::Http::CreateHttpClient(clientConfiguration), + Aws::MakeShared(ALLOCATION_TAG), + endpointProvider ? endpointProvider : Aws::MakeShared(ALLOCATION_TAG), + Aws::MakeShared>(ALLOCATION_TAG), + { + {smithy::SigV4AuthSchemeOption::sigV4AuthSchemeOption.schemeId, smithy::SigV4AuthScheme{ Aws::MakeShared(ALLOCATION_TAG, credentialsProvider), GetServiceName(), clientConfiguration.region}} + }) +{} + +/* Legacy constructors due deprecation */ +RestJsonProtocolClient::RestJsonProtocolClient(const Client::ClientConfiguration& clientConfiguration) : + AwsSmithyClientT(clientConfiguration, + GetServiceName(), + "Rest Json Protocol", + Aws::Http::CreateHttpClient(clientConfiguration), + Aws::MakeShared(ALLOCATION_TAG), + Aws::MakeShared(ALLOCATION_TAG), + Aws::MakeShared>(ALLOCATION_TAG), + { + {smithy::SigV4AuthSchemeOption::sigV4AuthSchemeOption.schemeId, smithy::SigV4AuthScheme{Aws::MakeShared(ALLOCATION_TAG), GetServiceName(), clientConfiguration.region}} + }) +{} + +RestJsonProtocolClient::RestJsonProtocolClient(const AWSCredentials& credentials, + const Client::ClientConfiguration& clientConfiguration) : + AwsSmithyClientT(clientConfiguration, + GetServiceName(), + "Rest Json Protocol", + Aws::Http::CreateHttpClient(clientConfiguration), + Aws::MakeShared(ALLOCATION_TAG), + Aws::MakeShared(ALLOCATION_TAG), + Aws::MakeShared>(ALLOCATION_TAG), + { + {smithy::SigV4AuthSchemeOption::sigV4AuthSchemeOption.schemeId, smithy::SigV4AuthScheme{Aws::MakeShared(ALLOCATION_TAG, credentials), GetServiceName(), clientConfiguration.region}} + }) +{} + +RestJsonProtocolClient::RestJsonProtocolClient(const std::shared_ptr& credentialsProvider, + const Client::ClientConfiguration& clientConfiguration) : + AwsSmithyClientT(clientConfiguration, + GetServiceName(), + "Rest Json Protocol", + Aws::Http::CreateHttpClient(clientConfiguration), + Aws::MakeShared(ALLOCATION_TAG), + Aws::MakeShared(ALLOCATION_TAG), + Aws::MakeShared>(ALLOCATION_TAG), + { + {smithy::SigV4AuthSchemeOption::sigV4AuthSchemeOption.schemeId, smithy::SigV4AuthScheme{Aws::MakeShared(ALLOCATION_TAG, credentialsProvider), GetServiceName(), clientConfiguration.region}} + }) +{} +/* End of legacy constructors due deprecation */ + +RestJsonProtocolClient::~RestJsonProtocolClient() +{ + ShutdownSdkClient(this, -1); +} + +std::shared_ptr& RestJsonProtocolClient::accessEndpointProvider() +{ + return m_endpointProvider; +} + +void RestJsonProtocolClient::OverrideEndpoint(const Aws::String& endpoint) +{ + AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); + m_endpointProvider->OverrideEndpoint(endpoint); +} +AllQueryStringTypesOutcome RestJsonProtocolClient::AllQueryStringTypes(const AllQueryStringTypesRequest& request) const +{ + AWS_OPERATION_GUARD(AllQueryStringTypes); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, AllQueryStringTypes, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_clientConfiguration.telemetryProvider, AllQueryStringTypes, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_clientConfiguration.telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_clientConfiguration.telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, AllQueryStringTypes, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".AllQueryStringTypes", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> AllQueryStringTypesOutcome { + return AllQueryStringTypesOutcome(MakeRequestDeserialize(&request, request.GetServiceRequestName(), Aws::Http::HttpMethod::HTTP_GET, [&](Aws::Endpoint::AWSEndpoint& resolvedEndpoint) -> void { + resolvedEndpoint.AddPathSegments("/AllQueryStringTypesInput"); + })); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +ConstantAndVariableQueryStringOutcome RestJsonProtocolClient::ConstantAndVariableQueryString(const ConstantAndVariableQueryStringRequest& request) const +{ + AWS_OPERATION_GUARD(ConstantAndVariableQueryString); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, ConstantAndVariableQueryString, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_clientConfiguration.telemetryProvider, ConstantAndVariableQueryString, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_clientConfiguration.telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_clientConfiguration.telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, ConstantAndVariableQueryString, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".ConstantAndVariableQueryString", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> ConstantAndVariableQueryStringOutcome { + return ConstantAndVariableQueryStringOutcome(MakeRequestDeserialize(&request, request.GetServiceRequestName(), Aws::Http::HttpMethod::HTTP_GET, [&](Aws::Endpoint::AWSEndpoint& resolvedEndpoint) -> void { + Aws::StringStream ss; + resolvedEndpoint.AddPathSegments("/ConstantAndVariableQueryString"); + ss.str("?foo=bar"); + resolvedEndpoint.SetQueryString(ss.str()); + })); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +ConstantQueryStringOutcome RestJsonProtocolClient::ConstantQueryString(const ConstantQueryStringRequest& request) const +{ + AWS_OPERATION_GUARD(ConstantQueryString); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, ConstantQueryString, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.HelloHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("ConstantQueryString", "Required field: Hello, is not set"); + return ConstantQueryStringOutcome(Aws::Client::AWSError(RestJsonProtocolErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Hello]", false)); + } + AWS_OPERATION_CHECK_PTR(m_clientConfiguration.telemetryProvider, ConstantQueryString, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_clientConfiguration.telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_clientConfiguration.telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, ConstantQueryString, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".ConstantQueryString", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> ConstantQueryStringOutcome { + return ConstantQueryStringOutcome(MakeRequestDeserialize(&request, request.GetServiceRequestName(), Aws::Http::HttpMethod::HTTP_GET, [&](Aws::Endpoint::AWSEndpoint& resolvedEndpoint) -> void { + Aws::StringStream ss; + resolvedEndpoint.AddPathSegments("/ConstantQueryString/"); + resolvedEndpoint.AddPathSegment(request.GetHello()); + ss.str("?foo=bar&hello"); + resolvedEndpoint.SetQueryString(ss.str()); + })); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +ContentTypeParametersOutcome RestJsonProtocolClient::ContentTypeParameters(const ContentTypeParametersRequest& request) const +{ + AWS_OPERATION_GUARD(ContentTypeParameters); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, ContentTypeParameters, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_clientConfiguration.telemetryProvider, ContentTypeParameters, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_clientConfiguration.telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_clientConfiguration.telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, ContentTypeParameters, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".ContentTypeParameters", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> ContentTypeParametersOutcome { + return ContentTypeParametersOutcome(MakeRequestDeserialize(&request, request.GetServiceRequestName(), Aws::Http::HttpMethod::HTTP_POST, [&](Aws::Endpoint::AWSEndpoint& resolvedEndpoint) -> void { + resolvedEndpoint.AddPathSegments("/ContentTypeParameters"); + })); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +DatetimeOffsetsOutcome RestJsonProtocolClient::DatetimeOffsets(const DatetimeOffsetsRequest& request) const +{ + AWS_OPERATION_GUARD(DatetimeOffsets); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, DatetimeOffsets, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_clientConfiguration.telemetryProvider, DatetimeOffsets, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_clientConfiguration.telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_clientConfiguration.telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, DatetimeOffsets, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".DatetimeOffsets", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> DatetimeOffsetsOutcome { + return DatetimeOffsetsOutcome(MakeRequestDeserialize(&request, request.GetServiceRequestName(), Aws::Http::HttpMethod::HTTP_POST, [&](Aws::Endpoint::AWSEndpoint& resolvedEndpoint) -> void { + resolvedEndpoint.AddPathSegments("/DatetimeOffsets"); + })); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +DocumentTypeOutcome RestJsonProtocolClient::DocumentType(const DocumentTypeRequest& request) const +{ + AWS_OPERATION_GUARD(DocumentType); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, DocumentType, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_clientConfiguration.telemetryProvider, DocumentType, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_clientConfiguration.telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_clientConfiguration.telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, DocumentType, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".DocumentType", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> DocumentTypeOutcome { + return DocumentTypeOutcome(MakeRequestDeserialize(&request, request.GetServiceRequestName(), Aws::Http::HttpMethod::HTTP_PUT, [&](Aws::Endpoint::AWSEndpoint& resolvedEndpoint) -> void { + resolvedEndpoint.AddPathSegments("/DocumentType"); + })); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +DocumentTypeAsMapValueOutcome RestJsonProtocolClient::DocumentTypeAsMapValue(const DocumentTypeAsMapValueRequest& request) const +{ + AWS_OPERATION_GUARD(DocumentTypeAsMapValue); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, DocumentTypeAsMapValue, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_clientConfiguration.telemetryProvider, DocumentTypeAsMapValue, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_clientConfiguration.telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_clientConfiguration.telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, DocumentTypeAsMapValue, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".DocumentTypeAsMapValue", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> DocumentTypeAsMapValueOutcome { + return DocumentTypeAsMapValueOutcome(MakeRequestDeserialize(&request, request.GetServiceRequestName(), Aws::Http::HttpMethod::HTTP_PUT, [&](Aws::Endpoint::AWSEndpoint& resolvedEndpoint) -> void { + resolvedEndpoint.AddPathSegments("/DocumentTypeAsMapValue"); + })); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +DocumentTypeAsPayloadOutcome RestJsonProtocolClient::DocumentTypeAsPayload(const DocumentTypeAsPayloadRequest& request) const +{ + AWS_OPERATION_GUARD(DocumentTypeAsPayload); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, DocumentTypeAsPayload, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_clientConfiguration.telemetryProvider, DocumentTypeAsPayload, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_clientConfiguration.telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_clientConfiguration.telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, DocumentTypeAsPayload, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".DocumentTypeAsPayload", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> DocumentTypeAsPayloadOutcome { + return DocumentTypeAsPayloadOutcome(MakeRequestDeserialize(&request, request.GetServiceRequestName(), Aws::Http::HttpMethod::HTTP_PUT, [&](Aws::Endpoint::AWSEndpoint& resolvedEndpoint) -> void { + resolvedEndpoint.AddPathSegments("/DocumentTypeAsPayload"); + })); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +EmptyInputAndEmptyOutputOutcome RestJsonProtocolClient::EmptyInputAndEmptyOutput(const EmptyInputAndEmptyOutputRequest& request) const +{ + AWS_OPERATION_GUARD(EmptyInputAndEmptyOutput); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, EmptyInputAndEmptyOutput, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_clientConfiguration.telemetryProvider, EmptyInputAndEmptyOutput, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_clientConfiguration.telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_clientConfiguration.telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, EmptyInputAndEmptyOutput, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".EmptyInputAndEmptyOutput", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> EmptyInputAndEmptyOutputOutcome { + return EmptyInputAndEmptyOutputOutcome(MakeRequestDeserialize(&request, request.GetServiceRequestName(), Aws::Http::HttpMethod::HTTP_POST, [&](Aws::Endpoint::AWSEndpoint& resolvedEndpoint) -> void { + resolvedEndpoint.AddPathSegments("/EmptyInputAndEmptyOutput"); + })); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +EndpointOperationOutcome RestJsonProtocolClient::EndpointOperation(const EndpointOperationRequest& request) const +{ + AWS_OPERATION_GUARD(EndpointOperation); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, EndpointOperation, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_clientConfiguration.telemetryProvider, EndpointOperation, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_clientConfiguration.telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_clientConfiguration.telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, EndpointOperation, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".EndpointOperation", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> EndpointOperationOutcome { + return EndpointOperationOutcome(MakeRequestDeserialize(&request, request.GetServiceRequestName(), Aws::Http::HttpMethod::HTTP_POST, [&](Aws::Endpoint::AWSEndpoint& resolvedEndpoint) -> void { + resolvedEndpoint.AddPathSegments("/EndpointOperation"); + })); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +EndpointWithHostLabelOperationOutcome RestJsonProtocolClient::EndpointWithHostLabelOperation(const EndpointWithHostLabelOperationRequest& request) const +{ + AWS_OPERATION_GUARD(EndpointWithHostLabelOperation); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, EndpointWithHostLabelOperation, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_clientConfiguration.telemetryProvider, EndpointWithHostLabelOperation, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_clientConfiguration.telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_clientConfiguration.telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, EndpointWithHostLabelOperation, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".EndpointWithHostLabelOperation", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> EndpointWithHostLabelOperationOutcome { + return EndpointWithHostLabelOperationOutcome(MakeRequestDeserialize(&request, request.GetServiceRequestName(), Aws::Http::HttpMethod::HTTP_POST, [&](Aws::Endpoint::AWSEndpoint& resolvedEndpoint) -> void { + resolvedEndpoint.AddPathSegments("/EndpointWithHostLabelOperation"); + })); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +FractionalSecondsOutcome RestJsonProtocolClient::FractionalSeconds(const FractionalSecondsRequest& request) const +{ + AWS_OPERATION_GUARD(FractionalSeconds); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, FractionalSeconds, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_clientConfiguration.telemetryProvider, FractionalSeconds, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_clientConfiguration.telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_clientConfiguration.telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, FractionalSeconds, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".FractionalSeconds", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> FractionalSecondsOutcome { + return FractionalSecondsOutcome(MakeRequestDeserialize(&request, request.GetServiceRequestName(), Aws::Http::HttpMethod::HTTP_POST, [&](Aws::Endpoint::AWSEndpoint& resolvedEndpoint) -> void { + resolvedEndpoint.AddPathSegments("/FractionalSeconds"); + })); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +GreetingWithErrorsOutcome RestJsonProtocolClient::GreetingWithErrors(const GreetingWithErrorsRequest& request) const +{ + AWS_OPERATION_GUARD(GreetingWithErrors); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GreetingWithErrors, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_clientConfiguration.telemetryProvider, GreetingWithErrors, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_clientConfiguration.telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_clientConfiguration.telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, GreetingWithErrors, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".GreetingWithErrors", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> GreetingWithErrorsOutcome { + return GreetingWithErrorsOutcome(MakeRequestDeserialize(&request, request.GetServiceRequestName(), Aws::Http::HttpMethod::HTTP_PUT, [&](Aws::Endpoint::AWSEndpoint& resolvedEndpoint) -> void { + resolvedEndpoint.AddPathSegments("/GreetingWithErrors"); + })); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +HostWithPathOperationOutcome RestJsonProtocolClient::HostWithPathOperation(const HostWithPathOperationRequest& request) const +{ + AWS_OPERATION_GUARD(HostWithPathOperation); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, HostWithPathOperation, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_clientConfiguration.telemetryProvider, HostWithPathOperation, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_clientConfiguration.telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_clientConfiguration.telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, HostWithPathOperation, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".HostWithPathOperation", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> HostWithPathOperationOutcome { + return HostWithPathOperationOutcome(MakeRequestDeserialize(&request, request.GetServiceRequestName(), Aws::Http::HttpMethod::HTTP_GET, [&](Aws::Endpoint::AWSEndpoint& resolvedEndpoint) -> void { + resolvedEndpoint.AddPathSegments("/HostWithPathOperation"); + })); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +HttpChecksumRequiredOutcome RestJsonProtocolClient::HttpChecksumRequired(const HttpChecksumRequiredRequest& request) const +{ + AWS_OPERATION_GUARD(HttpChecksumRequired); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, HttpChecksumRequired, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_clientConfiguration.telemetryProvider, HttpChecksumRequired, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_clientConfiguration.telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_clientConfiguration.telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, HttpChecksumRequired, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".HttpChecksumRequired", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> HttpChecksumRequiredOutcome { + return HttpChecksumRequiredOutcome(MakeRequestDeserialize(&request, request.GetServiceRequestName(), Aws::Http::HttpMethod::HTTP_POST, [&](Aws::Endpoint::AWSEndpoint& resolvedEndpoint) -> void { + resolvedEndpoint.AddPathSegments("/HttpChecksumRequired"); + })); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +HttpEnumPayloadOutcome RestJsonProtocolClient::HttpEnumPayload(const HttpEnumPayloadRequest& request) const +{ + AWS_OPERATION_GUARD(HttpEnumPayload); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, HttpEnumPayload, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_clientConfiguration.telemetryProvider, HttpEnumPayload, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_clientConfiguration.telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_clientConfiguration.telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, HttpEnumPayload, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".HttpEnumPayload", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> HttpEnumPayloadOutcome { + return HttpEnumPayloadOutcome(MakeRequestDeserialize(&request, request.GetServiceRequestName(), Aws::Http::HttpMethod::HTTP_POST, [&](Aws::Endpoint::AWSEndpoint& resolvedEndpoint) -> void { + resolvedEndpoint.AddPathSegments("/EnumPayload"); + })); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +HttpPayloadTraitsOutcome RestJsonProtocolClient::HttpPayloadTraits(const HttpPayloadTraitsRequest& request) const +{ + AWS_OPERATION_GUARD(HttpPayloadTraits); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, HttpPayloadTraits, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_clientConfiguration.telemetryProvider, HttpPayloadTraits, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_clientConfiguration.telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_clientConfiguration.telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, HttpPayloadTraits, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".HttpPayloadTraits", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> HttpPayloadTraitsOutcome { + return HttpPayloadTraitsOutcome(MakeRequestDeserialize(&request, request.GetServiceRequestName(), Aws::Http::HttpMethod::HTTP_POST, [&](Aws::Endpoint::AWSEndpoint& resolvedEndpoint) -> void { + resolvedEndpoint.AddPathSegments("/HttpPayloadTraits"); + })); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +HttpPayloadWithStructureOutcome RestJsonProtocolClient::HttpPayloadWithStructure(const HttpPayloadWithStructureRequest& request) const +{ + AWS_OPERATION_GUARD(HttpPayloadWithStructure); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, HttpPayloadWithStructure, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_clientConfiguration.telemetryProvider, HttpPayloadWithStructure, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_clientConfiguration.telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_clientConfiguration.telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, HttpPayloadWithStructure, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".HttpPayloadWithStructure", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> HttpPayloadWithStructureOutcome { + return HttpPayloadWithStructureOutcome(MakeRequestDeserialize(&request, request.GetServiceRequestName(), Aws::Http::HttpMethod::HTTP_PUT, [&](Aws::Endpoint::AWSEndpoint& resolvedEndpoint) -> void { + resolvedEndpoint.AddPathSegments("/HttpPayloadWithStructure"); + })); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +HttpPayloadWithUnionOutcome RestJsonProtocolClient::HttpPayloadWithUnion(const HttpPayloadWithUnionRequest& request) const +{ + AWS_OPERATION_GUARD(HttpPayloadWithUnion); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, HttpPayloadWithUnion, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_clientConfiguration.telemetryProvider, HttpPayloadWithUnion, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_clientConfiguration.telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_clientConfiguration.telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, HttpPayloadWithUnion, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".HttpPayloadWithUnion", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> HttpPayloadWithUnionOutcome { + return HttpPayloadWithUnionOutcome(MakeRequestDeserialize(&request, request.GetServiceRequestName(), Aws::Http::HttpMethod::HTTP_PUT, [&](Aws::Endpoint::AWSEndpoint& resolvedEndpoint) -> void { + resolvedEndpoint.AddPathSegments("/HttpPayloadWithUnion"); + })); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +HttpPrefixHeadersOutcome RestJsonProtocolClient::HttpPrefixHeaders(const HttpPrefixHeadersRequest& request) const +{ + AWS_OPERATION_GUARD(HttpPrefixHeaders); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, HttpPrefixHeaders, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_clientConfiguration.telemetryProvider, HttpPrefixHeaders, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_clientConfiguration.telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_clientConfiguration.telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, HttpPrefixHeaders, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".HttpPrefixHeaders", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> HttpPrefixHeadersOutcome { + return HttpPrefixHeadersOutcome(MakeRequestDeserialize(&request, request.GetServiceRequestName(), Aws::Http::HttpMethod::HTTP_GET, [&](Aws::Endpoint::AWSEndpoint& resolvedEndpoint) -> void { + resolvedEndpoint.AddPathSegments("/HttpPrefixHeaders"); + })); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +HttpPrefixHeadersInResponseOutcome RestJsonProtocolClient::HttpPrefixHeadersInResponse(const HttpPrefixHeadersInResponseRequest& request) const +{ + AWS_OPERATION_GUARD(HttpPrefixHeadersInResponse); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, HttpPrefixHeadersInResponse, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_clientConfiguration.telemetryProvider, HttpPrefixHeadersInResponse, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_clientConfiguration.telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_clientConfiguration.telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, HttpPrefixHeadersInResponse, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".HttpPrefixHeadersInResponse", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> HttpPrefixHeadersInResponseOutcome { + return HttpPrefixHeadersInResponseOutcome(MakeRequestDeserialize(&request, request.GetServiceRequestName(), Aws::Http::HttpMethod::HTTP_GET, [&](Aws::Endpoint::AWSEndpoint& resolvedEndpoint) -> void { + resolvedEndpoint.AddPathSegments("/HttpPrefixHeadersResponse"); + })); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +HttpRequestWithFloatLabelsOutcome RestJsonProtocolClient::HttpRequestWithFloatLabels(const HttpRequestWithFloatLabelsRequest& request) const +{ + AWS_OPERATION_GUARD(HttpRequestWithFloatLabels); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, HttpRequestWithFloatLabels, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.FloatHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("HttpRequestWithFloatLabels", "Required field: Float, is not set"); + return HttpRequestWithFloatLabelsOutcome(Aws::Client::AWSError(RestJsonProtocolErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Float]", false)); + } + if (!request.DoubleHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("HttpRequestWithFloatLabels", "Required field: Double, is not set"); + return HttpRequestWithFloatLabelsOutcome(Aws::Client::AWSError(RestJsonProtocolErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Double]", false)); + } + AWS_OPERATION_CHECK_PTR(m_clientConfiguration.telemetryProvider, HttpRequestWithFloatLabels, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_clientConfiguration.telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_clientConfiguration.telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, HttpRequestWithFloatLabels, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".HttpRequestWithFloatLabels", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> HttpRequestWithFloatLabelsOutcome { + return HttpRequestWithFloatLabelsOutcome(MakeRequestDeserialize(&request, request.GetServiceRequestName(), Aws::Http::HttpMethod::HTTP_GET, [&](Aws::Endpoint::AWSEndpoint& resolvedEndpoint) -> void { + resolvedEndpoint.AddPathSegments("/FloatHttpLabels/"); + resolvedEndpoint.AddPathSegment(request.GetFloat()); + resolvedEndpoint.AddPathSegment(request.GetDouble()); + })); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +HttpRequestWithGreedyLabelInPathOutcome RestJsonProtocolClient::HttpRequestWithGreedyLabelInPath(const HttpRequestWithGreedyLabelInPathRequest& request) const +{ + AWS_OPERATION_GUARD(HttpRequestWithGreedyLabelInPath); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, HttpRequestWithGreedyLabelInPath, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.FooHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("HttpRequestWithGreedyLabelInPath", "Required field: Foo, is not set"); + return HttpRequestWithGreedyLabelInPathOutcome(Aws::Client::AWSError(RestJsonProtocolErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Foo]", false)); + } + if (!request.BazHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("HttpRequestWithGreedyLabelInPath", "Required field: Baz, is not set"); + return HttpRequestWithGreedyLabelInPathOutcome(Aws::Client::AWSError(RestJsonProtocolErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Baz]", false)); + } + AWS_OPERATION_CHECK_PTR(m_clientConfiguration.telemetryProvider, HttpRequestWithGreedyLabelInPath, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_clientConfiguration.telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_clientConfiguration.telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, HttpRequestWithGreedyLabelInPath, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".HttpRequestWithGreedyLabelInPath", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> HttpRequestWithGreedyLabelInPathOutcome { + return HttpRequestWithGreedyLabelInPathOutcome(MakeRequestDeserialize(&request, request.GetServiceRequestName(), Aws::Http::HttpMethod::HTTP_GET, [&](Aws::Endpoint::AWSEndpoint& resolvedEndpoint) -> void { + resolvedEndpoint.AddPathSegments("/HttpRequestWithGreedyLabelInPath/foo/"); + resolvedEndpoint.AddPathSegment(request.GetFoo()); + resolvedEndpoint.AddPathSegments("/baz/"); + resolvedEndpoint.AddPathSegments(request.GetBaz()); + })); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +HttpRequestWithLabelsOutcome RestJsonProtocolClient::HttpRequestWithLabels(const HttpRequestWithLabelsRequest& request) const +{ + AWS_OPERATION_GUARD(HttpRequestWithLabels); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, HttpRequestWithLabels, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.StringHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("HttpRequestWithLabels", "Required field: String, is not set"); + return HttpRequestWithLabelsOutcome(Aws::Client::AWSError(RestJsonProtocolErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [String]", false)); + } + if (!request.ShortHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("HttpRequestWithLabels", "Required field: Short, is not set"); + return HttpRequestWithLabelsOutcome(Aws::Client::AWSError(RestJsonProtocolErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Short]", false)); + } + if (!request.IntegerHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("HttpRequestWithLabels", "Required field: Integer, is not set"); + return HttpRequestWithLabelsOutcome(Aws::Client::AWSError(RestJsonProtocolErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Integer]", false)); + } + if (!request.LongHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("HttpRequestWithLabels", "Required field: Long, is not set"); + return HttpRequestWithLabelsOutcome(Aws::Client::AWSError(RestJsonProtocolErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Long]", false)); + } + if (!request.FloatHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("HttpRequestWithLabels", "Required field: Float, is not set"); + return HttpRequestWithLabelsOutcome(Aws::Client::AWSError(RestJsonProtocolErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Float]", false)); + } + if (!request.DoubleHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("HttpRequestWithLabels", "Required field: Double, is not set"); + return HttpRequestWithLabelsOutcome(Aws::Client::AWSError(RestJsonProtocolErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Double]", false)); + } + if (!request.BooleanHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("HttpRequestWithLabels", "Required field: Boolean, is not set"); + return HttpRequestWithLabelsOutcome(Aws::Client::AWSError(RestJsonProtocolErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Boolean]", false)); + } + if (!request.TimestampHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("HttpRequestWithLabels", "Required field: Timestamp, is not set"); + return HttpRequestWithLabelsOutcome(Aws::Client::AWSError(RestJsonProtocolErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Timestamp]", false)); + } + AWS_OPERATION_CHECK_PTR(m_clientConfiguration.telemetryProvider, HttpRequestWithLabels, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_clientConfiguration.telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_clientConfiguration.telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, HttpRequestWithLabels, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".HttpRequestWithLabels", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> HttpRequestWithLabelsOutcome { + return HttpRequestWithLabelsOutcome(MakeRequestDeserialize(&request, request.GetServiceRequestName(), Aws::Http::HttpMethod::HTTP_GET, [&](Aws::Endpoint::AWSEndpoint& resolvedEndpoint) -> void { + resolvedEndpoint.AddPathSegments("/HttpRequestWithLabels/"); + resolvedEndpoint.AddPathSegment(request.GetString()); + resolvedEndpoint.AddPathSegment(request.GetShort()); + resolvedEndpoint.AddPathSegment(request.GetInteger()); + resolvedEndpoint.AddPathSegment(request.GetLong()); + resolvedEndpoint.AddPathSegment(request.GetFloat()); + resolvedEndpoint.AddPathSegment(request.GetDouble()); + resolvedEndpoint.AddPathSegment(request.GetBoolean()); + resolvedEndpoint.AddPathSegment(request.GetTimestamp()); + })); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +HttpRequestWithLabelsAndTimestampFormatOutcome RestJsonProtocolClient::HttpRequestWithLabelsAndTimestampFormat(const HttpRequestWithLabelsAndTimestampFormatRequest& request) const +{ + AWS_OPERATION_GUARD(HttpRequestWithLabelsAndTimestampFormat); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, HttpRequestWithLabelsAndTimestampFormat, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.MemberEpochSecondsHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("HttpRequestWithLabelsAndTimestampFormat", "Required field: MemberEpochSeconds, is not set"); + return HttpRequestWithLabelsAndTimestampFormatOutcome(Aws::Client::AWSError(RestJsonProtocolErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [MemberEpochSeconds]", false)); + } + if (!request.MemberHttpDateHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("HttpRequestWithLabelsAndTimestampFormat", "Required field: MemberHttpDate, is not set"); + return HttpRequestWithLabelsAndTimestampFormatOutcome(Aws::Client::AWSError(RestJsonProtocolErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [MemberHttpDate]", false)); + } + if (!request.MemberDateTimeHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("HttpRequestWithLabelsAndTimestampFormat", "Required field: MemberDateTime, is not set"); + return HttpRequestWithLabelsAndTimestampFormatOutcome(Aws::Client::AWSError(RestJsonProtocolErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [MemberDateTime]", false)); + } + if (!request.DefaultFormatHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("HttpRequestWithLabelsAndTimestampFormat", "Required field: DefaultFormat, is not set"); + return HttpRequestWithLabelsAndTimestampFormatOutcome(Aws::Client::AWSError(RestJsonProtocolErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [DefaultFormat]", false)); + } + if (!request.TargetEpochSecondsHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("HttpRequestWithLabelsAndTimestampFormat", "Required field: TargetEpochSeconds, is not set"); + return HttpRequestWithLabelsAndTimestampFormatOutcome(Aws::Client::AWSError(RestJsonProtocolErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [TargetEpochSeconds]", false)); + } + if (!request.TargetHttpDateHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("HttpRequestWithLabelsAndTimestampFormat", "Required field: TargetHttpDate, is not set"); + return HttpRequestWithLabelsAndTimestampFormatOutcome(Aws::Client::AWSError(RestJsonProtocolErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [TargetHttpDate]", false)); + } + if (!request.TargetDateTimeHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("HttpRequestWithLabelsAndTimestampFormat", "Required field: TargetDateTime, is not set"); + return HttpRequestWithLabelsAndTimestampFormatOutcome(Aws::Client::AWSError(RestJsonProtocolErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [TargetDateTime]", false)); + } + AWS_OPERATION_CHECK_PTR(m_clientConfiguration.telemetryProvider, HttpRequestWithLabelsAndTimestampFormat, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_clientConfiguration.telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_clientConfiguration.telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, HttpRequestWithLabelsAndTimestampFormat, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".HttpRequestWithLabelsAndTimestampFormat", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> HttpRequestWithLabelsAndTimestampFormatOutcome { + return HttpRequestWithLabelsAndTimestampFormatOutcome(MakeRequestDeserialize(&request, request.GetServiceRequestName(), Aws::Http::HttpMethod::HTTP_GET, [&](Aws::Endpoint::AWSEndpoint& resolvedEndpoint) -> void { + resolvedEndpoint.AddPathSegments("/HttpRequestWithLabelsAndTimestampFormat/"); + resolvedEndpoint.AddPathSegment(request.GetMemberEpochSeconds()); + resolvedEndpoint.AddPathSegment(request.GetMemberHttpDate()); + resolvedEndpoint.AddPathSegment(request.GetMemberDateTime()); + resolvedEndpoint.AddPathSegment(request.GetDefaultFormat()); + resolvedEndpoint.AddPathSegment(request.GetTargetEpochSeconds()); + resolvedEndpoint.AddPathSegment(request.GetTargetHttpDate()); + resolvedEndpoint.AddPathSegment(request.GetTargetDateTime()); + })); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +HttpRequestWithRegexLiteralOutcome RestJsonProtocolClient::HttpRequestWithRegexLiteral(const HttpRequestWithRegexLiteralRequest& request) const +{ + AWS_OPERATION_GUARD(HttpRequestWithRegexLiteral); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, HttpRequestWithRegexLiteral, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.StrHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("HttpRequestWithRegexLiteral", "Required field: Str, is not set"); + return HttpRequestWithRegexLiteralOutcome(Aws::Client::AWSError(RestJsonProtocolErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Str]", false)); + } + AWS_OPERATION_CHECK_PTR(m_clientConfiguration.telemetryProvider, HttpRequestWithRegexLiteral, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_clientConfiguration.telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_clientConfiguration.telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, HttpRequestWithRegexLiteral, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".HttpRequestWithRegexLiteral", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> HttpRequestWithRegexLiteralOutcome { + return HttpRequestWithRegexLiteralOutcome(MakeRequestDeserialize(&request, request.GetServiceRequestName(), Aws::Http::HttpMethod::HTTP_GET, [&](Aws::Endpoint::AWSEndpoint& resolvedEndpoint) -> void { + resolvedEndpoint.AddPathSegments("/ReDosLiteral/"); + resolvedEndpoint.AddPathSegment(request.GetStr()); + resolvedEndpoint.AddPathSegments("/(a+)+"); + })); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +HttpResponseCodeOutcome RestJsonProtocolClient::HttpResponseCode(const HttpResponseCodeRequest& request) const +{ + AWS_OPERATION_GUARD(HttpResponseCode); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, HttpResponseCode, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_clientConfiguration.telemetryProvider, HttpResponseCode, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_clientConfiguration.telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_clientConfiguration.telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, HttpResponseCode, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".HttpResponseCode", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> HttpResponseCodeOutcome { + return HttpResponseCodeOutcome(MakeRequestDeserialize(&request, request.GetServiceRequestName(), Aws::Http::HttpMethod::HTTP_PUT, [&](Aws::Endpoint::AWSEndpoint& resolvedEndpoint) -> void { + resolvedEndpoint.AddPathSegments("/HttpResponseCode"); + })); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +HttpStringPayloadOutcome RestJsonProtocolClient::HttpStringPayload(const HttpStringPayloadRequest& request) const +{ + AWS_OPERATION_GUARD(HttpStringPayload); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, HttpStringPayload, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_clientConfiguration.telemetryProvider, HttpStringPayload, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_clientConfiguration.telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_clientConfiguration.telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, HttpStringPayload, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".HttpStringPayload", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> HttpStringPayloadOutcome { + return HttpStringPayloadOutcome(MakeRequestDeserialize(&request, request.GetServiceRequestName(), Aws::Http::HttpMethod::HTTP_POST, [&](Aws::Endpoint::AWSEndpoint& resolvedEndpoint) -> void { + resolvedEndpoint.AddPathSegments("/StringPayload"); + })); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +IgnoreQueryParamsInResponseOutcome RestJsonProtocolClient::IgnoreQueryParamsInResponse(const IgnoreQueryParamsInResponseRequest& request) const +{ + AWS_OPERATION_GUARD(IgnoreQueryParamsInResponse); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, IgnoreQueryParamsInResponse, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_clientConfiguration.telemetryProvider, IgnoreQueryParamsInResponse, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_clientConfiguration.telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_clientConfiguration.telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, IgnoreQueryParamsInResponse, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".IgnoreQueryParamsInResponse", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> IgnoreQueryParamsInResponseOutcome { + return IgnoreQueryParamsInResponseOutcome(MakeRequestDeserialize(&request, request.GetServiceRequestName(), Aws::Http::HttpMethod::HTTP_GET, [&](Aws::Endpoint::AWSEndpoint& resolvedEndpoint) -> void { + resolvedEndpoint.AddPathSegments("/IgnoreQueryParamsInResponse"); + })); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +InputAndOutputWithHeadersOutcome RestJsonProtocolClient::InputAndOutputWithHeaders(const InputAndOutputWithHeadersRequest& request) const +{ + AWS_OPERATION_GUARD(InputAndOutputWithHeaders); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, InputAndOutputWithHeaders, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_clientConfiguration.telemetryProvider, InputAndOutputWithHeaders, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_clientConfiguration.telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_clientConfiguration.telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, InputAndOutputWithHeaders, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".InputAndOutputWithHeaders", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> InputAndOutputWithHeadersOutcome { + return InputAndOutputWithHeadersOutcome(MakeRequestDeserialize(&request, request.GetServiceRequestName(), Aws::Http::HttpMethod::HTTP_POST, [&](Aws::Endpoint::AWSEndpoint& resolvedEndpoint) -> void { + resolvedEndpoint.AddPathSegments("/InputAndOutputWithHeaders"); + })); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +JsonBlobsOutcome RestJsonProtocolClient::JsonBlobs(const JsonBlobsRequest& request) const +{ + AWS_OPERATION_GUARD(JsonBlobs); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, JsonBlobs, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_clientConfiguration.telemetryProvider, JsonBlobs, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_clientConfiguration.telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_clientConfiguration.telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, JsonBlobs, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".JsonBlobs", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> JsonBlobsOutcome { + return JsonBlobsOutcome(MakeRequestDeserialize(&request, request.GetServiceRequestName(), Aws::Http::HttpMethod::HTTP_POST, [&](Aws::Endpoint::AWSEndpoint& resolvedEndpoint) -> void { + resolvedEndpoint.AddPathSegments("/JsonBlobs"); + })); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +JsonEnumsOutcome RestJsonProtocolClient::JsonEnums(const JsonEnumsRequest& request) const +{ + AWS_OPERATION_GUARD(JsonEnums); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, JsonEnums, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_clientConfiguration.telemetryProvider, JsonEnums, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_clientConfiguration.telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_clientConfiguration.telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, JsonEnums, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".JsonEnums", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> JsonEnumsOutcome { + return JsonEnumsOutcome(MakeRequestDeserialize(&request, request.GetServiceRequestName(), Aws::Http::HttpMethod::HTTP_PUT, [&](Aws::Endpoint::AWSEndpoint& resolvedEndpoint) -> void { + resolvedEndpoint.AddPathSegments("/JsonEnums"); + })); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +JsonIntEnumsOutcome RestJsonProtocolClient::JsonIntEnums(const JsonIntEnumsRequest& request) const +{ + AWS_OPERATION_GUARD(JsonIntEnums); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, JsonIntEnums, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_clientConfiguration.telemetryProvider, JsonIntEnums, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_clientConfiguration.telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_clientConfiguration.telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, JsonIntEnums, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".JsonIntEnums", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> JsonIntEnumsOutcome { + return JsonIntEnumsOutcome(MakeRequestDeserialize(&request, request.GetServiceRequestName(), Aws::Http::HttpMethod::HTTP_PUT, [&](Aws::Endpoint::AWSEndpoint& resolvedEndpoint) -> void { + resolvedEndpoint.AddPathSegments("/JsonIntEnums"); + })); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +JsonListsOutcome RestJsonProtocolClient::JsonLists(const JsonListsRequest& request) const +{ + AWS_OPERATION_GUARD(JsonLists); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, JsonLists, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_clientConfiguration.telemetryProvider, JsonLists, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_clientConfiguration.telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_clientConfiguration.telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, JsonLists, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".JsonLists", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> JsonListsOutcome { + return JsonListsOutcome(MakeRequestDeserialize(&request, request.GetServiceRequestName(), Aws::Http::HttpMethod::HTTP_PUT, [&](Aws::Endpoint::AWSEndpoint& resolvedEndpoint) -> void { + resolvedEndpoint.AddPathSegments("/JsonLists"); + })); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +JsonMapsOutcome RestJsonProtocolClient::JsonMaps(const JsonMapsRequest& request) const +{ + AWS_OPERATION_GUARD(JsonMaps); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, JsonMaps, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_clientConfiguration.telemetryProvider, JsonMaps, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_clientConfiguration.telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_clientConfiguration.telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, JsonMaps, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".JsonMaps", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> JsonMapsOutcome { + return JsonMapsOutcome(MakeRequestDeserialize(&request, request.GetServiceRequestName(), Aws::Http::HttpMethod::HTTP_POST, [&](Aws::Endpoint::AWSEndpoint& resolvedEndpoint) -> void { + resolvedEndpoint.AddPathSegments("/JsonMaps"); + })); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +JsonTimestampsOutcome RestJsonProtocolClient::JsonTimestamps(const JsonTimestampsRequest& request) const +{ + AWS_OPERATION_GUARD(JsonTimestamps); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, JsonTimestamps, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_clientConfiguration.telemetryProvider, JsonTimestamps, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_clientConfiguration.telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_clientConfiguration.telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, JsonTimestamps, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".JsonTimestamps", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> JsonTimestampsOutcome { + return JsonTimestampsOutcome(MakeRequestDeserialize(&request, request.GetServiceRequestName(), Aws::Http::HttpMethod::HTTP_POST, [&](Aws::Endpoint::AWSEndpoint& resolvedEndpoint) -> void { + resolvedEndpoint.AddPathSegments("/JsonTimestamps"); + })); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +JsonUnionsOutcome RestJsonProtocolClient::JsonUnions(const JsonUnionsRequest& request) const +{ + AWS_OPERATION_GUARD(JsonUnions); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, JsonUnions, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_clientConfiguration.telemetryProvider, JsonUnions, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_clientConfiguration.telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_clientConfiguration.telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, JsonUnions, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".JsonUnions", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> JsonUnionsOutcome { + return JsonUnionsOutcome(MakeRequestDeserialize(&request, request.GetServiceRequestName(), Aws::Http::HttpMethod::HTTP_PUT, [&](Aws::Endpoint::AWSEndpoint& resolvedEndpoint) -> void { + resolvedEndpoint.AddPathSegments("/JsonUnions"); + })); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +MediaTypeHeaderOutcome RestJsonProtocolClient::MediaTypeHeader(const MediaTypeHeaderRequest& request) const +{ + AWS_OPERATION_GUARD(MediaTypeHeader); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, MediaTypeHeader, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_clientConfiguration.telemetryProvider, MediaTypeHeader, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_clientConfiguration.telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_clientConfiguration.telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, MediaTypeHeader, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".MediaTypeHeader", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> MediaTypeHeaderOutcome { + return MediaTypeHeaderOutcome(MakeRequestDeserialize(&request, request.GetServiceRequestName(), Aws::Http::HttpMethod::HTTP_GET, [&](Aws::Endpoint::AWSEndpoint& resolvedEndpoint) -> void { + resolvedEndpoint.AddPathSegments("/MediaTypeHeader"); + })); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +NoInputAndNoOutputOutcome RestJsonProtocolClient::NoInputAndNoOutput(const NoInputAndNoOutputRequest& request) const +{ + AWS_OPERATION_GUARD(NoInputAndNoOutput); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, NoInputAndNoOutput, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_clientConfiguration.telemetryProvider, NoInputAndNoOutput, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_clientConfiguration.telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_clientConfiguration.telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, NoInputAndNoOutput, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".NoInputAndNoOutput", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> NoInputAndNoOutputOutcome { + return NoInputAndNoOutputOutcome(MakeRequestDeserialize(&request, request.GetServiceRequestName(), Aws::Http::HttpMethod::HTTP_POST, [&](Aws::Endpoint::AWSEndpoint& resolvedEndpoint) -> void { + resolvedEndpoint.AddPathSegments("/NoInputAndNoOutput"); + })); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +NoInputAndOutputOutcome RestJsonProtocolClient::NoInputAndOutput(const NoInputAndOutputRequest& request) const +{ + AWS_OPERATION_GUARD(NoInputAndOutput); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, NoInputAndOutput, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_clientConfiguration.telemetryProvider, NoInputAndOutput, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_clientConfiguration.telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_clientConfiguration.telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, NoInputAndOutput, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".NoInputAndOutput", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> NoInputAndOutputOutcome { + return NoInputAndOutputOutcome(MakeRequestDeserialize(&request, request.GetServiceRequestName(), Aws::Http::HttpMethod::HTTP_POST, [&](Aws::Endpoint::AWSEndpoint& resolvedEndpoint) -> void { + resolvedEndpoint.AddPathSegments("/NoInputAndOutputOutput"); + })); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +NullAndEmptyHeadersClientOutcome RestJsonProtocolClient::NullAndEmptyHeadersClient(const NullAndEmptyHeadersClientRequest& request) const +{ + AWS_OPERATION_GUARD(NullAndEmptyHeadersClient); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, NullAndEmptyHeadersClient, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_clientConfiguration.telemetryProvider, NullAndEmptyHeadersClient, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_clientConfiguration.telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_clientConfiguration.telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, NullAndEmptyHeadersClient, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".NullAndEmptyHeadersClient", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> NullAndEmptyHeadersClientOutcome { + return NullAndEmptyHeadersClientOutcome(MakeRequestDeserialize(&request, request.GetServiceRequestName(), Aws::Http::HttpMethod::HTTP_GET, [&](Aws::Endpoint::AWSEndpoint& resolvedEndpoint) -> void { + resolvedEndpoint.AddPathSegments("/NullAndEmptyHeadersClient"); + })); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +NullAndEmptyHeadersServerOutcome RestJsonProtocolClient::NullAndEmptyHeadersServer(const NullAndEmptyHeadersServerRequest& request) const +{ + AWS_OPERATION_GUARD(NullAndEmptyHeadersServer); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, NullAndEmptyHeadersServer, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_clientConfiguration.telemetryProvider, NullAndEmptyHeadersServer, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_clientConfiguration.telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_clientConfiguration.telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, NullAndEmptyHeadersServer, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".NullAndEmptyHeadersServer", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> NullAndEmptyHeadersServerOutcome { + return NullAndEmptyHeadersServerOutcome(MakeRequestDeserialize(&request, request.GetServiceRequestName(), Aws::Http::HttpMethod::HTTP_GET, [&](Aws::Endpoint::AWSEndpoint& resolvedEndpoint) -> void { + resolvedEndpoint.AddPathSegments("/NullAndEmptyHeadersServer"); + })); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +OmitsNullSerializesEmptyStringOutcome RestJsonProtocolClient::OmitsNullSerializesEmptyString(const OmitsNullSerializesEmptyStringRequest& request) const +{ + AWS_OPERATION_GUARD(OmitsNullSerializesEmptyString); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, OmitsNullSerializesEmptyString, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_clientConfiguration.telemetryProvider, OmitsNullSerializesEmptyString, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_clientConfiguration.telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_clientConfiguration.telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, OmitsNullSerializesEmptyString, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".OmitsNullSerializesEmptyString", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> OmitsNullSerializesEmptyStringOutcome { + return OmitsNullSerializesEmptyStringOutcome(MakeRequestDeserialize(&request, request.GetServiceRequestName(), Aws::Http::HttpMethod::HTTP_GET, [&](Aws::Endpoint::AWSEndpoint& resolvedEndpoint) -> void { + resolvedEndpoint.AddPathSegments("/OmitsNullSerializesEmptyString"); + })); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +OmitsSerializingEmptyListsOutcome RestJsonProtocolClient::OmitsSerializingEmptyLists(const OmitsSerializingEmptyListsRequest& request) const +{ + AWS_OPERATION_GUARD(OmitsSerializingEmptyLists); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, OmitsSerializingEmptyLists, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_clientConfiguration.telemetryProvider, OmitsSerializingEmptyLists, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_clientConfiguration.telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_clientConfiguration.telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, OmitsSerializingEmptyLists, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".OmitsSerializingEmptyLists", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> OmitsSerializingEmptyListsOutcome { + return OmitsSerializingEmptyListsOutcome(MakeRequestDeserialize(&request, request.GetServiceRequestName(), Aws::Http::HttpMethod::HTTP_POST, [&](Aws::Endpoint::AWSEndpoint& resolvedEndpoint) -> void { + resolvedEndpoint.AddPathSegments("/OmitsSerializingEmptyLists"); + })); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +PostUnionWithJsonNameOutcome RestJsonProtocolClient::PostUnionWithJsonName(const PostUnionWithJsonNameRequest& request) const +{ + AWS_OPERATION_GUARD(PostUnionWithJsonName); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, PostUnionWithJsonName, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_clientConfiguration.telemetryProvider, PostUnionWithJsonName, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_clientConfiguration.telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_clientConfiguration.telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, PostUnionWithJsonName, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".PostUnionWithJsonName", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> PostUnionWithJsonNameOutcome { + return PostUnionWithJsonNameOutcome(MakeRequestDeserialize(&request, request.GetServiceRequestName(), Aws::Http::HttpMethod::HTTP_POST, [&](Aws::Endpoint::AWSEndpoint& resolvedEndpoint) -> void { + resolvedEndpoint.AddPathSegments("/PostUnionWithJsonName"); + })); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +PutWithContentEncodingOutcome RestJsonProtocolClient::PutWithContentEncoding(const PutWithContentEncodingRequest& request) const +{ + AWS_OPERATION_GUARD(PutWithContentEncoding); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, PutWithContentEncoding, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_clientConfiguration.telemetryProvider, PutWithContentEncoding, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_clientConfiguration.telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_clientConfiguration.telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, PutWithContentEncoding, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".PutWithContentEncoding", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> PutWithContentEncodingOutcome { + return PutWithContentEncodingOutcome(MakeRequestDeserialize(&request, request.GetServiceRequestName(), Aws::Http::HttpMethod::HTTP_POST, [&](Aws::Endpoint::AWSEndpoint& resolvedEndpoint) -> void { + resolvedEndpoint.AddPathSegments("/requestcompression/putcontentwithencoding"); + })); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +QueryIdempotencyTokenAutoFillOutcome RestJsonProtocolClient::QueryIdempotencyTokenAutoFill(const QueryIdempotencyTokenAutoFillRequest& request) const +{ + AWS_OPERATION_GUARD(QueryIdempotencyTokenAutoFill); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, QueryIdempotencyTokenAutoFill, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_clientConfiguration.telemetryProvider, QueryIdempotencyTokenAutoFill, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_clientConfiguration.telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_clientConfiguration.telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, QueryIdempotencyTokenAutoFill, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".QueryIdempotencyTokenAutoFill", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> QueryIdempotencyTokenAutoFillOutcome { + return QueryIdempotencyTokenAutoFillOutcome(MakeRequestDeserialize(&request, request.GetServiceRequestName(), Aws::Http::HttpMethod::HTTP_POST, [&](Aws::Endpoint::AWSEndpoint& resolvedEndpoint) -> void { + resolvedEndpoint.AddPathSegments("/QueryIdempotencyTokenAutoFill"); + })); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +QueryParamsAsStringListMapOutcome RestJsonProtocolClient::QueryParamsAsStringListMap(const QueryParamsAsStringListMapRequest& request) const +{ + AWS_OPERATION_GUARD(QueryParamsAsStringListMap); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, QueryParamsAsStringListMap, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_clientConfiguration.telemetryProvider, QueryParamsAsStringListMap, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_clientConfiguration.telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_clientConfiguration.telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, QueryParamsAsStringListMap, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".QueryParamsAsStringListMap", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> QueryParamsAsStringListMapOutcome { + return QueryParamsAsStringListMapOutcome(MakeRequestDeserialize(&request, request.GetServiceRequestName(), Aws::Http::HttpMethod::HTTP_POST, [&](Aws::Endpoint::AWSEndpoint& resolvedEndpoint) -> void { + resolvedEndpoint.AddPathSegments("/StringListMap"); + })); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +QueryPrecedenceOutcome RestJsonProtocolClient::QueryPrecedence(const QueryPrecedenceRequest& request) const +{ + AWS_OPERATION_GUARD(QueryPrecedence); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, QueryPrecedence, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_clientConfiguration.telemetryProvider, QueryPrecedence, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_clientConfiguration.telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_clientConfiguration.telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, QueryPrecedence, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".QueryPrecedence", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> QueryPrecedenceOutcome { + return QueryPrecedenceOutcome(MakeRequestDeserialize(&request, request.GetServiceRequestName(), Aws::Http::HttpMethod::HTTP_POST, [&](Aws::Endpoint::AWSEndpoint& resolvedEndpoint) -> void { + resolvedEndpoint.AddPathSegments("/Precedence"); + })); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +RecursiveShapesOutcome RestJsonProtocolClient::RecursiveShapes(const RecursiveShapesRequest& request) const +{ + AWS_OPERATION_GUARD(RecursiveShapes); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, RecursiveShapes, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_clientConfiguration.telemetryProvider, RecursiveShapes, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_clientConfiguration.telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_clientConfiguration.telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, RecursiveShapes, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".RecursiveShapes", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> RecursiveShapesOutcome { + return RecursiveShapesOutcome(MakeRequestDeserialize(&request, request.GetServiceRequestName(), Aws::Http::HttpMethod::HTTP_PUT, [&](Aws::Endpoint::AWSEndpoint& resolvedEndpoint) -> void { + resolvedEndpoint.AddPathSegments("/RecursiveShapes"); + })); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +ResponseCodeHttpFallbackOutcome RestJsonProtocolClient::ResponseCodeHttpFallback(const ResponseCodeHttpFallbackRequest& request) const +{ + AWS_OPERATION_GUARD(ResponseCodeHttpFallback); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, ResponseCodeHttpFallback, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_clientConfiguration.telemetryProvider, ResponseCodeHttpFallback, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_clientConfiguration.telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_clientConfiguration.telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, ResponseCodeHttpFallback, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".ResponseCodeHttpFallback", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> ResponseCodeHttpFallbackOutcome { + return ResponseCodeHttpFallbackOutcome(MakeRequestDeserialize(&request, request.GetServiceRequestName(), Aws::Http::HttpMethod::HTTP_GET, [&](Aws::Endpoint::AWSEndpoint& resolvedEndpoint) -> void { + resolvedEndpoint.AddPathSegments("/responseCodeHttpFallback"); + })); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +ResponseCodeRequiredOutcome RestJsonProtocolClient::ResponseCodeRequired(const ResponseCodeRequiredRequest& request) const +{ + AWS_OPERATION_GUARD(ResponseCodeRequired); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, ResponseCodeRequired, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_clientConfiguration.telemetryProvider, ResponseCodeRequired, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_clientConfiguration.telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_clientConfiguration.telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, ResponseCodeRequired, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".ResponseCodeRequired", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> ResponseCodeRequiredOutcome { + return ResponseCodeRequiredOutcome(MakeRequestDeserialize(&request, request.GetServiceRequestName(), Aws::Http::HttpMethod::HTTP_GET, [&](Aws::Endpoint::AWSEndpoint& resolvedEndpoint) -> void { + resolvedEndpoint.AddPathSegments("/responseCodeRequired"); + })); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +SimpleScalarPropertiesOutcome RestJsonProtocolClient::SimpleScalarProperties(const SimpleScalarPropertiesRequest& request) const +{ + AWS_OPERATION_GUARD(SimpleScalarProperties); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, SimpleScalarProperties, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_clientConfiguration.telemetryProvider, SimpleScalarProperties, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_clientConfiguration.telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_clientConfiguration.telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, SimpleScalarProperties, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".SimpleScalarProperties", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> SimpleScalarPropertiesOutcome { + return SimpleScalarPropertiesOutcome(MakeRequestDeserialize(&request, request.GetServiceRequestName(), Aws::Http::HttpMethod::HTTP_PUT, [&](Aws::Endpoint::AWSEndpoint& resolvedEndpoint) -> void { + resolvedEndpoint.AddPathSegments("/SimpleScalarProperties"); + })); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +TestBodyStructureOutcome RestJsonProtocolClient::TestBodyStructure(const TestBodyStructureRequest& request) const +{ + AWS_OPERATION_GUARD(TestBodyStructure); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, TestBodyStructure, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_clientConfiguration.telemetryProvider, TestBodyStructure, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_clientConfiguration.telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_clientConfiguration.telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, TestBodyStructure, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".TestBodyStructure", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> TestBodyStructureOutcome { + return TestBodyStructureOutcome(MakeRequestDeserialize(&request, request.GetServiceRequestName(), Aws::Http::HttpMethod::HTTP_POST, [&](Aws::Endpoint::AWSEndpoint& resolvedEndpoint) -> void { + resolvedEndpoint.AddPathSegments("/body"); + })); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +TestGetNoInputNoPayloadOutcome RestJsonProtocolClient::TestGetNoInputNoPayload(const TestGetNoInputNoPayloadRequest& request) const +{ + AWS_OPERATION_GUARD(TestGetNoInputNoPayload); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, TestGetNoInputNoPayload, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_clientConfiguration.telemetryProvider, TestGetNoInputNoPayload, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_clientConfiguration.telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_clientConfiguration.telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, TestGetNoInputNoPayload, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".TestGetNoInputNoPayload", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> TestGetNoInputNoPayloadOutcome { + return TestGetNoInputNoPayloadOutcome(MakeRequestDeserialize(&request, request.GetServiceRequestName(), Aws::Http::HttpMethod::HTTP_GET, [&](Aws::Endpoint::AWSEndpoint& resolvedEndpoint) -> void { + resolvedEndpoint.AddPathSegments("/no_input_no_payload"); + })); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +TestGetNoPayloadOutcome RestJsonProtocolClient::TestGetNoPayload(const TestGetNoPayloadRequest& request) const +{ + AWS_OPERATION_GUARD(TestGetNoPayload); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, TestGetNoPayload, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_clientConfiguration.telemetryProvider, TestGetNoPayload, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_clientConfiguration.telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_clientConfiguration.telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, TestGetNoPayload, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".TestGetNoPayload", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> TestGetNoPayloadOutcome { + return TestGetNoPayloadOutcome(MakeRequestDeserialize(&request, request.GetServiceRequestName(), Aws::Http::HttpMethod::HTTP_GET, [&](Aws::Endpoint::AWSEndpoint& resolvedEndpoint) -> void { + resolvedEndpoint.AddPathSegments("/no_payload"); + })); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +TestPayloadBlobOutcome RestJsonProtocolClient::TestPayloadBlob(const TestPayloadBlobRequest& request) const +{ + AWS_OPERATION_GUARD(TestPayloadBlob); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, TestPayloadBlob, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_clientConfiguration.telemetryProvider, TestPayloadBlob, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_clientConfiguration.telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_clientConfiguration.telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, TestPayloadBlob, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".TestPayloadBlob", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> TestPayloadBlobOutcome { + return TestPayloadBlobOutcome(MakeRequestDeserialize(&request, request.GetServiceRequestName(), Aws::Http::HttpMethod::HTTP_POST, [&](Aws::Endpoint::AWSEndpoint& resolvedEndpoint) -> void { + resolvedEndpoint.AddPathSegments("/blob_payload"); + })); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +TestPayloadStructureOutcome RestJsonProtocolClient::TestPayloadStructure(const TestPayloadStructureRequest& request) const +{ + AWS_OPERATION_GUARD(TestPayloadStructure); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, TestPayloadStructure, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_clientConfiguration.telemetryProvider, TestPayloadStructure, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_clientConfiguration.telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_clientConfiguration.telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, TestPayloadStructure, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".TestPayloadStructure", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> TestPayloadStructureOutcome { + return TestPayloadStructureOutcome(MakeRequestDeserialize(&request, request.GetServiceRequestName(), Aws::Http::HttpMethod::HTTP_POST, [&](Aws::Endpoint::AWSEndpoint& resolvedEndpoint) -> void { + resolvedEndpoint.AddPathSegments("/payload"); + })); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +TestPostNoInputNoPayloadOutcome RestJsonProtocolClient::TestPostNoInputNoPayload(const TestPostNoInputNoPayloadRequest& request) const +{ + AWS_OPERATION_GUARD(TestPostNoInputNoPayload); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, TestPostNoInputNoPayload, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_clientConfiguration.telemetryProvider, TestPostNoInputNoPayload, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_clientConfiguration.telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_clientConfiguration.telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, TestPostNoInputNoPayload, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".TestPostNoInputNoPayload", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> TestPostNoInputNoPayloadOutcome { + return TestPostNoInputNoPayloadOutcome(MakeRequestDeserialize(&request, request.GetServiceRequestName(), Aws::Http::HttpMethod::HTTP_POST, [&](Aws::Endpoint::AWSEndpoint& resolvedEndpoint) -> void { + resolvedEndpoint.AddPathSegments("/no_input_no_payload"); + })); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +TestPostNoPayloadOutcome RestJsonProtocolClient::TestPostNoPayload(const TestPostNoPayloadRequest& request) const +{ + AWS_OPERATION_GUARD(TestPostNoPayload); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, TestPostNoPayload, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_clientConfiguration.telemetryProvider, TestPostNoPayload, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_clientConfiguration.telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_clientConfiguration.telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, TestPostNoPayload, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".TestPostNoPayload", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> TestPostNoPayloadOutcome { + return TestPostNoPayloadOutcome(MakeRequestDeserialize(&request, request.GetServiceRequestName(), Aws::Http::HttpMethod::HTTP_POST, [&](Aws::Endpoint::AWSEndpoint& resolvedEndpoint) -> void { + resolvedEndpoint.AddPathSegments("/no_payload"); + })); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +TimestampFormatHeadersOutcome RestJsonProtocolClient::TimestampFormatHeaders(const TimestampFormatHeadersRequest& request) const +{ + AWS_OPERATION_GUARD(TimestampFormatHeaders); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, TimestampFormatHeaders, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_clientConfiguration.telemetryProvider, TimestampFormatHeaders, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_clientConfiguration.telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_clientConfiguration.telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, TimestampFormatHeaders, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".TimestampFormatHeaders", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> TimestampFormatHeadersOutcome { + return TimestampFormatHeadersOutcome(MakeRequestDeserialize(&request, request.GetServiceRequestName(), Aws::Http::HttpMethod::HTTP_POST, [&](Aws::Endpoint::AWSEndpoint& resolvedEndpoint) -> void { + resolvedEndpoint.AddPathSegments("/TimestampFormatHeaders"); + })); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +UnitInputAndOutputOutcome RestJsonProtocolClient::UnitInputAndOutput(const UnitInputAndOutputRequest& request) const +{ + AWS_OPERATION_GUARD(UnitInputAndOutput); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, UnitInputAndOutput, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_clientConfiguration.telemetryProvider, UnitInputAndOutput, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_clientConfiguration.telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_clientConfiguration.telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, UnitInputAndOutput, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".UnitInputAndOutput", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> UnitInputAndOutputOutcome { + return UnitInputAndOutputOutcome(MakeRequestDeserialize(&request, request.GetServiceRequestName(), Aws::Http::HttpMethod::HTTP_POST, [&](Aws::Endpoint::AWSEndpoint& resolvedEndpoint) -> void { + resolvedEndpoint.AddPathSegments("/UnitInputAndOutput"); + })); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + + diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/RestJsonProtocolEndpointProvider.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/RestJsonProtocolEndpointProvider.cpp new file mode 100644 index 00000000000..988f8428acf --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/RestJsonProtocolEndpointProvider.cpp @@ -0,0 +1,16 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws +{ +namespace RestJsonProtocol +{ +namespace Endpoint +{ +} // namespace Endpoint +} // namespace RestJsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/RestJsonProtocolEndpointRules.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/RestJsonProtocolEndpointRules.cpp new file mode 100644 index 00000000000..8e854176a70 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/RestJsonProtocolEndpointRules.cpp @@ -0,0 +1,70 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +namespace Aws +{ +namespace RestJsonProtocol +{ +const size_t RestJsonProtocolEndpointRules::RulesBlobStrLen = 1086; +const size_t RestJsonProtocolEndpointRules::RulesBlobSize = 1087; + +using RulesBlobT = Aws::Array; +static constexpr RulesBlobT RulesBlob = {{ +'{','"','v','e','r','s','i','o','n','"',':','"','1','.','3','"',',','"','p','a','r','a','m','e','t', +'e','r','s','"',':','{','"','R','e','g','i','o','n','"',':','{','"','b','u','i','l','t','I','n','"', +':','"','A','W','S',':',':','R','e','g','i','o','n','"',',','"','r','e','q','u','i','r','e','d','"', +':','t','r','u','e',',','"','d','o','c','u','m','e','n','t','a','t','i','o','n','"',':','"','T','h', +'e',' ','A','W','S',' ','r','e','g','i','o','n',' ','u','s','e','d',' ','t','o',' ','d','i','s','p', +'a','t','c','h',' ','t','h','e',' ','r','e','q','u','e','s','t','.','"',',','"','t','y','p','e','"', +':','"','S','t','r','i','n','g','"','}',',','"','U','s','e','D','u','a','l','S','t','a','c','k','"', +':','{','"','b','u','i','l','t','I','n','"',':','"','A','W','S',':',':','U','s','e','D','u','a','l', +'S','t','a','c','k','"',',','"','r','e','q','u','i','r','e','d','"',':','t','r','u','e',',','"','d', +'e','f','a','u','l','t','"',':','f','a','l','s','e',',','"','d','o','c','u','m','e','n','t','a','t', +'i','o','n','"',':','"','W','h','e','n',' ','t','r','u','e',',',' ','u','s','e',' ','t','h','e',' ', +'d','u','a','l','-','s','t','a','c','k',' ','e','n','d','p','o','i','n','t','.',' ','I','f',' ','t', +'h','e',' ','c','o','n','f','i','g','u','r','e','d',' ','e','n','d','p','o','i','n','t',' ','d','o', +'e','s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ','d','u','a','l','-','s','t','a','c','k', +',',' ','d','i','s','p','a','t','c','h','i','n','g',' ','t','h','e',' ','r','e','q','u','e','s','t', +' ','M','A','Y',' ','r','e','t','u','r','n',' ','a','n',' ','e','r','r','o','r','.','"',',','"','t', +'y','p','e','"',':','"','B','o','o','l','e','a','n','"','}',',','"','U','s','e','F','I','P','S','"', +':','{','"','b','u','i','l','t','I','n','"',':','"','A','W','S',':',':','U','s','e','F','I','P','S', +'"',',','"','r','e','q','u','i','r','e','d','"',':','t','r','u','e',',','"','d','e','f','a','u','l', +'t','"',':','f','a','l','s','e',',','"','d','o','c','u','m','e','n','t','a','t','i','o','n','"',':', +'"','W','h','e','n',' ','t','r','u','e',',',' ','s','e','n','d',' ','t','h','i','s',' ','r','e','q', +'u','e','s','t',' ','t','o',' ','t','h','e',' ','F','I','P','S','-','c','o','m','p','l','i','a','n', +'t',' ','r','e','g','i','o','n','a','l',' ','e','n','d','p','o','i','n','t','.',' ','I','f',' ','t', +'h','e',' ','c','o','n','f','i','g','u','r','e','d',' ','e','n','d','p','o','i','n','t',' ','d','o', +'e','s',' ','n','o','t',' ','h','a','v','e',' ','a',' ','F','I','P','S',' ','c','o','m','p','l','i', +'a','n','t',' ','e','n','d','p','o','i','n','t',',',' ','d','i','s','p','a','t','c','h','i','n','g', +' ','t','h','e',' ','r','e','q','u','e','s','t',' ','w','i','l','l',' ','r','e','t','u','r','n',' ', +'a','n',' ','e','r','r','o','r','.','"',',','"','t','y','p','e','"',':','"','B','o','o','l','e','a', +'n','"','}',',','"','E','n','d','p','o','i','n','t','"',':','{','"','b','u','i','l','t','I','n','"', +':','"','S','D','K',':',':','E','n','d','p','o','i','n','t','"',',','"','r','e','q','u','i','r','e', +'d','"',':','f','a','l','s','e',',','"','d','o','c','u','m','e','n','t','a','t','i','o','n','"',':', +'"','O','v','e','r','r','i','d','e',' ','t','h','e',' ','e','n','d','p','o','i','n','t',' ','u','s', +'e','d',' ','t','o',' ','s','e','n','d',' ','t','h','i','s',' ','r','e','q','u','e','s','t','"',',', +'"','t','y','p','e','"',':','"','S','t','r','i','n','g','"','}','}',',','"','r','u','l','e','s','"', +':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','t','y','p','e','"', +':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t', +'i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l', +'"',':','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',',','"','p','r','o', +'p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[', +'{','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','R', +'e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"',',','"','s','i','g','n','i','n', +'g','N','a','m','e','"',':','"','t','e','s','t','-','s','e','r','v','i','c','e','"','}',']','}',',', +'"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d', +'p','o','i','n','t','"','}',']','}',']','}','\0' +}}; + +const char* RestJsonProtocolEndpointRules::GetRulesBlob() +{ + return RulesBlob.data(); +} + +} // namespace RestJsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/RestJsonProtocolErrorMarshaller.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/RestJsonProtocolErrorMarshaller.cpp new file mode 100644 index 00000000000..67d205d5a96 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/RestJsonProtocolErrorMarshaller.cpp @@ -0,0 +1,22 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include + +using namespace Aws::Client; +using namespace Aws::RestJsonProtocol; + +AWSError RestJsonProtocolErrorMarshaller::FindErrorByName(const char* errorName) const +{ + AWSError error = RestJsonProtocolErrorMapper::GetErrorForName(errorName); + if(error.GetErrorType() != CoreErrors::UNKNOWN) + { + return error; + } + + return AWSErrorMarshaller::FindErrorByName(errorName); +} \ No newline at end of file diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/RestJsonProtocolErrors.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/RestJsonProtocolErrors.cpp new file mode 100644 index 00000000000..3505d1a6a98 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/RestJsonProtocolErrors.cpp @@ -0,0 +1,55 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Client; +using namespace Aws::Utils; +using namespace Aws::RestJsonProtocol; +using namespace Aws::RestJsonProtocol::Model; + +namespace Aws +{ +namespace RestJsonProtocol +{ +template<> AWS_RESTJSONPROTOCOL_API ComplexError RestJsonProtocolError::GetModeledError() +{ + assert(this->GetErrorType() == RestJsonProtocolErrors::COMPLEX); + return ComplexError(this->GetJsonPayload().View()); +} + +namespace RestJsonProtocolErrorMapper +{ + +static const int INVALID_GREETING_HASH = HashingUtils::HashString("InvalidGreeting"); +static const int COMPLEX_HASH = HashingUtils::HashString("ComplexError"); +static const int FOO_HASH = HashingUtils::HashString("FooError"); + + +AWSError GetErrorForName(const char* errorName) +{ + int hashCode = HashingUtils::HashString(errorName); + + if (hashCode == INVALID_GREETING_HASH) + { + return AWSError(static_cast(RestJsonProtocolErrors::INVALID_GREETING), RetryableType::NOT_RETRYABLE); + } + else if (hashCode == COMPLEX_HASH) + { + return AWSError(static_cast(RestJsonProtocolErrors::COMPLEX), RetryableType::NOT_RETRYABLE); + } + else if (hashCode == FOO_HASH) + { + return AWSError(static_cast(RestJsonProtocolErrors::FOO), RetryableType::NOT_RETRYABLE); + } + return AWSError(CoreErrors::UNKNOWN, false); +} + +} // namespace RestJsonProtocolErrorMapper +} // namespace RestJsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/RestJsonProtocolRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/RestJsonProtocolRequest.cpp new file mode 100644 index 00000000000..1a27a565ee5 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/RestJsonProtocolRequest.cpp @@ -0,0 +1,14 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + + +#include + +namespace Aws +{ +namespace RestJsonProtocol +{ +} // namespace RestJsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/AllQueryStringTypesRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/AllQueryStringTypesRequest.cpp new file mode 100644 index 00000000000..a287d53ce74 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/AllQueryStringTypesRequest.cpp @@ -0,0 +1,243 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::RestJsonProtocol::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws::Http; + +AllQueryStringTypesRequest::AllQueryStringTypesRequest() : + m_queryStringHasBeenSet(false), + m_queryStringListHasBeenSet(false), + m_queryStringSetHasBeenSet(false), + m_queryByte(0), + m_queryByteHasBeenSet(false), + m_queryShort(0), + m_queryShortHasBeenSet(false), + m_queryInteger(0), + m_queryIntegerHasBeenSet(false), + m_queryIntegerListHasBeenSet(false), + m_queryIntegerSetHasBeenSet(false), + m_queryLong(0), + m_queryLongHasBeenSet(false), + m_queryFloat(0.0), + m_queryFloatHasBeenSet(false), + m_queryDouble(0.0), + m_queryDoubleHasBeenSet(false), + m_queryDoubleListHasBeenSet(false), + m_queryBoolean(false), + m_queryBooleanHasBeenSet(false), + m_queryBooleanListHasBeenSet(false), + m_queryTimestampHasBeenSet(false), + m_queryTimestampListHasBeenSet(false), + m_queryEnum(FooEnum::NOT_SET), + m_queryEnumHasBeenSet(false), + m_queryEnumListHasBeenSet(false), + m_queryIntegerEnum(0), + m_queryIntegerEnumHasBeenSet(false), + m_queryIntegerEnumListHasBeenSet(false), + m_queryParamsMapOfStringListHasBeenSet(false) +{ +} + +Aws::String AllQueryStringTypesRequest::SerializePayload() const +{ + return {}; +} + +void AllQueryStringTypesRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(m_queryStringHasBeenSet) + { + ss << m_queryString; + uri.AddQueryStringParameter("String", ss.str()); + ss.str(""); + } + + if(m_queryStringListHasBeenSet) + { + for(const auto& item : m_queryStringList) + { + ss << item; + uri.AddQueryStringParameter("StringList", ss.str()); + ss.str(""); + } + } + + if(m_queryStringSetHasBeenSet) + { + for(const auto& item : m_queryStringSet) + { + ss << item; + uri.AddQueryStringParameter("StringSet", ss.str()); + ss.str(""); + } + } + + if(m_queryByteHasBeenSet) + { + ss << m_queryByte; + uri.AddQueryStringParameter("Byte", ss.str()); + ss.str(""); + } + + if(m_queryShortHasBeenSet) + { + ss << m_queryShort; + uri.AddQueryStringParameter("Short", ss.str()); + ss.str(""); + } + + if(m_queryIntegerHasBeenSet) + { + ss << m_queryInteger; + uri.AddQueryStringParameter("Integer", ss.str()); + ss.str(""); + } + + if(m_queryIntegerListHasBeenSet) + { + for(const auto& item : m_queryIntegerList) + { + ss << item; + uri.AddQueryStringParameter("IntegerList", ss.str()); + ss.str(""); + } + } + + if(m_queryIntegerSetHasBeenSet) + { + for(const auto& item : m_queryIntegerSet) + { + ss << item; + uri.AddQueryStringParameter("IntegerSet", ss.str()); + ss.str(""); + } + } + + if(m_queryLongHasBeenSet) + { + ss << m_queryLong; + uri.AddQueryStringParameter("Long", ss.str()); + ss.str(""); + } + + if(m_queryFloatHasBeenSet) + { + ss << m_queryFloat; + uri.AddQueryStringParameter("Float", ss.str()); + ss.str(""); + } + + if(m_queryDoubleHasBeenSet) + { + ss << m_queryDouble; + uri.AddQueryStringParameter("Double", ss.str()); + ss.str(""); + } + + if(m_queryDoubleListHasBeenSet) + { + for(const auto& item : m_queryDoubleList) + { + ss << item; + uri.AddQueryStringParameter("DoubleList", ss.str()); + ss.str(""); + } + } + + if(m_queryBooleanHasBeenSet) + { + ss << m_queryBoolean; + uri.AddQueryStringParameter("Boolean", ss.str()); + ss.str(""); + } + + if(m_queryBooleanListHasBeenSet) + { + for(const auto& item : m_queryBooleanList) + { + ss << item; + uri.AddQueryStringParameter("BooleanList", ss.str()); + ss.str(""); + } + } + + if(m_queryTimestampHasBeenSet) + { + ss << m_queryTimestamp.ToGmtString(Aws::Utils::DateFormat::ISO_8601); + uri.AddQueryStringParameter("Timestamp", ss.str()); + ss.str(""); + } + + if(m_queryTimestampListHasBeenSet) + { + for(const auto& item : m_queryTimestampList) + { + ss << item.ToGmtString(Aws::Utils::DateFormat::ISO_8601); + uri.AddQueryStringParameter("TimestampList", ss.str()); + ss.str(""); + } + } + + if(m_queryEnumHasBeenSet) + { + ss << FooEnumMapper::GetNameForFooEnum(m_queryEnum); + uri.AddQueryStringParameter("Enum", ss.str()); + ss.str(""); + } + + if(m_queryEnumListHasBeenSet) + { + for(const auto& item : m_queryEnumList) + { + ss << FooEnumMapper::GetNameForFooEnum(item); + uri.AddQueryStringParameter("EnumList", ss.str()); + ss.str(""); + } + } + + if(m_queryIntegerEnumHasBeenSet) + { + ss << m_queryIntegerEnum; + uri.AddQueryStringParameter("IntegerEnum", ss.str()); + ss.str(""); + } + + if(m_queryIntegerEnumListHasBeenSet) + { + for(const auto& item : m_queryIntegerEnumList) + { + ss << item; + uri.AddQueryStringParameter("IntegerEnumList", ss.str()); + ss.str(""); + } + } + + if(m_queryParamsMapOfStringListHasBeenSet) + { + for(auto& item : m_queryParamsMapOfStringList) + { + for(auto& innerItem : item.second) + { + ss << innerItem; + uri.AddQueryStringParameter(item.first.c_str(), ss.str()); + ss.str(""); + } + } + } + +} + + + diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/ComplexError.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/ComplexError.cpp new file mode 100644 index 00000000000..430d2ebd6e0 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/ComplexError.cpp @@ -0,0 +1,75 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace RestJsonProtocol +{ +namespace Model +{ + +ComplexError::ComplexError() : + m_headerHasBeenSet(false), + m_topLevelHasBeenSet(false), + m_nestedHasBeenSet(false) +{ +} + +ComplexError::ComplexError(JsonView jsonValue) + : ComplexError() +{ + *this = jsonValue; +} + +ComplexError& ComplexError::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("TopLevel")) + { + m_topLevel = jsonValue.GetString("TopLevel"); + + m_topLevelHasBeenSet = true; + } + + if(jsonValue.ValueExists("Nested")) + { + m_nested = jsonValue.GetObject("Nested"); + + m_nestedHasBeenSet = true; + } + + return *this; +} + +JsonValue ComplexError::Jsonize() const +{ + JsonValue payload; + + if(m_topLevelHasBeenSet) + { + payload.WithString("TopLevel", m_topLevel); + + } + + if(m_nestedHasBeenSet) + { + payload.WithObject("Nested", m_nested.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace RestJsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/ComplexNestedErrorData.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/ComplexNestedErrorData.cpp new file mode 100644 index 00000000000..515b043238b --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/ComplexNestedErrorData.cpp @@ -0,0 +1,59 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace RestJsonProtocol +{ +namespace Model +{ + +ComplexNestedErrorData::ComplexNestedErrorData() : + m_fooHasBeenSet(false) +{ +} + +ComplexNestedErrorData::ComplexNestedErrorData(JsonView jsonValue) + : ComplexNestedErrorData() +{ + *this = jsonValue; +} + +ComplexNestedErrorData& ComplexNestedErrorData::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Fooooo")) + { + m_foo = jsonValue.GetString("Fooooo"); + + m_fooHasBeenSet = true; + } + + return *this; +} + +JsonValue ComplexNestedErrorData::Jsonize() const +{ + JsonValue payload; + + if(m_fooHasBeenSet) + { + payload.WithString("Fooooo", m_foo); + + } + + return payload; +} + +} // namespace Model +} // namespace RestJsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/ConstantAndVariableQueryStringRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/ConstantAndVariableQueryStringRequest.cpp new file mode 100644 index 00000000000..49cfc476beb --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/ConstantAndVariableQueryStringRequest.cpp @@ -0,0 +1,49 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::RestJsonProtocol::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws::Http; + +ConstantAndVariableQueryStringRequest::ConstantAndVariableQueryStringRequest() : + m_bazHasBeenSet(false), + m_maybeSetHasBeenSet(false) +{ +} + +Aws::String ConstantAndVariableQueryStringRequest::SerializePayload() const +{ + return {}; +} + +void ConstantAndVariableQueryStringRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(m_bazHasBeenSet) + { + ss << m_baz; + uri.AddQueryStringParameter("baz", ss.str()); + ss.str(""); + } + + if(m_maybeSetHasBeenSet) + { + ss << m_maybeSet; + uri.AddQueryStringParameter("maybeSet", ss.str()); + ss.str(""); + } + +} + + + diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/ConstantQueryStringRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/ConstantQueryStringRequest.cpp new file mode 100644 index 00000000000..a008b8c4601 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/ConstantQueryStringRequest.cpp @@ -0,0 +1,27 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::RestJsonProtocol::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +ConstantQueryStringRequest::ConstantQueryStringRequest() : + m_helloHasBeenSet(false) +{ +} + +Aws::String ConstantQueryStringRequest::SerializePayload() const +{ + return {}; +} + + + + diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/ContentTypeParametersRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/ContentTypeParametersRequest.cpp new file mode 100644 index 00000000000..7d8c23df2cd --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/ContentTypeParametersRequest.cpp @@ -0,0 +1,36 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::RestJsonProtocol::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +ContentTypeParametersRequest::ContentTypeParametersRequest() : + m_value(0), + m_valueHasBeenSet(false) +{ +} + +Aws::String ContentTypeParametersRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_valueHasBeenSet) + { + payload.WithInteger("value", m_value); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/ContentTypeParametersResult.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/ContentTypeParametersResult.cpp new file mode 100644 index 00000000000..ec13d8aab59 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/ContentTypeParametersResult.cpp @@ -0,0 +1,42 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::RestJsonProtocol::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +ContentTypeParametersResult::ContentTypeParametersResult() +{ +} + +ContentTypeParametersResult::ContentTypeParametersResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +ContentTypeParametersResult& ContentTypeParametersResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + AWS_UNREFERENCED_PARAM(result); + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/DatetimeOffsetsRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/DatetimeOffsetsRequest.cpp new file mode 100644 index 00000000000..00eb85ea3b9 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/DatetimeOffsetsRequest.cpp @@ -0,0 +1,26 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::RestJsonProtocol::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +DatetimeOffsetsRequest::DatetimeOffsetsRequest() +{ +} + +Aws::String DatetimeOffsetsRequest::SerializePayload() const +{ + return {}; +} + + + + diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/DatetimeOffsetsResult.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/DatetimeOffsetsResult.cpp new file mode 100644 index 00000000000..15edc88d236 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/DatetimeOffsetsResult.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::RestJsonProtocol::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +DatetimeOffsetsResult::DatetimeOffsetsResult() +{ +} + +DatetimeOffsetsResult::DatetimeOffsetsResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +DatetimeOffsetsResult& DatetimeOffsetsResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("datetime")) + { + m_datetime = jsonValue.GetString("datetime"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/DocumentTypeAsMapValueRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/DocumentTypeAsMapValueRequest.cpp new file mode 100644 index 00000000000..053b503b23c --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/DocumentTypeAsMapValueRequest.cpp @@ -0,0 +1,57 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include + +#include + +using namespace Aws::RestJsonProtocol::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +DocumentTypeAsMapValueRequest::DocumentTypeAsMapValueRequest() : + m_docValuedMapHasBeenSet(false), + m_requestIdHasBeenSet(false) +{ +} + +Aws::String DocumentTypeAsMapValueRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_docValuedMapHasBeenSet) + { + JsonValue docValuedMapJsonMap; + for(auto& docValuedMapItem : m_docValuedMap) + { + docValuedMapJsonMap.WithObject(docValuedMapItem.first, docValuedMapItem.second.View()); + } + payload.WithObject("docValuedMap", std::move(docValuedMapJsonMap)); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection DocumentTypeAsMapValueRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_requestIdHasBeenSet) + { + ss << m_requestId; + headers.emplace("x-amzn-requestid", ss.str()); + ss.str(""); + } + + return headers; + +} + + + + diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/DocumentTypeAsMapValueResult.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/DocumentTypeAsMapValueResult.cpp new file mode 100644 index 00000000000..bf0baee9845 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/DocumentTypeAsMapValueResult.cpp @@ -0,0 +1,51 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::RestJsonProtocol::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +DocumentTypeAsMapValueResult::DocumentTypeAsMapValueResult() +{ +} + +DocumentTypeAsMapValueResult::DocumentTypeAsMapValueResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +DocumentTypeAsMapValueResult& DocumentTypeAsMapValueResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("docValuedMap")) + { + Aws::Map docValuedMapJsonMap = jsonValue.GetObject("docValuedMap").GetAllObjects(); + for(auto& docValuedMapItem : docValuedMapJsonMap) + { + m_docValuedMap[docValuedMapItem.first] = docValuedMapItem.second.AsObject(); + } + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/DocumentTypeAsPayloadRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/DocumentTypeAsPayloadRequest.cpp new file mode 100644 index 00000000000..f11651c6d78 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/DocumentTypeAsPayloadRequest.cpp @@ -0,0 +1,51 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include + +#include + +using namespace Aws::RestJsonProtocol::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +DocumentTypeAsPayloadRequest::DocumentTypeAsPayloadRequest() : + m_documentValueHasBeenSet(false), + m_requestIdHasBeenSet(false) +{ +} + +Aws::String DocumentTypeAsPayloadRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_documentValueHasBeenSet) + { + payload = m_documentValue.Jsonize(); + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection DocumentTypeAsPayloadRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_requestIdHasBeenSet) + { + ss << m_requestId; + headers.emplace("x-amzn-requestid", ss.str()); + ss.str(""); + } + + return headers; + +} + + + + diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/DocumentTypeAsPayloadResult.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/DocumentTypeAsPayloadResult.cpp new file mode 100644 index 00000000000..d37755daaa2 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/DocumentTypeAsPayloadResult.cpp @@ -0,0 +1,43 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::RestJsonProtocol::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +DocumentTypeAsPayloadResult::DocumentTypeAsPayloadResult() +{ +} + +DocumentTypeAsPayloadResult::DocumentTypeAsPayloadResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +DocumentTypeAsPayloadResult& DocumentTypeAsPayloadResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + m_documentValue = jsonValue; + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/DocumentTypeRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/DocumentTypeRequest.cpp new file mode 100644 index 00000000000..a1073362e4d --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/DocumentTypeRequest.cpp @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include + +#include + +using namespace Aws::RestJsonProtocol::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +DocumentTypeRequest::DocumentTypeRequest() : + m_stringValueHasBeenSet(false), + m_documentValueHasBeenSet(false), + m_requestIdHasBeenSet(false) +{ +} + +Aws::String DocumentTypeRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_stringValueHasBeenSet) + { + payload.WithString("stringValue", m_stringValue); + + } + + if(m_documentValueHasBeenSet) + { + if(!m_documentValue.View().IsNull()) + { + payload.WithObject("documentValue", JsonValue(m_documentValue.View())); + } + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection DocumentTypeRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_requestIdHasBeenSet) + { + ss << m_requestId; + headers.emplace("x-amzn-requestid", ss.str()); + ss.str(""); + } + + return headers; + +} + + + + diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/DocumentTypeResult.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/DocumentTypeResult.cpp new file mode 100644 index 00000000000..3bed04c6320 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/DocumentTypeResult.cpp @@ -0,0 +1,54 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::RestJsonProtocol::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +DocumentTypeResult::DocumentTypeResult() +{ +} + +DocumentTypeResult::DocumentTypeResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +DocumentTypeResult& DocumentTypeResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("stringValue")) + { + m_stringValue = jsonValue.GetString("stringValue"); + + } + + if(jsonValue.ValueExists("documentValue")) + { + m_documentValue = jsonValue.GetObject("documentValue"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/EmptyInputAndEmptyOutputRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/EmptyInputAndEmptyOutputRequest.cpp new file mode 100644 index 00000000000..86ea6a0ca76 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/EmptyInputAndEmptyOutputRequest.cpp @@ -0,0 +1,26 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::RestJsonProtocol::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +EmptyInputAndEmptyOutputRequest::EmptyInputAndEmptyOutputRequest() +{ +} + +Aws::String EmptyInputAndEmptyOutputRequest::SerializePayload() const +{ + return {}; +} + + + + diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/EmptyInputAndEmptyOutputResult.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/EmptyInputAndEmptyOutputResult.cpp new file mode 100644 index 00000000000..69db1bcc918 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/EmptyInputAndEmptyOutputResult.cpp @@ -0,0 +1,42 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::RestJsonProtocol::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +EmptyInputAndEmptyOutputResult::EmptyInputAndEmptyOutputResult() +{ +} + +EmptyInputAndEmptyOutputResult::EmptyInputAndEmptyOutputResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +EmptyInputAndEmptyOutputResult& EmptyInputAndEmptyOutputResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + AWS_UNREFERENCED_PARAM(result); + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/EndpointOperationRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/EndpointOperationRequest.cpp new file mode 100644 index 00000000000..7098abc2fc7 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/EndpointOperationRequest.cpp @@ -0,0 +1,26 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::RestJsonProtocol::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +EndpointOperationRequest::EndpointOperationRequest() +{ +} + +Aws::String EndpointOperationRequest::SerializePayload() const +{ + return {}; +} + + + + diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/EndpointWithHostLabelOperationRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/EndpointWithHostLabelOperationRequest.cpp new file mode 100644 index 00000000000..a7d8f28f7cc --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/EndpointWithHostLabelOperationRequest.cpp @@ -0,0 +1,35 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::RestJsonProtocol::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +EndpointWithHostLabelOperationRequest::EndpointWithHostLabelOperationRequest() : + m_labelHasBeenSet(false) +{ +} + +Aws::String EndpointWithHostLabelOperationRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_labelHasBeenSet) + { + payload.WithString("label", m_label); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/FooEnum.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/FooEnum.cpp new file mode 100644 index 00000000000..71046929dab --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/FooEnum.cpp @@ -0,0 +1,93 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace RestJsonProtocol + { + namespace Model + { + namespace FooEnumMapper + { + + static const int Foo_HASH = HashingUtils::HashString("Foo"); + static const int Baz_HASH = HashingUtils::HashString("Baz"); + static const int Bar_HASH = HashingUtils::HashString("Bar"); + static const int _1_HASH = HashingUtils::HashString("1"); + static const int _0_HASH = HashingUtils::HashString("0"); + + + FooEnum GetFooEnumForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == Foo_HASH) + { + return FooEnum::Foo; + } + else if (hashCode == Baz_HASH) + { + return FooEnum::Baz; + } + else if (hashCode == Bar_HASH) + { + return FooEnum::Bar; + } + else if (hashCode == _1_HASH) + { + return FooEnum::_1; + } + else if (hashCode == _0_HASH) + { + return FooEnum::_0; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return FooEnum::NOT_SET; + } + + Aws::String GetNameForFooEnum(FooEnum enumValue) + { + switch(enumValue) + { + case FooEnum::NOT_SET: + return {}; + case FooEnum::Foo: + return "Foo"; + case FooEnum::Baz: + return "Baz"; + case FooEnum::Bar: + return "Bar"; + case FooEnum::_1: + return "1"; + case FooEnum::_0: + return "0"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace FooEnumMapper + } // namespace Model + } // namespace RestJsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/FractionalSecondsRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/FractionalSecondsRequest.cpp new file mode 100644 index 00000000000..68285c93a61 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/FractionalSecondsRequest.cpp @@ -0,0 +1,26 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::RestJsonProtocol::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +FractionalSecondsRequest::FractionalSecondsRequest() +{ +} + +Aws::String FractionalSecondsRequest::SerializePayload() const +{ + return {}; +} + + + + diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/FractionalSecondsResult.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/FractionalSecondsResult.cpp new file mode 100644 index 00000000000..e363fe301dd --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/FractionalSecondsResult.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::RestJsonProtocol::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +FractionalSecondsResult::FractionalSecondsResult() +{ +} + +FractionalSecondsResult::FractionalSecondsResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +FractionalSecondsResult& FractionalSecondsResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("datetime")) + { + m_datetime = jsonValue.GetString("datetime"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/GreetingStruct.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/GreetingStruct.cpp new file mode 100644 index 00000000000..b1a4e48e848 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/GreetingStruct.cpp @@ -0,0 +1,59 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace RestJsonProtocol +{ +namespace Model +{ + +GreetingStruct::GreetingStruct() : + m_hiHasBeenSet(false) +{ +} + +GreetingStruct::GreetingStruct(JsonView jsonValue) + : GreetingStruct() +{ + *this = jsonValue; +} + +GreetingStruct& GreetingStruct::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("hi")) + { + m_hi = jsonValue.GetString("hi"); + + m_hiHasBeenSet = true; + } + + return *this; +} + +JsonValue GreetingStruct::Jsonize() const +{ + JsonValue payload; + + if(m_hiHasBeenSet) + { + payload.WithString("hi", m_hi); + + } + + return payload; +} + +} // namespace Model +} // namespace RestJsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/GreetingWithErrorsRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/GreetingWithErrorsRequest.cpp new file mode 100644 index 00000000000..ee1407ca6b4 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/GreetingWithErrorsRequest.cpp @@ -0,0 +1,26 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::RestJsonProtocol::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +GreetingWithErrorsRequest::GreetingWithErrorsRequest() +{ +} + +Aws::String GreetingWithErrorsRequest::SerializePayload() const +{ + return {}; +} + + + + diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/GreetingWithErrorsResult.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/GreetingWithErrorsResult.cpp new file mode 100644 index 00000000000..bcaaf340a1a --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/GreetingWithErrorsResult.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::RestJsonProtocol::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +GreetingWithErrorsResult::GreetingWithErrorsResult() +{ +} + +GreetingWithErrorsResult::GreetingWithErrorsResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +GreetingWithErrorsResult& GreetingWithErrorsResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + AWS_UNREFERENCED_PARAM(result); + + const auto& headers = result.GetHeaderValueCollection(); + const auto& greetingIter = headers.find("x-greeting"); + if(greetingIter != headers.end()) + { + m_greeting = greetingIter->second; + } + + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/HostWithPathOperationRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/HostWithPathOperationRequest.cpp new file mode 100644 index 00000000000..498bb31ac9f --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/HostWithPathOperationRequest.cpp @@ -0,0 +1,26 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::RestJsonProtocol::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +HostWithPathOperationRequest::HostWithPathOperationRequest() +{ +} + +Aws::String HostWithPathOperationRequest::SerializePayload() const +{ + return {}; +} + + + + diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/HttpChecksumRequiredRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/HttpChecksumRequiredRequest.cpp new file mode 100644 index 00000000000..f9ed7fefe5c --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/HttpChecksumRequiredRequest.cpp @@ -0,0 +1,52 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include + +#include + +using namespace Aws::RestJsonProtocol::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +HttpChecksumRequiredRequest::HttpChecksumRequiredRequest() : + m_fooHasBeenSet(false), + m_requestIdHasBeenSet(false) +{ +} + +Aws::String HttpChecksumRequiredRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_fooHasBeenSet) + { + payload.WithString("foo", m_foo); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection HttpChecksumRequiredRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_requestIdHasBeenSet) + { + ss << m_requestId; + headers.emplace("x-amzn-requestid", ss.str()); + ss.str(""); + } + + return headers; + +} + + + + diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/HttpChecksumRequiredResult.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/HttpChecksumRequiredResult.cpp new file mode 100644 index 00000000000..2f73a7131b8 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/HttpChecksumRequiredResult.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::RestJsonProtocol::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +HttpChecksumRequiredResult::HttpChecksumRequiredResult() +{ +} + +HttpChecksumRequiredResult::HttpChecksumRequiredResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +HttpChecksumRequiredResult& HttpChecksumRequiredResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("foo")) + { + m_foo = jsonValue.GetString("foo"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/HttpEnumPayloadRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/HttpEnumPayloadRequest.cpp new file mode 100644 index 00000000000..3a7a870c9cf --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/HttpEnumPayloadRequest.cpp @@ -0,0 +1,38 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include + +#include + +using namespace Aws::RestJsonProtocol::Model; +using namespace Aws::Utils::Stream; +using namespace Aws::Utils; +using namespace Aws; + +HttpEnumPayloadRequest::HttpEnumPayloadRequest() : + m_payload(StringEnum::NOT_SET), + m_requestIdHasBeenSet(false) +{ +} + + + +Aws::Http::HeaderValueCollection HttpEnumPayloadRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_requestIdHasBeenSet) + { + ss << m_requestId; + headers.emplace("x-amzn-requestid", ss.str()); + ss.str(""); + } + + return headers; + +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/HttpEnumPayloadResult.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/HttpEnumPayloadResult.cpp new file mode 100644 index 00000000000..305e4278b66 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/HttpEnumPayloadResult.cpp @@ -0,0 +1,60 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::RestJsonProtocol::Model; +using namespace Aws::Utils::Stream; +using namespace Aws::Utils; +using namespace Aws; + +HttpEnumPayloadResult::HttpEnumPayloadResult() : + m_payload(StringEnum::NOT_SET) +{ +} + +HttpEnumPayloadResult::HttpEnumPayloadResult(HttpEnumPayloadResult&& toMove) : + m_payload(toMove.m_payload), + m_requestId(std::move(toMove.m_requestId)) +{ +} + +HttpEnumPayloadResult& HttpEnumPayloadResult::operator=(HttpEnumPayloadResult&& toMove) +{ + if(this == &toMove) + { + return *this; + } + + m_payload = toMove.m_payload; + m_requestId = std::move(toMove.m_requestId); + + return *this; +} + +HttpEnumPayloadResult::HttpEnumPayloadResult(Aws::AmazonWebServiceResult&& result) + : HttpEnumPayloadResult() +{ + *this = std::move(result); +} + +HttpEnumPayloadResult& HttpEnumPayloadResult::operator =(Aws::AmazonWebServiceResult&& result) +{ + m_payload = result.TakeOwnershipOfPayload(); + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + return *this; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/HttpPayloadTraitsRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/HttpPayloadTraitsRequest.cpp new file mode 100644 index 00000000000..11586e4b29d --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/HttpPayloadTraitsRequest.cpp @@ -0,0 +1,46 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::RestJsonProtocol::Model; +using namespace Aws::Utils::Stream; +using namespace Aws::Utils; +using namespace Aws; + +HttpPayloadTraitsRequest::HttpPayloadTraitsRequest() : + m_fooHasBeenSet(false), + m_requestIdHasBeenSet(false) +{ +} + + + +Aws::Http::HeaderValueCollection HttpPayloadTraitsRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_fooHasBeenSet) + { + ss << m_foo; + headers.emplace("x-foo", ss.str()); + ss.str(""); + } + + if(m_requestIdHasBeenSet) + { + ss << m_requestId; + headers.emplace("x-amzn-requestid", ss.str()); + ss.str(""); + } + + return headers; + +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/HttpPayloadTraitsResult.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/HttpPayloadTraitsResult.cpp new file mode 100644 index 00000000000..4757cc5fdaa --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/HttpPayloadTraitsResult.cpp @@ -0,0 +1,67 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +#include + +using namespace Aws::RestJsonProtocol::Model; +using namespace Aws::Utils::Stream; +using namespace Aws::Utils; +using namespace Aws; + +HttpPayloadTraitsResult::HttpPayloadTraitsResult() +{ +} + +HttpPayloadTraitsResult::HttpPayloadTraitsResult(HttpPayloadTraitsResult&& toMove) : + m_foo(std::move(toMove.m_foo)), + m_blob(std::move(toMove.m_blob)), + m_requestId(std::move(toMove.m_requestId)) +{ +} + +HttpPayloadTraitsResult& HttpPayloadTraitsResult::operator=(HttpPayloadTraitsResult&& toMove) +{ + if(this == &toMove) + { + return *this; + } + + m_foo = std::move(toMove.m_foo); + m_blob = std::move(toMove.m_blob); + m_requestId = std::move(toMove.m_requestId); + + return *this; +} + +HttpPayloadTraitsResult::HttpPayloadTraitsResult(Aws::AmazonWebServiceResult&& result) +{ + *this = std::move(result); +} + +HttpPayloadTraitsResult& HttpPayloadTraitsResult::operator =(Aws::AmazonWebServiceResult&& result) +{ + m_blob = result.TakeOwnershipOfPayload(); + + const auto& headers = result.GetHeaderValueCollection(); + const auto& fooIter = headers.find("x-foo"); + if(fooIter != headers.end()) + { + m_foo = fooIter->second; + } + + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + return *this; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/HttpPayloadWithStructureRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/HttpPayloadWithStructureRequest.cpp new file mode 100644 index 00000000000..ee27475e524 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/HttpPayloadWithStructureRequest.cpp @@ -0,0 +1,51 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include + +#include + +using namespace Aws::RestJsonProtocol::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +HttpPayloadWithStructureRequest::HttpPayloadWithStructureRequest() : + m_nestedHasBeenSet(false), + m_requestIdHasBeenSet(false) +{ +} + +Aws::String HttpPayloadWithStructureRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_nestedHasBeenSet) + { + payload = m_nested.Jsonize(); + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection HttpPayloadWithStructureRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_requestIdHasBeenSet) + { + ss << m_requestId; + headers.emplace("x-amzn-requestid", ss.str()); + ss.str(""); + } + + return headers; + +} + + + + diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/HttpPayloadWithStructureResult.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/HttpPayloadWithStructureResult.cpp new file mode 100644 index 00000000000..5e0d5e1ed2e --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/HttpPayloadWithStructureResult.cpp @@ -0,0 +1,43 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::RestJsonProtocol::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +HttpPayloadWithStructureResult::HttpPayloadWithStructureResult() +{ +} + +HttpPayloadWithStructureResult::HttpPayloadWithStructureResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +HttpPayloadWithStructureResult& HttpPayloadWithStructureResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + m_nested = jsonValue; + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/HttpPayloadWithUnionRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/HttpPayloadWithUnionRequest.cpp new file mode 100644 index 00000000000..86a709c8f8f --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/HttpPayloadWithUnionRequest.cpp @@ -0,0 +1,51 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include + +#include + +using namespace Aws::RestJsonProtocol::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +HttpPayloadWithUnionRequest::HttpPayloadWithUnionRequest() : + m_nestedHasBeenSet(false), + m_requestIdHasBeenSet(false) +{ +} + +Aws::String HttpPayloadWithUnionRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_nestedHasBeenSet) + { + payload = m_nested.Jsonize(); + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection HttpPayloadWithUnionRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_requestIdHasBeenSet) + { + ss << m_requestId; + headers.emplace("x-amzn-requestid", ss.str()); + ss.str(""); + } + + return headers; + +} + + + + diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/HttpPayloadWithUnionResult.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/HttpPayloadWithUnionResult.cpp new file mode 100644 index 00000000000..33891941d0c --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/HttpPayloadWithUnionResult.cpp @@ -0,0 +1,43 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::RestJsonProtocol::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +HttpPayloadWithUnionResult::HttpPayloadWithUnionResult() +{ +} + +HttpPayloadWithUnionResult::HttpPayloadWithUnionResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +HttpPayloadWithUnionResult& HttpPayloadWithUnionResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + m_nested = jsonValue; + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/HttpPrefixHeadersInResponseRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/HttpPrefixHeadersInResponseRequest.cpp new file mode 100644 index 00000000000..88166ad68ae --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/HttpPrefixHeadersInResponseRequest.cpp @@ -0,0 +1,26 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::RestJsonProtocol::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +HttpPrefixHeadersInResponseRequest::HttpPrefixHeadersInResponseRequest() +{ +} + +Aws::String HttpPrefixHeadersInResponseRequest::SerializePayload() const +{ + return {}; +} + + + + diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/HttpPrefixHeadersInResponseResult.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/HttpPrefixHeadersInResponseResult.cpp new file mode 100644 index 00000000000..7b4788fdf53 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/HttpPrefixHeadersInResponseResult.cpp @@ -0,0 +1,53 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::RestJsonProtocol::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +HttpPrefixHeadersInResponseResult::HttpPrefixHeadersInResponseResult() +{ +} + +HttpPrefixHeadersInResponseResult::HttpPrefixHeadersInResponseResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +HttpPrefixHeadersInResponseResult& HttpPrefixHeadersInResponseResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + AWS_UNREFERENCED_PARAM(result); + + const auto& headers = result.GetHeaderValueCollection(); + std::size_t prefixSize = sizeof("") - 1; //subtract the NULL terminator out + for(const auto& item : headers) + { + std::size_t foundPrefix = item.first.find(""); + + if(foundPrefix != std::string::npos) + { + m_prefixHeaders[item.first.substr(prefixSize)] = item.second; + } + } + + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/HttpPrefixHeadersRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/HttpPrefixHeadersRequest.cpp new file mode 100644 index 00000000000..28d7f0f6bc6 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/HttpPrefixHeadersRequest.cpp @@ -0,0 +1,54 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include + +#include + +using namespace Aws::RestJsonProtocol::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +HttpPrefixHeadersRequest::HttpPrefixHeadersRequest() : + m_fooHasBeenSet(false), + m_fooMapHasBeenSet(false) +{ +} + +Aws::String HttpPrefixHeadersRequest::SerializePayload() const +{ + return {}; +} + +Aws::Http::HeaderValueCollection HttpPrefixHeadersRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_fooHasBeenSet) + { + ss << m_foo; + headers.emplace("x-foo", ss.str()); + ss.str(""); + } + + if(m_fooMapHasBeenSet) + { + for(const auto& item : m_fooMap) + { + ss << "x-foo-" << item.first; + headers.emplace(ss.str(), item.second); + ss.str(""); + } + } + + return headers; + +} + + + + diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/HttpPrefixHeadersResult.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/HttpPrefixHeadersResult.cpp new file mode 100644 index 00000000000..c8606e23b77 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/HttpPrefixHeadersResult.cpp @@ -0,0 +1,59 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::RestJsonProtocol::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +HttpPrefixHeadersResult::HttpPrefixHeadersResult() +{ +} + +HttpPrefixHeadersResult::HttpPrefixHeadersResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +HttpPrefixHeadersResult& HttpPrefixHeadersResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + AWS_UNREFERENCED_PARAM(result); + + const auto& headers = result.GetHeaderValueCollection(); + const auto& fooIter = headers.find("x-foo"); + if(fooIter != headers.end()) + { + m_foo = fooIter->second; + } + + std::size_t prefixSize = sizeof("x-foo-") - 1; //subtract the NULL terminator out + for(const auto& item : headers) + { + std::size_t foundPrefix = item.first.find("x-foo-"); + + if(foundPrefix != std::string::npos) + { + m_fooMap[item.first.substr(prefixSize)] = item.second; + } + } + + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/HttpRequestWithFloatLabelsRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/HttpRequestWithFloatLabelsRequest.cpp new file mode 100644 index 00000000000..71433ff1c2b --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/HttpRequestWithFloatLabelsRequest.cpp @@ -0,0 +1,30 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::RestJsonProtocol::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +HttpRequestWithFloatLabelsRequest::HttpRequestWithFloatLabelsRequest() : + m_float(0.0), + m_floatHasBeenSet(false), + m_double(0.0), + m_doubleHasBeenSet(false) +{ +} + +Aws::String HttpRequestWithFloatLabelsRequest::SerializePayload() const +{ + return {}; +} + + + + diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/HttpRequestWithGreedyLabelInPathRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/HttpRequestWithGreedyLabelInPathRequest.cpp new file mode 100644 index 00000000000..d599c6a0dbe --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/HttpRequestWithGreedyLabelInPathRequest.cpp @@ -0,0 +1,28 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::RestJsonProtocol::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +HttpRequestWithGreedyLabelInPathRequest::HttpRequestWithGreedyLabelInPathRequest() : + m_fooHasBeenSet(false), + m_bazHasBeenSet(false) +{ +} + +Aws::String HttpRequestWithGreedyLabelInPathRequest::SerializePayload() const +{ + return {}; +} + + + + diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/HttpRequestWithLabelsAndTimestampFormatRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/HttpRequestWithLabelsAndTimestampFormatRequest.cpp new file mode 100644 index 00000000000..e1008562a26 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/HttpRequestWithLabelsAndTimestampFormatRequest.cpp @@ -0,0 +1,33 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::RestJsonProtocol::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +HttpRequestWithLabelsAndTimestampFormatRequest::HttpRequestWithLabelsAndTimestampFormatRequest() : + m_memberEpochSecondsHasBeenSet(false), + m_memberHttpDateHasBeenSet(false), + m_memberDateTimeHasBeenSet(false), + m_defaultFormatHasBeenSet(false), + m_targetEpochSecondsHasBeenSet(false), + m_targetHttpDateHasBeenSet(false), + m_targetDateTimeHasBeenSet(false) +{ +} + +Aws::String HttpRequestWithLabelsAndTimestampFormatRequest::SerializePayload() const +{ + return {}; +} + + + + diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/HttpRequestWithLabelsRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/HttpRequestWithLabelsRequest.cpp new file mode 100644 index 00000000000..5cac444bd6c --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/HttpRequestWithLabelsRequest.cpp @@ -0,0 +1,40 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::RestJsonProtocol::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +HttpRequestWithLabelsRequest::HttpRequestWithLabelsRequest() : + m_stringHasBeenSet(false), + m_short(0), + m_shortHasBeenSet(false), + m_integer(0), + m_integerHasBeenSet(false), + m_long(0), + m_longHasBeenSet(false), + m_float(0.0), + m_floatHasBeenSet(false), + m_double(0.0), + m_doubleHasBeenSet(false), + m_boolean(false), + m_booleanHasBeenSet(false), + m_timestampHasBeenSet(false) +{ +} + +Aws::String HttpRequestWithLabelsRequest::SerializePayload() const +{ + return {}; +} + + + + diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/HttpRequestWithRegexLiteralRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/HttpRequestWithRegexLiteralRequest.cpp new file mode 100644 index 00000000000..b7f6308d5ad --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/HttpRequestWithRegexLiteralRequest.cpp @@ -0,0 +1,27 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::RestJsonProtocol::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +HttpRequestWithRegexLiteralRequest::HttpRequestWithRegexLiteralRequest() : + m_strHasBeenSet(false) +{ +} + +Aws::String HttpRequestWithRegexLiteralRequest::SerializePayload() const +{ + return {}; +} + + + + diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/HttpResponseCodeRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/HttpResponseCodeRequest.cpp new file mode 100644 index 00000000000..6bbe41fdd6c --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/HttpResponseCodeRequest.cpp @@ -0,0 +1,26 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::RestJsonProtocol::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +HttpResponseCodeRequest::HttpResponseCodeRequest() +{ +} + +Aws::String HttpResponseCodeRequest::SerializePayload() const +{ + return {}; +} + + + + diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/HttpResponseCodeResult.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/HttpResponseCodeResult.cpp new file mode 100644 index 00000000000..d5269303da9 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/HttpResponseCodeResult.cpp @@ -0,0 +1,46 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::RestJsonProtocol::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +HttpResponseCodeResult::HttpResponseCodeResult() : + m_status(0) +{ +} + +HttpResponseCodeResult::HttpResponseCodeResult(const Aws::AmazonWebServiceResult& result) + : HttpResponseCodeResult() +{ + *this = result; +} + +HttpResponseCodeResult& HttpResponseCodeResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + AWS_UNREFERENCED_PARAM(result); + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + m_status = static_cast(result.GetResponseCode()); + + return *this; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/HttpStringPayloadRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/HttpStringPayloadRequest.cpp new file mode 100644 index 00000000000..19a83565cdb --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/HttpStringPayloadRequest.cpp @@ -0,0 +1,37 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include + +#include + +using namespace Aws::RestJsonProtocol::Model; +using namespace Aws::Utils::Stream; +using namespace Aws::Utils; +using namespace Aws; + +HttpStringPayloadRequest::HttpStringPayloadRequest() : + m_requestIdHasBeenSet(false) +{ +} + + + +Aws::Http::HeaderValueCollection HttpStringPayloadRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_requestIdHasBeenSet) + { + ss << m_requestId; + headers.emplace("x-amzn-requestid", ss.str()); + ss.str(""); + } + + return headers; + +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/HttpStringPayloadResult.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/HttpStringPayloadResult.cpp new file mode 100644 index 00000000000..f836fededcc --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/HttpStringPayloadResult.cpp @@ -0,0 +1,58 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::RestJsonProtocol::Model; +using namespace Aws::Utils::Stream; +using namespace Aws::Utils; +using namespace Aws; + +HttpStringPayloadResult::HttpStringPayloadResult() +{ +} + +HttpStringPayloadResult::HttpStringPayloadResult(HttpStringPayloadResult&& toMove) : + m_payload(std::move(toMove.m_payload)), + m_requestId(std::move(toMove.m_requestId)) +{ +} + +HttpStringPayloadResult& HttpStringPayloadResult::operator=(HttpStringPayloadResult&& toMove) +{ + if(this == &toMove) + { + return *this; + } + + m_payload = std::move(toMove.m_payload); + m_requestId = std::move(toMove.m_requestId); + + return *this; +} + +HttpStringPayloadResult::HttpStringPayloadResult(Aws::AmazonWebServiceResult&& result) +{ + *this = std::move(result); +} + +HttpStringPayloadResult& HttpStringPayloadResult::operator =(Aws::AmazonWebServiceResult&& result) +{ + m_payload = result.TakeOwnershipOfPayload(); + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + return *this; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/IgnoreQueryParamsInResponseRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/IgnoreQueryParamsInResponseRequest.cpp new file mode 100644 index 00000000000..f398501b84a --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/IgnoreQueryParamsInResponseRequest.cpp @@ -0,0 +1,26 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::RestJsonProtocol::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +IgnoreQueryParamsInResponseRequest::IgnoreQueryParamsInResponseRequest() +{ +} + +Aws::String IgnoreQueryParamsInResponseRequest::SerializePayload() const +{ + return {}; +} + + + + diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/IgnoreQueryParamsInResponseResult.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/IgnoreQueryParamsInResponseResult.cpp new file mode 100644 index 00000000000..f372d30752a --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/IgnoreQueryParamsInResponseResult.cpp @@ -0,0 +1,42 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::RestJsonProtocol::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +IgnoreQueryParamsInResponseResult::IgnoreQueryParamsInResponseResult() +{ +} + +IgnoreQueryParamsInResponseResult::IgnoreQueryParamsInResponseResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +IgnoreQueryParamsInResponseResult& IgnoreQueryParamsInResponseResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + AWS_UNREFERENCED_PARAM(result); + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/InputAndOutputWithHeadersRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/InputAndOutputWithHeadersRequest.cpp new file mode 100644 index 00000000000..6474bd29869 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/InputAndOutputWithHeadersRequest.cpp @@ -0,0 +1,224 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include + +#include +#include + +using namespace Aws::RestJsonProtocol::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +InputAndOutputWithHeadersRequest::InputAndOutputWithHeadersRequest() : + m_headerStringHasBeenSet(false), + m_headerByte(0), + m_headerByteHasBeenSet(false), + m_headerShort(0), + m_headerShortHasBeenSet(false), + m_headerInteger(0), + m_headerIntegerHasBeenSet(false), + m_headerLong(0), + m_headerLongHasBeenSet(false), + m_headerFloat(0.0), + m_headerFloatHasBeenSet(false), + m_headerDouble(0.0), + m_headerDoubleHasBeenSet(false), + m_headerTrueBool(false), + m_headerTrueBoolHasBeenSet(false), + m_headerFalseBool(false), + m_headerFalseBoolHasBeenSet(false), + m_headerStringListHasBeenSet(false), + m_headerStringSetHasBeenSet(false), + m_headerIntegerListHasBeenSet(false), + m_headerBooleanListHasBeenSet(false), + m_headerTimestampListHasBeenSet(false), + m_headerEnum(FooEnum::NOT_SET), + m_headerEnumHasBeenSet(false), + m_headerEnumListHasBeenSet(false), + m_headerIntegerEnum(0), + m_headerIntegerEnumHasBeenSet(false), + m_headerIntegerEnumListHasBeenSet(false), + m_requestIdHasBeenSet(false) +{ +} + +Aws::String InputAndOutputWithHeadersRequest::SerializePayload() const +{ + return {}; +} + +Aws::Http::HeaderValueCollection InputAndOutputWithHeadersRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_headerStringHasBeenSet) + { + ss << m_headerString; + headers.emplace("x-string", ss.str()); + ss.str(""); + } + + if(m_headerByteHasBeenSet) + { + ss << m_headerByte; + headers.emplace("x-byte", ss.str()); + ss.str(""); + } + + if(m_headerShortHasBeenSet) + { + ss << m_headerShort; + headers.emplace("x-short", ss.str()); + ss.str(""); + } + + if(m_headerIntegerHasBeenSet) + { + ss << m_headerInteger; + headers.emplace("x-integer", ss.str()); + ss.str(""); + } + + if(m_headerLongHasBeenSet) + { + ss << m_headerLong; + headers.emplace("x-long", ss.str()); + ss.str(""); + } + + if(m_headerFloatHasBeenSet) + { + ss << m_headerFloat; + headers.emplace("x-float", ss.str()); + ss.str(""); + } + + if(m_headerDoubleHasBeenSet) + { + ss << m_headerDouble; + headers.emplace("x-double", ss.str()); + ss.str(""); + } + + if(m_headerTrueBoolHasBeenSet) + { + ss << std::boolalpha << m_headerTrueBool; + headers.emplace("x-boolean1", ss.str()); + ss.str(""); + } + + if(m_headerFalseBoolHasBeenSet) + { + ss << std::boolalpha << m_headerFalseBool; + headers.emplace("x-boolean2", ss.str()); + ss.str(""); + } + + if(m_headerStringListHasBeenSet) + { + headers.emplace("x-stringlist", std::accumulate(std::begin(m_headerStringList), + std::end(m_headerStringList), + Aws::String{}, + [](const Aws::String &acc, const Aws::String &item) -> Aws::String { + const auto headerValue = item; + return acc.empty() ? headerValue : acc + "," + headerValue; + })); + } + + if(m_headerStringSetHasBeenSet) + { + headers.emplace("x-stringset", std::accumulate(std::begin(m_headerStringSet), + std::end(m_headerStringSet), + Aws::String{}, + [](const Aws::String &acc, const Aws::String &item) -> Aws::String { + const auto headerValue = item; + return acc.empty() ? headerValue : acc + "," + headerValue; + })); + } + + if(m_headerIntegerListHasBeenSet) + { + headers.emplace("x-integerlist", std::accumulate(std::begin(m_headerIntegerList), + std::end(m_headerIntegerList), + Aws::String{}, + [](const Aws::String &acc, const int &item) -> Aws::String { + const auto headerValue = item; + return acc.empty() ? headerValue : acc + "," + headerValue; + })); + } + + if(m_headerBooleanListHasBeenSet) + { + headers.emplace("x-booleanlist", std::accumulate(std::begin(m_headerBooleanList), + std::end(m_headerBooleanList), + Aws::String{}, + [](const Aws::String &acc, const bool &item) -> Aws::String { + const auto headerValue = item; + return acc.empty() ? headerValue : acc + "," + headerValue; + })); + } + + if(m_headerTimestampListHasBeenSet) + { + headers.emplace("x-timestamplist", std::accumulate(std::begin(m_headerTimestampList), + std::end(m_headerTimestampList), + Aws::String{}, + [](const Aws::String &acc, const Aws::Utils::DateTime &item) -> Aws::String { + const auto headerValue = item; + return acc.empty() ? headerValue : acc + "," + headerValue; + })); + } + + if(m_headerEnumHasBeenSet && m_headerEnum != FooEnum::NOT_SET) + { + headers.emplace("x-enum", FooEnumMapper::GetNameForFooEnum(m_headerEnum)); + } + + if(m_headerEnumListHasBeenSet) + { + headers.emplace("x-enumlist", std::accumulate(std::begin(m_headerEnumList), + std::end(m_headerEnumList), + Aws::String{}, + [](const Aws::String &acc, const FooEnum &item) -> Aws::String { + const auto headerValue = FooEnumMapper::GetNameForFooEnum(item); + return acc.empty() ? headerValue : acc + "," + headerValue; + })); + } + + if(m_headerIntegerEnumHasBeenSet) + { + ss << m_headerIntegerEnum; + headers.emplace("x-integerenum", ss.str()); + ss.str(""); + } + + if(m_headerIntegerEnumListHasBeenSet) + { + headers.emplace("x-integerenumlist", std::accumulate(std::begin(m_headerIntegerEnumList), + std::end(m_headerIntegerEnumList), + Aws::String{}, + [](const Aws::String &acc, const int &item) -> Aws::String { + const auto headerValue = item; + return acc.empty() ? headerValue : acc + "," + headerValue; + })); + } + + if(m_requestIdHasBeenSet) + { + ss << m_requestId; + headers.emplace("x-amzn-requestid", ss.str()); + ss.str(""); + } + + return headers; + +} + + + + diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/InputAndOutputWithHeadersResult.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/InputAndOutputWithHeadersResult.cpp new file mode 100644 index 00000000000..fd8730859b3 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/InputAndOutputWithHeadersResult.cpp @@ -0,0 +1,154 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::RestJsonProtocol::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +InputAndOutputWithHeadersResult::InputAndOutputWithHeadersResult() : + m_headerByte(0), + m_headerShort(0), + m_headerInteger(0), + m_headerLong(0), + m_headerFloat(0.0), + m_headerDouble(0.0), + m_headerTrueBool(false), + m_headerFalseBool(false), + m_headerEnum(FooEnum::NOT_SET), + m_headerIntegerEnum(0) +{ +} + +InputAndOutputWithHeadersResult::InputAndOutputWithHeadersResult(const Aws::AmazonWebServiceResult& result) + : InputAndOutputWithHeadersResult() +{ + *this = result; +} + +InputAndOutputWithHeadersResult& InputAndOutputWithHeadersResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + AWS_UNREFERENCED_PARAM(result); + + const auto& headers = result.GetHeaderValueCollection(); + const auto& headerStringIter = headers.find("x-string"); + if(headerStringIter != headers.end()) + { + m_headerString = headerStringIter->second; + } + + const auto& headerByteIter = headers.find("x-byte"); + if(headerByteIter != headers.end()) + { + m_headerByte = StringUtils::ConvertToInt32(headerByteIter->second.c_str()); + } + + const auto& headerShortIter = headers.find("x-short"); + if(headerShortIter != headers.end()) + { + m_headerShort = StringUtils::ConvertToInt32(headerShortIter->second.c_str()); + } + + const auto& headerIntegerIter = headers.find("x-integer"); + if(headerIntegerIter != headers.end()) + { + m_headerInteger = StringUtils::ConvertToInt32(headerIntegerIter->second.c_str()); + } + + const auto& headerLongIter = headers.find("x-long"); + if(headerLongIter != headers.end()) + { + m_headerLong = StringUtils::ConvertToInt64(headerLongIter->second.c_str()); + } + + const auto& headerFloatIter = headers.find("x-float"); + if(headerFloatIter != headers.end()) + { + m_headerFloat = StringUtils::ConvertToDouble(headerFloatIter->second.c_str()); + } + + const auto& headerDoubleIter = headers.find("x-double"); + if(headerDoubleIter != headers.end()) + { + m_headerDouble = StringUtils::ConvertToDouble(headerDoubleIter->second.c_str()); + } + + const auto& headerTrueBoolIter = headers.find("x-boolean1"); + if(headerTrueBoolIter != headers.end()) + { + m_headerTrueBool = StringUtils::ConvertToBool(headerTrueBoolIter->second.c_str()); + } + + const auto& headerFalseBoolIter = headers.find("x-boolean2"); + if(headerFalseBoolIter != headers.end()) + { + m_headerFalseBool = StringUtils::ConvertToBool(headerFalseBoolIter->second.c_str()); + } + + const auto& headerStringListIter = headers.find("x-stringlist"); + if(headerStringListIter != headers.end()) + { + } + + const auto& headerStringSetIter = headers.find("x-stringset"); + if(headerStringSetIter != headers.end()) + { + } + + const auto& headerIntegerListIter = headers.find("x-integerlist"); + if(headerIntegerListIter != headers.end()) + { + } + + const auto& headerBooleanListIter = headers.find("x-booleanlist"); + if(headerBooleanListIter != headers.end()) + { + } + + const auto& headerTimestampListIter = headers.find("x-timestamplist"); + if(headerTimestampListIter != headers.end()) + { + } + + const auto& headerEnumIter = headers.find("x-enum"); + if(headerEnumIter != headers.end()) + { + m_headerEnum = FooEnumMapper::GetFooEnumForName(headerEnumIter->second); + } + + const auto& headerEnumListIter = headers.find("x-enumlist"); + if(headerEnumListIter != headers.end()) + { + } + + const auto& headerIntegerEnumIter = headers.find("x-integerenum"); + if(headerIntegerEnumIter != headers.end()) + { + m_headerIntegerEnum = StringUtils::ConvertToInt32(headerIntegerEnumIter->second.c_str()); + } + + const auto& headerIntegerEnumListIter = headers.find("x-integerenumlist"); + if(headerIntegerEnumListIter != headers.end()) + { + } + + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/JsonBlobsRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/JsonBlobsRequest.cpp new file mode 100644 index 00000000000..fab5c4a7f6d --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/JsonBlobsRequest.cpp @@ -0,0 +1,52 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::RestJsonProtocol::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +JsonBlobsRequest::JsonBlobsRequest() : + m_dataHasBeenSet(false), + m_requestIdHasBeenSet(false) +{ +} + +Aws::String JsonBlobsRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_dataHasBeenSet) + { + payload.WithString("data", HashingUtils::Base64Encode(m_data)); + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection JsonBlobsRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_requestIdHasBeenSet) + { + ss << m_requestId; + headers.emplace("x-amzn-requestid", ss.str()); + ss.str(""); + } + + return headers; + +} + + + + diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/JsonBlobsResult.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/JsonBlobsResult.cpp new file mode 100644 index 00000000000..b9e3d62c77e --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/JsonBlobsResult.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::RestJsonProtocol::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +JsonBlobsResult::JsonBlobsResult() +{ +} + +JsonBlobsResult::JsonBlobsResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +JsonBlobsResult& JsonBlobsResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("data")) + { + m_data = HashingUtils::Base64Decode(jsonValue.GetString("data")); + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/JsonEnumsRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/JsonEnumsRequest.cpp new file mode 100644 index 00000000000..5ac101e87d0 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/JsonEnumsRequest.cpp @@ -0,0 +1,102 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include + +#include + +using namespace Aws::RestJsonProtocol::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +JsonEnumsRequest::JsonEnumsRequest() : + m_fooEnum1(FooEnum::NOT_SET), + m_fooEnum1HasBeenSet(false), + m_fooEnum2(FooEnum::NOT_SET), + m_fooEnum2HasBeenSet(false), + m_fooEnum3(FooEnum::NOT_SET), + m_fooEnum3HasBeenSet(false), + m_fooEnumListHasBeenSet(false), + m_fooEnumSetHasBeenSet(false), + m_fooEnumMapHasBeenSet(false), + m_requestIdHasBeenSet(false) +{ +} + +Aws::String JsonEnumsRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_fooEnum1HasBeenSet) + { + payload.WithString("fooEnum1", FooEnumMapper::GetNameForFooEnum(m_fooEnum1)); + } + + if(m_fooEnum2HasBeenSet) + { + payload.WithString("fooEnum2", FooEnumMapper::GetNameForFooEnum(m_fooEnum2)); + } + + if(m_fooEnum3HasBeenSet) + { + payload.WithString("fooEnum3", FooEnumMapper::GetNameForFooEnum(m_fooEnum3)); + } + + if(m_fooEnumListHasBeenSet) + { + Aws::Utils::Array fooEnumListJsonList(m_fooEnumList.size()); + for(unsigned fooEnumListIndex = 0; fooEnumListIndex < fooEnumListJsonList.GetLength(); ++fooEnumListIndex) + { + fooEnumListJsonList[fooEnumListIndex].AsString(FooEnumMapper::GetNameForFooEnum(m_fooEnumList[fooEnumListIndex])); + } + payload.WithArray("fooEnumList", std::move(fooEnumListJsonList)); + + } + + if(m_fooEnumSetHasBeenSet) + { + Aws::Utils::Array fooEnumSetJsonList(m_fooEnumSet.size()); + for(unsigned fooEnumSetIndex = 0; fooEnumSetIndex < fooEnumSetJsonList.GetLength(); ++fooEnumSetIndex) + { + fooEnumSetJsonList[fooEnumSetIndex].AsString(FooEnumMapper::GetNameForFooEnum(m_fooEnumSet[fooEnumSetIndex])); + } + payload.WithArray("fooEnumSet", std::move(fooEnumSetJsonList)); + + } + + if(m_fooEnumMapHasBeenSet) + { + JsonValue fooEnumMapJsonMap; + for(auto& fooEnumMapItem : m_fooEnumMap) + { + fooEnumMapJsonMap.WithString(fooEnumMapItem.first, FooEnumMapper::GetNameForFooEnum(fooEnumMapItem.second)); + } + payload.WithObject("fooEnumMap", std::move(fooEnumMapJsonMap)); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection JsonEnumsRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_requestIdHasBeenSet) + { + ss << m_requestId; + headers.emplace("x-amzn-requestid", ss.str()); + ss.str(""); + } + + return headers; + +} + + + + diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/JsonEnumsResult.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/JsonEnumsResult.cpp new file mode 100644 index 00000000000..7ebd8d6d0a8 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/JsonEnumsResult.cpp @@ -0,0 +1,91 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::RestJsonProtocol::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +JsonEnumsResult::JsonEnumsResult() : + m_fooEnum1(FooEnum::NOT_SET), + m_fooEnum2(FooEnum::NOT_SET), + m_fooEnum3(FooEnum::NOT_SET) +{ +} + +JsonEnumsResult::JsonEnumsResult(const Aws::AmazonWebServiceResult& result) + : JsonEnumsResult() +{ + *this = result; +} + +JsonEnumsResult& JsonEnumsResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("fooEnum1")) + { + m_fooEnum1 = FooEnumMapper::GetFooEnumForName(jsonValue.GetString("fooEnum1")); + + } + + if(jsonValue.ValueExists("fooEnum2")) + { + m_fooEnum2 = FooEnumMapper::GetFooEnumForName(jsonValue.GetString("fooEnum2")); + + } + + if(jsonValue.ValueExists("fooEnum3")) + { + m_fooEnum3 = FooEnumMapper::GetFooEnumForName(jsonValue.GetString("fooEnum3")); + + } + + if(jsonValue.ValueExists("fooEnumList")) + { + Aws::Utils::Array fooEnumListJsonList = jsonValue.GetArray("fooEnumList"); + for(unsigned fooEnumListIndex = 0; fooEnumListIndex < fooEnumListJsonList.GetLength(); ++fooEnumListIndex) + { + m_fooEnumList.push_back(FooEnumMapper::GetFooEnumForName(fooEnumListJsonList[fooEnumListIndex].AsString())); + } + } + + if(jsonValue.ValueExists("fooEnumSet")) + { + Aws::Utils::Array fooEnumSetJsonList = jsonValue.GetArray("fooEnumSet"); + for(unsigned fooEnumSetIndex = 0; fooEnumSetIndex < fooEnumSetJsonList.GetLength(); ++fooEnumSetIndex) + { + m_fooEnumSet.push_back(FooEnumMapper::GetFooEnumForName(fooEnumSetJsonList[fooEnumSetIndex].AsString())); + } + } + + if(jsonValue.ValueExists("fooEnumMap")) + { + Aws::Map fooEnumMapJsonMap = jsonValue.GetObject("fooEnumMap").GetAllObjects(); + for(auto& fooEnumMapItem : fooEnumMapJsonMap) + { + m_fooEnumMap[fooEnumMapItem.first] = FooEnumMapper::GetFooEnumForName(fooEnumMapItem.second.AsString()); + } + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/JsonIntEnumsRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/JsonIntEnumsRequest.cpp new file mode 100644 index 00000000000..11b4de18c57 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/JsonIntEnumsRequest.cpp @@ -0,0 +1,105 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include + +#include + +using namespace Aws::RestJsonProtocol::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +JsonIntEnumsRequest::JsonIntEnumsRequest() : + m_integerEnum1(0), + m_integerEnum1HasBeenSet(false), + m_integerEnum2(0), + m_integerEnum2HasBeenSet(false), + m_integerEnum3(0), + m_integerEnum3HasBeenSet(false), + m_integerEnumListHasBeenSet(false), + m_integerEnumSetHasBeenSet(false), + m_integerEnumMapHasBeenSet(false), + m_requestIdHasBeenSet(false) +{ +} + +Aws::String JsonIntEnumsRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_integerEnum1HasBeenSet) + { + payload.WithInteger("integerEnum1", m_integerEnum1); + + } + + if(m_integerEnum2HasBeenSet) + { + payload.WithInteger("integerEnum2", m_integerEnum2); + + } + + if(m_integerEnum3HasBeenSet) + { + payload.WithInteger("integerEnum3", m_integerEnum3); + + } + + if(m_integerEnumListHasBeenSet) + { + Aws::Utils::Array integerEnumListJsonList(m_integerEnumList.size()); + for(unsigned integerEnumListIndex = 0; integerEnumListIndex < integerEnumListJsonList.GetLength(); ++integerEnumListIndex) + { + integerEnumListJsonList[integerEnumListIndex].AsInteger(m_integerEnumList[integerEnumListIndex]); + } + payload.WithArray("integerEnumList", std::move(integerEnumListJsonList)); + + } + + if(m_integerEnumSetHasBeenSet) + { + Aws::Utils::Array integerEnumSetJsonList(m_integerEnumSet.size()); + for(unsigned integerEnumSetIndex = 0; integerEnumSetIndex < integerEnumSetJsonList.GetLength(); ++integerEnumSetIndex) + { + integerEnumSetJsonList[integerEnumSetIndex].AsInteger(m_integerEnumSet[integerEnumSetIndex]); + } + payload.WithArray("integerEnumSet", std::move(integerEnumSetJsonList)); + + } + + if(m_integerEnumMapHasBeenSet) + { + JsonValue integerEnumMapJsonMap; + for(auto& integerEnumMapItem : m_integerEnumMap) + { + integerEnumMapJsonMap.WithInteger(integerEnumMapItem.first, integerEnumMapItem.second); + } + payload.WithObject("integerEnumMap", std::move(integerEnumMapJsonMap)); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection JsonIntEnumsRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_requestIdHasBeenSet) + { + ss << m_requestId; + headers.emplace("x-amzn-requestid", ss.str()); + ss.str(""); + } + + return headers; + +} + + + + diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/JsonIntEnumsResult.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/JsonIntEnumsResult.cpp new file mode 100644 index 00000000000..541285341f8 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/JsonIntEnumsResult.cpp @@ -0,0 +1,91 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::RestJsonProtocol::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +JsonIntEnumsResult::JsonIntEnumsResult() : + m_integerEnum1(0), + m_integerEnum2(0), + m_integerEnum3(0) +{ +} + +JsonIntEnumsResult::JsonIntEnumsResult(const Aws::AmazonWebServiceResult& result) + : JsonIntEnumsResult() +{ + *this = result; +} + +JsonIntEnumsResult& JsonIntEnumsResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("integerEnum1")) + { + m_integerEnum1 = jsonValue.GetInteger("integerEnum1"); + + } + + if(jsonValue.ValueExists("integerEnum2")) + { + m_integerEnum2 = jsonValue.GetInteger("integerEnum2"); + + } + + if(jsonValue.ValueExists("integerEnum3")) + { + m_integerEnum3 = jsonValue.GetInteger("integerEnum3"); + + } + + if(jsonValue.ValueExists("integerEnumList")) + { + Aws::Utils::Array integerEnumListJsonList = jsonValue.GetArray("integerEnumList"); + for(unsigned integerEnumListIndex = 0; integerEnumListIndex < integerEnumListJsonList.GetLength(); ++integerEnumListIndex) + { + m_integerEnumList.push_back(integerEnumListJsonList[integerEnumListIndex].AsInteger()); + } + } + + if(jsonValue.ValueExists("integerEnumSet")) + { + Aws::Utils::Array integerEnumSetJsonList = jsonValue.GetArray("integerEnumSet"); + for(unsigned integerEnumSetIndex = 0; integerEnumSetIndex < integerEnumSetJsonList.GetLength(); ++integerEnumSetIndex) + { + m_integerEnumSet.push_back(integerEnumSetJsonList[integerEnumSetIndex].AsInteger()); + } + } + + if(jsonValue.ValueExists("integerEnumMap")) + { + Aws::Map integerEnumMapJsonMap = jsonValue.GetObject("integerEnumMap").GetAllObjects(); + for(auto& integerEnumMapItem : integerEnumMapJsonMap) + { + m_integerEnumMap[integerEnumMapItem.first] = integerEnumMapItem.second.AsInteger(); + } + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/JsonListsRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/JsonListsRequest.cpp new file mode 100644 index 00000000000..ad13949ea6d --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/JsonListsRequest.cpp @@ -0,0 +1,158 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include + +#include + +using namespace Aws::RestJsonProtocol::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +JsonListsRequest::JsonListsRequest() : + m_stringListHasBeenSet(false), + m_stringSetHasBeenSet(false), + m_integerListHasBeenSet(false), + m_booleanListHasBeenSet(false), + m_timestampListHasBeenSet(false), + m_enumListHasBeenSet(false), + m_intEnumListHasBeenSet(false), + m_nestedStringListHasBeenSet(false), + m_structureListHasBeenSet(false), + m_requestIdHasBeenSet(false) +{ +} + +Aws::String JsonListsRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_stringListHasBeenSet) + { + Aws::Utils::Array stringListJsonList(m_stringList.size()); + for(unsigned stringListIndex = 0; stringListIndex < stringListJsonList.GetLength(); ++stringListIndex) + { + stringListJsonList[stringListIndex].AsString(m_stringList[stringListIndex]); + } + payload.WithArray("stringList", std::move(stringListJsonList)); + + } + + if(m_stringSetHasBeenSet) + { + Aws::Utils::Array stringSetJsonList(m_stringSet.size()); + for(unsigned stringSetIndex = 0; stringSetIndex < stringSetJsonList.GetLength(); ++stringSetIndex) + { + stringSetJsonList[stringSetIndex].AsString(m_stringSet[stringSetIndex]); + } + payload.WithArray("stringSet", std::move(stringSetJsonList)); + + } + + if(m_integerListHasBeenSet) + { + Aws::Utils::Array integerListJsonList(m_integerList.size()); + for(unsigned integerListIndex = 0; integerListIndex < integerListJsonList.GetLength(); ++integerListIndex) + { + integerListJsonList[integerListIndex].AsInteger(m_integerList[integerListIndex]); + } + payload.WithArray("integerList", std::move(integerListJsonList)); + + } + + if(m_booleanListHasBeenSet) + { + Aws::Utils::Array booleanListJsonList(m_booleanList.size()); + for(unsigned booleanListIndex = 0; booleanListIndex < booleanListJsonList.GetLength(); ++booleanListIndex) + { + booleanListJsonList[booleanListIndex].AsBool(m_booleanList[booleanListIndex]); + } + payload.WithArray("booleanList", std::move(booleanListJsonList)); + + } + + if(m_timestampListHasBeenSet) + { + Aws::Utils::Array timestampListJsonList(m_timestampList.size()); + for(unsigned timestampListIndex = 0; timestampListIndex < timestampListJsonList.GetLength(); ++timestampListIndex) + { + timestampListJsonList[timestampListIndex].AsDouble(m_timestampList[timestampListIndex].SecondsWithMSPrecision()); + } + payload.WithArray("timestampList", std::move(timestampListJsonList)); + + } + + if(m_enumListHasBeenSet) + { + Aws::Utils::Array enumListJsonList(m_enumList.size()); + for(unsigned enumListIndex = 0; enumListIndex < enumListJsonList.GetLength(); ++enumListIndex) + { + enumListJsonList[enumListIndex].AsString(FooEnumMapper::GetNameForFooEnum(m_enumList[enumListIndex])); + } + payload.WithArray("enumList", std::move(enumListJsonList)); + + } + + if(m_intEnumListHasBeenSet) + { + Aws::Utils::Array intEnumListJsonList(m_intEnumList.size()); + for(unsigned intEnumListIndex = 0; intEnumListIndex < intEnumListJsonList.GetLength(); ++intEnumListIndex) + { + intEnumListJsonList[intEnumListIndex].AsInteger(m_intEnumList[intEnumListIndex]); + } + payload.WithArray("intEnumList", std::move(intEnumListJsonList)); + + } + + if(m_nestedStringListHasBeenSet) + { + Aws::Utils::Array nestedStringListJsonList(m_nestedStringList.size()); + for(unsigned nestedStringListIndex = 0; nestedStringListIndex < nestedStringListJsonList.GetLength(); ++nestedStringListIndex) + { + Aws::Utils::Array stringListJsonList(m_nestedStringList[nestedStringListIndex].size()); + for(unsigned stringListIndex = 0; stringListIndex < stringListJsonList.GetLength(); ++stringListIndex) + { + stringListJsonList[stringListIndex].AsString(m_nestedStringList[nestedStringListIndex][stringListIndex]); + } + nestedStringListJsonList[nestedStringListIndex].AsArray(std::move(stringListJsonList)); + } + payload.WithArray("nestedStringList", std::move(nestedStringListJsonList)); + + } + + if(m_structureListHasBeenSet) + { + Aws::Utils::Array myStructureListJsonList(m_structureList.size()); + for(unsigned myStructureListIndex = 0; myStructureListIndex < myStructureListJsonList.GetLength(); ++myStructureListIndex) + { + myStructureListJsonList[myStructureListIndex].AsObject(m_structureList[myStructureListIndex].Jsonize()); + } + payload.WithArray("myStructureList", std::move(myStructureListJsonList)); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection JsonListsRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_requestIdHasBeenSet) + { + ss << m_requestId; + headers.emplace("x-amzn-requestid", ss.str()); + ss.str(""); + } + + return headers; + +} + + + + diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/JsonListsResult.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/JsonListsResult.cpp new file mode 100644 index 00000000000..5e7de5882f0 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/JsonListsResult.cpp @@ -0,0 +1,130 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::RestJsonProtocol::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +JsonListsResult::JsonListsResult() +{ +} + +JsonListsResult::JsonListsResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +JsonListsResult& JsonListsResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("stringList")) + { + Aws::Utils::Array stringListJsonList = jsonValue.GetArray("stringList"); + for(unsigned stringListIndex = 0; stringListIndex < stringListJsonList.GetLength(); ++stringListIndex) + { + m_stringList.push_back(stringListJsonList[stringListIndex].AsString()); + } + } + + if(jsonValue.ValueExists("stringSet")) + { + Aws::Utils::Array stringSetJsonList = jsonValue.GetArray("stringSet"); + for(unsigned stringSetIndex = 0; stringSetIndex < stringSetJsonList.GetLength(); ++stringSetIndex) + { + m_stringSet.push_back(stringSetJsonList[stringSetIndex].AsString()); + } + } + + if(jsonValue.ValueExists("integerList")) + { + Aws::Utils::Array integerListJsonList = jsonValue.GetArray("integerList"); + for(unsigned integerListIndex = 0; integerListIndex < integerListJsonList.GetLength(); ++integerListIndex) + { + m_integerList.push_back(integerListJsonList[integerListIndex].AsInteger()); + } + } + + if(jsonValue.ValueExists("booleanList")) + { + Aws::Utils::Array booleanListJsonList = jsonValue.GetArray("booleanList"); + for(unsigned booleanListIndex = 0; booleanListIndex < booleanListJsonList.GetLength(); ++booleanListIndex) + { + m_booleanList.push_back(booleanListJsonList[booleanListIndex].AsBool()); + } + } + + if(jsonValue.ValueExists("timestampList")) + { + Aws::Utils::Array timestampListJsonList = jsonValue.GetArray("timestampList"); + for(unsigned timestampListIndex = 0; timestampListIndex < timestampListJsonList.GetLength(); ++timestampListIndex) + { + m_timestampList.push_back(timestampListJsonList[timestampListIndex].AsDouble()); + } + } + + if(jsonValue.ValueExists("enumList")) + { + Aws::Utils::Array enumListJsonList = jsonValue.GetArray("enumList"); + for(unsigned enumListIndex = 0; enumListIndex < enumListJsonList.GetLength(); ++enumListIndex) + { + m_enumList.push_back(FooEnumMapper::GetFooEnumForName(enumListJsonList[enumListIndex].AsString())); + } + } + + if(jsonValue.ValueExists("intEnumList")) + { + Aws::Utils::Array intEnumListJsonList = jsonValue.GetArray("intEnumList"); + for(unsigned intEnumListIndex = 0; intEnumListIndex < intEnumListJsonList.GetLength(); ++intEnumListIndex) + { + m_intEnumList.push_back(intEnumListJsonList[intEnumListIndex].AsInteger()); + } + } + + if(jsonValue.ValueExists("nestedStringList")) + { + Aws::Utils::Array nestedStringListJsonList = jsonValue.GetArray("nestedStringList"); + for(unsigned nestedStringListIndex = 0; nestedStringListIndex < nestedStringListJsonList.GetLength(); ++nestedStringListIndex) + { + Aws::Utils::Array stringListJsonList = nestedStringListJsonList[nestedStringListIndex].AsArray(); + Aws::Vector stringListList; + stringListList.reserve((size_t)stringListJsonList.GetLength()); + for(unsigned stringListIndex = 0; stringListIndex < stringListJsonList.GetLength(); ++stringListIndex) + { + stringListList.push_back(stringListJsonList[stringListIndex].AsString()); + } + m_nestedStringList.push_back(std::move(stringListList)); + } + } + + if(jsonValue.ValueExists("myStructureList")) + { + Aws::Utils::Array myStructureListJsonList = jsonValue.GetArray("myStructureList"); + for(unsigned myStructureListIndex = 0; myStructureListIndex < myStructureListJsonList.GetLength(); ++myStructureListIndex) + { + m_structureList.push_back(myStructureListJsonList[myStructureListIndex].AsObject()); + } + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/JsonMapsRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/JsonMapsRequest.cpp new file mode 100644 index 00000000000..df827a4950c --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/JsonMapsRequest.cpp @@ -0,0 +1,110 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include + +#include + +using namespace Aws::RestJsonProtocol::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +JsonMapsRequest::JsonMapsRequest() : + m_denseStructMapHasBeenSet(false), + m_denseNumberMapHasBeenSet(false), + m_denseBooleanMapHasBeenSet(false), + m_denseStringMapHasBeenSet(false), + m_denseSetMapHasBeenSet(false), + m_requestIdHasBeenSet(false) +{ +} + +Aws::String JsonMapsRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_denseStructMapHasBeenSet) + { + JsonValue denseStructMapJsonMap; + for(auto& denseStructMapItem : m_denseStructMap) + { + denseStructMapJsonMap.WithObject(denseStructMapItem.first, denseStructMapItem.second.Jsonize()); + } + payload.WithObject("denseStructMap", std::move(denseStructMapJsonMap)); + + } + + if(m_denseNumberMapHasBeenSet) + { + JsonValue denseNumberMapJsonMap; + for(auto& denseNumberMapItem : m_denseNumberMap) + { + denseNumberMapJsonMap.WithInteger(denseNumberMapItem.first, denseNumberMapItem.second); + } + payload.WithObject("denseNumberMap", std::move(denseNumberMapJsonMap)); + + } + + if(m_denseBooleanMapHasBeenSet) + { + JsonValue denseBooleanMapJsonMap; + for(auto& denseBooleanMapItem : m_denseBooleanMap) + { + denseBooleanMapJsonMap.WithBool(denseBooleanMapItem.first, denseBooleanMapItem.second); + } + payload.WithObject("denseBooleanMap", std::move(denseBooleanMapJsonMap)); + + } + + if(m_denseStringMapHasBeenSet) + { + JsonValue denseStringMapJsonMap; + for(auto& denseStringMapItem : m_denseStringMap) + { + denseStringMapJsonMap.WithString(denseStringMapItem.first, denseStringMapItem.second); + } + payload.WithObject("denseStringMap", std::move(denseStringMapJsonMap)); + + } + + if(m_denseSetMapHasBeenSet) + { + JsonValue denseSetMapJsonMap; + for(auto& denseSetMapItem : m_denseSetMap) + { + Aws::Utils::Array stringSetJsonList(denseSetMapItem.second.size()); + for(unsigned stringSetIndex = 0; stringSetIndex < stringSetJsonList.GetLength(); ++stringSetIndex) + { + stringSetJsonList[stringSetIndex].AsString(denseSetMapItem.second[stringSetIndex]); + } + denseSetMapJsonMap.WithArray(denseSetMapItem.first, std::move(stringSetJsonList)); + } + payload.WithObject("denseSetMap", std::move(denseSetMapJsonMap)); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection JsonMapsRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_requestIdHasBeenSet) + { + ss << m_requestId; + headers.emplace("x-amzn-requestid", ss.str()); + ss.str(""); + } + + return headers; + +} + + + + diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/JsonMapsResult.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/JsonMapsResult.cpp new file mode 100644 index 00000000000..f97c60b6f10 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/JsonMapsResult.cpp @@ -0,0 +1,94 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::RestJsonProtocol::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +JsonMapsResult::JsonMapsResult() +{ +} + +JsonMapsResult::JsonMapsResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +JsonMapsResult& JsonMapsResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("denseStructMap")) + { + Aws::Map denseStructMapJsonMap = jsonValue.GetObject("denseStructMap").GetAllObjects(); + for(auto& denseStructMapItem : denseStructMapJsonMap) + { + m_denseStructMap[denseStructMapItem.first] = denseStructMapItem.second.AsObject(); + } + } + + if(jsonValue.ValueExists("denseNumberMap")) + { + Aws::Map denseNumberMapJsonMap = jsonValue.GetObject("denseNumberMap").GetAllObjects(); + for(auto& denseNumberMapItem : denseNumberMapJsonMap) + { + m_denseNumberMap[denseNumberMapItem.first] = denseNumberMapItem.second.AsInteger(); + } + } + + if(jsonValue.ValueExists("denseBooleanMap")) + { + Aws::Map denseBooleanMapJsonMap = jsonValue.GetObject("denseBooleanMap").GetAllObjects(); + for(auto& denseBooleanMapItem : denseBooleanMapJsonMap) + { + m_denseBooleanMap[denseBooleanMapItem.first] = denseBooleanMapItem.second.AsBool(); + } + } + + if(jsonValue.ValueExists("denseStringMap")) + { + Aws::Map denseStringMapJsonMap = jsonValue.GetObject("denseStringMap").GetAllObjects(); + for(auto& denseStringMapItem : denseStringMapJsonMap) + { + m_denseStringMap[denseStringMapItem.first] = denseStringMapItem.second.AsString(); + } + } + + if(jsonValue.ValueExists("denseSetMap")) + { + Aws::Map denseSetMapJsonMap = jsonValue.GetObject("denseSetMap").GetAllObjects(); + for(auto& denseSetMapItem : denseSetMapJsonMap) + { + Aws::Utils::Array stringSetJsonList = denseSetMapItem.second.AsArray(); + Aws::Vector stringSetList; + stringSetList.reserve((size_t)stringSetJsonList.GetLength()); + for(unsigned stringSetIndex = 0; stringSetIndex < stringSetJsonList.GetLength(); ++stringSetIndex) + { + stringSetList.push_back(stringSetJsonList[stringSetIndex].AsString()); + } + m_denseSetMap[denseSetMapItem.first] = std::move(stringSetList); + } + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/JsonTimestampsRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/JsonTimestampsRequest.cpp new file mode 100644 index 00000000000..84f81c4d70b --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/JsonTimestampsRequest.cpp @@ -0,0 +1,87 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include + +#include + +using namespace Aws::RestJsonProtocol::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +JsonTimestampsRequest::JsonTimestampsRequest() : + m_normalHasBeenSet(false), + m_dateTimeHasBeenSet(false), + m_dateTimeOnTargetHasBeenSet(false), + m_epochSecondsHasBeenSet(false), + m_epochSecondsOnTargetHasBeenSet(false), + m_httpDateHasBeenSet(false), + m_httpDateOnTargetHasBeenSet(false), + m_requestIdHasBeenSet(false) +{ +} + +Aws::String JsonTimestampsRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_normalHasBeenSet) + { + payload.WithDouble("normal", m_normal.SecondsWithMSPrecision()); + } + + if(m_dateTimeHasBeenSet) + { + payload.WithString("dateTime", m_dateTime.ToGmtString(Aws::Utils::DateFormat::ISO_8601)); + } + + if(m_dateTimeOnTargetHasBeenSet) + { + payload.WithString("dateTimeOnTarget", m_dateTimeOnTarget.ToGmtString(Aws::Utils::DateFormat::ISO_8601)); + } + + if(m_epochSecondsHasBeenSet) + { + payload.WithDouble("epochSeconds", m_epochSeconds.SecondsWithMSPrecision()); + } + + if(m_epochSecondsOnTargetHasBeenSet) + { + payload.WithDouble("epochSecondsOnTarget", m_epochSecondsOnTarget.SecondsWithMSPrecision()); + } + + if(m_httpDateHasBeenSet) + { + payload.WithString("httpDate", m_httpDate.ToGmtString(Aws::Utils::DateFormat::RFC822)); + } + + if(m_httpDateOnTargetHasBeenSet) + { + payload.WithString("httpDateOnTarget", m_httpDateOnTarget.ToGmtString(Aws::Utils::DateFormat::RFC822)); + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection JsonTimestampsRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_requestIdHasBeenSet) + { + ss << m_requestId; + headers.emplace("x-amzn-requestid", ss.str()); + ss.str(""); + } + + return headers; + +} + + + + diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/JsonTimestampsResult.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/JsonTimestampsResult.cpp new file mode 100644 index 00000000000..8a95f84ef5f --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/JsonTimestampsResult.cpp @@ -0,0 +1,84 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::RestJsonProtocol::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +JsonTimestampsResult::JsonTimestampsResult() +{ +} + +JsonTimestampsResult::JsonTimestampsResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +JsonTimestampsResult& JsonTimestampsResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("normal")) + { + m_normal = jsonValue.GetDouble("normal"); + + } + + if(jsonValue.ValueExists("dateTime")) + { + m_dateTime = jsonValue.GetString("dateTime"); + + } + + if(jsonValue.ValueExists("dateTimeOnTarget")) + { + m_dateTimeOnTarget = jsonValue.GetString("dateTimeOnTarget"); + + } + + if(jsonValue.ValueExists("epochSeconds")) + { + m_epochSeconds = jsonValue.GetDouble("epochSeconds"); + + } + + if(jsonValue.ValueExists("epochSecondsOnTarget")) + { + m_epochSecondsOnTarget = jsonValue.GetDouble("epochSecondsOnTarget"); + + } + + if(jsonValue.ValueExists("httpDate")) + { + m_httpDate = jsonValue.GetString("httpDate"); + + } + + if(jsonValue.ValueExists("httpDateOnTarget")) + { + m_httpDateOnTarget = jsonValue.GetString("httpDateOnTarget"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/JsonUnionsRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/JsonUnionsRequest.cpp new file mode 100644 index 00000000000..18a47c55e85 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/JsonUnionsRequest.cpp @@ -0,0 +1,52 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include + +#include + +using namespace Aws::RestJsonProtocol::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +JsonUnionsRequest::JsonUnionsRequest() : + m_contentsHasBeenSet(false), + m_requestIdHasBeenSet(false) +{ +} + +Aws::String JsonUnionsRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_contentsHasBeenSet) + { + payload.WithObject("contents", m_contents.Jsonize()); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection JsonUnionsRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_requestIdHasBeenSet) + { + ss << m_requestId; + headers.emplace("x-amzn-requestid", ss.str()); + ss.str(""); + } + + return headers; + +} + + + + diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/JsonUnionsResult.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/JsonUnionsResult.cpp new file mode 100644 index 00000000000..e245c1e3635 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/JsonUnionsResult.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::RestJsonProtocol::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +JsonUnionsResult::JsonUnionsResult() +{ +} + +JsonUnionsResult::JsonUnionsResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +JsonUnionsResult& JsonUnionsResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("contents")) + { + m_contents = jsonValue.GetObject("contents"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/MediaTypeHeaderRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/MediaTypeHeaderRequest.cpp new file mode 100644 index 00000000000..7132eded164 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/MediaTypeHeaderRequest.cpp @@ -0,0 +1,43 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include + +#include + +using namespace Aws::RestJsonProtocol::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +MediaTypeHeaderRequest::MediaTypeHeaderRequest() : + m_jsonHasBeenSet(false) +{ +} + +Aws::String MediaTypeHeaderRequest::SerializePayload() const +{ + return {}; +} + +Aws::Http::HeaderValueCollection MediaTypeHeaderRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_jsonHasBeenSet) + { + ss << m_json; + headers.emplace("x-json", ss.str()); + ss.str(""); + } + + return headers; + +} + + + + diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/MediaTypeHeaderResult.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/MediaTypeHeaderResult.cpp new file mode 100644 index 00000000000..e2e06345ecb --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/MediaTypeHeaderResult.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::RestJsonProtocol::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +MediaTypeHeaderResult::MediaTypeHeaderResult() +{ +} + +MediaTypeHeaderResult::MediaTypeHeaderResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +MediaTypeHeaderResult& MediaTypeHeaderResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + AWS_UNREFERENCED_PARAM(result); + + const auto& headers = result.GetHeaderValueCollection(); + const auto& jsonIter = headers.find("x-json"); + if(jsonIter != headers.end()) + { + m_json = jsonIter->second; + } + + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/MyUnion.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/MyUnion.cpp new file mode 100644 index 00000000000..eafe1ea8a2b --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/MyUnion.cpp @@ -0,0 +1,201 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace RestJsonProtocol +{ +namespace Model +{ + +MyUnion::MyUnion() : + m_stringValueHasBeenSet(false), + m_booleanValue(false), + m_booleanValueHasBeenSet(false), + m_numberValue(0), + m_numberValueHasBeenSet(false), + m_blobValueHasBeenSet(false), + m_timestampValueHasBeenSet(false), + m_enumValue(FooEnum::NOT_SET), + m_enumValueHasBeenSet(false), + m_listValueHasBeenSet(false), + m_mapValueHasBeenSet(false), + m_structureValueHasBeenSet(false), + m_renamedStructureValueHasBeenSet(false) +{ +} + +MyUnion::MyUnion(JsonView jsonValue) + : MyUnion() +{ + *this = jsonValue; +} + +MyUnion& MyUnion::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("stringValue")) + { + m_stringValue = jsonValue.GetString("stringValue"); + + m_stringValueHasBeenSet = true; + } + + if(jsonValue.ValueExists("booleanValue")) + { + m_booleanValue = jsonValue.GetBool("booleanValue"); + + m_booleanValueHasBeenSet = true; + } + + if(jsonValue.ValueExists("numberValue")) + { + m_numberValue = jsonValue.GetInteger("numberValue"); + + m_numberValueHasBeenSet = true; + } + + if(jsonValue.ValueExists("blobValue")) + { + m_blobValue = HashingUtils::Base64Decode(jsonValue.GetString("blobValue")); + m_blobValueHasBeenSet = true; + } + + if(jsonValue.ValueExists("timestampValue")) + { + m_timestampValue = jsonValue.GetDouble("timestampValue"); + + m_timestampValueHasBeenSet = true; + } + + if(jsonValue.ValueExists("enumValue")) + { + m_enumValue = FooEnumMapper::GetFooEnumForName(jsonValue.GetString("enumValue")); + + m_enumValueHasBeenSet = true; + } + + if(jsonValue.ValueExists("listValue")) + { + Aws::Utils::Array listValueJsonList = jsonValue.GetArray("listValue"); + for(unsigned listValueIndex = 0; listValueIndex < listValueJsonList.GetLength(); ++listValueIndex) + { + m_listValue.push_back(listValueJsonList[listValueIndex].AsString()); + } + m_listValueHasBeenSet = true; + } + + if(jsonValue.ValueExists("mapValue")) + { + Aws::Map mapValueJsonMap = jsonValue.GetObject("mapValue").GetAllObjects(); + for(auto& mapValueItem : mapValueJsonMap) + { + m_mapValue[mapValueItem.first] = mapValueItem.second.AsString(); + } + m_mapValueHasBeenSet = true; + } + + if(jsonValue.ValueExists("structureValue")) + { + m_structureValue = jsonValue.GetObject("structureValue"); + + m_structureValueHasBeenSet = true; + } + + if(jsonValue.ValueExists("renamedStructureValue")) + { + m_renamedStructureValue = jsonValue.GetObject("renamedStructureValue"); + + m_renamedStructureValueHasBeenSet = true; + } + + return *this; +} + +JsonValue MyUnion::Jsonize() const +{ + JsonValue payload; + + if(m_stringValueHasBeenSet) + { + payload.WithString("stringValue", m_stringValue); + + } + + if(m_booleanValueHasBeenSet) + { + payload.WithBool("booleanValue", m_booleanValue); + + } + + if(m_numberValueHasBeenSet) + { + payload.WithInteger("numberValue", m_numberValue); + + } + + if(m_blobValueHasBeenSet) + { + payload.WithString("blobValue", HashingUtils::Base64Encode(m_blobValue)); + } + + if(m_timestampValueHasBeenSet) + { + payload.WithDouble("timestampValue", m_timestampValue.SecondsWithMSPrecision()); + } + + if(m_enumValueHasBeenSet) + { + payload.WithString("enumValue", FooEnumMapper::GetNameForFooEnum(m_enumValue)); + } + + if(m_listValueHasBeenSet) + { + Aws::Utils::Array listValueJsonList(m_listValue.size()); + for(unsigned listValueIndex = 0; listValueIndex < listValueJsonList.GetLength(); ++listValueIndex) + { + listValueJsonList[listValueIndex].AsString(m_listValue[listValueIndex]); + } + payload.WithArray("listValue", std::move(listValueJsonList)); + + } + + if(m_mapValueHasBeenSet) + { + JsonValue mapValueJsonMap; + for(auto& mapValueItem : m_mapValue) + { + mapValueJsonMap.WithString(mapValueItem.first, mapValueItem.second); + } + payload.WithObject("mapValue", std::move(mapValueJsonMap)); + + } + + if(m_structureValueHasBeenSet) + { + payload.WithObject("structureValue", m_structureValue.Jsonize()); + + } + + if(m_renamedStructureValueHasBeenSet) + { + payload.WithObject("renamedStructureValue", m_renamedStructureValue.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace RestJsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/NestedPayload.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/NestedPayload.cpp new file mode 100644 index 00000000000..501af217b70 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/NestedPayload.cpp @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace RestJsonProtocol +{ +namespace Model +{ + +NestedPayload::NestedPayload() : + m_greetingHasBeenSet(false), + m_nameHasBeenSet(false) +{ +} + +NestedPayload::NestedPayload(JsonView jsonValue) + : NestedPayload() +{ + *this = jsonValue; +} + +NestedPayload& NestedPayload::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("greeting")) + { + m_greeting = jsonValue.GetString("greeting"); + + m_greetingHasBeenSet = true; + } + + if(jsonValue.ValueExists("name")) + { + m_name = jsonValue.GetString("name"); + + m_nameHasBeenSet = true; + } + + return *this; +} + +JsonValue NestedPayload::Jsonize() const +{ + JsonValue payload; + + if(m_greetingHasBeenSet) + { + payload.WithString("greeting", m_greeting); + + } + + if(m_nameHasBeenSet) + { + payload.WithString("name", m_name); + + } + + return payload; +} + +} // namespace Model +} // namespace RestJsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/NoInputAndNoOutputRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/NoInputAndNoOutputRequest.cpp new file mode 100644 index 00000000000..10df8074407 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/NoInputAndNoOutputRequest.cpp @@ -0,0 +1,26 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::RestJsonProtocol::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +NoInputAndNoOutputRequest::NoInputAndNoOutputRequest() +{ +} + +Aws::String NoInputAndNoOutputRequest::SerializePayload() const +{ + return {}; +} + + + + diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/NoInputAndOutputRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/NoInputAndOutputRequest.cpp new file mode 100644 index 00000000000..687119f83fc --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/NoInputAndOutputRequest.cpp @@ -0,0 +1,26 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::RestJsonProtocol::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +NoInputAndOutputRequest::NoInputAndOutputRequest() +{ +} + +Aws::String NoInputAndOutputRequest::SerializePayload() const +{ + return {}; +} + + + + diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/NoInputAndOutputResult.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/NoInputAndOutputResult.cpp new file mode 100644 index 00000000000..6023ebbd324 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/NoInputAndOutputResult.cpp @@ -0,0 +1,42 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::RestJsonProtocol::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +NoInputAndOutputResult::NoInputAndOutputResult() +{ +} + +NoInputAndOutputResult::NoInputAndOutputResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +NoInputAndOutputResult& NoInputAndOutputResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + AWS_UNREFERENCED_PARAM(result); + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/NullAndEmptyHeadersClientRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/NullAndEmptyHeadersClientRequest.cpp new file mode 100644 index 00000000000..a6523729351 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/NullAndEmptyHeadersClientRequest.cpp @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include + +#include +#include + +using namespace Aws::RestJsonProtocol::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +NullAndEmptyHeadersClientRequest::NullAndEmptyHeadersClientRequest() : + m_aHasBeenSet(false), + m_bHasBeenSet(false), + m_cHasBeenSet(false), + m_requestIdHasBeenSet(false) +{ +} + +Aws::String NullAndEmptyHeadersClientRequest::SerializePayload() const +{ + return {}; +} + +Aws::Http::HeaderValueCollection NullAndEmptyHeadersClientRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_aHasBeenSet) + { + ss << m_a; + headers.emplace("x-a", ss.str()); + ss.str(""); + } + + if(m_bHasBeenSet) + { + ss << m_b; + headers.emplace("x-b", ss.str()); + ss.str(""); + } + + if(m_cHasBeenSet) + { + headers.emplace("x-c", std::accumulate(std::begin(m_c), + std::end(m_c), + Aws::String{}, + [](const Aws::String &acc, const Aws::String &item) -> Aws::String { + const auto headerValue = item; + return acc.empty() ? headerValue : acc + "," + headerValue; + })); + } + + if(m_requestIdHasBeenSet) + { + ss << m_requestId; + headers.emplace("x-amzn-requestid", ss.str()); + ss.str(""); + } + + return headers; + +} + + + + diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/NullAndEmptyHeadersClientResult.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/NullAndEmptyHeadersClientResult.cpp new file mode 100644 index 00000000000..8a70f6575b9 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/NullAndEmptyHeadersClientResult.cpp @@ -0,0 +1,59 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::RestJsonProtocol::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +NullAndEmptyHeadersClientResult::NullAndEmptyHeadersClientResult() +{ +} + +NullAndEmptyHeadersClientResult::NullAndEmptyHeadersClientResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +NullAndEmptyHeadersClientResult& NullAndEmptyHeadersClientResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + AWS_UNREFERENCED_PARAM(result); + + const auto& headers = result.GetHeaderValueCollection(); + const auto& aIter = headers.find("x-a"); + if(aIter != headers.end()) + { + m_a = aIter->second; + } + + const auto& bIter = headers.find("x-b"); + if(bIter != headers.end()) + { + m_b = bIter->second; + } + + const auto& cIter = headers.find("x-c"); + if(cIter != headers.end()) + { + } + + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/NullAndEmptyHeadersServerRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/NullAndEmptyHeadersServerRequest.cpp new file mode 100644 index 00000000000..31be1665236 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/NullAndEmptyHeadersServerRequest.cpp @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include + +#include +#include + +using namespace Aws::RestJsonProtocol::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +NullAndEmptyHeadersServerRequest::NullAndEmptyHeadersServerRequest() : + m_aHasBeenSet(false), + m_bHasBeenSet(false), + m_cHasBeenSet(false), + m_requestIdHasBeenSet(false) +{ +} + +Aws::String NullAndEmptyHeadersServerRequest::SerializePayload() const +{ + return {}; +} + +Aws::Http::HeaderValueCollection NullAndEmptyHeadersServerRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_aHasBeenSet) + { + ss << m_a; + headers.emplace("x-a", ss.str()); + ss.str(""); + } + + if(m_bHasBeenSet) + { + ss << m_b; + headers.emplace("x-b", ss.str()); + ss.str(""); + } + + if(m_cHasBeenSet) + { + headers.emplace("x-c", std::accumulate(std::begin(m_c), + std::end(m_c), + Aws::String{}, + [](const Aws::String &acc, const Aws::String &item) -> Aws::String { + const auto headerValue = item; + return acc.empty() ? headerValue : acc + "," + headerValue; + })); + } + + if(m_requestIdHasBeenSet) + { + ss << m_requestId; + headers.emplace("x-amzn-requestid", ss.str()); + ss.str(""); + } + + return headers; + +} + + + + diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/NullAndEmptyHeadersServerResult.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/NullAndEmptyHeadersServerResult.cpp new file mode 100644 index 00000000000..655472f67b3 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/NullAndEmptyHeadersServerResult.cpp @@ -0,0 +1,59 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::RestJsonProtocol::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +NullAndEmptyHeadersServerResult::NullAndEmptyHeadersServerResult() +{ +} + +NullAndEmptyHeadersServerResult::NullAndEmptyHeadersServerResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +NullAndEmptyHeadersServerResult& NullAndEmptyHeadersServerResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + AWS_UNREFERENCED_PARAM(result); + + const auto& headers = result.GetHeaderValueCollection(); + const auto& aIter = headers.find("x-a"); + if(aIter != headers.end()) + { + m_a = aIter->second; + } + + const auto& bIter = headers.find("x-b"); + if(bIter != headers.end()) + { + m_b = bIter->second; + } + + const auto& cIter = headers.find("x-c"); + if(cIter != headers.end()) + { + } + + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/OmitsNullSerializesEmptyStringRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/OmitsNullSerializesEmptyStringRequest.cpp new file mode 100644 index 00000000000..a12c9d85851 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/OmitsNullSerializesEmptyStringRequest.cpp @@ -0,0 +1,49 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::RestJsonProtocol::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws::Http; + +OmitsNullSerializesEmptyStringRequest::OmitsNullSerializesEmptyStringRequest() : + m_nullValueHasBeenSet(false), + m_emptyStringHasBeenSet(false) +{ +} + +Aws::String OmitsNullSerializesEmptyStringRequest::SerializePayload() const +{ + return {}; +} + +void OmitsNullSerializesEmptyStringRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(m_nullValueHasBeenSet) + { + ss << m_nullValue; + uri.AddQueryStringParameter("Null", ss.str()); + ss.str(""); + } + + if(m_emptyStringHasBeenSet) + { + ss << m_emptyString; + uri.AddQueryStringParameter("Empty", ss.str()); + ss.str(""); + } + +} + + + diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/OmitsSerializingEmptyListsRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/OmitsSerializingEmptyListsRequest.cpp new file mode 100644 index 00000000000..dbfb61fbcd3 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/OmitsSerializingEmptyListsRequest.cpp @@ -0,0 +1,110 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::RestJsonProtocol::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws::Http; + +OmitsSerializingEmptyListsRequest::OmitsSerializingEmptyListsRequest() : + m_queryStringListHasBeenSet(false), + m_queryIntegerListHasBeenSet(false), + m_queryDoubleListHasBeenSet(false), + m_queryBooleanListHasBeenSet(false), + m_queryTimestampListHasBeenSet(false), + m_queryEnumListHasBeenSet(false), + m_queryIntegerEnumListHasBeenSet(false) +{ +} + +Aws::String OmitsSerializingEmptyListsRequest::SerializePayload() const +{ + return {}; +} + +void OmitsSerializingEmptyListsRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(m_queryStringListHasBeenSet) + { + for(const auto& item : m_queryStringList) + { + ss << item; + uri.AddQueryStringParameter("StringList", ss.str()); + ss.str(""); + } + } + + if(m_queryIntegerListHasBeenSet) + { + for(const auto& item : m_queryIntegerList) + { + ss << item; + uri.AddQueryStringParameter("IntegerList", ss.str()); + ss.str(""); + } + } + + if(m_queryDoubleListHasBeenSet) + { + for(const auto& item : m_queryDoubleList) + { + ss << item; + uri.AddQueryStringParameter("DoubleList", ss.str()); + ss.str(""); + } + } + + if(m_queryBooleanListHasBeenSet) + { + for(const auto& item : m_queryBooleanList) + { + ss << item; + uri.AddQueryStringParameter("BooleanList", ss.str()); + ss.str(""); + } + } + + if(m_queryTimestampListHasBeenSet) + { + for(const auto& item : m_queryTimestampList) + { + ss << item.ToGmtString(Aws::Utils::DateFormat::ISO_8601); + uri.AddQueryStringParameter("TimestampList", ss.str()); + ss.str(""); + } + } + + if(m_queryEnumListHasBeenSet) + { + for(const auto& item : m_queryEnumList) + { + ss << FooEnumMapper::GetNameForFooEnum(item); + uri.AddQueryStringParameter("EnumList", ss.str()); + ss.str(""); + } + } + + if(m_queryIntegerEnumListHasBeenSet) + { + for(const auto& item : m_queryIntegerEnumList) + { + ss << item; + uri.AddQueryStringParameter("IntegerEnumList", ss.str()); + ss.str(""); + } + } + +} + + + diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/PayloadConfig.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/PayloadConfig.cpp new file mode 100644 index 00000000000..022a6a2a3cd --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/PayloadConfig.cpp @@ -0,0 +1,60 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace RestJsonProtocol +{ +namespace Model +{ + +PayloadConfig::PayloadConfig() : + m_data(0), + m_dataHasBeenSet(false) +{ +} + +PayloadConfig::PayloadConfig(JsonView jsonValue) + : PayloadConfig() +{ + *this = jsonValue; +} + +PayloadConfig& PayloadConfig::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("data")) + { + m_data = jsonValue.GetInteger("data"); + + m_dataHasBeenSet = true; + } + + return *this; +} + +JsonValue PayloadConfig::Jsonize() const +{ + JsonValue payload; + + if(m_dataHasBeenSet) + { + payload.WithInteger("data", m_data); + + } + + return payload; +} + +} // namespace Model +} // namespace RestJsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/PostUnionWithJsonNameRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/PostUnionWithJsonNameRequest.cpp new file mode 100644 index 00000000000..6a7af3d58dd --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/PostUnionWithJsonNameRequest.cpp @@ -0,0 +1,35 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::RestJsonProtocol::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +PostUnionWithJsonNameRequest::PostUnionWithJsonNameRequest() : + m_valueHasBeenSet(false) +{ +} + +Aws::String PostUnionWithJsonNameRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_valueHasBeenSet) + { + payload.WithObject("value", m_value.Jsonize()); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/PostUnionWithJsonNameResult.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/PostUnionWithJsonNameResult.cpp new file mode 100644 index 00000000000..8081a5e11ff --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/PostUnionWithJsonNameResult.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::RestJsonProtocol::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +PostUnionWithJsonNameResult::PostUnionWithJsonNameResult() +{ +} + +PostUnionWithJsonNameResult::PostUnionWithJsonNameResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +PostUnionWithJsonNameResult& PostUnionWithJsonNameResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("value")) + { + m_value = jsonValue.GetObject("value"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/PutWithContentEncodingRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/PutWithContentEncodingRequest.cpp new file mode 100644 index 00000000000..d26e8ef5507 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/PutWithContentEncodingRequest.cpp @@ -0,0 +1,76 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include + +#include + +using namespace Aws::RestJsonProtocol::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +PutWithContentEncodingRequest::PutWithContentEncodingRequest() : + m_encodingHasBeenSet(false), + m_dataHasBeenSet(false) +{ +} + +Aws::String PutWithContentEncodingRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_dataHasBeenSet) + { + payload.WithString("data", m_data); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection PutWithContentEncodingRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_encodingHasBeenSet) + { + ss << m_encoding; + headers.emplace("content-encoding", ss.str()); + ss.str(""); + } + + return headers; + +} + + + +#ifdef ENABLED_ZLIB_REQUEST_COMPRESSION +Aws::Client::CompressionAlgorithm PutWithContentEncodingRequest::GetSelectedCompressionAlgorithm(Aws::Client::RequestCompressionConfig config) const +{ + if (config.useRequestCompression == Aws::Client::UseRequestCompression::DISABLE) + { + return Aws::Client::CompressionAlgorithm::NONE; + } + + const auto& body = AmazonSerializableWebServiceRequest::GetBody(); + body->seekg(0, body->end); + size_t bodySize = body->tellg(); + body->seekg(0, body->beg); + if ( bodySize < config.requestMinCompressionSizeBytes) + { + return Aws::Client::CompressionAlgorithm::NONE; + } + else + { + return Aws::Client::CompressionAlgorithm::GZIP; + } +} +#endif + + + diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/QueryIdempotencyTokenAutoFillRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/QueryIdempotencyTokenAutoFillRequest.cpp new file mode 100644 index 00000000000..2ad7d5768e9 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/QueryIdempotencyTokenAutoFillRequest.cpp @@ -0,0 +1,42 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::RestJsonProtocol::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws::Http; + +QueryIdempotencyTokenAutoFillRequest::QueryIdempotencyTokenAutoFillRequest() : + m_token(Aws::Utils::UUID::PseudoRandomUUID()), + m_tokenHasBeenSet(true) +{ +} + +Aws::String QueryIdempotencyTokenAutoFillRequest::SerializePayload() const +{ + return {}; +} + +void QueryIdempotencyTokenAutoFillRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(m_tokenHasBeenSet) + { + ss << m_token; + uri.AddQueryStringParameter("token", ss.str()); + ss.str(""); + } + +} + + + diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/QueryParamsAsStringListMapRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/QueryParamsAsStringListMapRequest.cpp new file mode 100644 index 00000000000..f8839f67071 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/QueryParamsAsStringListMapRequest.cpp @@ -0,0 +1,55 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::RestJsonProtocol::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws::Http; + +QueryParamsAsStringListMapRequest::QueryParamsAsStringListMapRequest() : + m_quxHasBeenSet(false), + m_fooHasBeenSet(false) +{ +} + +Aws::String QueryParamsAsStringListMapRequest::SerializePayload() const +{ + return {}; +} + +void QueryParamsAsStringListMapRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(m_quxHasBeenSet) + { + ss << m_qux; + uri.AddQueryStringParameter("corge", ss.str()); + ss.str(""); + } + + if(m_fooHasBeenSet) + { + for(auto& item : m_foo) + { + for(auto& innerItem : item.second) + { + ss << innerItem; + uri.AddQueryStringParameter(item.first.c_str(), ss.str()); + ss.str(""); + } + } + } + +} + + + diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/QueryPrecedenceRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/QueryPrecedenceRequest.cpp new file mode 100644 index 00000000000..319a097da17 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/QueryPrecedenceRequest.cpp @@ -0,0 +1,52 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::RestJsonProtocol::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws::Http; + +QueryPrecedenceRequest::QueryPrecedenceRequest() : + m_fooHasBeenSet(false), + m_bazHasBeenSet(false) +{ +} + +Aws::String QueryPrecedenceRequest::SerializePayload() const +{ + return {}; +} + +void QueryPrecedenceRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(m_fooHasBeenSet) + { + ss << m_foo; + uri.AddQueryStringParameter("bar", ss.str()); + ss.str(""); + } + + if(m_bazHasBeenSet) + { + for(auto& item : m_baz) + { + ss << item.second; + uri.AddQueryStringParameter(item.first.c_str(), ss.str()); + ss.str(""); + } + } + +} + + + diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/RecursiveShapesInputOutputNested1.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/RecursiveShapesInputOutputNested1.cpp new file mode 100644 index 00000000000..b6ac7a15e73 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/RecursiveShapesInputOutputNested1.cpp @@ -0,0 +1,81 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace RestJsonProtocol +{ +namespace Model +{ + +RecursiveShapesInputOutputNested1::RecursiveShapesInputOutputNested1() : + m_fooHasBeenSet(false), + m_nestedHasBeenSet(false) +{ +} + +RecursiveShapesInputOutputNested1::RecursiveShapesInputOutputNested1(JsonView jsonValue) + : RecursiveShapesInputOutputNested1() +{ + *this = jsonValue; +} + +const RecursiveShapesInputOutputNested2& RecursiveShapesInputOutputNested1::GetNested() const{ return *m_nested; } +bool RecursiveShapesInputOutputNested1::NestedHasBeenSet() const { return m_nestedHasBeenSet; } +void RecursiveShapesInputOutputNested1::SetNested(const RecursiveShapesInputOutputNested2& value) { m_nestedHasBeenSet = true; m_nested = Aws::MakeShared("RecursiveShapesInputOutputNested1", value); } +void RecursiveShapesInputOutputNested1::SetNested(RecursiveShapesInputOutputNested2&& value) { m_nestedHasBeenSet = true; m_nested = Aws::MakeShared("RecursiveShapesInputOutputNested1", std::move(value)); } +RecursiveShapesInputOutputNested1& RecursiveShapesInputOutputNested1::WithNested(const RecursiveShapesInputOutputNested2& value) { SetNested(value); return *this;} +RecursiveShapesInputOutputNested1& RecursiveShapesInputOutputNested1::WithNested(RecursiveShapesInputOutputNested2&& value) { SetNested(std::move(value)); return *this;} + +RecursiveShapesInputOutputNested1& RecursiveShapesInputOutputNested1::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("foo")) + { + m_foo = jsonValue.GetString("foo"); + + m_fooHasBeenSet = true; + } + + if(jsonValue.ValueExists("nested")) + { + m_nested = Aws::MakeShared("RecursiveShapesInputOutputNested1", jsonValue.GetObject("nested")); + + m_nestedHasBeenSet = true; + } + + return *this; +} + +JsonValue RecursiveShapesInputOutputNested1::Jsonize() const +{ + JsonValue payload; + + if(m_fooHasBeenSet) + { + payload.WithString("foo", m_foo); + + } + + if(m_nestedHasBeenSet) + { + payload.WithObject("nested", m_nested->Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace RestJsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/RecursiveShapesInputOutputNested2.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/RecursiveShapesInputOutputNested2.cpp new file mode 100644 index 00000000000..2ec3190d569 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/RecursiveShapesInputOutputNested2.cpp @@ -0,0 +1,81 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace RestJsonProtocol +{ +namespace Model +{ + +RecursiveShapesInputOutputNested2::RecursiveShapesInputOutputNested2() : + m_barHasBeenSet(false), + m_recursiveMemberHasBeenSet(false) +{ +} + +RecursiveShapesInputOutputNested2::RecursiveShapesInputOutputNested2(JsonView jsonValue) + : RecursiveShapesInputOutputNested2() +{ + *this = jsonValue; +} + +const RecursiveShapesInputOutputNested1& RecursiveShapesInputOutputNested2::GetRecursiveMember() const{ return *m_recursiveMember; } +bool RecursiveShapesInputOutputNested2::RecursiveMemberHasBeenSet() const { return m_recursiveMemberHasBeenSet; } +void RecursiveShapesInputOutputNested2::SetRecursiveMember(const RecursiveShapesInputOutputNested1& value) { m_recursiveMemberHasBeenSet = true; m_recursiveMember = Aws::MakeShared("RecursiveShapesInputOutputNested2", value); } +void RecursiveShapesInputOutputNested2::SetRecursiveMember(RecursiveShapesInputOutputNested1&& value) { m_recursiveMemberHasBeenSet = true; m_recursiveMember = Aws::MakeShared("RecursiveShapesInputOutputNested2", std::move(value)); } +RecursiveShapesInputOutputNested2& RecursiveShapesInputOutputNested2::WithRecursiveMember(const RecursiveShapesInputOutputNested1& value) { SetRecursiveMember(value); return *this;} +RecursiveShapesInputOutputNested2& RecursiveShapesInputOutputNested2::WithRecursiveMember(RecursiveShapesInputOutputNested1&& value) { SetRecursiveMember(std::move(value)); return *this;} + +RecursiveShapesInputOutputNested2& RecursiveShapesInputOutputNested2::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("bar")) + { + m_bar = jsonValue.GetString("bar"); + + m_barHasBeenSet = true; + } + + if(jsonValue.ValueExists("recursiveMember")) + { + m_recursiveMember = Aws::MakeShared("RecursiveShapesInputOutputNested2", jsonValue.GetObject("recursiveMember")); + + m_recursiveMemberHasBeenSet = true; + } + + return *this; +} + +JsonValue RecursiveShapesInputOutputNested2::Jsonize() const +{ + JsonValue payload; + + if(m_barHasBeenSet) + { + payload.WithString("bar", m_bar); + + } + + if(m_recursiveMemberHasBeenSet) + { + payload.WithObject("recursiveMember", m_recursiveMember->Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace RestJsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/RecursiveShapesRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/RecursiveShapesRequest.cpp new file mode 100644 index 00000000000..9b3f6bfaf9d --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/RecursiveShapesRequest.cpp @@ -0,0 +1,52 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include + +#include + +using namespace Aws::RestJsonProtocol::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +RecursiveShapesRequest::RecursiveShapesRequest() : + m_nestedHasBeenSet(false), + m_requestIdHasBeenSet(false) +{ +} + +Aws::String RecursiveShapesRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_nestedHasBeenSet) + { + payload.WithObject("nested", m_nested.Jsonize()); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection RecursiveShapesRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_requestIdHasBeenSet) + { + ss << m_requestId; + headers.emplace("x-amzn-requestid", ss.str()); + ss.str(""); + } + + return headers; + +} + + + + diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/RecursiveShapesResult.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/RecursiveShapesResult.cpp new file mode 100644 index 00000000000..ba96ec6b0a6 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/RecursiveShapesResult.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::RestJsonProtocol::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +RecursiveShapesResult::RecursiveShapesResult() +{ +} + +RecursiveShapesResult::RecursiveShapesResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +RecursiveShapesResult& RecursiveShapesResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("nested")) + { + m_nested = jsonValue.GetObject("nested"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/RenamedGreeting.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/RenamedGreeting.cpp new file mode 100644 index 00000000000..d7e4cdc4228 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/RenamedGreeting.cpp @@ -0,0 +1,59 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace RestJsonProtocol +{ +namespace Model +{ + +RenamedGreeting::RenamedGreeting() : + m_salutationHasBeenSet(false) +{ +} + +RenamedGreeting::RenamedGreeting(JsonView jsonValue) + : RenamedGreeting() +{ + *this = jsonValue; +} + +RenamedGreeting& RenamedGreeting::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("salutation")) + { + m_salutation = jsonValue.GetString("salutation"); + + m_salutationHasBeenSet = true; + } + + return *this; +} + +JsonValue RenamedGreeting::Jsonize() const +{ + JsonValue payload; + + if(m_salutationHasBeenSet) + { + payload.WithString("salutation", m_salutation); + + } + + return payload; +} + +} // namespace Model +} // namespace RestJsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/ResponseCodeHttpFallbackRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/ResponseCodeHttpFallbackRequest.cpp new file mode 100644 index 00000000000..8809449edd8 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/ResponseCodeHttpFallbackRequest.cpp @@ -0,0 +1,43 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include + +#include + +using namespace Aws::RestJsonProtocol::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +ResponseCodeHttpFallbackRequest::ResponseCodeHttpFallbackRequest() : + m_requestIdHasBeenSet(false) +{ +} + +Aws::String ResponseCodeHttpFallbackRequest::SerializePayload() const +{ + return {}; +} + +Aws::Http::HeaderValueCollection ResponseCodeHttpFallbackRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_requestIdHasBeenSet) + { + ss << m_requestId; + headers.emplace("x-amzn-requestid", ss.str()); + ss.str(""); + } + + return headers; + +} + + + + diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/ResponseCodeHttpFallbackResult.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/ResponseCodeHttpFallbackResult.cpp new file mode 100644 index 00000000000..7ba6e84b103 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/ResponseCodeHttpFallbackResult.cpp @@ -0,0 +1,42 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::RestJsonProtocol::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +ResponseCodeHttpFallbackResult::ResponseCodeHttpFallbackResult() +{ +} + +ResponseCodeHttpFallbackResult::ResponseCodeHttpFallbackResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +ResponseCodeHttpFallbackResult& ResponseCodeHttpFallbackResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + AWS_UNREFERENCED_PARAM(result); + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/ResponseCodeRequiredRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/ResponseCodeRequiredRequest.cpp new file mode 100644 index 00000000000..83793ba42e9 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/ResponseCodeRequiredRequest.cpp @@ -0,0 +1,26 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::RestJsonProtocol::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +ResponseCodeRequiredRequest::ResponseCodeRequiredRequest() +{ +} + +Aws::String ResponseCodeRequiredRequest::SerializePayload() const +{ + return {}; +} + + + + diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/ResponseCodeRequiredResult.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/ResponseCodeRequiredResult.cpp new file mode 100644 index 00000000000..a629dc17a3a --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/ResponseCodeRequiredResult.cpp @@ -0,0 +1,46 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::RestJsonProtocol::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +ResponseCodeRequiredResult::ResponseCodeRequiredResult() : + m_responseCode(0) +{ +} + +ResponseCodeRequiredResult::ResponseCodeRequiredResult(const Aws::AmazonWebServiceResult& result) + : ResponseCodeRequiredResult() +{ + *this = result; +} + +ResponseCodeRequiredResult& ResponseCodeRequiredResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + AWS_UNREFERENCED_PARAM(result); + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + m_responseCode = static_cast(result.GetResponseCode()); + + return *this; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/SimpleScalarPropertiesRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/SimpleScalarPropertiesRequest.cpp new file mode 100644 index 00000000000..504e96c2e21 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/SimpleScalarPropertiesRequest.cpp @@ -0,0 +1,124 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include + +#include + +using namespace Aws::RestJsonProtocol::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +SimpleScalarPropertiesRequest::SimpleScalarPropertiesRequest() : + m_fooHasBeenSet(false), + m_stringValueHasBeenSet(false), + m_trueBooleanValue(false), + m_trueBooleanValueHasBeenSet(false), + m_falseBooleanValue(false), + m_falseBooleanValueHasBeenSet(false), + m_byteValue(0), + m_byteValueHasBeenSet(false), + m_shortValue(0), + m_shortValueHasBeenSet(false), + m_integerValue(0), + m_integerValueHasBeenSet(false), + m_longValue(0), + m_longValueHasBeenSet(false), + m_floatValue(0.0), + m_floatValueHasBeenSet(false), + m_doubleValue(0.0), + m_doubleValueHasBeenSet(false), + m_requestIdHasBeenSet(false) +{ +} + +Aws::String SimpleScalarPropertiesRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_stringValueHasBeenSet) + { + payload.WithString("stringValue", m_stringValue); + + } + + if(m_trueBooleanValueHasBeenSet) + { + payload.WithBool("trueBooleanValue", m_trueBooleanValue); + + } + + if(m_falseBooleanValueHasBeenSet) + { + payload.WithBool("falseBooleanValue", m_falseBooleanValue); + + } + + if(m_byteValueHasBeenSet) + { + payload.WithInteger("byteValue", m_byteValue); + + } + + if(m_shortValueHasBeenSet) + { + payload.WithInteger("shortValue", m_shortValue); + + } + + if(m_integerValueHasBeenSet) + { + payload.WithInteger("integerValue", m_integerValue); + + } + + if(m_longValueHasBeenSet) + { + payload.WithInt64("longValue", m_longValue); + + } + + if(m_floatValueHasBeenSet) + { + payload.WithDouble("floatValue", m_floatValue); + + } + + if(m_doubleValueHasBeenSet) + { + payload.WithDouble("DoubleDribble", m_doubleValue); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection SimpleScalarPropertiesRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_fooHasBeenSet) + { + ss << m_foo; + headers.emplace("x-foo", ss.str()); + ss.str(""); + } + + if(m_requestIdHasBeenSet) + { + ss << m_requestId; + headers.emplace("x-amzn-requestid", ss.str()); + ss.str(""); + } + + return headers; + +} + + + + diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/SimpleScalarPropertiesResult.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/SimpleScalarPropertiesResult.cpp new file mode 100644 index 00000000000..78c1d3777eb --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/SimpleScalarPropertiesResult.cpp @@ -0,0 +1,111 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::RestJsonProtocol::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +SimpleScalarPropertiesResult::SimpleScalarPropertiesResult() : + m_trueBooleanValue(false), + m_falseBooleanValue(false), + m_byteValue(0), + m_shortValue(0), + m_integerValue(0), + m_longValue(0), + m_floatValue(0.0), + m_doubleValue(0.0) +{ +} + +SimpleScalarPropertiesResult::SimpleScalarPropertiesResult(const Aws::AmazonWebServiceResult& result) + : SimpleScalarPropertiesResult() +{ + *this = result; +} + +SimpleScalarPropertiesResult& SimpleScalarPropertiesResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("stringValue")) + { + m_stringValue = jsonValue.GetString("stringValue"); + + } + + if(jsonValue.ValueExists("trueBooleanValue")) + { + m_trueBooleanValue = jsonValue.GetBool("trueBooleanValue"); + + } + + if(jsonValue.ValueExists("falseBooleanValue")) + { + m_falseBooleanValue = jsonValue.GetBool("falseBooleanValue"); + + } + + if(jsonValue.ValueExists("byteValue")) + { + m_byteValue = jsonValue.GetInteger("byteValue"); + + } + + if(jsonValue.ValueExists("shortValue")) + { + m_shortValue = jsonValue.GetInteger("shortValue"); + + } + + if(jsonValue.ValueExists("integerValue")) + { + m_integerValue = jsonValue.GetInteger("integerValue"); + + } + + if(jsonValue.ValueExists("longValue")) + { + m_longValue = jsonValue.GetInt64("longValue"); + + } + + if(jsonValue.ValueExists("floatValue")) + { + m_floatValue = jsonValue.GetDouble("floatValue"); + + } + + if(jsonValue.ValueExists("DoubleDribble")) + { + m_doubleValue = jsonValue.GetDouble("DoubleDribble"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& fooIter = headers.find("x-foo"); + if(fooIter != headers.end()) + { + m_foo = fooIter->second; + } + + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/StringEnum.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/StringEnum.cpp new file mode 100644 index 00000000000..f90c3937888 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/StringEnum.cpp @@ -0,0 +1,65 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace RestJsonProtocol + { + namespace Model + { + namespace StringEnumMapper + { + + static const int enumvalue_HASH = HashingUtils::HashString("enumvalue"); + + + StringEnum GetStringEnumForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == enumvalue_HASH) + { + return StringEnum::enumvalue; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return StringEnum::NOT_SET; + } + + Aws::String GetNameForStringEnum(StringEnum enumValue) + { + switch(enumValue) + { + case StringEnum::NOT_SET: + return {}; + case StringEnum::enumvalue: + return "enumvalue"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace StringEnumMapper + } // namespace Model + } // namespace RestJsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/StructureListMember.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/StructureListMember.cpp new file mode 100644 index 00000000000..308247a9840 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/StructureListMember.cpp @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace RestJsonProtocol +{ +namespace Model +{ + +StructureListMember::StructureListMember() : + m_aHasBeenSet(false), + m_bHasBeenSet(false) +{ +} + +StructureListMember::StructureListMember(JsonView jsonValue) + : StructureListMember() +{ + *this = jsonValue; +} + +StructureListMember& StructureListMember::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("value")) + { + m_a = jsonValue.GetString("value"); + + m_aHasBeenSet = true; + } + + if(jsonValue.ValueExists("other")) + { + m_b = jsonValue.GetString("other"); + + m_bHasBeenSet = true; + } + + return *this; +} + +JsonValue StructureListMember::Jsonize() const +{ + JsonValue payload; + + if(m_aHasBeenSet) + { + payload.WithString("value", m_a); + + } + + if(m_bHasBeenSet) + { + payload.WithString("other", m_b); + + } + + return payload; +} + +} // namespace Model +} // namespace RestJsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/TestBodyStructureRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/TestBodyStructureRequest.cpp new file mode 100644 index 00000000000..36c91697eda --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/TestBodyStructureRequest.cpp @@ -0,0 +1,60 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include + +#include + +using namespace Aws::RestJsonProtocol::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +TestBodyStructureRequest::TestBodyStructureRequest() : + m_testIdHasBeenSet(false), + m_testConfigHasBeenSet(false), + m_requestIdHasBeenSet(false) +{ +} + +Aws::String TestBodyStructureRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_testConfigHasBeenSet) + { + payload.WithObject("testConfig", m_testConfig.Jsonize()); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection TestBodyStructureRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_testIdHasBeenSet) + { + ss << m_testId; + headers.emplace("x-amz-test-id", ss.str()); + ss.str(""); + } + + if(m_requestIdHasBeenSet) + { + ss << m_requestId; + headers.emplace("x-amzn-requestid", ss.str()); + ss.str(""); + } + + return headers; + +} + + + + diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/TestBodyStructureResult.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/TestBodyStructureResult.cpp new file mode 100644 index 00000000000..a1bb014e901 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/TestBodyStructureResult.cpp @@ -0,0 +1,54 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::RestJsonProtocol::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +TestBodyStructureResult::TestBodyStructureResult() +{ +} + +TestBodyStructureResult::TestBodyStructureResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +TestBodyStructureResult& TestBodyStructureResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("testConfig")) + { + m_testConfig = jsonValue.GetObject("testConfig"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& testIdIter = headers.find("x-amz-test-id"); + if(testIdIter != headers.end()) + { + m_testId = testIdIter->second; + } + + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/TestConfig.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/TestConfig.cpp new file mode 100644 index 00000000000..c8155fe76e2 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/TestConfig.cpp @@ -0,0 +1,60 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace RestJsonProtocol +{ +namespace Model +{ + +TestConfig::TestConfig() : + m_timeout(0), + m_timeoutHasBeenSet(false) +{ +} + +TestConfig::TestConfig(JsonView jsonValue) + : TestConfig() +{ + *this = jsonValue; +} + +TestConfig& TestConfig::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("timeout")) + { + m_timeout = jsonValue.GetInteger("timeout"); + + m_timeoutHasBeenSet = true; + } + + return *this; +} + +JsonValue TestConfig::Jsonize() const +{ + JsonValue payload; + + if(m_timeoutHasBeenSet) + { + payload.WithInteger("timeout", m_timeout); + + } + + return payload; +} + +} // namespace Model +} // namespace RestJsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/TestGetNoInputNoPayloadRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/TestGetNoInputNoPayloadRequest.cpp new file mode 100644 index 00000000000..e227b114042 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/TestGetNoInputNoPayloadRequest.cpp @@ -0,0 +1,26 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::RestJsonProtocol::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +TestGetNoInputNoPayloadRequest::TestGetNoInputNoPayloadRequest() +{ +} + +Aws::String TestGetNoInputNoPayloadRequest::SerializePayload() const +{ + return {}; +} + + + + diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/TestGetNoInputNoPayloadResult.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/TestGetNoInputNoPayloadResult.cpp new file mode 100644 index 00000000000..d059c330465 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/TestGetNoInputNoPayloadResult.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::RestJsonProtocol::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +TestGetNoInputNoPayloadResult::TestGetNoInputNoPayloadResult() +{ +} + +TestGetNoInputNoPayloadResult::TestGetNoInputNoPayloadResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +TestGetNoInputNoPayloadResult& TestGetNoInputNoPayloadResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + AWS_UNREFERENCED_PARAM(result); + + const auto& headers = result.GetHeaderValueCollection(); + const auto& testIdIter = headers.find("x-amz-test-id"); + if(testIdIter != headers.end()) + { + m_testId = testIdIter->second; + } + + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/TestGetNoPayloadRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/TestGetNoPayloadRequest.cpp new file mode 100644 index 00000000000..f821e73f415 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/TestGetNoPayloadRequest.cpp @@ -0,0 +1,51 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include + +#include + +using namespace Aws::RestJsonProtocol::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +TestGetNoPayloadRequest::TestGetNoPayloadRequest() : + m_testIdHasBeenSet(false), + m_requestIdHasBeenSet(false) +{ +} + +Aws::String TestGetNoPayloadRequest::SerializePayload() const +{ + return {}; +} + +Aws::Http::HeaderValueCollection TestGetNoPayloadRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_testIdHasBeenSet) + { + ss << m_testId; + headers.emplace("x-amz-test-id", ss.str()); + ss.str(""); + } + + if(m_requestIdHasBeenSet) + { + ss << m_requestId; + headers.emplace("x-amzn-requestid", ss.str()); + ss.str(""); + } + + return headers; + +} + + + + diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/TestGetNoPayloadResult.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/TestGetNoPayloadResult.cpp new file mode 100644 index 00000000000..0c59906b7c8 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/TestGetNoPayloadResult.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::RestJsonProtocol::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +TestGetNoPayloadResult::TestGetNoPayloadResult() +{ +} + +TestGetNoPayloadResult::TestGetNoPayloadResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +TestGetNoPayloadResult& TestGetNoPayloadResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + AWS_UNREFERENCED_PARAM(result); + + const auto& headers = result.GetHeaderValueCollection(); + const auto& testIdIter = headers.find("x-amz-test-id"); + if(testIdIter != headers.end()) + { + m_testId = testIdIter->second; + } + + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/TestPayloadBlobRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/TestPayloadBlobRequest.cpp new file mode 100644 index 00000000000..d0711f09225 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/TestPayloadBlobRequest.cpp @@ -0,0 +1,38 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::RestJsonProtocol::Model; +using namespace Aws::Utils::Stream; +using namespace Aws::Utils; +using namespace Aws; + +TestPayloadBlobRequest::TestPayloadBlobRequest() : + m_requestIdHasBeenSet(false) +{ +} + + + +Aws::Http::HeaderValueCollection TestPayloadBlobRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_requestIdHasBeenSet) + { + ss << m_requestId; + headers.emplace("x-amzn-requestid", ss.str()); + ss.str(""); + } + + return headers; + +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/TestPayloadBlobResult.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/TestPayloadBlobResult.cpp new file mode 100644 index 00000000000..9538ca1fdca --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/TestPayloadBlobResult.cpp @@ -0,0 +1,59 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +#include + +using namespace Aws::RestJsonProtocol::Model; +using namespace Aws::Utils::Stream; +using namespace Aws::Utils; +using namespace Aws; + +TestPayloadBlobResult::TestPayloadBlobResult() +{ +} + +TestPayloadBlobResult::TestPayloadBlobResult(TestPayloadBlobResult&& toMove) : + m_data(std::move(toMove.m_data)), + m_requestId(std::move(toMove.m_requestId)) +{ +} + +TestPayloadBlobResult& TestPayloadBlobResult::operator=(TestPayloadBlobResult&& toMove) +{ + if(this == &toMove) + { + return *this; + } + + m_data = std::move(toMove.m_data); + m_requestId = std::move(toMove.m_requestId); + + return *this; +} + +TestPayloadBlobResult::TestPayloadBlobResult(Aws::AmazonWebServiceResult&& result) +{ + *this = std::move(result); +} + +TestPayloadBlobResult& TestPayloadBlobResult::operator =(Aws::AmazonWebServiceResult&& result) +{ + m_data = result.TakeOwnershipOfPayload(); + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + return *this; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/TestPayloadStructureRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/TestPayloadStructureRequest.cpp new file mode 100644 index 00000000000..c6da1c65a7b --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/TestPayloadStructureRequest.cpp @@ -0,0 +1,59 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include + +#include + +using namespace Aws::RestJsonProtocol::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +TestPayloadStructureRequest::TestPayloadStructureRequest() : + m_testIdHasBeenSet(false), + m_payloadConfigHasBeenSet(false), + m_requestIdHasBeenSet(false) +{ +} + +Aws::String TestPayloadStructureRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_payloadConfigHasBeenSet) + { + payload = m_payloadConfig.Jsonize(); + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection TestPayloadStructureRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_testIdHasBeenSet) + { + ss << m_testId; + headers.emplace("x-amz-test-id", ss.str()); + ss.str(""); + } + + if(m_requestIdHasBeenSet) + { + ss << m_requestId; + headers.emplace("x-amzn-requestid", ss.str()); + ss.str(""); + } + + return headers; + +} + + + + diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/TestPayloadStructureResult.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/TestPayloadStructureResult.cpp new file mode 100644 index 00000000000..b752a720176 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/TestPayloadStructureResult.cpp @@ -0,0 +1,49 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::RestJsonProtocol::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +TestPayloadStructureResult::TestPayloadStructureResult() +{ +} + +TestPayloadStructureResult::TestPayloadStructureResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +TestPayloadStructureResult& TestPayloadStructureResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + m_payloadConfig = jsonValue; + + const auto& headers = result.GetHeaderValueCollection(); + const auto& testIdIter = headers.find("x-amz-test-id"); + if(testIdIter != headers.end()) + { + m_testId = testIdIter->second; + } + + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/TestPostNoInputNoPayloadRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/TestPostNoInputNoPayloadRequest.cpp new file mode 100644 index 00000000000..7870e65ece2 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/TestPostNoInputNoPayloadRequest.cpp @@ -0,0 +1,26 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::RestJsonProtocol::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +TestPostNoInputNoPayloadRequest::TestPostNoInputNoPayloadRequest() +{ +} + +Aws::String TestPostNoInputNoPayloadRequest::SerializePayload() const +{ + return {}; +} + + + + diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/TestPostNoInputNoPayloadResult.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/TestPostNoInputNoPayloadResult.cpp new file mode 100644 index 00000000000..910f2b9e3fb --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/TestPostNoInputNoPayloadResult.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::RestJsonProtocol::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +TestPostNoInputNoPayloadResult::TestPostNoInputNoPayloadResult() +{ +} + +TestPostNoInputNoPayloadResult::TestPostNoInputNoPayloadResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +TestPostNoInputNoPayloadResult& TestPostNoInputNoPayloadResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + AWS_UNREFERENCED_PARAM(result); + + const auto& headers = result.GetHeaderValueCollection(); + const auto& testIdIter = headers.find("x-amz-test-id"); + if(testIdIter != headers.end()) + { + m_testId = testIdIter->second; + } + + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/TestPostNoPayloadRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/TestPostNoPayloadRequest.cpp new file mode 100644 index 00000000000..529a63b8ab5 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/TestPostNoPayloadRequest.cpp @@ -0,0 +1,51 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include + +#include + +using namespace Aws::RestJsonProtocol::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +TestPostNoPayloadRequest::TestPostNoPayloadRequest() : + m_testIdHasBeenSet(false), + m_requestIdHasBeenSet(false) +{ +} + +Aws::String TestPostNoPayloadRequest::SerializePayload() const +{ + return {}; +} + +Aws::Http::HeaderValueCollection TestPostNoPayloadRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_testIdHasBeenSet) + { + ss << m_testId; + headers.emplace("x-amz-test-id", ss.str()); + ss.str(""); + } + + if(m_requestIdHasBeenSet) + { + ss << m_requestId; + headers.emplace("x-amzn-requestid", ss.str()); + ss.str(""); + } + + return headers; + +} + + + + diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/TestPostNoPayloadResult.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/TestPostNoPayloadResult.cpp new file mode 100644 index 00000000000..1250a4145ac --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/TestPostNoPayloadResult.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::RestJsonProtocol::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +TestPostNoPayloadResult::TestPostNoPayloadResult() +{ +} + +TestPostNoPayloadResult::TestPostNoPayloadResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +TestPostNoPayloadResult& TestPostNoPayloadResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + AWS_UNREFERENCED_PARAM(result); + + const auto& headers = result.GetHeaderValueCollection(); + const auto& testIdIter = headers.find("x-amz-test-id"); + if(testIdIter != headers.end()) + { + m_testId = testIdIter->second; + } + + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/TimestampFormatHeadersRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/TimestampFormatHeadersRequest.cpp new file mode 100644 index 00000000000..b302f30480a --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/TimestampFormatHeadersRequest.cpp @@ -0,0 +1,85 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include + +#include + +using namespace Aws::RestJsonProtocol::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +TimestampFormatHeadersRequest::TimestampFormatHeadersRequest() : + m_memberEpochSecondsHasBeenSet(false), + m_memberHttpDateHasBeenSet(false), + m_memberDateTimeHasBeenSet(false), + m_defaultFormatHasBeenSet(false), + m_targetEpochSecondsHasBeenSet(false), + m_targetHttpDateHasBeenSet(false), + m_targetDateTimeHasBeenSet(false), + m_requestIdHasBeenSet(false) +{ +} + +Aws::String TimestampFormatHeadersRequest::SerializePayload() const +{ + return {}; +} + +Aws::Http::HeaderValueCollection TimestampFormatHeadersRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_memberEpochSecondsHasBeenSet) + { + headers.emplace("x-memberepochseconds", m_memberEpochSeconds.ToGmtString(Aws::Utils::DateFormat::$CppViewHelper.computeTimestampFormatInHeader($member.shape))); + } + + if(m_memberHttpDateHasBeenSet) + { + headers.emplace("x-memberhttpdate", m_memberHttpDate.ToGmtString(Aws::Utils::DateFormat::RFC822)); + } + + if(m_memberDateTimeHasBeenSet) + { + headers.emplace("x-memberdatetime", m_memberDateTime.ToGmtString(Aws::Utils::DateFormat::ISO_8601)); + } + + if(m_defaultFormatHasBeenSet) + { + headers.emplace("x-defaultformat", m_defaultFormat.ToGmtString(Aws::Utils::DateFormat::RFC822)); + } + + if(m_targetEpochSecondsHasBeenSet) + { + headers.emplace("x-targetepochseconds", m_targetEpochSeconds.ToGmtString(Aws::Utils::DateFormat::$CppViewHelper.computeTimestampFormatInHeader($member.shape))); + } + + if(m_targetHttpDateHasBeenSet) + { + headers.emplace("x-targethttpdate", m_targetHttpDate.ToGmtString(Aws::Utils::DateFormat::RFC822)); + } + + if(m_targetDateTimeHasBeenSet) + { + headers.emplace("x-targetdatetime", m_targetDateTime.ToGmtString(Aws::Utils::DateFormat::ISO_8601)); + } + + if(m_requestIdHasBeenSet) + { + ss << m_requestId; + headers.emplace("x-amzn-requestid", ss.str()); + ss.str(""); + } + + return headers; + +} + + + + diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/TimestampFormatHeadersResult.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/TimestampFormatHeadersResult.cpp new file mode 100644 index 00000000000..951a364ff67 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/TimestampFormatHeadersResult.cpp @@ -0,0 +1,112 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::RestJsonProtocol::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +TimestampFormatHeadersResult::TimestampFormatHeadersResult() +{ +} + +TimestampFormatHeadersResult::TimestampFormatHeadersResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +TimestampFormatHeadersResult& TimestampFormatHeadersResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + AWS_UNREFERENCED_PARAM(result); + + const auto& headers = result.GetHeaderValueCollection(); + const auto& memberEpochSecondsIter = headers.find("x-memberepochseconds"); + if(memberEpochSecondsIter != headers.end()) + { + m_memberEpochSeconds = DateTime(memberEpochSecondsIter->second.c_str(), Aws::Utils::DateFormat::$CppViewHelper.computeTimestampFormatInHeader($memberEntry.value.shape)); + if(!m_memberEpochSeconds.WasParseSuccessful()) + { + AWS_LOGSTREAM_WARN("RestJsonProtocol::TimestampFormatHeadersResult", "Failed to parse memberEpochSeconds header as an $CppViewHelper.computeTimestampFormatInHeader($memberEntry.value.shape) timestamp: " << memberEpochSecondsIter->second.c_str()); + } + } + + const auto& memberHttpDateIter = headers.find("x-memberhttpdate"); + if(memberHttpDateIter != headers.end()) + { + m_memberHttpDate = DateTime(memberHttpDateIter->second.c_str(), Aws::Utils::DateFormat::RFC822); + if(!m_memberHttpDate.WasParseSuccessful()) + { + AWS_LOGSTREAM_WARN("RestJsonProtocol::TimestampFormatHeadersResult", "Failed to parse memberHttpDate header as an RFC822 timestamp: " << memberHttpDateIter->second.c_str()); + } + } + + const auto& memberDateTimeIter = headers.find("x-memberdatetime"); + if(memberDateTimeIter != headers.end()) + { + m_memberDateTime = DateTime(memberDateTimeIter->second.c_str(), Aws::Utils::DateFormat::ISO_8601); + if(!m_memberDateTime.WasParseSuccessful()) + { + AWS_LOGSTREAM_WARN("RestJsonProtocol::TimestampFormatHeadersResult", "Failed to parse memberDateTime header as an ISO_8601 timestamp: " << memberDateTimeIter->second.c_str()); + } + } + + const auto& defaultFormatIter = headers.find("x-defaultformat"); + if(defaultFormatIter != headers.end()) + { + m_defaultFormat = DateTime(defaultFormatIter->second.c_str(), Aws::Utils::DateFormat::RFC822); + if(!m_defaultFormat.WasParseSuccessful()) + { + AWS_LOGSTREAM_WARN("RestJsonProtocol::TimestampFormatHeadersResult", "Failed to parse defaultFormat header as an RFC822 timestamp: " << defaultFormatIter->second.c_str()); + } + } + + const auto& targetEpochSecondsIter = headers.find("x-targetepochseconds"); + if(targetEpochSecondsIter != headers.end()) + { + m_targetEpochSeconds = DateTime(targetEpochSecondsIter->second.c_str(), Aws::Utils::DateFormat::$CppViewHelper.computeTimestampFormatInHeader($memberEntry.value.shape)); + if(!m_targetEpochSeconds.WasParseSuccessful()) + { + AWS_LOGSTREAM_WARN("RestJsonProtocol::TimestampFormatHeadersResult", "Failed to parse targetEpochSeconds header as an $CppViewHelper.computeTimestampFormatInHeader($memberEntry.value.shape) timestamp: " << targetEpochSecondsIter->second.c_str()); + } + } + + const auto& targetHttpDateIter = headers.find("x-targethttpdate"); + if(targetHttpDateIter != headers.end()) + { + m_targetHttpDate = DateTime(targetHttpDateIter->second.c_str(), Aws::Utils::DateFormat::RFC822); + if(!m_targetHttpDate.WasParseSuccessful()) + { + AWS_LOGSTREAM_WARN("RestJsonProtocol::TimestampFormatHeadersResult", "Failed to parse targetHttpDate header as an RFC822 timestamp: " << targetHttpDateIter->second.c_str()); + } + } + + const auto& targetDateTimeIter = headers.find("x-targetdatetime"); + if(targetDateTimeIter != headers.end()) + { + m_targetDateTime = DateTime(targetDateTimeIter->second.c_str(), Aws::Utils::DateFormat::ISO_8601); + if(!m_targetDateTime.WasParseSuccessful()) + { + AWS_LOGSTREAM_WARN("RestJsonProtocol::TimestampFormatHeadersResult", "Failed to parse targetDateTime header as an ISO_8601 timestamp: " << targetDateTimeIter->second.c_str()); + } + } + + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/UnionPayload.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/UnionPayload.cpp new file mode 100644 index 00000000000..fc35a59b7e3 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/UnionPayload.cpp @@ -0,0 +1,59 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace RestJsonProtocol +{ +namespace Model +{ + +UnionPayload::UnionPayload() : + m_greetingHasBeenSet(false) +{ +} + +UnionPayload::UnionPayload(JsonView jsonValue) + : UnionPayload() +{ + *this = jsonValue; +} + +UnionPayload& UnionPayload::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("greeting")) + { + m_greeting = jsonValue.GetString("greeting"); + + m_greetingHasBeenSet = true; + } + + return *this; +} + +JsonValue UnionPayload::Jsonize() const +{ + JsonValue payload; + + if(m_greetingHasBeenSet) + { + payload.WithString("greeting", m_greeting); + + } + + return payload; +} + +} // namespace Model +} // namespace RestJsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/UnionWithJsonName.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/UnionWithJsonName.cpp new file mode 100644 index 00000000000..3bcb6ddcd26 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/UnionWithJsonName.cpp @@ -0,0 +1,87 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace RestJsonProtocol +{ +namespace Model +{ + +UnionWithJsonName::UnionWithJsonName() : + m_fooHasBeenSet(false), + m_barHasBeenSet(false), + m_bazHasBeenSet(false) +{ +} + +UnionWithJsonName::UnionWithJsonName(JsonView jsonValue) + : UnionWithJsonName() +{ + *this = jsonValue; +} + +UnionWithJsonName& UnionWithJsonName::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("FOO")) + { + m_foo = jsonValue.GetString("FOO"); + + m_fooHasBeenSet = true; + } + + if(jsonValue.ValueExists("bar")) + { + m_bar = jsonValue.GetString("bar"); + + m_barHasBeenSet = true; + } + + if(jsonValue.ValueExists("_baz")) + { + m_baz = jsonValue.GetString("_baz"); + + m_bazHasBeenSet = true; + } + + return *this; +} + +JsonValue UnionWithJsonName::Jsonize() const +{ + JsonValue payload; + + if(m_fooHasBeenSet) + { + payload.WithString("FOO", m_foo); + + } + + if(m_barHasBeenSet) + { + payload.WithString("bar", m_bar); + + } + + if(m_bazHasBeenSet) + { + payload.WithString("_baz", m_baz); + + } + + return payload; +} + +} // namespace Model +} // namespace RestJsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/UnitInputAndOutputRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/UnitInputAndOutputRequest.cpp new file mode 100644 index 00000000000..0a4933470ea --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/model/UnitInputAndOutputRequest.cpp @@ -0,0 +1,26 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::RestJsonProtocol::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +UnitInputAndOutputRequest::UnitInputAndOutputRequest() +{ +} + +Aws::String UnitInputAndOutputRequest::SerializePayload() const +{ + return {}; +} + + + + diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol-namespace/CMakeLists.txt b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol-namespace/CMakeLists.txt new file mode 100644 index 00000000000..a06d5c07cda --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol-namespace/CMakeLists.txt @@ -0,0 +1,76 @@ +add_project(aws-cpp-sdk-rest-xml-protocol-namespace "C++ SDK for the AWS rest-xml-protocol-namespace service" aws-cpp-sdk-core) + +file(GLOB AWS_REST-XML-PROTOCOL-NAMESPACE_HEADERS + "include/aws/rest-xml-protocol-namespace/*.h" +) + +file(GLOB AWS_REST-XML-PROTOCOL-NAMESPACE_MODEL_HEADERS + "include/aws/rest-xml-protocol-namespace/model/*.h" +) + +file(GLOB AWS_REST-XML-PROTOCOL-NAMESPACE_SOURCE + "source/*.cpp" +) + +file(GLOB AWS_REST-XML-PROTOCOL-NAMESPACE_MODEL_SOURCE + "source/model/*.cpp" +) + +file(GLOB REST-XML-PROTOCOL-NAMESPACE_UNIFIED_HEADERS + ${AWS_REST-XML-PROTOCOL-NAMESPACE_HEADERS} + ${AWS_REST-XML-PROTOCOL-NAMESPACE_MODEL_HEADERS} +) + +file(GLOB REST-XML-PROTOCOL-NAMESPACE_UNITY_SRC + ${AWS_REST-XML-PROTOCOL-NAMESPACE_SOURCE} + ${AWS_REST-XML-PROTOCOL-NAMESPACE_MODEL_SOURCE} +) + +if(ENABLE_UNITY_BUILD) + enable_unity_build("REST-XML-PROTOCOL-NAMESPACE" REST-XML-PROTOCOL-NAMESPACE_UNITY_SRC) +endif() + +file(GLOB REST-XML-PROTOCOL-NAMESPACE_SRC + ${REST-XML-PROTOCOL-NAMESPACE_UNIFIED_HEADERS} + ${REST-XML-PROTOCOL-NAMESPACE_UNITY_SRC} +) + +if(WIN32) + #if we are compiling for visual studio, create a sane directory tree. + if(MSVC) + source_group("Header Files\\aws\\rest-xml-protocol-namespace" FILES ${AWS_REST-XML-PROTOCOL-NAMESPACE_HEADERS}) + source_group("Header Files\\aws\\rest-xml-protocol-namespace\\model" FILES ${AWS_REST-XML-PROTOCOL-NAMESPACE_MODEL_HEADERS}) + source_group("Source Files" FILES ${AWS_REST-XML-PROTOCOL-NAMESPACE_SOURCE}) + source_group("Source Files\\model" FILES ${AWS_REST-XML-PROTOCOL-NAMESPACE_MODEL_SOURCE}) + endif(MSVC) +endif() + +set(REST-XML-PROTOCOL-NAMESPACE_INCLUDES + "${CMAKE_CURRENT_SOURCE_DIR}/include/" +) + +add_library(${PROJECT_NAME} ${REST-XML-PROTOCOL-NAMESPACE_SRC}) +add_library(AWS::${PROJECT_NAME} ALIAS ${PROJECT_NAME}) + +set_compiler_flags(${PROJECT_NAME}) +set_compiler_warnings(${PROJECT_NAME}) + +if(USE_WINDOWS_DLL_SEMANTICS AND BUILD_SHARED_LIBS) + target_compile_definitions(${PROJECT_NAME} PRIVATE "AWS_RESTXMLPROTOCOLNAMESPACE_EXPORTS") +endif() + +target_include_directories(${PROJECT_NAME} PUBLIC + $ + $) + +target_link_libraries(${PROJECT_NAME} PRIVATE ${PLATFORM_DEP_LIBS} ${PROJECT_LIBS}) + + +setup_install() + +install (FILES ${AWS_REST-XML-PROTOCOL-NAMESPACE_HEADERS} DESTINATION ${INCLUDE_DIRECTORY}/aws/rest-xml-protocol-namespace) +install (FILES ${AWS_REST-XML-PROTOCOL-NAMESPACE_MODEL_HEADERS} DESTINATION ${INCLUDE_DIRECTORY}/aws/rest-xml-protocol-namespace/model) + +do_packaging() + + diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol-namespace/include/aws/rest-xml-protocol-namespace/RestXmlProtocolNamespaceClient.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol-namespace/include/aws/rest-xml-protocol-namespace/RestXmlProtocolNamespaceClient.h new file mode 100644 index 00000000000..832952ba21b --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol-namespace/include/aws/rest-xml-protocol-namespace/RestXmlProtocolNamespaceClient.h @@ -0,0 +1,119 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace RestXmlProtocolNamespace +{ + /** + *

A REST XML service that sends XML requests and responses.

This service + * and test case is complementary to the test cases in the restXml + * directory, but the service under test here has the xmlNamespace + * trait applied to it.

See https://github.com/awslabs/smithy/issues/616

+ */ + class AWS_RESTXMLPROTOCOLNAMESPACE_API RestXmlProtocolNamespaceClient : public Aws::Client::AWSXMLClient, public Aws::Client::ClientWithAsyncTemplateMethods + { + public: + typedef Aws::Client::AWSXMLClient BASECLASS; + static const char* GetServiceName(); + static const char* GetAllocationTag(); + + typedef RestXmlProtocolNamespaceClientConfiguration ClientConfigurationType; + typedef RestXmlProtocolNamespaceEndpointProvider EndpointProviderType; + + /** + * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client config + * is not specified, it will be initialized to default values. + */ + RestXmlProtocolNamespaceClient(const Aws::RestXmlProtocolNamespace::RestXmlProtocolNamespaceClientConfiguration& clientConfiguration = Aws::RestXmlProtocolNamespace::RestXmlProtocolNamespaceClientConfiguration(), + std::shared_ptr endpointProvider = nullptr); + + /** + * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config + * is not specified, it will be initialized to default values. + */ + RestXmlProtocolNamespaceClient(const Aws::Auth::AWSCredentials& credentials, + std::shared_ptr endpointProvider = nullptr, + const Aws::RestXmlProtocolNamespace::RestXmlProtocolNamespaceClientConfiguration& clientConfiguration = Aws::RestXmlProtocolNamespace::RestXmlProtocolNamespaceClientConfiguration()); + + /** + * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, + * the default http client factory will be used + */ + RestXmlProtocolNamespaceClient(const std::shared_ptr& credentialsProvider, + std::shared_ptr endpointProvider = nullptr, + const Aws::RestXmlProtocolNamespace::RestXmlProtocolNamespaceClientConfiguration& clientConfiguration = Aws::RestXmlProtocolNamespace::RestXmlProtocolNamespaceClientConfiguration()); + + + /* Legacy constructors due deprecation */ + /** + * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client config + * is not specified, it will be initialized to default values. + */ + RestXmlProtocolNamespaceClient(const Aws::Client::ClientConfiguration& clientConfiguration); + + /** + * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config + * is not specified, it will be initialized to default values. + */ + RestXmlProtocolNamespaceClient(const Aws::Auth::AWSCredentials& credentials, + const Aws::Client::ClientConfiguration& clientConfiguration); + + /** + * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, + * the default http client factory will be used + */ + RestXmlProtocolNamespaceClient(const std::shared_ptr& credentialsProvider, + const Aws::Client::ClientConfiguration& clientConfiguration); + + /* End of legacy constructors due deprecation */ + virtual ~RestXmlProtocolNamespaceClient(); + + + /** + * + */ + virtual Model::SimpleScalarPropertiesOutcome SimpleScalarProperties(const Model::SimpleScalarPropertiesRequest& request = {}) const; + + /** + * A Callable wrapper for SimpleScalarProperties that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::SimpleScalarPropertiesOutcomeCallable SimpleScalarPropertiesCallable(const SimpleScalarPropertiesRequestT& request = {}) const + { + return SubmitCallable(&RestXmlProtocolNamespaceClient::SimpleScalarProperties, request); + } + + /** + * An Async wrapper for SimpleScalarProperties that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void SimpleScalarPropertiesAsync(const SimpleScalarPropertiesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const SimpleScalarPropertiesRequestT& request = {}) const + { + return SubmitAsync(&RestXmlProtocolNamespaceClient::SimpleScalarProperties, request, handler, context); + } + + + void OverrideEndpoint(const Aws::String& endpoint); + std::shared_ptr& accessEndpointProvider(); + private: + friend class Aws::Client::ClientWithAsyncTemplateMethods; + void init(const RestXmlProtocolNamespaceClientConfiguration& clientConfiguration); + + RestXmlProtocolNamespaceClientConfiguration m_clientConfiguration; + std::shared_ptr m_endpointProvider; + }; + +} // namespace RestXmlProtocolNamespace +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol-namespace/include/aws/rest-xml-protocol-namespace/RestXmlProtocolNamespaceEndpointProvider.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol-namespace/include/aws/rest-xml-protocol-namespace/RestXmlProtocolNamespaceEndpointProvider.h new file mode 100644 index 00000000000..5f33fa5d242 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol-namespace/include/aws/rest-xml-protocol-namespace/RestXmlProtocolNamespaceEndpointProvider.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +#include + + +namespace Aws +{ +namespace RestXmlProtocolNamespace +{ +namespace Endpoint +{ +using EndpointParameters = Aws::Endpoint::EndpointParameters; +using Aws::Endpoint::EndpointProviderBase; +using Aws::Endpoint::DefaultEndpointProvider; + +using RestXmlProtocolNamespaceClientContextParameters = Aws::Endpoint::ClientContextParameters; + +using RestXmlProtocolNamespaceClientConfiguration = Aws::Client::GenericClientConfiguration; +using RestXmlProtocolNamespaceBuiltInParameters = Aws::Endpoint::BuiltInParameters; + +/** + * The type for the RestXmlProtocolNamespace 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 RestXmlProtocolNamespaceEndpointProviderBase = + EndpointProviderBase; + +using RestXmlProtocolNamespaceDefaultEpProviderBase = + DefaultEndpointProvider; + +/** + * Default endpoint provider used for this service + */ +class AWS_RESTXMLPROTOCOLNAMESPACE_API RestXmlProtocolNamespaceEndpointProvider : public RestXmlProtocolNamespaceDefaultEpProviderBase +{ +public: + using RestXmlProtocolNamespaceResolveEndpointOutcome = Aws::Endpoint::ResolveEndpointOutcome; + + RestXmlProtocolNamespaceEndpointProvider() + : RestXmlProtocolNamespaceDefaultEpProviderBase(Aws::RestXmlProtocolNamespace::RestXmlProtocolNamespaceEndpointRules::GetRulesBlob(), Aws::RestXmlProtocolNamespace::RestXmlProtocolNamespaceEndpointRules::RulesBlobSize) + {} + + ~RestXmlProtocolNamespaceEndpointProvider() + { + } +}; +} // namespace Endpoint +} // namespace RestXmlProtocolNamespace +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol-namespace/include/aws/rest-xml-protocol-namespace/RestXmlProtocolNamespaceEndpointRules.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol-namespace/include/aws/rest-xml-protocol-namespace/RestXmlProtocolNamespaceEndpointRules.h new file mode 100644 index 00000000000..9e9f1d99b32 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol-namespace/include/aws/rest-xml-protocol-namespace/RestXmlProtocolNamespaceEndpointRules.h @@ -0,0 +1,23 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace RestXmlProtocolNamespace +{ +class RestXmlProtocolNamespaceEndpointRules +{ +public: + static const size_t RulesBlobStrLen; + static const size_t RulesBlobSize; + + static const char* GetRulesBlob(); +}; +} // namespace RestXmlProtocolNamespace +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol-namespace/include/aws/rest-xml-protocol-namespace/RestXmlProtocolNamespaceErrorMarshaller.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol-namespace/include/aws/rest-xml-protocol-namespace/RestXmlProtocolNamespaceErrorMarshaller.h new file mode 100644 index 00000000000..cde62ab78be --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol-namespace/include/aws/rest-xml-protocol-namespace/RestXmlProtocolNamespaceErrorMarshaller.h @@ -0,0 +1,23 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws +{ +namespace Client +{ + +class AWS_RESTXMLPROTOCOLNAMESPACE_API RestXmlProtocolNamespaceErrorMarshaller : public Aws::Client::XmlErrorMarshaller +{ +public: + Aws::Client::AWSError FindErrorByName(const char* exceptionName) const override; +}; + +} // namespace Client +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol-namespace/include/aws/rest-xml-protocol-namespace/RestXmlProtocolNamespaceErrors.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol-namespace/include/aws/rest-xml-protocol-namespace/RestXmlProtocolNamespaceErrors.h new file mode 100644 index 00000000000..60a8b175c52 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol-namespace/include/aws/rest-xml-protocol-namespace/RestXmlProtocolNamespaceErrors.h @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include +#include + +namespace Aws +{ +namespace RestXmlProtocolNamespace +{ +enum class RestXmlProtocolNamespaceErrors +{ + //From Core// + ////////////////////////////////////////////////////////////////////////////////////////// + INCOMPLETE_SIGNATURE = 0, + INTERNAL_FAILURE = 1, + INVALID_ACTION = 2, + INVALID_CLIENT_TOKEN_ID = 3, + INVALID_PARAMETER_COMBINATION = 4, + INVALID_QUERY_PARAMETER = 5, + INVALID_PARAMETER_VALUE = 6, + MISSING_ACTION = 7, // SDK should never allow + MISSING_AUTHENTICATION_TOKEN = 8, // SDK should never allow + MISSING_PARAMETER = 9, // SDK should never allow + OPT_IN_REQUIRED = 10, + REQUEST_EXPIRED = 11, + SERVICE_UNAVAILABLE = 12, + THROTTLING = 13, + VALIDATION = 14, + ACCESS_DENIED = 15, + RESOURCE_NOT_FOUND = 16, + UNRECOGNIZED_CLIENT = 17, + MALFORMED_QUERY_STRING = 18, + SLOW_DOWN = 19, + REQUEST_TIME_TOO_SKEWED = 20, + INVALID_SIGNATURE = 21, + SIGNATURE_DOES_NOT_MATCH = 22, + INVALID_ACCESS_KEY_ID = 23, + REQUEST_TIMEOUT = 24, + NETWORK_CONNECTION = 99, + + UNKNOWN = 100, + /////////////////////////////////////////////////////////////////////////////////////////// + + +}; + +class AWS_RESTXMLPROTOCOLNAMESPACE_API RestXmlProtocolNamespaceError : public Aws::Client::AWSError +{ +public: + RestXmlProtocolNamespaceError() {} + RestXmlProtocolNamespaceError(const Aws::Client::AWSError& rhs) : Aws::Client::AWSError(rhs) {} + RestXmlProtocolNamespaceError(Aws::Client::AWSError&& rhs) : Aws::Client::AWSError(rhs) {} + RestXmlProtocolNamespaceError(const Aws::Client::AWSError& rhs) : Aws::Client::AWSError(rhs) {} + RestXmlProtocolNamespaceError(Aws::Client::AWSError&& rhs) : Aws::Client::AWSError(rhs) {} + + template + T GetModeledError(); +}; + +namespace RestXmlProtocolNamespaceErrorMapper +{ + AWS_RESTXMLPROTOCOLNAMESPACE_API Aws::Client::AWSError GetErrorForName(const char* errorName); +} + +} // namespace RestXmlProtocolNamespace +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol-namespace/include/aws/rest-xml-protocol-namespace/RestXmlProtocolNamespaceRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol-namespace/include/aws/rest-xml-protocol-namespace/RestXmlProtocolNamespaceRequest.h new file mode 100644 index 00000000000..fd8b8b1bb24 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol-namespace/include/aws/rest-xml-protocol-namespace/RestXmlProtocolNamespaceRequest.h @@ -0,0 +1,46 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace RestXmlProtocolNamespace +{ + class AWS_RESTXMLPROTOCOLNAMESPACE_API RestXmlProtocolNamespaceRequest : public Aws::AmazonSerializableWebServiceRequest + { + public: + using EndpointParameter = Aws::Endpoint::EndpointParameter; + using EndpointParameters = Aws::Endpoint::EndpointParameters; + + virtual ~RestXmlProtocolNamespaceRequest () {} + + void AddParametersToRequest(Aws::Http::HttpRequest& httpRequest) const { AWS_UNREFERENCED_PARAM(httpRequest); } + + inline Aws::Http::HeaderValueCollection GetHeaders() const override + { + auto headers = GetRequestSpecificHeaders(); + + if(headers.size() == 0 || (headers.size() > 0 && headers.count(Aws::Http::CONTENT_TYPE_HEADER) == 0)) + { + headers.emplace(Aws::Http::HeaderValuePair(Aws::Http::CONTENT_TYPE_HEADER, Aws::AMZN_XML_CONTENT_TYPE )); + } + headers.emplace(Aws::Http::HeaderValuePair(Aws::Http::API_VERSION_HEADER, "2019-12-16")); + return headers; + } + + protected: + virtual Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const { return Aws::Http::HeaderValueCollection(); } + + }; + + +} // namespace RestXmlProtocolNamespace +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol-namespace/include/aws/rest-xml-protocol-namespace/RestXmlProtocolNamespaceServiceClientModel.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol-namespace/include/aws/rest-xml-protocol-namespace/RestXmlProtocolNamespaceServiceClientModel.h new file mode 100644 index 00000000000..8a85a2658f4 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol-namespace/include/aws/rest-xml-protocol-namespace/RestXmlProtocolNamespaceServiceClientModel.h @@ -0,0 +1,81 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +/* Generic header includes */ +#include +#include +#include +#include +#include +#include +#include +#include +#include +/* End of generic header includes */ + +/* Service model headers required in RestXmlProtocolNamespaceClient header */ +#include +#include +/* End of service model headers required in RestXmlProtocolNamespaceClient header */ + +namespace Aws +{ + namespace Http + { + class HttpClient; + class HttpClientFactory; + } // namespace Http + + namespace Utils + { + template< typename R, typename E> class Outcome; + + namespace Threading + { + class Executor; + } // namespace Threading + } // namespace Utils + + namespace Auth + { + class AWSCredentials; + class AWSCredentialsProvider; + } // namespace Auth + + namespace Client + { + class RetryStrategy; + } // namespace Client + + namespace RestXmlProtocolNamespace + { + using RestXmlProtocolNamespaceClientConfiguration = Aws::Client::GenericClientConfiguration; + using RestXmlProtocolNamespaceEndpointProviderBase = Aws::RestXmlProtocolNamespace::Endpoint::RestXmlProtocolNamespaceEndpointProviderBase; + using RestXmlProtocolNamespaceEndpointProvider = Aws::RestXmlProtocolNamespace::Endpoint::RestXmlProtocolNamespaceEndpointProvider; + + namespace Model + { + /* Service model forward declarations required in RestXmlProtocolNamespaceClient header */ + class SimpleScalarPropertiesRequest; + /* End of service model forward declarations required in RestXmlProtocolNamespaceClient header */ + + /* Service model Outcome class definitions */ + typedef Aws::Utils::Outcome SimpleScalarPropertiesOutcome; + /* End of service model Outcome class definitions */ + + /* Service model Outcome callable definitions */ + typedef std::future SimpleScalarPropertiesOutcomeCallable; + /* End of service model Outcome callable definitions */ + } // namespace Model + + class RestXmlProtocolNamespaceClient; + + /* Service model async handlers definitions */ + typedef std::function&) > SimpleScalarPropertiesResponseReceivedHandler; + /* End of service model async handlers definitions */ + } // namespace RestXmlProtocolNamespace +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol-namespace/include/aws/rest-xml-protocol-namespace/RestXmlProtocolNamespace_EXPORTS.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol-namespace/include/aws/rest-xml-protocol-namespace/RestXmlProtocolNamespace_EXPORTS.h new file mode 100644 index 00000000000..69645f8d383 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol-namespace/include/aws/rest-xml-protocol-namespace/RestXmlProtocolNamespace_EXPORTS.h @@ -0,0 +1,32 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#ifdef _MSC_VER + //disable windows complaining about max template size. + #pragma warning (disable : 4503) +#endif // _MSC_VER + +#if defined (USE_WINDOWS_DLL_SEMANTICS) || defined (_WIN32) + #ifdef _MSC_VER + #pragma warning(disable : 4251) + #endif // _MSC_VER + + #ifdef USE_IMPORT_EXPORT + #ifdef AWS_RESTXMLPROTOCOLNAMESPACE_EXPORTS + #define AWS_RESTXMLPROTOCOLNAMESPACE_API __declspec(dllexport) + #else + #define AWS_RESTXMLPROTOCOLNAMESPACE_API __declspec(dllimport) + #endif /* AWS_RESTXMLPROTOCOLNAMESPACE_EXPORTS */ + #define AWS_RESTXMLPROTOCOLNAMESPACE_EXTERN + #else + #define AWS_RESTXMLPROTOCOLNAMESPACE_API + #define AWS_RESTXMLPROTOCOLNAMESPACE_EXTERN extern + #endif // USE_IMPORT_EXPORT +#else // defined (USE_WINDOWS_DLL_SEMANTICS) || defined (WIN32) + #define AWS_RESTXMLPROTOCOLNAMESPACE_API + #define AWS_RESTXMLPROTOCOLNAMESPACE_EXTERN extern +#endif // defined (USE_WINDOWS_DLL_SEMANTICS) || defined (WIN32) diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol-namespace/include/aws/rest-xml-protocol-namespace/model/NestedWithNamespace.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol-namespace/include/aws/rest-xml-protocol-namespace/model/NestedWithNamespace.h new file mode 100644 index 00000000000..c071145e4a9 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol-namespace/include/aws/rest-xml-protocol-namespace/model/NestedWithNamespace.h @@ -0,0 +1,54 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace RestXmlProtocolNamespace +{ +namespace Model +{ + + class NestedWithNamespace + { + public: + AWS_RESTXMLPROTOCOLNAMESPACE_API NestedWithNamespace(); + AWS_RESTXMLPROTOCOLNAMESPACE_API NestedWithNamespace(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_RESTXMLPROTOCOLNAMESPACE_API NestedWithNamespace& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + AWS_RESTXMLPROTOCOLNAMESPACE_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + ///@{ + + inline const Aws::String& GetAttrField() const{ return m_attrField; } + inline bool AttrFieldHasBeenSet() const { return m_attrFieldHasBeenSet; } + inline void SetAttrField(const Aws::String& value) { m_attrFieldHasBeenSet = true; m_attrField = value; } + inline void SetAttrField(Aws::String&& value) { m_attrFieldHasBeenSet = true; m_attrField = std::move(value); } + inline void SetAttrField(const char* value) { m_attrFieldHasBeenSet = true; m_attrField.assign(value); } + inline NestedWithNamespace& WithAttrField(const Aws::String& value) { SetAttrField(value); return *this;} + inline NestedWithNamespace& WithAttrField(Aws::String&& value) { SetAttrField(std::move(value)); return *this;} + inline NestedWithNamespace& WithAttrField(const char* value) { SetAttrField(value); return *this;} + ///@} + private: + + Aws::String m_attrField; + bool m_attrFieldHasBeenSet = false; + }; + +} // namespace Model +} // namespace RestXmlProtocolNamespace +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol-namespace/include/aws/rest-xml-protocol-namespace/model/SimpleScalarPropertiesRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol-namespace/include/aws/rest-xml-protocol-namespace/model/SimpleScalarPropertiesRequest.h new file mode 100644 index 00000000000..c313fd5fc31 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol-namespace/include/aws/rest-xml-protocol-namespace/model/SimpleScalarPropertiesRequest.h @@ -0,0 +1,188 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace RestXmlProtocolNamespace +{ +namespace Model +{ + + /** + */ + class SimpleScalarPropertiesRequest : public RestXmlProtocolNamespaceRequest + { + public: + AWS_RESTXMLPROTOCOLNAMESPACE_API SimpleScalarPropertiesRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "SimpleScalarProperties"; } + + AWS_RESTXMLPROTOCOLNAMESPACE_API Aws::String SerializePayload() const override; + + AWS_RESTXMLPROTOCOLNAMESPACE_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + + inline const Aws::String& GetFoo() const{ return m_foo; } + inline bool FooHasBeenSet() const { return m_fooHasBeenSet; } + inline void SetFoo(const Aws::String& value) { m_fooHasBeenSet = true; m_foo = value; } + inline void SetFoo(Aws::String&& value) { m_fooHasBeenSet = true; m_foo = std::move(value); } + inline void SetFoo(const char* value) { m_fooHasBeenSet = true; m_foo.assign(value); } + inline SimpleScalarPropertiesRequest& WithFoo(const Aws::String& value) { SetFoo(value); return *this;} + inline SimpleScalarPropertiesRequest& WithFoo(Aws::String&& value) { SetFoo(std::move(value)); return *this;} + inline SimpleScalarPropertiesRequest& WithFoo(const char* value) { SetFoo(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetStringValue() const{ return m_stringValue; } + inline bool StringValueHasBeenSet() const { return m_stringValueHasBeenSet; } + inline void SetStringValue(const Aws::String& value) { m_stringValueHasBeenSet = true; m_stringValue = value; } + inline void SetStringValue(Aws::String&& value) { m_stringValueHasBeenSet = true; m_stringValue = std::move(value); } + inline void SetStringValue(const char* value) { m_stringValueHasBeenSet = true; m_stringValue.assign(value); } + inline SimpleScalarPropertiesRequest& WithStringValue(const Aws::String& value) { SetStringValue(value); return *this;} + inline SimpleScalarPropertiesRequest& WithStringValue(Aws::String&& value) { SetStringValue(std::move(value)); return *this;} + inline SimpleScalarPropertiesRequest& WithStringValue(const char* value) { SetStringValue(value); return *this;} + ///@} + + ///@{ + + inline bool GetTrueBooleanValue() const{ return m_trueBooleanValue; } + inline bool TrueBooleanValueHasBeenSet() const { return m_trueBooleanValueHasBeenSet; } + inline void SetTrueBooleanValue(bool value) { m_trueBooleanValueHasBeenSet = true; m_trueBooleanValue = value; } + inline SimpleScalarPropertiesRequest& WithTrueBooleanValue(bool value) { SetTrueBooleanValue(value); return *this;} + ///@} + + ///@{ + + inline bool GetFalseBooleanValue() const{ return m_falseBooleanValue; } + inline bool FalseBooleanValueHasBeenSet() const { return m_falseBooleanValueHasBeenSet; } + inline void SetFalseBooleanValue(bool value) { m_falseBooleanValueHasBeenSet = true; m_falseBooleanValue = value; } + inline SimpleScalarPropertiesRequest& WithFalseBooleanValue(bool value) { SetFalseBooleanValue(value); return *this;} + ///@} + + ///@{ + + inline int GetByteValue() const{ return m_byteValue; } + inline bool ByteValueHasBeenSet() const { return m_byteValueHasBeenSet; } + inline void SetByteValue(int value) { m_byteValueHasBeenSet = true; m_byteValue = value; } + inline SimpleScalarPropertiesRequest& WithByteValue(int value) { SetByteValue(value); return *this;} + ///@} + + ///@{ + + inline int GetShortValue() const{ return m_shortValue; } + inline bool ShortValueHasBeenSet() const { return m_shortValueHasBeenSet; } + inline void SetShortValue(int value) { m_shortValueHasBeenSet = true; m_shortValue = value; } + inline SimpleScalarPropertiesRequest& WithShortValue(int value) { SetShortValue(value); return *this;} + ///@} + + ///@{ + + inline int GetIntegerValue() const{ return m_integerValue; } + inline bool IntegerValueHasBeenSet() const { return m_integerValueHasBeenSet; } + inline void SetIntegerValue(int value) { m_integerValueHasBeenSet = true; m_integerValue = value; } + inline SimpleScalarPropertiesRequest& WithIntegerValue(int value) { SetIntegerValue(value); return *this;} + ///@} + + ///@{ + + inline long long GetLongValue() const{ return m_longValue; } + inline bool LongValueHasBeenSet() const { return m_longValueHasBeenSet; } + inline void SetLongValue(long long value) { m_longValueHasBeenSet = true; m_longValue = value; } + inline SimpleScalarPropertiesRequest& WithLongValue(long long value) { SetLongValue(value); return *this;} + ///@} + + ///@{ + + inline double GetFloatValue() const{ return m_floatValue; } + inline bool FloatValueHasBeenSet() const { return m_floatValueHasBeenSet; } + inline void SetFloatValue(double value) { m_floatValueHasBeenSet = true; m_floatValue = value; } + inline SimpleScalarPropertiesRequest& WithFloatValue(double value) { SetFloatValue(value); return *this;} + ///@} + + ///@{ + + inline const NestedWithNamespace& GetNested() const{ return m_nested; } + inline bool NestedHasBeenSet() const { return m_nestedHasBeenSet; } + inline void SetNested(const NestedWithNamespace& value) { m_nestedHasBeenSet = true; m_nested = value; } + inline void SetNested(NestedWithNamespace&& value) { m_nestedHasBeenSet = true; m_nested = std::move(value); } + inline SimpleScalarPropertiesRequest& WithNested(const NestedWithNamespace& value) { SetNested(value); return *this;} + inline SimpleScalarPropertiesRequest& WithNested(NestedWithNamespace&& value) { SetNested(std::move(value)); return *this;} + ///@} + + ///@{ + + inline double GetDoubleValue() const{ return m_doubleValue; } + inline bool DoubleValueHasBeenSet() const { return m_doubleValueHasBeenSet; } + inline void SetDoubleValue(double value) { m_doubleValueHasBeenSet = true; m_doubleValue = value; } + inline SimpleScalarPropertiesRequest& WithDoubleValue(double value) { SetDoubleValue(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline bool RequestIdHasBeenSet() const { return m_requestIdHasBeenSet; } + inline void SetRequestId(const Aws::String& value) { m_requestIdHasBeenSet = true; m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestIdHasBeenSet = true; m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestIdHasBeenSet = true; m_requestId.assign(value); } + inline SimpleScalarPropertiesRequest& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline SimpleScalarPropertiesRequest& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline SimpleScalarPropertiesRequest& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_foo; + bool m_fooHasBeenSet = false; + + Aws::String m_stringValue; + bool m_stringValueHasBeenSet = false; + + bool m_trueBooleanValue; + bool m_trueBooleanValueHasBeenSet = false; + + bool m_falseBooleanValue; + bool m_falseBooleanValueHasBeenSet = false; + + int m_byteValue; + bool m_byteValueHasBeenSet = false; + + int m_shortValue; + bool m_shortValueHasBeenSet = false; + + int m_integerValue; + bool m_integerValueHasBeenSet = false; + + long long m_longValue; + bool m_longValueHasBeenSet = false; + + double m_floatValue; + bool m_floatValueHasBeenSet = false; + + NestedWithNamespace m_nested; + bool m_nestedHasBeenSet = false; + + double m_doubleValue; + bool m_doubleValueHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace RestXmlProtocolNamespace +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol-namespace/include/aws/rest-xml-protocol-namespace/model/SimpleScalarPropertiesResult.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol-namespace/include/aws/rest-xml-protocol-namespace/model/SimpleScalarPropertiesResult.h new file mode 100644 index 00000000000..399b497faeb --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol-namespace/include/aws/rest-xml-protocol-namespace/model/SimpleScalarPropertiesResult.h @@ -0,0 +1,162 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace RestXmlProtocolNamespace +{ +namespace Model +{ + class SimpleScalarPropertiesResult + { + public: + AWS_RESTXMLPROTOCOLNAMESPACE_API SimpleScalarPropertiesResult(); + AWS_RESTXMLPROTOCOLNAMESPACE_API SimpleScalarPropertiesResult(const Aws::AmazonWebServiceResult& result); + AWS_RESTXMLPROTOCOLNAMESPACE_API SimpleScalarPropertiesResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::String& GetFoo() const{ return m_foo; } + inline void SetFoo(const Aws::String& value) { m_foo = value; } + inline void SetFoo(Aws::String&& value) { m_foo = std::move(value); } + inline void SetFoo(const char* value) { m_foo.assign(value); } + inline SimpleScalarPropertiesResult& WithFoo(const Aws::String& value) { SetFoo(value); return *this;} + inline SimpleScalarPropertiesResult& WithFoo(Aws::String&& value) { SetFoo(std::move(value)); return *this;} + inline SimpleScalarPropertiesResult& WithFoo(const char* value) { SetFoo(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetStringValue() const{ return m_stringValue; } + inline void SetStringValue(const Aws::String& value) { m_stringValue = value; } + inline void SetStringValue(Aws::String&& value) { m_stringValue = std::move(value); } + inline void SetStringValue(const char* value) { m_stringValue.assign(value); } + inline SimpleScalarPropertiesResult& WithStringValue(const Aws::String& value) { SetStringValue(value); return *this;} + inline SimpleScalarPropertiesResult& WithStringValue(Aws::String&& value) { SetStringValue(std::move(value)); return *this;} + inline SimpleScalarPropertiesResult& WithStringValue(const char* value) { SetStringValue(value); return *this;} + ///@} + + ///@{ + + inline bool GetTrueBooleanValue() const{ return m_trueBooleanValue; } + inline void SetTrueBooleanValue(bool value) { m_trueBooleanValue = value; } + inline SimpleScalarPropertiesResult& WithTrueBooleanValue(bool value) { SetTrueBooleanValue(value); return *this;} + ///@} + + ///@{ + + inline bool GetFalseBooleanValue() const{ return m_falseBooleanValue; } + inline void SetFalseBooleanValue(bool value) { m_falseBooleanValue = value; } + inline SimpleScalarPropertiesResult& WithFalseBooleanValue(bool value) { SetFalseBooleanValue(value); return *this;} + ///@} + + ///@{ + + inline int GetByteValue() const{ return m_byteValue; } + inline void SetByteValue(int value) { m_byteValue = value; } + inline SimpleScalarPropertiesResult& WithByteValue(int value) { SetByteValue(value); return *this;} + ///@} + + ///@{ + + inline int GetShortValue() const{ return m_shortValue; } + inline void SetShortValue(int value) { m_shortValue = value; } + inline SimpleScalarPropertiesResult& WithShortValue(int value) { SetShortValue(value); return *this;} + ///@} + + ///@{ + + inline int GetIntegerValue() const{ return m_integerValue; } + inline void SetIntegerValue(int value) { m_integerValue = value; } + inline SimpleScalarPropertiesResult& WithIntegerValue(int value) { SetIntegerValue(value); return *this;} + ///@} + + ///@{ + + inline long long GetLongValue() const{ return m_longValue; } + inline void SetLongValue(long long value) { m_longValue = value; } + inline SimpleScalarPropertiesResult& WithLongValue(long long value) { SetLongValue(value); return *this;} + ///@} + + ///@{ + + inline double GetFloatValue() const{ return m_floatValue; } + inline void SetFloatValue(double value) { m_floatValue = value; } + inline SimpleScalarPropertiesResult& WithFloatValue(double value) { SetFloatValue(value); return *this;} + ///@} + + ///@{ + + inline const NestedWithNamespace& GetNested() const{ return m_nested; } + inline void SetNested(const NestedWithNamespace& value) { m_nested = value; } + inline void SetNested(NestedWithNamespace&& value) { m_nested = std::move(value); } + inline SimpleScalarPropertiesResult& WithNested(const NestedWithNamespace& value) { SetNested(value); return *this;} + inline SimpleScalarPropertiesResult& WithNested(NestedWithNamespace&& value) { SetNested(std::move(value)); return *this;} + ///@} + + ///@{ + + inline double GetDoubleValue() const{ return m_doubleValue; } + inline void SetDoubleValue(double value) { m_doubleValue = value; } + inline SimpleScalarPropertiesResult& WithDoubleValue(double value) { SetDoubleValue(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline SimpleScalarPropertiesResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline SimpleScalarPropertiesResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline SimpleScalarPropertiesResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_foo; + + Aws::String m_stringValue; + + bool m_trueBooleanValue; + + bool m_falseBooleanValue; + + int m_byteValue; + + int m_shortValue; + + int m_integerValue; + + long long m_longValue; + + double m_floatValue; + + NestedWithNamespace m_nested; + + double m_doubleValue; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace RestXmlProtocolNamespace +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol-namespace/source/RestXmlProtocolNamespaceClient.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol-namespace/source/RestXmlProtocolNamespaceClient.cpp new file mode 100644 index 00000000000..b7c74b14311 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol-namespace/source/RestXmlProtocolNamespaceClient.cpp @@ -0,0 +1,195 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include + +#include + + +using namespace Aws; +using namespace Aws::Auth; +using namespace Aws::Client; +using namespace Aws::RestXmlProtocolNamespace; +using namespace Aws::RestXmlProtocolNamespace::Model; +using namespace Aws::Http; +using namespace Aws::Utils::Xml; +using namespace smithy::components::tracing; +using ResolveEndpointOutcome = Aws::Endpoint::ResolveEndpointOutcome; + + +namespace Aws +{ + namespace RestXmlProtocolNamespace + { + const char SERVICE_NAME[] = "restxmlwithnamespace"; + const char ALLOCATION_TAG[] = "RestXmlProtocolNamespaceClient"; + } +} +const char* RestXmlProtocolNamespaceClient::GetServiceName() {return SERVICE_NAME;} +const char* RestXmlProtocolNamespaceClient::GetAllocationTag() {return ALLOCATION_TAG;} + +RestXmlProtocolNamespaceClient::RestXmlProtocolNamespaceClient(const RestXmlProtocolNamespace::RestXmlProtocolNamespaceClientConfiguration& clientConfiguration, + std::shared_ptr endpointProvider) : + BASECLASS(clientConfiguration, + Aws::MakeShared(ALLOCATION_TAG, + Aws::MakeShared(ALLOCATION_TAG), + SERVICE_NAME, + Aws::Region::ComputeSignerRegion(clientConfiguration.region)), + Aws::MakeShared(ALLOCATION_TAG)), + m_clientConfiguration(clientConfiguration), + m_endpointProvider(endpointProvider ? std::move(endpointProvider) : Aws::MakeShared(ALLOCATION_TAG)) +{ + init(m_clientConfiguration); +} + +RestXmlProtocolNamespaceClient::RestXmlProtocolNamespaceClient(const AWSCredentials& credentials, + std::shared_ptr endpointProvider, + const RestXmlProtocolNamespace::RestXmlProtocolNamespaceClientConfiguration& clientConfiguration) : + BASECLASS(clientConfiguration, + Aws::MakeShared(ALLOCATION_TAG, + Aws::MakeShared(ALLOCATION_TAG, credentials), + SERVICE_NAME, + Aws::Region::ComputeSignerRegion(clientConfiguration.region)), + Aws::MakeShared(ALLOCATION_TAG)), + m_clientConfiguration(clientConfiguration), + m_endpointProvider(endpointProvider ? std::move(endpointProvider) : Aws::MakeShared(ALLOCATION_TAG)) +{ + init(m_clientConfiguration); +} + +RestXmlProtocolNamespaceClient::RestXmlProtocolNamespaceClient(const std::shared_ptr& credentialsProvider, + std::shared_ptr endpointProvider, + const RestXmlProtocolNamespace::RestXmlProtocolNamespaceClientConfiguration& clientConfiguration) : + BASECLASS(clientConfiguration, + Aws::MakeShared(ALLOCATION_TAG, + credentialsProvider, + SERVICE_NAME, + Aws::Region::ComputeSignerRegion(clientConfiguration.region)), + Aws::MakeShared(ALLOCATION_TAG)), + m_clientConfiguration(clientConfiguration), + m_endpointProvider(endpointProvider ? std::move(endpointProvider) : Aws::MakeShared(ALLOCATION_TAG)) +{ + init(m_clientConfiguration); +} + + /* Legacy constructors due deprecation */ + RestXmlProtocolNamespaceClient::RestXmlProtocolNamespaceClient(const Client::ClientConfiguration& clientConfiguration) : + BASECLASS(clientConfiguration, + Aws::MakeShared(ALLOCATION_TAG, + Aws::MakeShared(ALLOCATION_TAG), + SERVICE_NAME, + Aws::Region::ComputeSignerRegion(clientConfiguration.region)), + Aws::MakeShared(ALLOCATION_TAG)), + m_clientConfiguration(clientConfiguration), + m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) +{ + init(m_clientConfiguration); +} + +RestXmlProtocolNamespaceClient::RestXmlProtocolNamespaceClient(const AWSCredentials& credentials, + const Client::ClientConfiguration& clientConfiguration) : + BASECLASS(clientConfiguration, + Aws::MakeShared(ALLOCATION_TAG, + Aws::MakeShared(ALLOCATION_TAG, credentials), + SERVICE_NAME, + Aws::Region::ComputeSignerRegion(clientConfiguration.region)), + Aws::MakeShared(ALLOCATION_TAG)), + m_clientConfiguration(clientConfiguration), + m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) +{ + init(m_clientConfiguration); +} + +RestXmlProtocolNamespaceClient::RestXmlProtocolNamespaceClient(const std::shared_ptr& credentialsProvider, + const Client::ClientConfiguration& clientConfiguration) : + BASECLASS(clientConfiguration, + Aws::MakeShared(ALLOCATION_TAG, + credentialsProvider, + SERVICE_NAME, + Aws::Region::ComputeSignerRegion(clientConfiguration.region)), + Aws::MakeShared(ALLOCATION_TAG)), + m_clientConfiguration(clientConfiguration), + m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) +{ + init(m_clientConfiguration); +} + + /* End of legacy constructors due deprecation */ +RestXmlProtocolNamespaceClient::~RestXmlProtocolNamespaceClient() +{ + ShutdownSdkClient(this, -1); +} + +std::shared_ptr& RestXmlProtocolNamespaceClient::accessEndpointProvider() +{ + return m_endpointProvider; +} + +void RestXmlProtocolNamespaceClient::init(const RestXmlProtocolNamespace::RestXmlProtocolNamespaceClientConfiguration& config) +{ + AWSClient::SetServiceClientName("Rest Xml Protocol Namespace"); + if (!m_clientConfiguration.executor) { + if (!m_clientConfiguration.configFactories.executorCreateFn()) { + AWS_LOGSTREAM_FATAL(ALLOCATION_TAG, "Failed to initialize client: config is missing Executor or executorCreateFn"); + m_isInitialized = false; + return; + } + m_clientConfiguration.executor = m_clientConfiguration.configFactories.executorCreateFn(); + } + AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); + m_endpointProvider->InitBuiltInParameters(config); +} + +void RestXmlProtocolNamespaceClient::OverrideEndpoint(const Aws::String& endpoint) +{ + AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); + m_endpointProvider->OverrideEndpoint(endpoint); +} + +SimpleScalarPropertiesOutcome RestXmlProtocolNamespaceClient::SimpleScalarProperties(const SimpleScalarPropertiesRequest& request) const +{ + AWS_OPERATION_GUARD(SimpleScalarProperties); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, SimpleScalarProperties, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, SimpleScalarProperties, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, SimpleScalarProperties, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> SimpleScalarPropertiesOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, SimpleScalarProperties, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/SimpleScalarProperties"); + return SimpleScalarPropertiesOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_PUT)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol-namespace/source/RestXmlProtocolNamespaceEndpointProvider.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol-namespace/source/RestXmlProtocolNamespaceEndpointProvider.cpp new file mode 100644 index 00000000000..4cbe4db6fc0 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol-namespace/source/RestXmlProtocolNamespaceEndpointProvider.cpp @@ -0,0 +1,16 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws +{ +namespace RestXmlProtocolNamespace +{ +namespace Endpoint +{ +} // namespace Endpoint +} // namespace RestXmlProtocolNamespace +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol-namespace/source/RestXmlProtocolNamespaceEndpointRules.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol-namespace/source/RestXmlProtocolNamespaceEndpointRules.cpp new file mode 100644 index 00000000000..6e1572b66f5 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol-namespace/source/RestXmlProtocolNamespaceEndpointRules.cpp @@ -0,0 +1,70 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +namespace Aws +{ +namespace RestXmlProtocolNamespace +{ +const size_t RestXmlProtocolNamespaceEndpointRules::RulesBlobStrLen = 1086; +const size_t RestXmlProtocolNamespaceEndpointRules::RulesBlobSize = 1087; + +using RulesBlobT = Aws::Array; +static constexpr RulesBlobT RulesBlob = {{ +'{','"','v','e','r','s','i','o','n','"',':','"','1','.','3','"',',','"','p','a','r','a','m','e','t', +'e','r','s','"',':','{','"','R','e','g','i','o','n','"',':','{','"','b','u','i','l','t','I','n','"', +':','"','A','W','S',':',':','R','e','g','i','o','n','"',',','"','r','e','q','u','i','r','e','d','"', +':','t','r','u','e',',','"','d','o','c','u','m','e','n','t','a','t','i','o','n','"',':','"','T','h', +'e',' ','A','W','S',' ','r','e','g','i','o','n',' ','u','s','e','d',' ','t','o',' ','d','i','s','p', +'a','t','c','h',' ','t','h','e',' ','r','e','q','u','e','s','t','.','"',',','"','t','y','p','e','"', +':','"','S','t','r','i','n','g','"','}',',','"','U','s','e','D','u','a','l','S','t','a','c','k','"', +':','{','"','b','u','i','l','t','I','n','"',':','"','A','W','S',':',':','U','s','e','D','u','a','l', +'S','t','a','c','k','"',',','"','r','e','q','u','i','r','e','d','"',':','t','r','u','e',',','"','d', +'e','f','a','u','l','t','"',':','f','a','l','s','e',',','"','d','o','c','u','m','e','n','t','a','t', +'i','o','n','"',':','"','W','h','e','n',' ','t','r','u','e',',',' ','u','s','e',' ','t','h','e',' ', +'d','u','a','l','-','s','t','a','c','k',' ','e','n','d','p','o','i','n','t','.',' ','I','f',' ','t', +'h','e',' ','c','o','n','f','i','g','u','r','e','d',' ','e','n','d','p','o','i','n','t',' ','d','o', +'e','s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ','d','u','a','l','-','s','t','a','c','k', +',',' ','d','i','s','p','a','t','c','h','i','n','g',' ','t','h','e',' ','r','e','q','u','e','s','t', +' ','M','A','Y',' ','r','e','t','u','r','n',' ','a','n',' ','e','r','r','o','r','.','"',',','"','t', +'y','p','e','"',':','"','B','o','o','l','e','a','n','"','}',',','"','U','s','e','F','I','P','S','"', +':','{','"','b','u','i','l','t','I','n','"',':','"','A','W','S',':',':','U','s','e','F','I','P','S', +'"',',','"','r','e','q','u','i','r','e','d','"',':','t','r','u','e',',','"','d','e','f','a','u','l', +'t','"',':','f','a','l','s','e',',','"','d','o','c','u','m','e','n','t','a','t','i','o','n','"',':', +'"','W','h','e','n',' ','t','r','u','e',',',' ','s','e','n','d',' ','t','h','i','s',' ','r','e','q', +'u','e','s','t',' ','t','o',' ','t','h','e',' ','F','I','P','S','-','c','o','m','p','l','i','a','n', +'t',' ','r','e','g','i','o','n','a','l',' ','e','n','d','p','o','i','n','t','.',' ','I','f',' ','t', +'h','e',' ','c','o','n','f','i','g','u','r','e','d',' ','e','n','d','p','o','i','n','t',' ','d','o', +'e','s',' ','n','o','t',' ','h','a','v','e',' ','a',' ','F','I','P','S',' ','c','o','m','p','l','i', +'a','n','t',' ','e','n','d','p','o','i','n','t',',',' ','d','i','s','p','a','t','c','h','i','n','g', +' ','t','h','e',' ','r','e','q','u','e','s','t',' ','w','i','l','l',' ','r','e','t','u','r','n',' ', +'a','n',' ','e','r','r','o','r','.','"',',','"','t','y','p','e','"',':','"','B','o','o','l','e','a', +'n','"','}',',','"','E','n','d','p','o','i','n','t','"',':','{','"','b','u','i','l','t','I','n','"', +':','"','S','D','K',':',':','E','n','d','p','o','i','n','t','"',',','"','r','e','q','u','i','r','e', +'d','"',':','f','a','l','s','e',',','"','d','o','c','u','m','e','n','t','a','t','i','o','n','"',':', +'"','O','v','e','r','r','i','d','e',' ','t','h','e',' ','e','n','d','p','o','i','n','t',' ','u','s', +'e','d',' ','t','o',' ','s','e','n','d',' ','t','h','i','s',' ','r','e','q','u','e','s','t','"',',', +'"','t','y','p','e','"',':','"','S','t','r','i','n','g','"','}','}',',','"','r','u','l','e','s','"', +':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','t','y','p','e','"', +':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t', +'i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l', +'"',':','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',',','"','p','r','o', +'p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[', +'{','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','R', +'e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"',',','"','s','i','g','n','i','n', +'g','N','a','m','e','"',':','"','t','e','s','t','-','s','e','r','v','i','c','e','"','}',']','}',',', +'"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d', +'p','o','i','n','t','"','}',']','}',']','}','\0' +}}; + +const char* RestXmlProtocolNamespaceEndpointRules::GetRulesBlob() +{ + return RulesBlob.data(); +} + +} // namespace RestXmlProtocolNamespace +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol-namespace/source/RestXmlProtocolNamespaceErrorMarshaller.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol-namespace/source/RestXmlProtocolNamespaceErrorMarshaller.cpp new file mode 100644 index 00000000000..0643396666e --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol-namespace/source/RestXmlProtocolNamespaceErrorMarshaller.cpp @@ -0,0 +1,22 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include + +using namespace Aws::Client; +using namespace Aws::RestXmlProtocolNamespace; + +AWSError RestXmlProtocolNamespaceErrorMarshaller::FindErrorByName(const char* errorName) const +{ + AWSError error = RestXmlProtocolNamespaceErrorMapper::GetErrorForName(errorName); + if(error.GetErrorType() != CoreErrors::UNKNOWN) + { + return error; + } + + return AWSErrorMarshaller::FindErrorByName(errorName); +} \ No newline at end of file diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol-namespace/source/RestXmlProtocolNamespaceErrors.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol-namespace/source/RestXmlProtocolNamespaceErrors.cpp new file mode 100644 index 00000000000..94c45cb3b15 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol-namespace/source/RestXmlProtocolNamespaceErrors.cpp @@ -0,0 +1,32 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Client; +using namespace Aws::Utils; +using namespace Aws::RestXmlProtocolNamespace; + +namespace Aws +{ +namespace RestXmlProtocolNamespace +{ +namespace RestXmlProtocolNamespaceErrorMapper +{ + + + +AWSError GetErrorForName(const char* errorName) +{ + AWS_UNREFERENCED_PARAM(errorName); + return AWSError(CoreErrors::UNKNOWN, false); +} + +} // namespace RestXmlProtocolNamespaceErrorMapper +} // namespace RestXmlProtocolNamespace +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol-namespace/source/RestXmlProtocolNamespaceRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol-namespace/source/RestXmlProtocolNamespaceRequest.cpp new file mode 100644 index 00000000000..edfe4a31e4b --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol-namespace/source/RestXmlProtocolNamespaceRequest.cpp @@ -0,0 +1,14 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + + +#include + +namespace Aws +{ +namespace RestXmlProtocolNamespace +{ +} // namespace RestXmlProtocolNamespace +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol-namespace/source/model/NestedWithNamespace.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol-namespace/source/model/NestedWithNamespace.cpp new file mode 100644 index 00000000000..e830b621d7d --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol-namespace/source/model/NestedWithNamespace.cpp @@ -0,0 +1,63 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; + +namespace Aws +{ +namespace RestXmlProtocolNamespace +{ +namespace Model +{ + +NestedWithNamespace::NestedWithNamespace() : + m_attrFieldHasBeenSet(false) +{ +} + +NestedWithNamespace::NestedWithNamespace(const XmlNode& xmlNode) + : NestedWithNamespace() +{ + *this = xmlNode; +} + +NestedWithNamespace& NestedWithNamespace::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + auto attrField = resultNode.GetAttributeValue("xsi:someName"); + if(!attrField.empty()) + { + m_attrField = attrField; + m_attrFieldHasBeenSet = true; + } + } + + return *this; +} + +void NestedWithNamespace::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + if(m_attrFieldHasBeenSet) + { + parentNode.SetAttributeValue("xsi:someName", m_attrField); + } + +} + +} // namespace Model +} // namespace RestXmlProtocolNamespace +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol-namespace/source/model/SimpleScalarPropertiesRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol-namespace/source/model/SimpleScalarPropertiesRequest.cpp new file mode 100644 index 00000000000..21e36542e02 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol-namespace/source/model/SimpleScalarPropertiesRequest.cpp @@ -0,0 +1,149 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +#include + +using namespace Aws::RestXmlProtocolNamespace::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; + +SimpleScalarPropertiesRequest::SimpleScalarPropertiesRequest() : + m_fooHasBeenSet(false), + m_stringValueHasBeenSet(false), + m_trueBooleanValue(false), + m_trueBooleanValueHasBeenSet(false), + m_falseBooleanValue(false), + m_falseBooleanValueHasBeenSet(false), + m_byteValue(0), + m_byteValueHasBeenSet(false), + m_shortValue(0), + m_shortValueHasBeenSet(false), + m_integerValue(0), + m_integerValueHasBeenSet(false), + m_longValue(0), + m_longValueHasBeenSet(false), + m_floatValue(0.0), + m_floatValueHasBeenSet(false), + m_nestedHasBeenSet(false), + m_doubleValue(0.0), + m_doubleValueHasBeenSet(false), + m_requestIdHasBeenSet(false) +{ +} + +Aws::String SimpleScalarPropertiesRequest::SerializePayload() const +{ + XmlDocument payloadDoc = XmlDocument::CreateWithRootNode("SimpleScalarPropertiesRequest"); + + XmlNode parentNode = payloadDoc.GetRootElement(); + parentNode.SetAttributeValue("xmlns", "https://example.com"); + + Aws::StringStream ss; + if(m_stringValueHasBeenSet) + { + XmlNode stringValueNode = parentNode.CreateChildElement("stringValue"); + stringValueNode.SetText(m_stringValue); + } + + if(m_trueBooleanValueHasBeenSet) + { + XmlNode trueBooleanValueNode = parentNode.CreateChildElement("trueBooleanValue"); + ss << std::boolalpha << m_trueBooleanValue; + trueBooleanValueNode.SetText(ss.str()); + ss.str(""); + } + + if(m_falseBooleanValueHasBeenSet) + { + XmlNode falseBooleanValueNode = parentNode.CreateChildElement("falseBooleanValue"); + ss << std::boolalpha << m_falseBooleanValue; + falseBooleanValueNode.SetText(ss.str()); + ss.str(""); + } + + if(m_byteValueHasBeenSet) + { + XmlNode byteValueNode = parentNode.CreateChildElement("byteValue"); + ss << m_byteValue; + byteValueNode.SetText(ss.str()); + ss.str(""); + } + + if(m_shortValueHasBeenSet) + { + XmlNode shortValueNode = parentNode.CreateChildElement("shortValue"); + ss << m_shortValue; + shortValueNode.SetText(ss.str()); + ss.str(""); + } + + if(m_integerValueHasBeenSet) + { + XmlNode integerValueNode = parentNode.CreateChildElement("integerValue"); + ss << m_integerValue; + integerValueNode.SetText(ss.str()); + ss.str(""); + } + + if(m_longValueHasBeenSet) + { + XmlNode longValueNode = parentNode.CreateChildElement("longValue"); + ss << m_longValue; + longValueNode.SetText(ss.str()); + ss.str(""); + } + + if(m_floatValueHasBeenSet) + { + XmlNode floatValueNode = parentNode.CreateChildElement("floatValue"); + ss << m_floatValue; + floatValueNode.SetText(ss.str()); + ss.str(""); + } + + if(m_nestedHasBeenSet) + { + XmlNode nestedNode = parentNode.CreateChildElement("Nested"); + m_nested.AddToNode(nestedNode); + } + + if(m_doubleValueHasBeenSet) + { + XmlNode doubleValueNode = parentNode.CreateChildElement("DoubleDribble"); + ss << m_doubleValue; + doubleValueNode.SetText(ss.str()); + ss.str(""); + } + + return payloadDoc.ConvertToString(); +} + + +Aws::Http::HeaderValueCollection SimpleScalarPropertiesRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_fooHasBeenSet) + { + ss << m_foo; + headers.emplace("x-foo", ss.str()); + ss.str(""); + } + + if(m_requestIdHasBeenSet) + { + ss << m_requestId; + headers.emplace("x-amzn-requestid", ss.str()); + ss.str(""); + } + + return headers; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol-namespace/source/model/SimpleScalarPropertiesResult.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol-namespace/source/model/SimpleScalarPropertiesResult.cpp new file mode 100644 index 00000000000..c6a001e54d1 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol-namespace/source/model/SimpleScalarPropertiesResult.cpp @@ -0,0 +1,110 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +#include + +using namespace Aws::RestXmlProtocolNamespace::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws; + +SimpleScalarPropertiesResult::SimpleScalarPropertiesResult() : + m_trueBooleanValue(false), + m_falseBooleanValue(false), + m_byteValue(0), + m_shortValue(0), + m_integerValue(0), + m_longValue(0), + m_floatValue(0.0), + m_doubleValue(0.0) +{ +} + +SimpleScalarPropertiesResult::SimpleScalarPropertiesResult(const Aws::AmazonWebServiceResult& result) + : SimpleScalarPropertiesResult() +{ + *this = result; +} + +SimpleScalarPropertiesResult& SimpleScalarPropertiesResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode resultNode = xmlDocument.GetRootElement(); + + if(!resultNode.IsNull()) + { + XmlNode stringValueNode = resultNode.FirstChild("stringValue"); + if(!stringValueNode.IsNull()) + { + m_stringValue = Aws::Utils::Xml::DecodeEscapedXmlText(stringValueNode.GetText()); + } + XmlNode trueBooleanValueNode = resultNode.FirstChild("trueBooleanValue"); + if(!trueBooleanValueNode.IsNull()) + { + m_trueBooleanValue = StringUtils::ConvertToBool(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(trueBooleanValueNode.GetText()).c_str()).c_str()); + } + XmlNode falseBooleanValueNode = resultNode.FirstChild("falseBooleanValue"); + if(!falseBooleanValueNode.IsNull()) + { + m_falseBooleanValue = StringUtils::ConvertToBool(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(falseBooleanValueNode.GetText()).c_str()).c_str()); + } + XmlNode byteValueNode = resultNode.FirstChild("byteValue"); + if(!byteValueNode.IsNull()) + { + m_byteValue = StringUtils::ConvertToInt32(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(byteValueNode.GetText()).c_str()).c_str()); + } + XmlNode shortValueNode = resultNode.FirstChild("shortValue"); + if(!shortValueNode.IsNull()) + { + m_shortValue = StringUtils::ConvertToInt32(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(shortValueNode.GetText()).c_str()).c_str()); + } + XmlNode integerValueNode = resultNode.FirstChild("integerValue"); + if(!integerValueNode.IsNull()) + { + m_integerValue = StringUtils::ConvertToInt32(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(integerValueNode.GetText()).c_str()).c_str()); + } + XmlNode longValueNode = resultNode.FirstChild("longValue"); + if(!longValueNode.IsNull()) + { + m_longValue = StringUtils::ConvertToInt64(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(longValueNode.GetText()).c_str()).c_str()); + } + XmlNode floatValueNode = resultNode.FirstChild("floatValue"); + if(!floatValueNode.IsNull()) + { + m_floatValue = StringUtils::ConvertToDouble(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(floatValueNode.GetText()).c_str()).c_str()); + } + XmlNode nestedNode = resultNode.FirstChild("Nested"); + if(!nestedNode.IsNull()) + { + m_nested = nestedNode; + } + XmlNode doubleValueNode = resultNode.FirstChild("DoubleDribble"); + if(!doubleValueNode.IsNull()) + { + m_doubleValue = StringUtils::ConvertToDouble(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(doubleValueNode.GetText()).c_str()).c_str()); + } + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& fooIter = headers.find("x-foo"); + if(fooIter != headers.end()) + { + m_foo = fooIter->second; + } + + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + return *this; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/CMakeLists.txt b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/CMakeLists.txt new file mode 100644 index 00000000000..8f1fec2a12a --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/CMakeLists.txt @@ -0,0 +1,76 @@ +add_project(aws-cpp-sdk-rest-xml-protocol "C++ SDK for the AWS rest-xml-protocol service" aws-cpp-sdk-core) + +file(GLOB AWS_REST-XML-PROTOCOL_HEADERS + "include/aws/rest-xml-protocol/*.h" +) + +file(GLOB AWS_REST-XML-PROTOCOL_MODEL_HEADERS + "include/aws/rest-xml-protocol/model/*.h" +) + +file(GLOB AWS_REST-XML-PROTOCOL_SOURCE + "source/*.cpp" +) + +file(GLOB AWS_REST-XML-PROTOCOL_MODEL_SOURCE + "source/model/*.cpp" +) + +file(GLOB REST-XML-PROTOCOL_UNIFIED_HEADERS + ${AWS_REST-XML-PROTOCOL_HEADERS} + ${AWS_REST-XML-PROTOCOL_MODEL_HEADERS} +) + +file(GLOB REST-XML-PROTOCOL_UNITY_SRC + ${AWS_REST-XML-PROTOCOL_SOURCE} + ${AWS_REST-XML-PROTOCOL_MODEL_SOURCE} +) + +if(ENABLE_UNITY_BUILD) + enable_unity_build("REST-XML-PROTOCOL" REST-XML-PROTOCOL_UNITY_SRC) +endif() + +file(GLOB REST-XML-PROTOCOL_SRC + ${REST-XML-PROTOCOL_UNIFIED_HEADERS} + ${REST-XML-PROTOCOL_UNITY_SRC} +) + +if(WIN32) + #if we are compiling for visual studio, create a sane directory tree. + if(MSVC) + source_group("Header Files\\aws\\rest-xml-protocol" FILES ${AWS_REST-XML-PROTOCOL_HEADERS}) + source_group("Header Files\\aws\\rest-xml-protocol\\model" FILES ${AWS_REST-XML-PROTOCOL_MODEL_HEADERS}) + source_group("Source Files" FILES ${AWS_REST-XML-PROTOCOL_SOURCE}) + source_group("Source Files\\model" FILES ${AWS_REST-XML-PROTOCOL_MODEL_SOURCE}) + endif(MSVC) +endif() + +set(REST-XML-PROTOCOL_INCLUDES + "${CMAKE_CURRENT_SOURCE_DIR}/include/" +) + +add_library(${PROJECT_NAME} ${REST-XML-PROTOCOL_SRC}) +add_library(AWS::${PROJECT_NAME} ALIAS ${PROJECT_NAME}) + +set_compiler_flags(${PROJECT_NAME}) +set_compiler_warnings(${PROJECT_NAME}) + +if(USE_WINDOWS_DLL_SEMANTICS AND BUILD_SHARED_LIBS) + target_compile_definitions(${PROJECT_NAME} PRIVATE "AWS_RESTXMLPROTOCOL_EXPORTS") +endif() + +target_include_directories(${PROJECT_NAME} PUBLIC + $ + $) + +target_link_libraries(${PROJECT_NAME} PRIVATE ${PLATFORM_DEP_LIBS} ${PROJECT_LIBS}) + + +setup_install() + +install (FILES ${AWS_REST-XML-PROTOCOL_HEADERS} DESTINATION ${INCLUDE_DIRECTORY}/aws/rest-xml-protocol) +install (FILES ${AWS_REST-XML-PROTOCOL_MODEL_HEADERS} DESTINATION ${INCLUDE_DIRECTORY}/aws/rest-xml-protocol/model) + +do_packaging() + + diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/RestXmlProtocolClient.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/RestXmlProtocolClient.h new file mode 100644 index 00000000000..db135f5e153 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/RestXmlProtocolClient.h @@ -0,0 +1,1651 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace RestXmlProtocol +{ + /** + *

A REST XML service that sends XML requests and responses.

+ */ + class AWS_RESTXMLPROTOCOL_API RestXmlProtocolClient : public Aws::Client::AWSXMLClient, public Aws::Client::ClientWithAsyncTemplateMethods + { + public: + typedef Aws::Client::AWSXMLClient BASECLASS; + static const char* GetServiceName(); + static const char* GetAllocationTag(); + + typedef RestXmlProtocolClientConfiguration ClientConfigurationType; + typedef RestXmlProtocolEndpointProvider EndpointProviderType; + + /** + * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client config + * is not specified, it will be initialized to default values. + */ + RestXmlProtocolClient(const Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration& clientConfiguration = Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(), + std::shared_ptr endpointProvider = nullptr); + + /** + * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config + * is not specified, it will be initialized to default values. + */ + RestXmlProtocolClient(const Aws::Auth::AWSCredentials& credentials, + std::shared_ptr endpointProvider = nullptr, + const Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration& clientConfiguration = Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration()); + + /** + * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, + * the default http client factory will be used + */ + RestXmlProtocolClient(const std::shared_ptr& credentialsProvider, + std::shared_ptr endpointProvider = nullptr, + const Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration& clientConfiguration = Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration()); + + + /* Legacy constructors due deprecation */ + /** + * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client config + * is not specified, it will be initialized to default values. + */ + RestXmlProtocolClient(const Aws::Client::ClientConfiguration& clientConfiguration); + + /** + * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config + * is not specified, it will be initialized to default values. + */ + RestXmlProtocolClient(const Aws::Auth::AWSCredentials& credentials, + const Aws::Client::ClientConfiguration& clientConfiguration); + + /** + * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, + * the default http client factory will be used + */ + RestXmlProtocolClient(const std::shared_ptr& credentialsProvider, + const Aws::Client::ClientConfiguration& clientConfiguration); + + /* End of legacy constructors due deprecation */ + virtual ~RestXmlProtocolClient(); + + + /** + *

This example uses all query string types.

See Also:

AWS + * API Reference

+ */ + virtual Model::AllQueryStringTypesOutcome AllQueryStringTypes(const Model::AllQueryStringTypesRequest& request = {}) const; + + /** + * A Callable wrapper for AllQueryStringTypes that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::AllQueryStringTypesOutcomeCallable AllQueryStringTypesCallable(const AllQueryStringTypesRequestT& request = {}) const + { + return SubmitCallable(&RestXmlProtocolClient::AllQueryStringTypes, request); + } + + /** + * An Async wrapper for AllQueryStringTypes that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void AllQueryStringTypesAsync(const AllQueryStringTypesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const AllQueryStringTypesRequestT& request = {}) const + { + return SubmitAsync(&RestXmlProtocolClient::AllQueryStringTypes, request, handler, context); + } + + /** + *

The following example serializes a body that uses an XML name, changing the + * wrapper name.

See Also:

AWS + * API Reference

+ */ + virtual Model::BodyWithXmlNameOutcome BodyWithXmlName(const Model::BodyWithXmlNameRequest& request = {}) const; + + /** + * A Callable wrapper for BodyWithXmlName that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::BodyWithXmlNameOutcomeCallable BodyWithXmlNameCallable(const BodyWithXmlNameRequestT& request = {}) const + { + return SubmitCallable(&RestXmlProtocolClient::BodyWithXmlName, request); + } + + /** + * An Async wrapper for BodyWithXmlName that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void BodyWithXmlNameAsync(const BodyWithXmlNameResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const BodyWithXmlNameRequestT& request = {}) const + { + return SubmitAsync(&RestXmlProtocolClient::BodyWithXmlName, request, handler, context); + } + + /** + *

This example uses fixed query string params and variable query string params. + * The fixed query string parameters and variable parameters must both be + * serialized (implementations may need to merge them together).

See + * Also:

AWS + * API Reference

+ */ + virtual Model::ConstantAndVariableQueryStringOutcome ConstantAndVariableQueryString(const Model::ConstantAndVariableQueryStringRequest& request = {}) const; + + /** + * A Callable wrapper for ConstantAndVariableQueryString that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::ConstantAndVariableQueryStringOutcomeCallable ConstantAndVariableQueryStringCallable(const ConstantAndVariableQueryStringRequestT& request = {}) const + { + return SubmitCallable(&RestXmlProtocolClient::ConstantAndVariableQueryString, request); + } + + /** + * An Async wrapper for ConstantAndVariableQueryString that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void ConstantAndVariableQueryStringAsync(const ConstantAndVariableQueryStringResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const ConstantAndVariableQueryStringRequestT& request = {}) const + { + return SubmitAsync(&RestXmlProtocolClient::ConstantAndVariableQueryString, request, handler, context); + } + + /** + *

This example uses a constant query string parameters and a label. This simply + * tests that labels and query string parameters are compatible. The fixed query + * string parameter named "hello" should in no way conflict with the + * label, {hello}.

See Also:

AWS + * API Reference

+ */ + virtual Model::ConstantQueryStringOutcome ConstantQueryString(const Model::ConstantQueryStringRequest& request) const; + + /** + * A Callable wrapper for ConstantQueryString that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::ConstantQueryStringOutcomeCallable ConstantQueryStringCallable(const ConstantQueryStringRequestT& request) const + { + return SubmitCallable(&RestXmlProtocolClient::ConstantQueryString, request); + } + + /** + * An Async wrapper for ConstantQueryString that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void ConstantQueryStringAsync(const ConstantQueryStringRequestT& request, const ConstantQueryStringResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&RestXmlProtocolClient::ConstantQueryString, request, handler, context); + } + + /** + *

The example tests how servers must support requests containing a + * Content-Type header with parameters.

See Also:

AWS + * API Reference

+ */ + virtual Model::ContentTypeParametersOutcome ContentTypeParameters(const Model::ContentTypeParametersRequest& request = {}) const; + + /** + * A Callable wrapper for ContentTypeParameters that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::ContentTypeParametersOutcomeCallable ContentTypeParametersCallable(const ContentTypeParametersRequestT& request = {}) const + { + return SubmitCallable(&RestXmlProtocolClient::ContentTypeParameters, request); + } + + /** + * An Async wrapper for ContentTypeParameters that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void ContentTypeParametersAsync(const ContentTypeParametersResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const ContentTypeParametersRequestT& request = {}) const + { + return SubmitAsync(&RestXmlProtocolClient::ContentTypeParameters, request, handler, context); + } + + /** + * + */ + virtual Model::DatetimeOffsetsOutcome DatetimeOffsets(const Model::DatetimeOffsetsRequest& request = {}) const; + + /** + * A Callable wrapper for DatetimeOffsets that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::DatetimeOffsetsOutcomeCallable DatetimeOffsetsCallable(const DatetimeOffsetsRequestT& request = {}) const + { + return SubmitCallable(&RestXmlProtocolClient::DatetimeOffsets, request); + } + + /** + * An Async wrapper for DatetimeOffsets that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void DatetimeOffsetsAsync(const DatetimeOffsetsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const DatetimeOffsetsRequestT& request = {}) const + { + return SubmitAsync(&RestXmlProtocolClient::DatetimeOffsets, request, handler, context); + } + + /** + *

The example tests how requests and responses are serialized when there's no + * request or response payload because the operation has an empty input and empty + * output structure that reuses the same shape. While this should be rare, code + * generators must support this.

See Also:

AWS + * API Reference

+ */ + virtual Model::EmptyInputAndEmptyOutputOutcome EmptyInputAndEmptyOutput(const Model::EmptyInputAndEmptyOutputRequest& request = {}) const; + + /** + * A Callable wrapper for EmptyInputAndEmptyOutput that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::EmptyInputAndEmptyOutputOutcomeCallable EmptyInputAndEmptyOutputCallable(const EmptyInputAndEmptyOutputRequestT& request = {}) const + { + return SubmitCallable(&RestXmlProtocolClient::EmptyInputAndEmptyOutput, request); + } + + /** + * An Async wrapper for EmptyInputAndEmptyOutput that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void EmptyInputAndEmptyOutputAsync(const EmptyInputAndEmptyOutputResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const EmptyInputAndEmptyOutputRequestT& request = {}) const + { + return SubmitAsync(&RestXmlProtocolClient::EmptyInputAndEmptyOutput, request, handler, context); + } + + /** + * + */ + virtual Model::EndpointOperationOutcome EndpointOperation(const Model::EndpointOperationRequest& request = {}) const; + + /** + * A Callable wrapper for EndpointOperation that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::EndpointOperationOutcomeCallable EndpointOperationCallable(const EndpointOperationRequestT& request = {}) const + { + return SubmitCallable(&RestXmlProtocolClient::EndpointOperation, request); + } + + /** + * An Async wrapper for EndpointOperation that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void EndpointOperationAsync(const EndpointOperationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const EndpointOperationRequestT& request = {}) const + { + return SubmitAsync(&RestXmlProtocolClient::EndpointOperation, request, handler, context); + } + + /** + * + */ + virtual Model::EndpointWithHostLabelHeaderOperationOutcome EndpointWithHostLabelHeaderOperation(const Model::EndpointWithHostLabelHeaderOperationRequest& request) const; + + /** + * A Callable wrapper for EndpointWithHostLabelHeaderOperation that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::EndpointWithHostLabelHeaderOperationOutcomeCallable EndpointWithHostLabelHeaderOperationCallable(const EndpointWithHostLabelHeaderOperationRequestT& request) const + { + return SubmitCallable(&RestXmlProtocolClient::EndpointWithHostLabelHeaderOperation, request); + } + + /** + * An Async wrapper for EndpointWithHostLabelHeaderOperation that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void EndpointWithHostLabelHeaderOperationAsync(const EndpointWithHostLabelHeaderOperationRequestT& request, const EndpointWithHostLabelHeaderOperationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&RestXmlProtocolClient::EndpointWithHostLabelHeaderOperation, request, handler, context); + } + + /** + * + */ + virtual Model::EndpointWithHostLabelOperationOutcome EndpointWithHostLabelOperation(const Model::EndpointWithHostLabelOperationRequest& request) const; + + /** + * A Callable wrapper for EndpointWithHostLabelOperation that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::EndpointWithHostLabelOperationOutcomeCallable EndpointWithHostLabelOperationCallable(const EndpointWithHostLabelOperationRequestT& request) const + { + return SubmitCallable(&RestXmlProtocolClient::EndpointWithHostLabelOperation, request); + } + + /** + * An Async wrapper for EndpointWithHostLabelOperation that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void EndpointWithHostLabelOperationAsync(const EndpointWithHostLabelOperationRequestT& request, const EndpointWithHostLabelOperationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&RestXmlProtocolClient::EndpointWithHostLabelOperation, request, handler, context); + } + + /** + *

Flattened maps

See Also:

AWS + * API Reference

+ */ + virtual Model::FlattenedXmlMapOutcome FlattenedXmlMap(const Model::FlattenedXmlMapRequest& request = {}) const; + + /** + * A Callable wrapper for FlattenedXmlMap that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::FlattenedXmlMapOutcomeCallable FlattenedXmlMapCallable(const FlattenedXmlMapRequestT& request = {}) const + { + return SubmitCallable(&RestXmlProtocolClient::FlattenedXmlMap, request); + } + + /** + * An Async wrapper for FlattenedXmlMap that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void FlattenedXmlMapAsync(const FlattenedXmlMapResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const FlattenedXmlMapRequestT& request = {}) const + { + return SubmitAsync(&RestXmlProtocolClient::FlattenedXmlMap, request, handler, context); + } + + /** + *

Flattened maps with @xmlName

See Also:

AWS + * API Reference

+ */ + virtual Model::FlattenedXmlMapWithXmlNameOutcome FlattenedXmlMapWithXmlName(const Model::FlattenedXmlMapWithXmlNameRequest& request = {}) const; + + /** + * A Callable wrapper for FlattenedXmlMapWithXmlName that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::FlattenedXmlMapWithXmlNameOutcomeCallable FlattenedXmlMapWithXmlNameCallable(const FlattenedXmlMapWithXmlNameRequestT& request = {}) const + { + return SubmitCallable(&RestXmlProtocolClient::FlattenedXmlMapWithXmlName, request); + } + + /** + * An Async wrapper for FlattenedXmlMapWithXmlName that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void FlattenedXmlMapWithXmlNameAsync(const FlattenedXmlMapWithXmlNameResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const FlattenedXmlMapWithXmlNameRequestT& request = {}) const + { + return SubmitAsync(&RestXmlProtocolClient::FlattenedXmlMapWithXmlName, request, handler, context); + } + + /** + *

Flattened maps with @xmlNamespace and @xmlName

See Also:

AWS + * API Reference

+ */ + virtual Model::FlattenedXmlMapWithXmlNamespaceOutcome FlattenedXmlMapWithXmlNamespace(const Model::FlattenedXmlMapWithXmlNamespaceRequest& request = {}) const; + + /** + * A Callable wrapper for FlattenedXmlMapWithXmlNamespace that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::FlattenedXmlMapWithXmlNamespaceOutcomeCallable FlattenedXmlMapWithXmlNamespaceCallable(const FlattenedXmlMapWithXmlNamespaceRequestT& request = {}) const + { + return SubmitCallable(&RestXmlProtocolClient::FlattenedXmlMapWithXmlNamespace, request); + } + + /** + * An Async wrapper for FlattenedXmlMapWithXmlNamespace that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void FlattenedXmlMapWithXmlNamespaceAsync(const FlattenedXmlMapWithXmlNamespaceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const FlattenedXmlMapWithXmlNamespaceRequestT& request = {}) const + { + return SubmitAsync(&RestXmlProtocolClient::FlattenedXmlMapWithXmlNamespace, request, handler, context); + } + + /** + * + */ + virtual Model::FractionalSecondsOutcome FractionalSeconds(const Model::FractionalSecondsRequest& request = {}) const; + + /** + * A Callable wrapper for FractionalSeconds that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::FractionalSecondsOutcomeCallable FractionalSecondsCallable(const FractionalSecondsRequestT& request = {}) const + { + return SubmitCallable(&RestXmlProtocolClient::FractionalSeconds, request); + } + + /** + * An Async wrapper for FractionalSeconds that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void FractionalSecondsAsync(const FractionalSecondsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const FractionalSecondsRequestT& request = {}) const + { + return SubmitAsync(&RestXmlProtocolClient::FractionalSeconds, request, handler, context); + } + + /** + *

This operation has three possible return values:

  1. A successful + * response in the form of GreetingWithErrorsOutput
  2. An InvalidGreeting + * error.
  3. A BadRequest error.

Implementations must be able + * to successfully take a response and properly (de)serialize successful and error + * responses based on the the presence of the

See Also:

AWS + * API Reference

+ */ + virtual Model::GreetingWithErrorsOutcome GreetingWithErrors(const Model::GreetingWithErrorsRequest& request = {}) const; + + /** + * A Callable wrapper for GreetingWithErrors that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::GreetingWithErrorsOutcomeCallable GreetingWithErrorsCallable(const GreetingWithErrorsRequestT& request = {}) const + { + return SubmitCallable(&RestXmlProtocolClient::GreetingWithErrors, request); + } + + /** + * An Async wrapper for GreetingWithErrors that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void GreetingWithErrorsAsync(const GreetingWithErrorsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const GreetingWithErrorsRequestT& request = {}) const + { + return SubmitAsync(&RestXmlProtocolClient::GreetingWithErrors, request, handler, context); + } + + /** + * + */ + virtual Model::HttpEnumPayloadOutcome HttpEnumPayload(const Model::HttpEnumPayloadRequest& request = {}) const; + + /** + * A Callable wrapper for HttpEnumPayload that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::HttpEnumPayloadOutcomeCallable HttpEnumPayloadCallable(const HttpEnumPayloadRequestT& request = {}) const + { + return SubmitCallable(&RestXmlProtocolClient::HttpEnumPayload, request); + } + + /** + * An Async wrapper for HttpEnumPayload that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void HttpEnumPayloadAsync(const HttpEnumPayloadResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const HttpEnumPayloadRequestT& request = {}) const + { + return SubmitAsync(&RestXmlProtocolClient::HttpEnumPayload, request, handler, context); + } + + /** + *

This example serializes a blob shape in the payload.

In this example, + * no XML document is synthesized because the payload is not a structure or a union + * type.

See Also:

AWS + * API Reference

+ */ + virtual Model::HttpPayloadTraitsOutcome HttpPayloadTraits(const Model::HttpPayloadTraitsRequest& request = {}) const; + + /** + * A Callable wrapper for HttpPayloadTraits that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::HttpPayloadTraitsOutcomeCallable HttpPayloadTraitsCallable(const HttpPayloadTraitsRequestT& request = {}) const + { + return SubmitCallable(&RestXmlProtocolClient::HttpPayloadTraits, request); + } + + /** + * An Async wrapper for HttpPayloadTraits that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void HttpPayloadTraitsAsync(const HttpPayloadTraitsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const HttpPayloadTraitsRequestT& request = {}) const + { + return SubmitAsync(&RestXmlProtocolClient::HttpPayloadTraits, request, handler, context); + } + + /** + *

The following example serializes a payload that uses an XML name on the + * member, changing the wrapper name.

See Also:

AWS + * API Reference

+ */ + virtual Model::HttpPayloadWithMemberXmlNameOutcome HttpPayloadWithMemberXmlName(const Model::HttpPayloadWithMemberXmlNameRequest& request = {}) const; + + /** + * A Callable wrapper for HttpPayloadWithMemberXmlName that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::HttpPayloadWithMemberXmlNameOutcomeCallable HttpPayloadWithMemberXmlNameCallable(const HttpPayloadWithMemberXmlNameRequestT& request = {}) const + { + return SubmitCallable(&RestXmlProtocolClient::HttpPayloadWithMemberXmlName, request); + } + + /** + * An Async wrapper for HttpPayloadWithMemberXmlName that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void HttpPayloadWithMemberXmlNameAsync(const HttpPayloadWithMemberXmlNameResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const HttpPayloadWithMemberXmlNameRequestT& request = {}) const + { + return SubmitAsync(&RestXmlProtocolClient::HttpPayloadWithMemberXmlName, request, handler, context); + } + + /** + *

This example serializes a structure in the payload.

Note that + * serializing a structure changes the wrapper element name to match the targeted + * structure.

See Also:

AWS + * API Reference

+ */ + virtual Model::HttpPayloadWithStructureOutcome HttpPayloadWithStructure(const Model::HttpPayloadWithStructureRequest& request = {}) const; + + /** + * A Callable wrapper for HttpPayloadWithStructure that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::HttpPayloadWithStructureOutcomeCallable HttpPayloadWithStructureCallable(const HttpPayloadWithStructureRequestT& request = {}) const + { + return SubmitCallable(&RestXmlProtocolClient::HttpPayloadWithStructure, request); + } + + /** + * An Async wrapper for HttpPayloadWithStructure that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void HttpPayloadWithStructureAsync(const HttpPayloadWithStructureResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const HttpPayloadWithStructureRequestT& request = {}) const + { + return SubmitAsync(&RestXmlProtocolClient::HttpPayloadWithStructure, request, handler, context); + } + + /** + *

This example serializes a union in the payload.

See Also:

AWS + * API Reference

+ */ + virtual Model::HttpPayloadWithUnionOutcome HttpPayloadWithUnion(const Model::HttpPayloadWithUnionRequest& request = {}) const; + + /** + * A Callable wrapper for HttpPayloadWithUnion that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::HttpPayloadWithUnionOutcomeCallable HttpPayloadWithUnionCallable(const HttpPayloadWithUnionRequestT& request = {}) const + { + return SubmitCallable(&RestXmlProtocolClient::HttpPayloadWithUnion, request); + } + + /** + * An Async wrapper for HttpPayloadWithUnion that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void HttpPayloadWithUnionAsync(const HttpPayloadWithUnionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const HttpPayloadWithUnionRequestT& request = {}) const + { + return SubmitAsync(&RestXmlProtocolClient::HttpPayloadWithUnion, request, handler, context); + } + + /** + *

The following example serializes a payload that uses an XML name, changing + * the wrapper name.

See Also:

AWS + * API Reference

+ */ + virtual Model::HttpPayloadWithXmlNameOutcome HttpPayloadWithXmlName(const Model::HttpPayloadWithXmlNameRequest& request = {}) const; + + /** + * A Callable wrapper for HttpPayloadWithXmlName that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::HttpPayloadWithXmlNameOutcomeCallable HttpPayloadWithXmlNameCallable(const HttpPayloadWithXmlNameRequestT& request = {}) const + { + return SubmitCallable(&RestXmlProtocolClient::HttpPayloadWithXmlName, request); + } + + /** + * An Async wrapper for HttpPayloadWithXmlName that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void HttpPayloadWithXmlNameAsync(const HttpPayloadWithXmlNameResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const HttpPayloadWithXmlNameRequestT& request = {}) const + { + return SubmitAsync(&RestXmlProtocolClient::HttpPayloadWithXmlName, request, handler, context); + } + + /** + *

The following example serializes a payload that uses an XML + * namespace.

See Also:

AWS + * API Reference

+ */ + virtual Model::HttpPayloadWithXmlNamespaceOutcome HttpPayloadWithXmlNamespace(const Model::HttpPayloadWithXmlNamespaceRequest& request = {}) const; + + /** + * A Callable wrapper for HttpPayloadWithXmlNamespace that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::HttpPayloadWithXmlNamespaceOutcomeCallable HttpPayloadWithXmlNamespaceCallable(const HttpPayloadWithXmlNamespaceRequestT& request = {}) const + { + return SubmitCallable(&RestXmlProtocolClient::HttpPayloadWithXmlNamespace, request); + } + + /** + * An Async wrapper for HttpPayloadWithXmlNamespace that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void HttpPayloadWithXmlNamespaceAsync(const HttpPayloadWithXmlNamespaceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const HttpPayloadWithXmlNamespaceRequestT& request = {}) const + { + return SubmitAsync(&RestXmlProtocolClient::HttpPayloadWithXmlNamespace, request, handler, context); + } + + /** + *

The following example serializes a payload that uses an XML + * namespace.

See Also:

AWS + * API Reference

+ */ + virtual Model::HttpPayloadWithXmlNamespaceAndPrefixOutcome HttpPayloadWithXmlNamespaceAndPrefix(const Model::HttpPayloadWithXmlNamespaceAndPrefixRequest& request = {}) const; + + /** + * A Callable wrapper for HttpPayloadWithXmlNamespaceAndPrefix that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::HttpPayloadWithXmlNamespaceAndPrefixOutcomeCallable HttpPayloadWithXmlNamespaceAndPrefixCallable(const HttpPayloadWithXmlNamespaceAndPrefixRequestT& request = {}) const + { + return SubmitCallable(&RestXmlProtocolClient::HttpPayloadWithXmlNamespaceAndPrefix, request); + } + + /** + * An Async wrapper for HttpPayloadWithXmlNamespaceAndPrefix that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void HttpPayloadWithXmlNamespaceAndPrefixAsync(const HttpPayloadWithXmlNamespaceAndPrefixResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const HttpPayloadWithXmlNamespaceAndPrefixRequestT& request = {}) const + { + return SubmitAsync(&RestXmlProtocolClient::HttpPayloadWithXmlNamespaceAndPrefix, request, handler, context); + } + + /** + *

This examples adds headers to the input of a request and response by + * prefix.

See Also:

AWS + * API Reference

+ */ + virtual Model::HttpPrefixHeadersOutcome HttpPrefixHeaders(const Model::HttpPrefixHeadersRequest& request = {}) const; + + /** + * A Callable wrapper for HttpPrefixHeaders that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::HttpPrefixHeadersOutcomeCallable HttpPrefixHeadersCallable(const HttpPrefixHeadersRequestT& request = {}) const + { + return SubmitCallable(&RestXmlProtocolClient::HttpPrefixHeaders, request); + } + + /** + * An Async wrapper for HttpPrefixHeaders that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void HttpPrefixHeadersAsync(const HttpPrefixHeadersResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const HttpPrefixHeadersRequestT& request = {}) const + { + return SubmitAsync(&RestXmlProtocolClient::HttpPrefixHeaders, request, handler, context); + } + + /** + * + */ + virtual Model::HttpRequestWithFloatLabelsOutcome HttpRequestWithFloatLabels(const Model::HttpRequestWithFloatLabelsRequest& request) const; + + /** + * A Callable wrapper for HttpRequestWithFloatLabels that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::HttpRequestWithFloatLabelsOutcomeCallable HttpRequestWithFloatLabelsCallable(const HttpRequestWithFloatLabelsRequestT& request) const + { + return SubmitCallable(&RestXmlProtocolClient::HttpRequestWithFloatLabels, request); + } + + /** + * An Async wrapper for HttpRequestWithFloatLabels that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void HttpRequestWithFloatLabelsAsync(const HttpRequestWithFloatLabelsRequestT& request, const HttpRequestWithFloatLabelsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&RestXmlProtocolClient::HttpRequestWithFloatLabels, request, handler, context); + } + + /** + * + */ + virtual Model::HttpRequestWithGreedyLabelInPathOutcome HttpRequestWithGreedyLabelInPath(const Model::HttpRequestWithGreedyLabelInPathRequest& request) const; + + /** + * A Callable wrapper for HttpRequestWithGreedyLabelInPath that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::HttpRequestWithGreedyLabelInPathOutcomeCallable HttpRequestWithGreedyLabelInPathCallable(const HttpRequestWithGreedyLabelInPathRequestT& request) const + { + return SubmitCallable(&RestXmlProtocolClient::HttpRequestWithGreedyLabelInPath, request); + } + + /** + * An Async wrapper for HttpRequestWithGreedyLabelInPath that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void HttpRequestWithGreedyLabelInPathAsync(const HttpRequestWithGreedyLabelInPathRequestT& request, const HttpRequestWithGreedyLabelInPathResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&RestXmlProtocolClient::HttpRequestWithGreedyLabelInPath, request, handler, context); + } + + /** + *

The example tests how requests are serialized when there's no input payload + * but there are HTTP labels.

See Also:

AWS + * API Reference

+ */ + virtual Model::HttpRequestWithLabelsOutcome HttpRequestWithLabels(const Model::HttpRequestWithLabelsRequest& request) const; + + /** + * A Callable wrapper for HttpRequestWithLabels that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::HttpRequestWithLabelsOutcomeCallable HttpRequestWithLabelsCallable(const HttpRequestWithLabelsRequestT& request) const + { + return SubmitCallable(&RestXmlProtocolClient::HttpRequestWithLabels, request); + } + + /** + * An Async wrapper for HttpRequestWithLabels that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void HttpRequestWithLabelsAsync(const HttpRequestWithLabelsRequestT& request, const HttpRequestWithLabelsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&RestXmlProtocolClient::HttpRequestWithLabels, request, handler, context); + } + + /** + *

The example tests how requests serialize different timestamp formats in the + * URI path.

See Also:

AWS + * API Reference

+ */ + virtual Model::HttpRequestWithLabelsAndTimestampFormatOutcome HttpRequestWithLabelsAndTimestampFormat(const Model::HttpRequestWithLabelsAndTimestampFormatRequest& request) const; + + /** + * A Callable wrapper for HttpRequestWithLabelsAndTimestampFormat that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::HttpRequestWithLabelsAndTimestampFormatOutcomeCallable HttpRequestWithLabelsAndTimestampFormatCallable(const HttpRequestWithLabelsAndTimestampFormatRequestT& request) const + { + return SubmitCallable(&RestXmlProtocolClient::HttpRequestWithLabelsAndTimestampFormat, request); + } + + /** + * An Async wrapper for HttpRequestWithLabelsAndTimestampFormat that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void HttpRequestWithLabelsAndTimestampFormatAsync(const HttpRequestWithLabelsAndTimestampFormatRequestT& request, const HttpRequestWithLabelsAndTimestampFormatResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&RestXmlProtocolClient::HttpRequestWithLabelsAndTimestampFormat, request, handler, context); + } + + /** + * + */ + virtual Model::HttpResponseCodeOutcome HttpResponseCode(const Model::HttpResponseCodeRequest& request = {}) const; + + /** + * A Callable wrapper for HttpResponseCode that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::HttpResponseCodeOutcomeCallable HttpResponseCodeCallable(const HttpResponseCodeRequestT& request = {}) const + { + return SubmitCallable(&RestXmlProtocolClient::HttpResponseCode, request); + } + + /** + * An Async wrapper for HttpResponseCode that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void HttpResponseCodeAsync(const HttpResponseCodeResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const HttpResponseCodeRequestT& request = {}) const + { + return SubmitAsync(&RestXmlProtocolClient::HttpResponseCode, request, handler, context); + } + + /** + * + */ + virtual Model::HttpStringPayloadOutcome HttpStringPayload(const Model::HttpStringPayloadRequest& request = {}) const; + + /** + * A Callable wrapper for HttpStringPayload that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::HttpStringPayloadOutcomeCallable HttpStringPayloadCallable(const HttpStringPayloadRequestT& request = {}) const + { + return SubmitCallable(&RestXmlProtocolClient::HttpStringPayload, request); + } + + /** + * An Async wrapper for HttpStringPayload that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void HttpStringPayloadAsync(const HttpStringPayloadResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const HttpStringPayloadRequestT& request = {}) const + { + return SubmitAsync(&RestXmlProtocolClient::HttpStringPayload, request, handler, context); + } + + /** + *

This example ensures that query string bound request parameters are + * serialized in the body of responses if the structure is used in both the request + * and response.

See Also:

AWS + * API Reference

+ */ + virtual Model::IgnoreQueryParamsInResponseOutcome IgnoreQueryParamsInResponse(const Model::IgnoreQueryParamsInResponseRequest& request = {}) const; + + /** + * A Callable wrapper for IgnoreQueryParamsInResponse that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::IgnoreQueryParamsInResponseOutcomeCallable IgnoreQueryParamsInResponseCallable(const IgnoreQueryParamsInResponseRequestT& request = {}) const + { + return SubmitCallable(&RestXmlProtocolClient::IgnoreQueryParamsInResponse, request); + } + + /** + * An Async wrapper for IgnoreQueryParamsInResponse that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void IgnoreQueryParamsInResponseAsync(const IgnoreQueryParamsInResponseResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const IgnoreQueryParamsInResponseRequestT& request = {}) const + { + return SubmitAsync(&RestXmlProtocolClient::IgnoreQueryParamsInResponse, request, handler, context); + } + + /** + *

The example tests how requests and responses are serialized when there is no + * input or output payload but there are HTTP header bindings.

See + * Also:

AWS + * API Reference

+ */ + virtual Model::InputAndOutputWithHeadersOutcome InputAndOutputWithHeaders(const Model::InputAndOutputWithHeadersRequest& request = {}) const; + + /** + * A Callable wrapper for InputAndOutputWithHeaders that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::InputAndOutputWithHeadersOutcomeCallable InputAndOutputWithHeadersCallable(const InputAndOutputWithHeadersRequestT& request = {}) const + { + return SubmitCallable(&RestXmlProtocolClient::InputAndOutputWithHeaders, request); + } + + /** + * An Async wrapper for InputAndOutputWithHeaders that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void InputAndOutputWithHeadersAsync(const InputAndOutputWithHeadersResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const InputAndOutputWithHeadersRequestT& request = {}) const + { + return SubmitAsync(&RestXmlProtocolClient::InputAndOutputWithHeaders, request, handler, context); + } + + /** + *

Nested Xml Maps with key/values with @xmlName

See Also:

AWS + * API Reference

+ */ + virtual Model::NestedXmlMapWithXmlNameOutcome NestedXmlMapWithXmlName(const Model::NestedXmlMapWithXmlNameRequest& request = {}) const; + + /** + * A Callable wrapper for NestedXmlMapWithXmlName that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::NestedXmlMapWithXmlNameOutcomeCallable NestedXmlMapWithXmlNameCallable(const NestedXmlMapWithXmlNameRequestT& request = {}) const + { + return SubmitCallable(&RestXmlProtocolClient::NestedXmlMapWithXmlName, request); + } + + /** + * An Async wrapper for NestedXmlMapWithXmlName that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void NestedXmlMapWithXmlNameAsync(const NestedXmlMapWithXmlNameResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const NestedXmlMapWithXmlNameRequestT& request = {}) const + { + return SubmitAsync(&RestXmlProtocolClient::NestedXmlMapWithXmlName, request, handler, context); + } + + /** + * + */ + virtual Model::NestedXmlMapsOutcome NestedXmlMaps(const Model::NestedXmlMapsRequest& request = {}) const; + + /** + * A Callable wrapper for NestedXmlMaps that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::NestedXmlMapsOutcomeCallable NestedXmlMapsCallable(const NestedXmlMapsRequestT& request = {}) const + { + return SubmitCallable(&RestXmlProtocolClient::NestedXmlMaps, request); + } + + /** + * An Async wrapper for NestedXmlMaps that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void NestedXmlMapsAsync(const NestedXmlMapsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const NestedXmlMapsRequestT& request = {}) const + { + return SubmitAsync(&RestXmlProtocolClient::NestedXmlMaps, request, handler, context); + } + + /** + *

The example tests how requests and responses are serialized when there's no + * request or response payload because the operation has no input or output. While + * this should be rare, code generators must support this.

See Also:

+ * AWS + * API Reference

+ */ + virtual Model::NoInputAndNoOutputOutcome NoInputAndNoOutput(const Model::NoInputAndNoOutputRequest& request = {}) const; + + /** + * A Callable wrapper for NoInputAndNoOutput that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::NoInputAndNoOutputOutcomeCallable NoInputAndNoOutputCallable(const NoInputAndNoOutputRequestT& request = {}) const + { + return SubmitCallable(&RestXmlProtocolClient::NoInputAndNoOutput, request); + } + + /** + * An Async wrapper for NoInputAndNoOutput that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void NoInputAndNoOutputAsync(const NoInputAndNoOutputResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const NoInputAndNoOutputRequestT& request = {}) const + { + return SubmitAsync(&RestXmlProtocolClient::NoInputAndNoOutput, request, handler, context); + } + + /** + *

The example tests how requests and responses are serialized when there's no + * request or response payload because the operation has no input and the output is + * empty. While this should be rare, code generators must support + * this.

See Also:

AWS + * API Reference

+ */ + virtual Model::NoInputAndOutputOutcome NoInputAndOutput(const Model::NoInputAndOutputRequest& request = {}) const; + + /** + * A Callable wrapper for NoInputAndOutput that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::NoInputAndOutputOutcomeCallable NoInputAndOutputCallable(const NoInputAndOutputRequestT& request = {}) const + { + return SubmitCallable(&RestXmlProtocolClient::NoInputAndOutput, request); + } + + /** + * An Async wrapper for NoInputAndOutput that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void NoInputAndOutputAsync(const NoInputAndOutputResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const NoInputAndOutputRequestT& request = {}) const + { + return SubmitAsync(&RestXmlProtocolClient::NoInputAndOutput, request, handler, context); + } + + /** + *

Null headers are not sent over the wire, empty headers are serialized to + * ""

See Also:

AWS + * API Reference

+ */ + virtual Model::NullAndEmptyHeadersClientOutcome NullAndEmptyHeadersClient(const Model::NullAndEmptyHeadersClientRequest& request = {}) const; + + /** + * A Callable wrapper for NullAndEmptyHeadersClient that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::NullAndEmptyHeadersClientOutcomeCallable NullAndEmptyHeadersClientCallable(const NullAndEmptyHeadersClientRequestT& request = {}) const + { + return SubmitCallable(&RestXmlProtocolClient::NullAndEmptyHeadersClient, request); + } + + /** + * An Async wrapper for NullAndEmptyHeadersClient that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void NullAndEmptyHeadersClientAsync(const NullAndEmptyHeadersClientResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const NullAndEmptyHeadersClientRequestT& request = {}) const + { + return SubmitAsync(&RestXmlProtocolClient::NullAndEmptyHeadersClient, request, handler, context); + } + + /** + *

Null headers are not sent over the wire, empty headers are serialized to + * ""

See Also:

AWS + * API Reference

+ */ + virtual Model::NullAndEmptyHeadersServerOutcome NullAndEmptyHeadersServer(const Model::NullAndEmptyHeadersServerRequest& request = {}) const; + + /** + * A Callable wrapper for NullAndEmptyHeadersServer that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::NullAndEmptyHeadersServerOutcomeCallable NullAndEmptyHeadersServerCallable(const NullAndEmptyHeadersServerRequestT& request = {}) const + { + return SubmitCallable(&RestXmlProtocolClient::NullAndEmptyHeadersServer, request); + } + + /** + * An Async wrapper for NullAndEmptyHeadersServer that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void NullAndEmptyHeadersServerAsync(const NullAndEmptyHeadersServerResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const NullAndEmptyHeadersServerRequestT& request = {}) const + { + return SubmitAsync(&RestXmlProtocolClient::NullAndEmptyHeadersServer, request, handler, context); + } + + /** + *

Omits null, but serializes empty string value.

See Also:

AWS + * API Reference

+ */ + virtual Model::OmitsNullSerializesEmptyStringOutcome OmitsNullSerializesEmptyString(const Model::OmitsNullSerializesEmptyStringRequest& request = {}) const; + + /** + * A Callable wrapper for OmitsNullSerializesEmptyString that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::OmitsNullSerializesEmptyStringOutcomeCallable OmitsNullSerializesEmptyStringCallable(const OmitsNullSerializesEmptyStringRequestT& request = {}) const + { + return SubmitCallable(&RestXmlProtocolClient::OmitsNullSerializesEmptyString, request); + } + + /** + * An Async wrapper for OmitsNullSerializesEmptyString that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void OmitsNullSerializesEmptyStringAsync(const OmitsNullSerializesEmptyStringResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const OmitsNullSerializesEmptyStringRequestT& request = {}) const + { + return SubmitAsync(&RestXmlProtocolClient::OmitsNullSerializesEmptyString, request, handler, context); + } + + /** + * + */ + virtual Model::PutWithContentEncodingOutcome PutWithContentEncoding(const Model::PutWithContentEncodingRequest& request = {}) const; + + /** + * A Callable wrapper for PutWithContentEncoding that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::PutWithContentEncodingOutcomeCallable PutWithContentEncodingCallable(const PutWithContentEncodingRequestT& request = {}) const + { + return SubmitCallable(&RestXmlProtocolClient::PutWithContentEncoding, request); + } + + /** + * An Async wrapper for PutWithContentEncoding that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void PutWithContentEncodingAsync(const PutWithContentEncodingResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const PutWithContentEncodingRequestT& request = {}) const + { + return SubmitAsync(&RestXmlProtocolClient::PutWithContentEncoding, request, handler, context); + } + + /** + *

Automatically adds idempotency tokens.

See Also:

AWS + * API Reference

+ */ + virtual Model::QueryIdempotencyTokenAutoFillOutcome QueryIdempotencyTokenAutoFill(const Model::QueryIdempotencyTokenAutoFillRequest& request = {}) const; + + /** + * A Callable wrapper for QueryIdempotencyTokenAutoFill that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::QueryIdempotencyTokenAutoFillOutcomeCallable QueryIdempotencyTokenAutoFillCallable(const QueryIdempotencyTokenAutoFillRequestT& request = {}) const + { + return SubmitCallable(&RestXmlProtocolClient::QueryIdempotencyTokenAutoFill, request); + } + + /** + * An Async wrapper for QueryIdempotencyTokenAutoFill that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void QueryIdempotencyTokenAutoFillAsync(const QueryIdempotencyTokenAutoFillResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const QueryIdempotencyTokenAutoFillRequestT& request = {}) const + { + return SubmitAsync(&RestXmlProtocolClient::QueryIdempotencyTokenAutoFill, request, handler, context); + } + + /** + * + */ + virtual Model::QueryParamsAsStringListMapOutcome QueryParamsAsStringListMap(const Model::QueryParamsAsStringListMapRequest& request = {}) const; + + /** + * A Callable wrapper for QueryParamsAsStringListMap that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::QueryParamsAsStringListMapOutcomeCallable QueryParamsAsStringListMapCallable(const QueryParamsAsStringListMapRequestT& request = {}) const + { + return SubmitCallable(&RestXmlProtocolClient::QueryParamsAsStringListMap, request); + } + + /** + * An Async wrapper for QueryParamsAsStringListMap that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void QueryParamsAsStringListMapAsync(const QueryParamsAsStringListMapResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const QueryParamsAsStringListMapRequestT& request = {}) const + { + return SubmitAsync(&RestXmlProtocolClient::QueryParamsAsStringListMap, request, handler, context); + } + + /** + * + */ + virtual Model::QueryPrecedenceOutcome QueryPrecedence(const Model::QueryPrecedenceRequest& request = {}) const; + + /** + * A Callable wrapper for QueryPrecedence that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::QueryPrecedenceOutcomeCallable QueryPrecedenceCallable(const QueryPrecedenceRequestT& request = {}) const + { + return SubmitCallable(&RestXmlProtocolClient::QueryPrecedence, request); + } + + /** + * An Async wrapper for QueryPrecedence that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void QueryPrecedenceAsync(const QueryPrecedenceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const QueryPrecedenceRequestT& request = {}) const + { + return SubmitAsync(&RestXmlProtocolClient::QueryPrecedence, request, handler, context); + } + + /** + *

Recursive shapes

See Also:

AWS + * API Reference

+ */ + virtual Model::RecursiveShapesOutcome RecursiveShapes(const Model::RecursiveShapesRequest& request = {}) const; + + /** + * A Callable wrapper for RecursiveShapes that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::RecursiveShapesOutcomeCallable RecursiveShapesCallable(const RecursiveShapesRequestT& request = {}) const + { + return SubmitCallable(&RestXmlProtocolClient::RecursiveShapes, request); + } + + /** + * An Async wrapper for RecursiveShapes that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void RecursiveShapesAsync(const RecursiveShapesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const RecursiveShapesRequestT& request = {}) const + { + return SubmitAsync(&RestXmlProtocolClient::RecursiveShapes, request, handler, context); + } + + /** + * + */ + virtual Model::SimpleScalarPropertiesOutcome SimpleScalarProperties(const Model::SimpleScalarPropertiesRequest& request = {}) const; + + /** + * A Callable wrapper for SimpleScalarProperties that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::SimpleScalarPropertiesOutcomeCallable SimpleScalarPropertiesCallable(const SimpleScalarPropertiesRequestT& request = {}) const + { + return SubmitCallable(&RestXmlProtocolClient::SimpleScalarProperties, request); + } + + /** + * An Async wrapper for SimpleScalarProperties that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void SimpleScalarPropertiesAsync(const SimpleScalarPropertiesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const SimpleScalarPropertiesRequestT& request = {}) const + { + return SubmitAsync(&RestXmlProtocolClient::SimpleScalarProperties, request, handler, context); + } + + /** + *

The example tests how timestamp request and response headers are + * serialized.

See Also:

AWS + * API Reference

+ */ + virtual Model::TimestampFormatHeadersOutcome TimestampFormatHeaders(const Model::TimestampFormatHeadersRequest& request = {}) const; + + /** + * A Callable wrapper for TimestampFormatHeaders that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::TimestampFormatHeadersOutcomeCallable TimestampFormatHeadersCallable(const TimestampFormatHeadersRequestT& request = {}) const + { + return SubmitCallable(&RestXmlProtocolClient::TimestampFormatHeaders, request); + } + + /** + * An Async wrapper for TimestampFormatHeaders that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void TimestampFormatHeadersAsync(const TimestampFormatHeadersResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const TimestampFormatHeadersRequestT& request = {}) const + { + return SubmitAsync(&RestXmlProtocolClient::TimestampFormatHeaders, request, handler, context); + } + + /** + *

This example serializes an XML attributes on synthesized + * document.

See Also:

AWS + * API Reference

+ */ + virtual Model::XmlAttributesOutcome XmlAttributes(const Model::XmlAttributesRequest& request = {}) const; + + /** + * A Callable wrapper for XmlAttributes that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::XmlAttributesOutcomeCallable XmlAttributesCallable(const XmlAttributesRequestT& request = {}) const + { + return SubmitCallable(&RestXmlProtocolClient::XmlAttributes, request); + } + + /** + * An Async wrapper for XmlAttributes that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void XmlAttributesAsync(const XmlAttributesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const XmlAttributesRequestT& request = {}) const + { + return SubmitAsync(&RestXmlProtocolClient::XmlAttributes, request, handler, context); + } + + /** + *

This example serializes an XML attributes on a document targeted by + * httpPayload.

See Also:

AWS + * API Reference

+ */ + virtual Model::XmlAttributesOnPayloadOutcome XmlAttributesOnPayload(const Model::XmlAttributesOnPayloadRequest& request = {}) const; + + /** + * A Callable wrapper for XmlAttributesOnPayload that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::XmlAttributesOnPayloadOutcomeCallable XmlAttributesOnPayloadCallable(const XmlAttributesOnPayloadRequestT& request = {}) const + { + return SubmitCallable(&RestXmlProtocolClient::XmlAttributesOnPayload, request); + } + + /** + * An Async wrapper for XmlAttributesOnPayload that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void XmlAttributesOnPayloadAsync(const XmlAttributesOnPayloadResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const XmlAttributesOnPayloadRequestT& request = {}) const + { + return SubmitAsync(&RestXmlProtocolClient::XmlAttributesOnPayload, request, handler, context); + } + + /** + *

Blobs are base64 encoded

See Also:

AWS + * API Reference

+ */ + virtual Model::XmlBlobsOutcome XmlBlobs(const Model::XmlBlobsRequest& request = {}) const; + + /** + * A Callable wrapper for XmlBlobs that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::XmlBlobsOutcomeCallable XmlBlobsCallable(const XmlBlobsRequestT& request = {}) const + { + return SubmitCallable(&RestXmlProtocolClient::XmlBlobs, request); + } + + /** + * An Async wrapper for XmlBlobs that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void XmlBlobsAsync(const XmlBlobsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const XmlBlobsRequestT& request = {}) const + { + return SubmitAsync(&RestXmlProtocolClient::XmlBlobs, request, handler, context); + } + + /** + *

Blobs are base64 encoded

See Also:

AWS + * API Reference

+ */ + virtual Model::XmlEmptyBlobsOutcome XmlEmptyBlobs(const Model::XmlEmptyBlobsRequest& request = {}) const; + + /** + * A Callable wrapper for XmlEmptyBlobs that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::XmlEmptyBlobsOutcomeCallable XmlEmptyBlobsCallable(const XmlEmptyBlobsRequestT& request = {}) const + { + return SubmitCallable(&RestXmlProtocolClient::XmlEmptyBlobs, request); + } + + /** + * An Async wrapper for XmlEmptyBlobs that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void XmlEmptyBlobsAsync(const XmlEmptyBlobsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const XmlEmptyBlobsRequestT& request = {}) const + { + return SubmitAsync(&RestXmlProtocolClient::XmlEmptyBlobs, request, handler, context); + } + + /** + * + */ + virtual Model::XmlEmptyListsOutcome XmlEmptyLists(const Model::XmlEmptyListsRequest& request = {}) const; + + /** + * A Callable wrapper for XmlEmptyLists that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::XmlEmptyListsOutcomeCallable XmlEmptyListsCallable(const XmlEmptyListsRequestT& request = {}) const + { + return SubmitCallable(&RestXmlProtocolClient::XmlEmptyLists, request); + } + + /** + * An Async wrapper for XmlEmptyLists that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void XmlEmptyListsAsync(const XmlEmptyListsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const XmlEmptyListsRequestT& request = {}) const + { + return SubmitAsync(&RestXmlProtocolClient::XmlEmptyLists, request, handler, context); + } + + /** + * + */ + virtual Model::XmlEmptyMapsOutcome XmlEmptyMaps(const Model::XmlEmptyMapsRequest& request = {}) const; + + /** + * A Callable wrapper for XmlEmptyMaps that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::XmlEmptyMapsOutcomeCallable XmlEmptyMapsCallable(const XmlEmptyMapsRequestT& request = {}) const + { + return SubmitCallable(&RestXmlProtocolClient::XmlEmptyMaps, request); + } + + /** + * An Async wrapper for XmlEmptyMaps that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void XmlEmptyMapsAsync(const XmlEmptyMapsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const XmlEmptyMapsRequestT& request = {}) const + { + return SubmitAsync(&RestXmlProtocolClient::XmlEmptyMaps, request, handler, context); + } + + /** + * + */ + virtual Model::XmlEmptyStringsOutcome XmlEmptyStrings(const Model::XmlEmptyStringsRequest& request = {}) const; + + /** + * A Callable wrapper for XmlEmptyStrings that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::XmlEmptyStringsOutcomeCallable XmlEmptyStringsCallable(const XmlEmptyStringsRequestT& request = {}) const + { + return SubmitCallable(&RestXmlProtocolClient::XmlEmptyStrings, request); + } + + /** + * An Async wrapper for XmlEmptyStrings that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void XmlEmptyStringsAsync(const XmlEmptyStringsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const XmlEmptyStringsRequestT& request = {}) const + { + return SubmitAsync(&RestXmlProtocolClient::XmlEmptyStrings, request, handler, context); + } + + /** + *

This example serializes enums as top level properties, in lists, sets, and + * maps.

See Also:

AWS + * API Reference

+ */ + virtual Model::XmlEnumsOutcome XmlEnums(const Model::XmlEnumsRequest& request = {}) const; + + /** + * A Callable wrapper for XmlEnums that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::XmlEnumsOutcomeCallable XmlEnumsCallable(const XmlEnumsRequestT& request = {}) const + { + return SubmitCallable(&RestXmlProtocolClient::XmlEnums, request); + } + + /** + * An Async wrapper for XmlEnums that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void XmlEnumsAsync(const XmlEnumsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const XmlEnumsRequestT& request = {}) const + { + return SubmitAsync(&RestXmlProtocolClient::XmlEnums, request, handler, context); + } + + /** + *

This example serializes enums as top level properties, in lists, sets, and + * maps.

See Also:

AWS + * API Reference

+ */ + virtual Model::XmlIntEnumsOutcome XmlIntEnums(const Model::XmlIntEnumsRequest& request = {}) const; + + /** + * A Callable wrapper for XmlIntEnums that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::XmlIntEnumsOutcomeCallable XmlIntEnumsCallable(const XmlIntEnumsRequestT& request = {}) const + { + return SubmitCallable(&RestXmlProtocolClient::XmlIntEnums, request); + } + + /** + * An Async wrapper for XmlIntEnums that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void XmlIntEnumsAsync(const XmlIntEnumsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const XmlIntEnumsRequestT& request = {}) const + { + return SubmitAsync(&RestXmlProtocolClient::XmlIntEnums, request, handler, context); + } + + /** + *

This test case serializes XML lists for the following cases for both input + * and output:

  1. Normal XML lists.
  2. Normal XML sets.
  3. + *
  4. XML lists of lists.
  5. XML lists with @xmlName on its members
  6. + *
  7. Flattened XML lists.
  8. Flattened XML lists with @xmlName.
  9. + *
  10. Flattened XML lists with @xmlNamespace.
  11. Lists of structures.
  12. + *
  13. Flattened XML list of structures

See Also:

AWS + * API Reference

+ */ + virtual Model::XmlListsOutcome XmlLists(const Model::XmlListsRequest& request = {}) const; + + /** + * A Callable wrapper for XmlLists that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::XmlListsOutcomeCallable XmlListsCallable(const XmlListsRequestT& request = {}) const + { + return SubmitCallable(&RestXmlProtocolClient::XmlLists, request); + } + + /** + * An Async wrapper for XmlLists that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void XmlListsAsync(const XmlListsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const XmlListsRequestT& request = {}) const + { + return SubmitAsync(&RestXmlProtocolClient::XmlLists, request, handler, context); + } + + /** + *

Maps with @xmlNamespace and @xmlName

See Also:

AWS + * API Reference

+ */ + virtual Model::XmlMapWithXmlNamespaceOutcome XmlMapWithXmlNamespace(const Model::XmlMapWithXmlNamespaceRequest& request = {}) const; + + /** + * A Callable wrapper for XmlMapWithXmlNamespace that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::XmlMapWithXmlNamespaceOutcomeCallable XmlMapWithXmlNamespaceCallable(const XmlMapWithXmlNamespaceRequestT& request = {}) const + { + return SubmitCallable(&RestXmlProtocolClient::XmlMapWithXmlNamespace, request); + } + + /** + * An Async wrapper for XmlMapWithXmlNamespace that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void XmlMapWithXmlNamespaceAsync(const XmlMapWithXmlNamespaceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const XmlMapWithXmlNamespaceRequestT& request = {}) const + { + return SubmitAsync(&RestXmlProtocolClient::XmlMapWithXmlNamespace, request, handler, context); + } + + /** + *

The example tests basic map serialization.

See Also:

AWS + * API Reference

+ */ + virtual Model::XmlMapsOutcome XmlMaps(const Model::XmlMapsRequest& request = {}) const; + + /** + * A Callable wrapper for XmlMaps that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::XmlMapsOutcomeCallable XmlMapsCallable(const XmlMapsRequestT& request = {}) const + { + return SubmitCallable(&RestXmlProtocolClient::XmlMaps, request); + } + + /** + * An Async wrapper for XmlMaps that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void XmlMapsAsync(const XmlMapsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const XmlMapsRequestT& request = {}) const + { + return SubmitAsync(&RestXmlProtocolClient::XmlMaps, request, handler, context); + } + + /** + * + */ + virtual Model::XmlMapsXmlNameOutcome XmlMapsXmlName(const Model::XmlMapsXmlNameRequest& request = {}) const; + + /** + * A Callable wrapper for XmlMapsXmlName that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::XmlMapsXmlNameOutcomeCallable XmlMapsXmlNameCallable(const XmlMapsXmlNameRequestT& request = {}) const + { + return SubmitCallable(&RestXmlProtocolClient::XmlMapsXmlName, request); + } + + /** + * An Async wrapper for XmlMapsXmlName that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void XmlMapsXmlNameAsync(const XmlMapsXmlNameResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const XmlMapsXmlNameRequestT& request = {}) const + { + return SubmitAsync(&RestXmlProtocolClient::XmlMapsXmlName, request, handler, context); + } + + /** + * + */ + virtual Model::XmlNamespacesOutcome XmlNamespaces(const Model::XmlNamespacesRequest& request = {}) const; + + /** + * A Callable wrapper for XmlNamespaces that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::XmlNamespacesOutcomeCallable XmlNamespacesCallable(const XmlNamespacesRequestT& request = {}) const + { + return SubmitCallable(&RestXmlProtocolClient::XmlNamespaces, request); + } + + /** + * An Async wrapper for XmlNamespaces that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void XmlNamespacesAsync(const XmlNamespacesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const XmlNamespacesRequestT& request = {}) const + { + return SubmitAsync(&RestXmlProtocolClient::XmlNamespaces, request, handler, context); + } + + /** + *

This tests how timestamps are serialized, including using the default format + * of date-time and various @timestampFormat trait values.

See Also:

+ * AWS + * API Reference

+ */ + virtual Model::XmlTimestampsOutcome XmlTimestamps(const Model::XmlTimestampsRequest& request = {}) const; + + /** + * A Callable wrapper for XmlTimestamps that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::XmlTimestampsOutcomeCallable XmlTimestampsCallable(const XmlTimestampsRequestT& request = {}) const + { + return SubmitCallable(&RestXmlProtocolClient::XmlTimestamps, request); + } + + /** + * An Async wrapper for XmlTimestamps that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void XmlTimestampsAsync(const XmlTimestampsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const XmlTimestampsRequestT& request = {}) const + { + return SubmitAsync(&RestXmlProtocolClient::XmlTimestamps, request, handler, context); + } + + /** + * + */ + virtual Model::XmlUnionsOutcome XmlUnions(const Model::XmlUnionsRequest& request = {}) const; + + /** + * A Callable wrapper for XmlUnions that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::XmlUnionsOutcomeCallable XmlUnionsCallable(const XmlUnionsRequestT& request = {}) const + { + return SubmitCallable(&RestXmlProtocolClient::XmlUnions, request); + } + + /** + * An Async wrapper for XmlUnions that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void XmlUnionsAsync(const XmlUnionsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const XmlUnionsRequestT& request = {}) const + { + return SubmitAsync(&RestXmlProtocolClient::XmlUnions, request, handler, context); + } + + + void OverrideEndpoint(const Aws::String& endpoint); + std::shared_ptr& accessEndpointProvider(); + private: + friend class Aws::Client::ClientWithAsyncTemplateMethods; + void init(const RestXmlProtocolClientConfiguration& clientConfiguration); + + RestXmlProtocolClientConfiguration m_clientConfiguration; + std::shared_ptr m_endpointProvider; + }; + +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/RestXmlProtocolEndpointProvider.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/RestXmlProtocolEndpointProvider.h new file mode 100644 index 00000000000..197dee5c7e3 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/RestXmlProtocolEndpointProvider.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +#include + + +namespace Aws +{ +namespace RestXmlProtocol +{ +namespace Endpoint +{ +using EndpointParameters = Aws::Endpoint::EndpointParameters; +using Aws::Endpoint::EndpointProviderBase; +using Aws::Endpoint::DefaultEndpointProvider; + +using RestXmlProtocolClientContextParameters = Aws::Endpoint::ClientContextParameters; + +using RestXmlProtocolClientConfiguration = Aws::Client::GenericClientConfiguration; +using RestXmlProtocolBuiltInParameters = Aws::Endpoint::BuiltInParameters; + +/** + * The type for the RestXmlProtocol 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 RestXmlProtocolEndpointProviderBase = + EndpointProviderBase; + +using RestXmlProtocolDefaultEpProviderBase = + DefaultEndpointProvider; + +/** + * Default endpoint provider used for this service + */ +class AWS_RESTXMLPROTOCOL_API RestXmlProtocolEndpointProvider : public RestXmlProtocolDefaultEpProviderBase +{ +public: + using RestXmlProtocolResolveEndpointOutcome = Aws::Endpoint::ResolveEndpointOutcome; + + RestXmlProtocolEndpointProvider() + : RestXmlProtocolDefaultEpProviderBase(Aws::RestXmlProtocol::RestXmlProtocolEndpointRules::GetRulesBlob(), Aws::RestXmlProtocol::RestXmlProtocolEndpointRules::RulesBlobSize) + {} + + ~RestXmlProtocolEndpointProvider() + { + } +}; +} // namespace Endpoint +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/RestXmlProtocolEndpointRules.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/RestXmlProtocolEndpointRules.h new file mode 100644 index 00000000000..1cadf73071c --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/RestXmlProtocolEndpointRules.h @@ -0,0 +1,23 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace RestXmlProtocol +{ +class RestXmlProtocolEndpointRules +{ +public: + static const size_t RulesBlobStrLen; + static const size_t RulesBlobSize; + + static const char* GetRulesBlob(); +}; +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/RestXmlProtocolErrorMarshaller.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/RestXmlProtocolErrorMarshaller.h new file mode 100644 index 00000000000..512cba17036 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/RestXmlProtocolErrorMarshaller.h @@ -0,0 +1,23 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws +{ +namespace Client +{ + +class AWS_RESTXMLPROTOCOL_API RestXmlProtocolErrorMarshaller : public Aws::Client::XmlErrorMarshaller +{ +public: + Aws::Client::AWSError FindErrorByName(const char* exceptionName) const override; +}; + +} // namespace Client +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/RestXmlProtocolErrors.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/RestXmlProtocolErrors.h new file mode 100644 index 00000000000..a491ea2348e --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/RestXmlProtocolErrors.h @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include +#include + +namespace Aws +{ +namespace RestXmlProtocol +{ +enum class RestXmlProtocolErrors +{ + //From Core// + ////////////////////////////////////////////////////////////////////////////////////////// + INCOMPLETE_SIGNATURE = 0, + INTERNAL_FAILURE = 1, + INVALID_ACTION = 2, + INVALID_CLIENT_TOKEN_ID = 3, + INVALID_PARAMETER_COMBINATION = 4, + INVALID_QUERY_PARAMETER = 5, + INVALID_PARAMETER_VALUE = 6, + MISSING_ACTION = 7, // SDK should never allow + MISSING_AUTHENTICATION_TOKEN = 8, // SDK should never allow + MISSING_PARAMETER = 9, // SDK should never allow + OPT_IN_REQUIRED = 10, + REQUEST_EXPIRED = 11, + SERVICE_UNAVAILABLE = 12, + THROTTLING = 13, + VALIDATION = 14, + ACCESS_DENIED = 15, + RESOURCE_NOT_FOUND = 16, + UNRECOGNIZED_CLIENT = 17, + MALFORMED_QUERY_STRING = 18, + SLOW_DOWN = 19, + REQUEST_TIME_TOO_SKEWED = 20, + INVALID_SIGNATURE = 21, + SIGNATURE_DOES_NOT_MATCH = 22, + INVALID_ACCESS_KEY_ID = 23, + REQUEST_TIMEOUT = 24, + NETWORK_CONNECTION = 99, + + UNKNOWN = 100, + /////////////////////////////////////////////////////////////////////////////////////////// + + COMPLEX= static_cast(Aws::Client::CoreErrors::SERVICE_EXTENSION_START_RANGE) + 1, + INVALID_GREETING +}; + +class AWS_RESTXMLPROTOCOL_API RestXmlProtocolError : public Aws::Client::AWSError +{ +public: + RestXmlProtocolError() {} + RestXmlProtocolError(const Aws::Client::AWSError& rhs) : Aws::Client::AWSError(rhs) {} + RestXmlProtocolError(Aws::Client::AWSError&& rhs) : Aws::Client::AWSError(rhs) {} + RestXmlProtocolError(const Aws::Client::AWSError& rhs) : Aws::Client::AWSError(rhs) {} + RestXmlProtocolError(Aws::Client::AWSError&& rhs) : Aws::Client::AWSError(rhs) {} + + template + T GetModeledError(); +}; + +namespace RestXmlProtocolErrorMapper +{ + AWS_RESTXMLPROTOCOL_API Aws::Client::AWSError GetErrorForName(const char* errorName); +} + +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/RestXmlProtocolRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/RestXmlProtocolRequest.h new file mode 100644 index 00000000000..9ab726f79c3 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/RestXmlProtocolRequest.h @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace RestXmlProtocol +{ + class AWS_RESTXMLPROTOCOL_API RestXmlProtocolRequest : public Aws::AmazonSerializableWebServiceRequest + { + public: + using EndpointParameter = Aws::Endpoint::EndpointParameter; + using EndpointParameters = Aws::Endpoint::EndpointParameters; + + virtual ~RestXmlProtocolRequest () {} + + void AddParametersToRequest(Aws::Http::HttpRequest& httpRequest) const { AWS_UNREFERENCED_PARAM(httpRequest); } + + inline Aws::Http::HeaderValueCollection GetHeaders() const override + { + auto headers = GetRequestSpecificHeaders(); + + if(headers.size() == 0 || (headers.size() > 0 && headers.count(Aws::Http::CONTENT_TYPE_HEADER) == 0)) + { + headers.emplace(Aws::Http::HeaderValuePair(Aws::Http::CONTENT_TYPE_HEADER, Aws::AMZN_XML_CONTENT_TYPE )); + } + headers.emplace(Aws::Http::HeaderValuePair(Aws::Http::API_VERSION_HEADER, "2019-12-16")); + return headers; + } + + protected: + virtual Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const { return Aws::Http::HeaderValueCollection(); } + + }; + + typedef Aws::AmazonStreamingWebServiceRequest StreamingRestXmlProtocolRequest; + +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/RestXmlProtocolServiceClientModel.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/RestXmlProtocolServiceClientModel.h new file mode 100644 index 00000000000..41e5d143f94 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/RestXmlProtocolServiceClientModel.h @@ -0,0 +1,425 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +/* Generic header includes */ +#include +#include +#include +#include +#include +#include +#include +#include +#include +/* End of generic header includes */ + +/* Service model headers required in RestXmlProtocolClient header */ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +/* End of service model headers required in RestXmlProtocolClient header */ + +namespace Aws +{ + namespace Http + { + class HttpClient; + class HttpClientFactory; + } // namespace Http + + namespace Utils + { + template< typename R, typename E> class Outcome; + + namespace Threading + { + class Executor; + } // namespace Threading + } // namespace Utils + + namespace Auth + { + class AWSCredentials; + class AWSCredentialsProvider; + } // namespace Auth + + namespace Client + { + class RetryStrategy; + } // namespace Client + + namespace RestXmlProtocol + { + using RestXmlProtocolClientConfiguration = Aws::Client::GenericClientConfiguration; + using RestXmlProtocolEndpointProviderBase = Aws::RestXmlProtocol::Endpoint::RestXmlProtocolEndpointProviderBase; + using RestXmlProtocolEndpointProvider = Aws::RestXmlProtocol::Endpoint::RestXmlProtocolEndpointProvider; + + namespace Model + { + /* Service model forward declarations required in RestXmlProtocolClient header */ + class AllQueryStringTypesRequest; + class BodyWithXmlNameRequest; + class ConstantAndVariableQueryStringRequest; + class ConstantQueryStringRequest; + class ContentTypeParametersRequest; + class DatetimeOffsetsRequest; + class EmptyInputAndEmptyOutputRequest; + class EndpointOperationRequest; + class EndpointWithHostLabelHeaderOperationRequest; + class EndpointWithHostLabelOperationRequest; + class FlattenedXmlMapRequest; + class FlattenedXmlMapWithXmlNameRequest; + class FlattenedXmlMapWithXmlNamespaceRequest; + class FractionalSecondsRequest; + class GreetingWithErrorsRequest; + class HttpEnumPayloadRequest; + class HttpPayloadTraitsRequest; + class HttpPayloadWithMemberXmlNameRequest; + class HttpPayloadWithStructureRequest; + class HttpPayloadWithUnionRequest; + class HttpPayloadWithXmlNameRequest; + class HttpPayloadWithXmlNamespaceRequest; + class HttpPayloadWithXmlNamespaceAndPrefixRequest; + class HttpPrefixHeadersRequest; + class HttpRequestWithFloatLabelsRequest; + class HttpRequestWithGreedyLabelInPathRequest; + class HttpRequestWithLabelsRequest; + class HttpRequestWithLabelsAndTimestampFormatRequest; + class HttpResponseCodeRequest; + class HttpStringPayloadRequest; + class IgnoreQueryParamsInResponseRequest; + class InputAndOutputWithHeadersRequest; + class NestedXmlMapWithXmlNameRequest; + class NestedXmlMapsRequest; + class NoInputAndNoOutputRequest; + class NoInputAndOutputRequest; + class NullAndEmptyHeadersClientRequest; + class NullAndEmptyHeadersServerRequest; + class OmitsNullSerializesEmptyStringRequest; + class PutWithContentEncodingRequest; + class QueryIdempotencyTokenAutoFillRequest; + class QueryParamsAsStringListMapRequest; + class QueryPrecedenceRequest; + class RecursiveShapesRequest; + class SimpleScalarPropertiesRequest; + class TimestampFormatHeadersRequest; + class XmlAttributesRequest; + class XmlAttributesOnPayloadRequest; + class XmlBlobsRequest; + class XmlEmptyBlobsRequest; + class XmlEmptyListsRequest; + class XmlEmptyMapsRequest; + class XmlEmptyStringsRequest; + class XmlEnumsRequest; + class XmlIntEnumsRequest; + class XmlListsRequest; + class XmlMapWithXmlNamespaceRequest; + class XmlMapsRequest; + class XmlMapsXmlNameRequest; + class XmlNamespacesRequest; + class XmlTimestampsRequest; + class XmlUnionsRequest; + /* End of service model forward declarations required in RestXmlProtocolClient header */ + + /* Service model Outcome class definitions */ + typedef Aws::Utils::Outcome AllQueryStringTypesOutcome; + typedef Aws::Utils::Outcome BodyWithXmlNameOutcome; + typedef Aws::Utils::Outcome ConstantAndVariableQueryStringOutcome; + typedef Aws::Utils::Outcome ConstantQueryStringOutcome; + typedef Aws::Utils::Outcome ContentTypeParametersOutcome; + typedef Aws::Utils::Outcome DatetimeOffsetsOutcome; + typedef Aws::Utils::Outcome EmptyInputAndEmptyOutputOutcome; + typedef Aws::Utils::Outcome EndpointOperationOutcome; + typedef Aws::Utils::Outcome EndpointWithHostLabelHeaderOperationOutcome; + typedef Aws::Utils::Outcome EndpointWithHostLabelOperationOutcome; + typedef Aws::Utils::Outcome FlattenedXmlMapOutcome; + typedef Aws::Utils::Outcome FlattenedXmlMapWithXmlNameOutcome; + typedef Aws::Utils::Outcome FlattenedXmlMapWithXmlNamespaceOutcome; + typedef Aws::Utils::Outcome FractionalSecondsOutcome; + typedef Aws::Utils::Outcome GreetingWithErrorsOutcome; + typedef Aws::Utils::Outcome HttpEnumPayloadOutcome; + typedef Aws::Utils::Outcome HttpPayloadTraitsOutcome; + typedef Aws::Utils::Outcome HttpPayloadWithMemberXmlNameOutcome; + typedef Aws::Utils::Outcome HttpPayloadWithStructureOutcome; + typedef Aws::Utils::Outcome HttpPayloadWithUnionOutcome; + typedef Aws::Utils::Outcome HttpPayloadWithXmlNameOutcome; + typedef Aws::Utils::Outcome HttpPayloadWithXmlNamespaceOutcome; + typedef Aws::Utils::Outcome HttpPayloadWithXmlNamespaceAndPrefixOutcome; + typedef Aws::Utils::Outcome HttpPrefixHeadersOutcome; + typedef Aws::Utils::Outcome HttpRequestWithFloatLabelsOutcome; + typedef Aws::Utils::Outcome HttpRequestWithGreedyLabelInPathOutcome; + typedef Aws::Utils::Outcome HttpRequestWithLabelsOutcome; + typedef Aws::Utils::Outcome HttpRequestWithLabelsAndTimestampFormatOutcome; + typedef Aws::Utils::Outcome HttpResponseCodeOutcome; + typedef Aws::Utils::Outcome HttpStringPayloadOutcome; + typedef Aws::Utils::Outcome IgnoreQueryParamsInResponseOutcome; + typedef Aws::Utils::Outcome InputAndOutputWithHeadersOutcome; + typedef Aws::Utils::Outcome NestedXmlMapWithXmlNameOutcome; + typedef Aws::Utils::Outcome NestedXmlMapsOutcome; + typedef Aws::Utils::Outcome NoInputAndNoOutputOutcome; + typedef Aws::Utils::Outcome NoInputAndOutputOutcome; + typedef Aws::Utils::Outcome NullAndEmptyHeadersClientOutcome; + typedef Aws::Utils::Outcome NullAndEmptyHeadersServerOutcome; + typedef Aws::Utils::Outcome OmitsNullSerializesEmptyStringOutcome; + typedef Aws::Utils::Outcome PutWithContentEncodingOutcome; + typedef Aws::Utils::Outcome QueryIdempotencyTokenAutoFillOutcome; + typedef Aws::Utils::Outcome QueryParamsAsStringListMapOutcome; + typedef Aws::Utils::Outcome QueryPrecedenceOutcome; + typedef Aws::Utils::Outcome RecursiveShapesOutcome; + typedef Aws::Utils::Outcome SimpleScalarPropertiesOutcome; + typedef Aws::Utils::Outcome TimestampFormatHeadersOutcome; + typedef Aws::Utils::Outcome XmlAttributesOutcome; + typedef Aws::Utils::Outcome XmlAttributesOnPayloadOutcome; + typedef Aws::Utils::Outcome XmlBlobsOutcome; + typedef Aws::Utils::Outcome XmlEmptyBlobsOutcome; + typedef Aws::Utils::Outcome XmlEmptyListsOutcome; + typedef Aws::Utils::Outcome XmlEmptyMapsOutcome; + typedef Aws::Utils::Outcome XmlEmptyStringsOutcome; + typedef Aws::Utils::Outcome XmlEnumsOutcome; + typedef Aws::Utils::Outcome XmlIntEnumsOutcome; + typedef Aws::Utils::Outcome XmlListsOutcome; + typedef Aws::Utils::Outcome XmlMapWithXmlNamespaceOutcome; + typedef Aws::Utils::Outcome XmlMapsOutcome; + typedef Aws::Utils::Outcome XmlMapsXmlNameOutcome; + typedef Aws::Utils::Outcome XmlNamespacesOutcome; + typedef Aws::Utils::Outcome XmlTimestampsOutcome; + typedef Aws::Utils::Outcome XmlUnionsOutcome; + /* End of service model Outcome class definitions */ + + /* Service model Outcome callable definitions */ + typedef std::future AllQueryStringTypesOutcomeCallable; + typedef std::future BodyWithXmlNameOutcomeCallable; + typedef std::future ConstantAndVariableQueryStringOutcomeCallable; + typedef std::future ConstantQueryStringOutcomeCallable; + typedef std::future ContentTypeParametersOutcomeCallable; + typedef std::future DatetimeOffsetsOutcomeCallable; + typedef std::future EmptyInputAndEmptyOutputOutcomeCallable; + typedef std::future EndpointOperationOutcomeCallable; + typedef std::future EndpointWithHostLabelHeaderOperationOutcomeCallable; + typedef std::future EndpointWithHostLabelOperationOutcomeCallable; + typedef std::future FlattenedXmlMapOutcomeCallable; + typedef std::future FlattenedXmlMapWithXmlNameOutcomeCallable; + typedef std::future FlattenedXmlMapWithXmlNamespaceOutcomeCallable; + typedef std::future FractionalSecondsOutcomeCallable; + typedef std::future GreetingWithErrorsOutcomeCallable; + typedef std::future HttpEnumPayloadOutcomeCallable; + typedef std::future HttpPayloadTraitsOutcomeCallable; + typedef std::future HttpPayloadWithMemberXmlNameOutcomeCallable; + typedef std::future HttpPayloadWithStructureOutcomeCallable; + typedef std::future HttpPayloadWithUnionOutcomeCallable; + typedef std::future HttpPayloadWithXmlNameOutcomeCallable; + typedef std::future HttpPayloadWithXmlNamespaceOutcomeCallable; + typedef std::future HttpPayloadWithXmlNamespaceAndPrefixOutcomeCallable; + typedef std::future HttpPrefixHeadersOutcomeCallable; + typedef std::future HttpRequestWithFloatLabelsOutcomeCallable; + typedef std::future HttpRequestWithGreedyLabelInPathOutcomeCallable; + typedef std::future HttpRequestWithLabelsOutcomeCallable; + typedef std::future HttpRequestWithLabelsAndTimestampFormatOutcomeCallable; + typedef std::future HttpResponseCodeOutcomeCallable; + typedef std::future HttpStringPayloadOutcomeCallable; + typedef std::future IgnoreQueryParamsInResponseOutcomeCallable; + typedef std::future InputAndOutputWithHeadersOutcomeCallable; + typedef std::future NestedXmlMapWithXmlNameOutcomeCallable; + typedef std::future NestedXmlMapsOutcomeCallable; + typedef std::future NoInputAndNoOutputOutcomeCallable; + typedef std::future NoInputAndOutputOutcomeCallable; + typedef std::future NullAndEmptyHeadersClientOutcomeCallable; + typedef std::future NullAndEmptyHeadersServerOutcomeCallable; + typedef std::future OmitsNullSerializesEmptyStringOutcomeCallable; + typedef std::future PutWithContentEncodingOutcomeCallable; + typedef std::future QueryIdempotencyTokenAutoFillOutcomeCallable; + typedef std::future QueryParamsAsStringListMapOutcomeCallable; + typedef std::future QueryPrecedenceOutcomeCallable; + typedef std::future RecursiveShapesOutcomeCallable; + typedef std::future SimpleScalarPropertiesOutcomeCallable; + typedef std::future TimestampFormatHeadersOutcomeCallable; + typedef std::future XmlAttributesOutcomeCallable; + typedef std::future XmlAttributesOnPayloadOutcomeCallable; + typedef std::future XmlBlobsOutcomeCallable; + typedef std::future XmlEmptyBlobsOutcomeCallable; + typedef std::future XmlEmptyListsOutcomeCallable; + typedef std::future XmlEmptyMapsOutcomeCallable; + typedef std::future XmlEmptyStringsOutcomeCallable; + typedef std::future XmlEnumsOutcomeCallable; + typedef std::future XmlIntEnumsOutcomeCallable; + typedef std::future XmlListsOutcomeCallable; + typedef std::future XmlMapWithXmlNamespaceOutcomeCallable; + typedef std::future XmlMapsOutcomeCallable; + typedef std::future XmlMapsXmlNameOutcomeCallable; + typedef std::future XmlNamespacesOutcomeCallable; + typedef std::future XmlTimestampsOutcomeCallable; + typedef std::future XmlUnionsOutcomeCallable; + /* End of service model Outcome callable definitions */ + } // namespace Model + + class RestXmlProtocolClient; + + /* Service model async handlers definitions */ + typedef std::function&) > AllQueryStringTypesResponseReceivedHandler; + typedef std::function&) > BodyWithXmlNameResponseReceivedHandler; + typedef std::function&) > ConstantAndVariableQueryStringResponseReceivedHandler; + typedef std::function&) > ConstantQueryStringResponseReceivedHandler; + typedef std::function&) > ContentTypeParametersResponseReceivedHandler; + typedef std::function&) > DatetimeOffsetsResponseReceivedHandler; + typedef std::function&) > EmptyInputAndEmptyOutputResponseReceivedHandler; + typedef std::function&) > EndpointOperationResponseReceivedHandler; + typedef std::function&) > EndpointWithHostLabelHeaderOperationResponseReceivedHandler; + typedef std::function&) > EndpointWithHostLabelOperationResponseReceivedHandler; + typedef std::function&) > FlattenedXmlMapResponseReceivedHandler; + typedef std::function&) > FlattenedXmlMapWithXmlNameResponseReceivedHandler; + typedef std::function&) > FlattenedXmlMapWithXmlNamespaceResponseReceivedHandler; + typedef std::function&) > FractionalSecondsResponseReceivedHandler; + typedef std::function&) > GreetingWithErrorsResponseReceivedHandler; + typedef std::function&) > HttpEnumPayloadResponseReceivedHandler; + typedef std::function&) > HttpPayloadTraitsResponseReceivedHandler; + typedef std::function&) > HttpPayloadWithMemberXmlNameResponseReceivedHandler; + typedef std::function&) > HttpPayloadWithStructureResponseReceivedHandler; + typedef std::function&) > HttpPayloadWithUnionResponseReceivedHandler; + typedef std::function&) > HttpPayloadWithXmlNameResponseReceivedHandler; + typedef std::function&) > HttpPayloadWithXmlNamespaceResponseReceivedHandler; + typedef std::function&) > HttpPayloadWithXmlNamespaceAndPrefixResponseReceivedHandler; + typedef std::function&) > HttpPrefixHeadersResponseReceivedHandler; + typedef std::function&) > HttpRequestWithFloatLabelsResponseReceivedHandler; + typedef std::function&) > HttpRequestWithGreedyLabelInPathResponseReceivedHandler; + typedef std::function&) > HttpRequestWithLabelsResponseReceivedHandler; + typedef std::function&) > HttpRequestWithLabelsAndTimestampFormatResponseReceivedHandler; + typedef std::function&) > HttpResponseCodeResponseReceivedHandler; + typedef std::function&) > HttpStringPayloadResponseReceivedHandler; + typedef std::function&) > IgnoreQueryParamsInResponseResponseReceivedHandler; + typedef std::function&) > InputAndOutputWithHeadersResponseReceivedHandler; + typedef std::function&) > NestedXmlMapWithXmlNameResponseReceivedHandler; + typedef std::function&) > NestedXmlMapsResponseReceivedHandler; + typedef std::function&) > NoInputAndNoOutputResponseReceivedHandler; + typedef std::function&) > NoInputAndOutputResponseReceivedHandler; + typedef std::function&) > NullAndEmptyHeadersClientResponseReceivedHandler; + typedef std::function&) > NullAndEmptyHeadersServerResponseReceivedHandler; + typedef std::function&) > OmitsNullSerializesEmptyStringResponseReceivedHandler; + typedef std::function&) > PutWithContentEncodingResponseReceivedHandler; + typedef std::function&) > QueryIdempotencyTokenAutoFillResponseReceivedHandler; + typedef std::function&) > QueryParamsAsStringListMapResponseReceivedHandler; + typedef std::function&) > QueryPrecedenceResponseReceivedHandler; + typedef std::function&) > RecursiveShapesResponseReceivedHandler; + typedef std::function&) > SimpleScalarPropertiesResponseReceivedHandler; + typedef std::function&) > TimestampFormatHeadersResponseReceivedHandler; + typedef std::function&) > XmlAttributesResponseReceivedHandler; + typedef std::function&) > XmlAttributesOnPayloadResponseReceivedHandler; + typedef std::function&) > XmlBlobsResponseReceivedHandler; + typedef std::function&) > XmlEmptyBlobsResponseReceivedHandler; + typedef std::function&) > XmlEmptyListsResponseReceivedHandler; + typedef std::function&) > XmlEmptyMapsResponseReceivedHandler; + typedef std::function&) > XmlEmptyStringsResponseReceivedHandler; + typedef std::function&) > XmlEnumsResponseReceivedHandler; + typedef std::function&) > XmlIntEnumsResponseReceivedHandler; + typedef std::function&) > XmlListsResponseReceivedHandler; + typedef std::function&) > XmlMapWithXmlNamespaceResponseReceivedHandler; + typedef std::function&) > XmlMapsResponseReceivedHandler; + typedef std::function&) > XmlMapsXmlNameResponseReceivedHandler; + typedef std::function&) > XmlNamespacesResponseReceivedHandler; + typedef std::function&) > XmlTimestampsResponseReceivedHandler; + typedef std::function&) > XmlUnionsResponseReceivedHandler; + /* End of service model async handlers definitions */ + } // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/RestXmlProtocol_EXPORTS.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/RestXmlProtocol_EXPORTS.h new file mode 100644 index 00000000000..85dda524f71 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/RestXmlProtocol_EXPORTS.h @@ -0,0 +1,32 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#ifdef _MSC_VER + //disable windows complaining about max template size. + #pragma warning (disable : 4503) +#endif // _MSC_VER + +#if defined (USE_WINDOWS_DLL_SEMANTICS) || defined (_WIN32) + #ifdef _MSC_VER + #pragma warning(disable : 4251) + #endif // _MSC_VER + + #ifdef USE_IMPORT_EXPORT + #ifdef AWS_RESTXMLPROTOCOL_EXPORTS + #define AWS_RESTXMLPROTOCOL_API __declspec(dllexport) + #else + #define AWS_RESTXMLPROTOCOL_API __declspec(dllimport) + #endif /* AWS_RESTXMLPROTOCOL_EXPORTS */ + #define AWS_RESTXMLPROTOCOL_EXTERN + #else + #define AWS_RESTXMLPROTOCOL_API + #define AWS_RESTXMLPROTOCOL_EXTERN extern + #endif // USE_IMPORT_EXPORT +#else // defined (USE_WINDOWS_DLL_SEMANTICS) || defined (WIN32) + #define AWS_RESTXMLPROTOCOL_API + #define AWS_RESTXMLPROTOCOL_EXTERN extern +#endif // defined (USE_WINDOWS_DLL_SEMANTICS) || defined (WIN32) diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/AllQueryStringTypesRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/AllQueryStringTypesRequest.h new file mode 100644 index 00000000000..1b1dfc9296b --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/AllQueryStringTypesRequest.h @@ -0,0 +1,330 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace RestXmlProtocol +{ +namespace Model +{ + + /** + */ + class AllQueryStringTypesRequest : public RestXmlProtocolRequest + { + public: + AWS_RESTXMLPROTOCOL_API AllQueryStringTypesRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "AllQueryStringTypes"; } + + AWS_RESTXMLPROTOCOL_API Aws::String SerializePayload() const override; + + AWS_RESTXMLPROTOCOL_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + + ///@{ + + inline const Aws::String& GetQueryString() const{ return m_queryString; } + inline bool QueryStringHasBeenSet() const { return m_queryStringHasBeenSet; } + inline void SetQueryString(const Aws::String& value) { m_queryStringHasBeenSet = true; m_queryString = value; } + inline void SetQueryString(Aws::String&& value) { m_queryStringHasBeenSet = true; m_queryString = std::move(value); } + inline void SetQueryString(const char* value) { m_queryStringHasBeenSet = true; m_queryString.assign(value); } + inline AllQueryStringTypesRequest& WithQueryString(const Aws::String& value) { SetQueryString(value); return *this;} + inline AllQueryStringTypesRequest& WithQueryString(Aws::String&& value) { SetQueryString(std::move(value)); return *this;} + inline AllQueryStringTypesRequest& WithQueryString(const char* value) { SetQueryString(value); return *this;} + ///@} + + ///@{ + + inline const Aws::Vector& GetQueryStringList() const{ return m_queryStringList; } + inline bool QueryStringListHasBeenSet() const { return m_queryStringListHasBeenSet; } + inline void SetQueryStringList(const Aws::Vector& value) { m_queryStringListHasBeenSet = true; m_queryStringList = value; } + inline void SetQueryStringList(Aws::Vector&& value) { m_queryStringListHasBeenSet = true; m_queryStringList = std::move(value); } + inline AllQueryStringTypesRequest& WithQueryStringList(const Aws::Vector& value) { SetQueryStringList(value); return *this;} + inline AllQueryStringTypesRequest& WithQueryStringList(Aws::Vector&& value) { SetQueryStringList(std::move(value)); return *this;} + inline AllQueryStringTypesRequest& AddQueryStringList(const Aws::String& value) { m_queryStringListHasBeenSet = true; m_queryStringList.push_back(value); return *this; } + inline AllQueryStringTypesRequest& AddQueryStringList(Aws::String&& value) { m_queryStringListHasBeenSet = true; m_queryStringList.push_back(std::move(value)); return *this; } + inline AllQueryStringTypesRequest& AddQueryStringList(const char* value) { m_queryStringListHasBeenSet = true; m_queryStringList.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetQueryStringSet() const{ return m_queryStringSet; } + inline bool QueryStringSetHasBeenSet() const { return m_queryStringSetHasBeenSet; } + inline void SetQueryStringSet(const Aws::Vector& value) { m_queryStringSetHasBeenSet = true; m_queryStringSet = value; } + inline void SetQueryStringSet(Aws::Vector&& value) { m_queryStringSetHasBeenSet = true; m_queryStringSet = std::move(value); } + inline AllQueryStringTypesRequest& WithQueryStringSet(const Aws::Vector& value) { SetQueryStringSet(value); return *this;} + inline AllQueryStringTypesRequest& WithQueryStringSet(Aws::Vector&& value) { SetQueryStringSet(std::move(value)); return *this;} + inline AllQueryStringTypesRequest& AddQueryStringSet(const Aws::String& value) { m_queryStringSetHasBeenSet = true; m_queryStringSet.push_back(value); return *this; } + inline AllQueryStringTypesRequest& AddQueryStringSet(Aws::String&& value) { m_queryStringSetHasBeenSet = true; m_queryStringSet.push_back(std::move(value)); return *this; } + inline AllQueryStringTypesRequest& AddQueryStringSet(const char* value) { m_queryStringSetHasBeenSet = true; m_queryStringSet.push_back(value); return *this; } + ///@} + + ///@{ + + inline int GetQueryByte() const{ return m_queryByte; } + inline bool QueryByteHasBeenSet() const { return m_queryByteHasBeenSet; } + inline void SetQueryByte(int value) { m_queryByteHasBeenSet = true; m_queryByte = value; } + inline AllQueryStringTypesRequest& WithQueryByte(int value) { SetQueryByte(value); return *this;} + ///@} + + ///@{ + + inline int GetQueryShort() const{ return m_queryShort; } + inline bool QueryShortHasBeenSet() const { return m_queryShortHasBeenSet; } + inline void SetQueryShort(int value) { m_queryShortHasBeenSet = true; m_queryShort = value; } + inline AllQueryStringTypesRequest& WithQueryShort(int value) { SetQueryShort(value); return *this;} + ///@} + + ///@{ + + inline int GetQueryInteger() const{ return m_queryInteger; } + inline bool QueryIntegerHasBeenSet() const { return m_queryIntegerHasBeenSet; } + inline void SetQueryInteger(int value) { m_queryIntegerHasBeenSet = true; m_queryInteger = value; } + inline AllQueryStringTypesRequest& WithQueryInteger(int value) { SetQueryInteger(value); return *this;} + ///@} + + ///@{ + + inline const Aws::Vector& GetQueryIntegerList() const{ return m_queryIntegerList; } + inline bool QueryIntegerListHasBeenSet() const { return m_queryIntegerListHasBeenSet; } + inline void SetQueryIntegerList(const Aws::Vector& value) { m_queryIntegerListHasBeenSet = true; m_queryIntegerList = value; } + inline void SetQueryIntegerList(Aws::Vector&& value) { m_queryIntegerListHasBeenSet = true; m_queryIntegerList = std::move(value); } + inline AllQueryStringTypesRequest& WithQueryIntegerList(const Aws::Vector& value) { SetQueryIntegerList(value); return *this;} + inline AllQueryStringTypesRequest& WithQueryIntegerList(Aws::Vector&& value) { SetQueryIntegerList(std::move(value)); return *this;} + inline AllQueryStringTypesRequest& AddQueryIntegerList(int value) { m_queryIntegerListHasBeenSet = true; m_queryIntegerList.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetQueryIntegerSet() const{ return m_queryIntegerSet; } + inline bool QueryIntegerSetHasBeenSet() const { return m_queryIntegerSetHasBeenSet; } + inline void SetQueryIntegerSet(const Aws::Vector& value) { m_queryIntegerSetHasBeenSet = true; m_queryIntegerSet = value; } + inline void SetQueryIntegerSet(Aws::Vector&& value) { m_queryIntegerSetHasBeenSet = true; m_queryIntegerSet = std::move(value); } + inline AllQueryStringTypesRequest& WithQueryIntegerSet(const Aws::Vector& value) { SetQueryIntegerSet(value); return *this;} + inline AllQueryStringTypesRequest& WithQueryIntegerSet(Aws::Vector&& value) { SetQueryIntegerSet(std::move(value)); return *this;} + inline AllQueryStringTypesRequest& AddQueryIntegerSet(int value) { m_queryIntegerSetHasBeenSet = true; m_queryIntegerSet.push_back(value); return *this; } + ///@} + + ///@{ + + inline long long GetQueryLong() const{ return m_queryLong; } + inline bool QueryLongHasBeenSet() const { return m_queryLongHasBeenSet; } + inline void SetQueryLong(long long value) { m_queryLongHasBeenSet = true; m_queryLong = value; } + inline AllQueryStringTypesRequest& WithQueryLong(long long value) { SetQueryLong(value); return *this;} + ///@} + + ///@{ + + inline double GetQueryFloat() const{ return m_queryFloat; } + inline bool QueryFloatHasBeenSet() const { return m_queryFloatHasBeenSet; } + inline void SetQueryFloat(double value) { m_queryFloatHasBeenSet = true; m_queryFloat = value; } + inline AllQueryStringTypesRequest& WithQueryFloat(double value) { SetQueryFloat(value); return *this;} + ///@} + + ///@{ + + inline double GetQueryDouble() const{ return m_queryDouble; } + inline bool QueryDoubleHasBeenSet() const { return m_queryDoubleHasBeenSet; } + inline void SetQueryDouble(double value) { m_queryDoubleHasBeenSet = true; m_queryDouble = value; } + inline AllQueryStringTypesRequest& WithQueryDouble(double value) { SetQueryDouble(value); return *this;} + ///@} + + ///@{ + + inline const Aws::Vector& GetQueryDoubleList() const{ return m_queryDoubleList; } + inline bool QueryDoubleListHasBeenSet() const { return m_queryDoubleListHasBeenSet; } + inline void SetQueryDoubleList(const Aws::Vector& value) { m_queryDoubleListHasBeenSet = true; m_queryDoubleList = value; } + inline void SetQueryDoubleList(Aws::Vector&& value) { m_queryDoubleListHasBeenSet = true; m_queryDoubleList = std::move(value); } + inline AllQueryStringTypesRequest& WithQueryDoubleList(const Aws::Vector& value) { SetQueryDoubleList(value); return *this;} + inline AllQueryStringTypesRequest& WithQueryDoubleList(Aws::Vector&& value) { SetQueryDoubleList(std::move(value)); return *this;} + inline AllQueryStringTypesRequest& AddQueryDoubleList(double value) { m_queryDoubleListHasBeenSet = true; m_queryDoubleList.push_back(value); return *this; } + ///@} + + ///@{ + + inline bool GetQueryBoolean() const{ return m_queryBoolean; } + inline bool QueryBooleanHasBeenSet() const { return m_queryBooleanHasBeenSet; } + inline void SetQueryBoolean(bool value) { m_queryBooleanHasBeenSet = true; m_queryBoolean = value; } + inline AllQueryStringTypesRequest& WithQueryBoolean(bool value) { SetQueryBoolean(value); return *this;} + ///@} + + ///@{ + + inline const Aws::Vector& GetQueryBooleanList() const{ return m_queryBooleanList; } + inline bool QueryBooleanListHasBeenSet() const { return m_queryBooleanListHasBeenSet; } + inline void SetQueryBooleanList(const Aws::Vector& value) { m_queryBooleanListHasBeenSet = true; m_queryBooleanList = value; } + inline void SetQueryBooleanList(Aws::Vector&& value) { m_queryBooleanListHasBeenSet = true; m_queryBooleanList = std::move(value); } + inline AllQueryStringTypesRequest& WithQueryBooleanList(const Aws::Vector& value) { SetQueryBooleanList(value); return *this;} + inline AllQueryStringTypesRequest& WithQueryBooleanList(Aws::Vector&& value) { SetQueryBooleanList(std::move(value)); return *this;} + inline AllQueryStringTypesRequest& AddQueryBooleanList(bool value) { m_queryBooleanListHasBeenSet = true; m_queryBooleanList.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::Utils::DateTime& GetQueryTimestamp() const{ return m_queryTimestamp; } + inline bool QueryTimestampHasBeenSet() const { return m_queryTimestampHasBeenSet; } + inline void SetQueryTimestamp(const Aws::Utils::DateTime& value) { m_queryTimestampHasBeenSet = true; m_queryTimestamp = value; } + inline void SetQueryTimestamp(Aws::Utils::DateTime&& value) { m_queryTimestampHasBeenSet = true; m_queryTimestamp = std::move(value); } + inline AllQueryStringTypesRequest& WithQueryTimestamp(const Aws::Utils::DateTime& value) { SetQueryTimestamp(value); return *this;} + inline AllQueryStringTypesRequest& WithQueryTimestamp(Aws::Utils::DateTime&& value) { SetQueryTimestamp(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::Vector& GetQueryTimestampList() const{ return m_queryTimestampList; } + inline bool QueryTimestampListHasBeenSet() const { return m_queryTimestampListHasBeenSet; } + inline void SetQueryTimestampList(const Aws::Vector& value) { m_queryTimestampListHasBeenSet = true; m_queryTimestampList = value; } + inline void SetQueryTimestampList(Aws::Vector&& value) { m_queryTimestampListHasBeenSet = true; m_queryTimestampList = std::move(value); } + inline AllQueryStringTypesRequest& WithQueryTimestampList(const Aws::Vector& value) { SetQueryTimestampList(value); return *this;} + inline AllQueryStringTypesRequest& WithQueryTimestampList(Aws::Vector&& value) { SetQueryTimestampList(std::move(value)); return *this;} + inline AllQueryStringTypesRequest& AddQueryTimestampList(const Aws::Utils::DateTime& value) { m_queryTimestampListHasBeenSet = true; m_queryTimestampList.push_back(value); return *this; } + inline AllQueryStringTypesRequest& AddQueryTimestampList(Aws::Utils::DateTime&& value) { m_queryTimestampListHasBeenSet = true; m_queryTimestampList.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + + inline const FooEnum& GetQueryEnum() const{ return m_queryEnum; } + inline bool QueryEnumHasBeenSet() const { return m_queryEnumHasBeenSet; } + inline void SetQueryEnum(const FooEnum& value) { m_queryEnumHasBeenSet = true; m_queryEnum = value; } + inline void SetQueryEnum(FooEnum&& value) { m_queryEnumHasBeenSet = true; m_queryEnum = std::move(value); } + inline AllQueryStringTypesRequest& WithQueryEnum(const FooEnum& value) { SetQueryEnum(value); return *this;} + inline AllQueryStringTypesRequest& WithQueryEnum(FooEnum&& value) { SetQueryEnum(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::Vector& GetQueryEnumList() const{ return m_queryEnumList; } + inline bool QueryEnumListHasBeenSet() const { return m_queryEnumListHasBeenSet; } + inline void SetQueryEnumList(const Aws::Vector& value) { m_queryEnumListHasBeenSet = true; m_queryEnumList = value; } + inline void SetQueryEnumList(Aws::Vector&& value) { m_queryEnumListHasBeenSet = true; m_queryEnumList = std::move(value); } + inline AllQueryStringTypesRequest& WithQueryEnumList(const Aws::Vector& value) { SetQueryEnumList(value); return *this;} + inline AllQueryStringTypesRequest& WithQueryEnumList(Aws::Vector&& value) { SetQueryEnumList(std::move(value)); return *this;} + inline AllQueryStringTypesRequest& AddQueryEnumList(const FooEnum& value) { m_queryEnumListHasBeenSet = true; m_queryEnumList.push_back(value); return *this; } + inline AllQueryStringTypesRequest& AddQueryEnumList(FooEnum&& value) { m_queryEnumListHasBeenSet = true; m_queryEnumList.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + + inline int GetQueryIntegerEnum() const{ return m_queryIntegerEnum; } + inline bool QueryIntegerEnumHasBeenSet() const { return m_queryIntegerEnumHasBeenSet; } + inline void SetQueryIntegerEnum(int value) { m_queryIntegerEnumHasBeenSet = true; m_queryIntegerEnum = value; } + inline AllQueryStringTypesRequest& WithQueryIntegerEnum(int value) { SetQueryIntegerEnum(value); return *this;} + ///@} + + ///@{ + + inline const Aws::Vector& GetQueryIntegerEnumList() const{ return m_queryIntegerEnumList; } + inline bool QueryIntegerEnumListHasBeenSet() const { return m_queryIntegerEnumListHasBeenSet; } + inline void SetQueryIntegerEnumList(const Aws::Vector& value) { m_queryIntegerEnumListHasBeenSet = true; m_queryIntegerEnumList = value; } + inline void SetQueryIntegerEnumList(Aws::Vector&& value) { m_queryIntegerEnumListHasBeenSet = true; m_queryIntegerEnumList = std::move(value); } + inline AllQueryStringTypesRequest& WithQueryIntegerEnumList(const Aws::Vector& value) { SetQueryIntegerEnumList(value); return *this;} + inline AllQueryStringTypesRequest& WithQueryIntegerEnumList(Aws::Vector&& value) { SetQueryIntegerEnumList(std::move(value)); return *this;} + inline AllQueryStringTypesRequest& AddQueryIntegerEnumList(int value) { m_queryIntegerEnumListHasBeenSet = true; m_queryIntegerEnumList.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::Map& GetQueryParamsMapOfStrings() const{ return m_queryParamsMapOfStrings; } + inline bool QueryParamsMapOfStringsHasBeenSet() const { return m_queryParamsMapOfStringsHasBeenSet; } + inline void SetQueryParamsMapOfStrings(const Aws::Map& value) { m_queryParamsMapOfStringsHasBeenSet = true; m_queryParamsMapOfStrings = value; } + inline void SetQueryParamsMapOfStrings(Aws::Map&& value) { m_queryParamsMapOfStringsHasBeenSet = true; m_queryParamsMapOfStrings = std::move(value); } + inline AllQueryStringTypesRequest& WithQueryParamsMapOfStrings(const Aws::Map& value) { SetQueryParamsMapOfStrings(value); return *this;} + inline AllQueryStringTypesRequest& WithQueryParamsMapOfStrings(Aws::Map&& value) { SetQueryParamsMapOfStrings(std::move(value)); return *this;} + inline AllQueryStringTypesRequest& AddQueryParamsMapOfStrings(const Aws::String& key, const Aws::String& value) { m_queryParamsMapOfStringsHasBeenSet = true; m_queryParamsMapOfStrings.emplace(key, value); return *this; } + inline AllQueryStringTypesRequest& AddQueryParamsMapOfStrings(Aws::String&& key, const Aws::String& value) { m_queryParamsMapOfStringsHasBeenSet = true; m_queryParamsMapOfStrings.emplace(std::move(key), value); return *this; } + inline AllQueryStringTypesRequest& AddQueryParamsMapOfStrings(const Aws::String& key, Aws::String&& value) { m_queryParamsMapOfStringsHasBeenSet = true; m_queryParamsMapOfStrings.emplace(key, std::move(value)); return *this; } + inline AllQueryStringTypesRequest& AddQueryParamsMapOfStrings(Aws::String&& key, Aws::String&& value) { m_queryParamsMapOfStringsHasBeenSet = true; m_queryParamsMapOfStrings.emplace(std::move(key), std::move(value)); return *this; } + inline AllQueryStringTypesRequest& AddQueryParamsMapOfStrings(const char* key, Aws::String&& value) { m_queryParamsMapOfStringsHasBeenSet = true; m_queryParamsMapOfStrings.emplace(key, std::move(value)); return *this; } + inline AllQueryStringTypesRequest& AddQueryParamsMapOfStrings(Aws::String&& key, const char* value) { m_queryParamsMapOfStringsHasBeenSet = true; m_queryParamsMapOfStrings.emplace(std::move(key), value); return *this; } + inline AllQueryStringTypesRequest& AddQueryParamsMapOfStrings(const char* key, const char* value) { m_queryParamsMapOfStringsHasBeenSet = true; m_queryParamsMapOfStrings.emplace(key, value); return *this; } + ///@} + private: + + Aws::String m_queryString; + bool m_queryStringHasBeenSet = false; + + Aws::Vector m_queryStringList; + bool m_queryStringListHasBeenSet = false; + + Aws::Vector m_queryStringSet; + bool m_queryStringSetHasBeenSet = false; + + int m_queryByte; + bool m_queryByteHasBeenSet = false; + + int m_queryShort; + bool m_queryShortHasBeenSet = false; + + int m_queryInteger; + bool m_queryIntegerHasBeenSet = false; + + Aws::Vector m_queryIntegerList; + bool m_queryIntegerListHasBeenSet = false; + + Aws::Vector m_queryIntegerSet; + bool m_queryIntegerSetHasBeenSet = false; + + long long m_queryLong; + bool m_queryLongHasBeenSet = false; + + double m_queryFloat; + bool m_queryFloatHasBeenSet = false; + + double m_queryDouble; + bool m_queryDoubleHasBeenSet = false; + + Aws::Vector m_queryDoubleList; + bool m_queryDoubleListHasBeenSet = false; + + bool m_queryBoolean; + bool m_queryBooleanHasBeenSet = false; + + Aws::Vector m_queryBooleanList; + bool m_queryBooleanListHasBeenSet = false; + + Aws::Utils::DateTime m_queryTimestamp; + bool m_queryTimestampHasBeenSet = false; + + Aws::Vector m_queryTimestampList; + bool m_queryTimestampListHasBeenSet = false; + + FooEnum m_queryEnum; + bool m_queryEnumHasBeenSet = false; + + Aws::Vector m_queryEnumList; + bool m_queryEnumListHasBeenSet = false; + + int m_queryIntegerEnum; + bool m_queryIntegerEnumHasBeenSet = false; + + Aws::Vector m_queryIntegerEnumList; + bool m_queryIntegerEnumListHasBeenSet = false; + + Aws::Map m_queryParamsMapOfStrings; + bool m_queryParamsMapOfStringsHasBeenSet = false; + }; + +} // namespace Model +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/BodyWithXmlNameRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/BodyWithXmlNameRequest.h new file mode 100644 index 00000000000..dd6f7e8a610 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/BodyWithXmlNameRequest.h @@ -0,0 +1,70 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace RestXmlProtocol +{ +namespace Model +{ + + /** + */ + class BodyWithXmlNameRequest : public RestXmlProtocolRequest + { + public: + AWS_RESTXMLPROTOCOL_API BodyWithXmlNameRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "BodyWithXmlName"; } + + AWS_RESTXMLPROTOCOL_API Aws::String SerializePayload() const override; + + AWS_RESTXMLPROTOCOL_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + + inline const PayloadWithXmlName& GetNested() const{ return m_nested; } + inline bool NestedHasBeenSet() const { return m_nestedHasBeenSet; } + inline void SetNested(const PayloadWithXmlName& value) { m_nestedHasBeenSet = true; m_nested = value; } + inline void SetNested(PayloadWithXmlName&& value) { m_nestedHasBeenSet = true; m_nested = std::move(value); } + inline BodyWithXmlNameRequest& WithNested(const PayloadWithXmlName& value) { SetNested(value); return *this;} + inline BodyWithXmlNameRequest& WithNested(PayloadWithXmlName&& value) { SetNested(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline bool RequestIdHasBeenSet() const { return m_requestIdHasBeenSet; } + inline void SetRequestId(const Aws::String& value) { m_requestIdHasBeenSet = true; m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestIdHasBeenSet = true; m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestIdHasBeenSet = true; m_requestId.assign(value); } + inline BodyWithXmlNameRequest& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline BodyWithXmlNameRequest& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline BodyWithXmlNameRequest& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + PayloadWithXmlName m_nested; + bool m_nestedHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/BodyWithXmlNameResult.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/BodyWithXmlNameResult.h new file mode 100644 index 00000000000..8a4761ea766 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/BodyWithXmlNameResult.h @@ -0,0 +1,64 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace RestXmlProtocol +{ +namespace Model +{ + class BodyWithXmlNameResult + { + public: + AWS_RESTXMLPROTOCOL_API BodyWithXmlNameResult(); + AWS_RESTXMLPROTOCOL_API BodyWithXmlNameResult(const Aws::AmazonWebServiceResult& result); + AWS_RESTXMLPROTOCOL_API BodyWithXmlNameResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const PayloadWithXmlName& GetNested() const{ return m_nested; } + inline void SetNested(const PayloadWithXmlName& value) { m_nested = value; } + inline void SetNested(PayloadWithXmlName&& value) { m_nested = std::move(value); } + inline BodyWithXmlNameResult& WithNested(const PayloadWithXmlName& value) { SetNested(value); return *this;} + inline BodyWithXmlNameResult& WithNested(PayloadWithXmlName&& value) { SetNested(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline BodyWithXmlNameResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline BodyWithXmlNameResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline BodyWithXmlNameResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + PayloadWithXmlName m_nested; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/ComplexError.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/ComplexError.h new file mode 100644 index 00000000000..1a9a536e472 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/ComplexError.h @@ -0,0 +1,88 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace RestXmlProtocol +{ +namespace Model +{ + + /** + *

This error is thrown when a request is invalid.

See Also:

AWS + * API Reference

+ */ + class ComplexError + { + public: + AWS_RESTXMLPROTOCOL_API ComplexError(); + AWS_RESTXMLPROTOCOL_API ComplexError(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_RESTXMLPROTOCOL_API ComplexError& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + AWS_RESTXMLPROTOCOL_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + ///@{ + + inline const Aws::String& GetHeader() const{ return m_header; } + inline bool HeaderHasBeenSet() const { return m_headerHasBeenSet; } + inline void SetHeader(const Aws::String& value) { m_headerHasBeenSet = true; m_header = value; } + inline void SetHeader(Aws::String&& value) { m_headerHasBeenSet = true; m_header = std::move(value); } + inline void SetHeader(const char* value) { m_headerHasBeenSet = true; m_header.assign(value); } + inline ComplexError& WithHeader(const Aws::String& value) { SetHeader(value); return *this;} + inline ComplexError& WithHeader(Aws::String&& value) { SetHeader(std::move(value)); return *this;} + inline ComplexError& WithHeader(const char* value) { SetHeader(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetTopLevel() const{ return m_topLevel; } + inline bool TopLevelHasBeenSet() const { return m_topLevelHasBeenSet; } + inline void SetTopLevel(const Aws::String& value) { m_topLevelHasBeenSet = true; m_topLevel = value; } + inline void SetTopLevel(Aws::String&& value) { m_topLevelHasBeenSet = true; m_topLevel = std::move(value); } + inline void SetTopLevel(const char* value) { m_topLevelHasBeenSet = true; m_topLevel.assign(value); } + inline ComplexError& WithTopLevel(const Aws::String& value) { SetTopLevel(value); return *this;} + inline ComplexError& WithTopLevel(Aws::String&& value) { SetTopLevel(std::move(value)); return *this;} + inline ComplexError& WithTopLevel(const char* value) { SetTopLevel(value); return *this;} + ///@} + + ///@{ + + inline const ComplexNestedErrorData& GetNested() const{ return m_nested; } + inline bool NestedHasBeenSet() const { return m_nestedHasBeenSet; } + inline void SetNested(const ComplexNestedErrorData& value) { m_nestedHasBeenSet = true; m_nested = value; } + inline void SetNested(ComplexNestedErrorData&& value) { m_nestedHasBeenSet = true; m_nested = std::move(value); } + inline ComplexError& WithNested(const ComplexNestedErrorData& value) { SetNested(value); return *this;} + inline ComplexError& WithNested(ComplexNestedErrorData&& value) { SetNested(std::move(value)); return *this;} + ///@} + private: + + Aws::String m_header; + bool m_headerHasBeenSet = false; + + Aws::String m_topLevel; + bool m_topLevelHasBeenSet = false; + + ComplexNestedErrorData m_nested; + bool m_nestedHasBeenSet = false; + }; + +} // namespace Model +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/ComplexNestedErrorData.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/ComplexNestedErrorData.h new file mode 100644 index 00000000000..97bbc02e49d --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/ComplexNestedErrorData.h @@ -0,0 +1,54 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace RestXmlProtocol +{ +namespace Model +{ + + class ComplexNestedErrorData + { + public: + AWS_RESTXMLPROTOCOL_API ComplexNestedErrorData(); + AWS_RESTXMLPROTOCOL_API ComplexNestedErrorData(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_RESTXMLPROTOCOL_API ComplexNestedErrorData& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + AWS_RESTXMLPROTOCOL_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + ///@{ + + inline const Aws::String& GetFoo() const{ return m_foo; } + inline bool FooHasBeenSet() const { return m_fooHasBeenSet; } + inline void SetFoo(const Aws::String& value) { m_fooHasBeenSet = true; m_foo = value; } + inline void SetFoo(Aws::String&& value) { m_fooHasBeenSet = true; m_foo = std::move(value); } + inline void SetFoo(const char* value) { m_fooHasBeenSet = true; m_foo.assign(value); } + inline ComplexNestedErrorData& WithFoo(const Aws::String& value) { SetFoo(value); return *this;} + inline ComplexNestedErrorData& WithFoo(Aws::String&& value) { SetFoo(std::move(value)); return *this;} + inline ComplexNestedErrorData& WithFoo(const char* value) { SetFoo(value); return *this;} + ///@} + private: + + Aws::String m_foo; + bool m_fooHasBeenSet = false; + }; + +} // namespace Model +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/ConstantAndVariableQueryStringRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/ConstantAndVariableQueryStringRequest.h new file mode 100644 index 00000000000..1600417767b --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/ConstantAndVariableQueryStringRequest.h @@ -0,0 +1,75 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace RestXmlProtocol +{ +namespace Model +{ + + /** + */ + class ConstantAndVariableQueryStringRequest : public RestXmlProtocolRequest + { + public: + AWS_RESTXMLPROTOCOL_API ConstantAndVariableQueryStringRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "ConstantAndVariableQueryString"; } + + AWS_RESTXMLPROTOCOL_API Aws::String SerializePayload() const override; + + AWS_RESTXMLPROTOCOL_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + + ///@{ + + inline const Aws::String& GetBaz() const{ return m_baz; } + inline bool BazHasBeenSet() const { return m_bazHasBeenSet; } + inline void SetBaz(const Aws::String& value) { m_bazHasBeenSet = true; m_baz = value; } + inline void SetBaz(Aws::String&& value) { m_bazHasBeenSet = true; m_baz = std::move(value); } + inline void SetBaz(const char* value) { m_bazHasBeenSet = true; m_baz.assign(value); } + inline ConstantAndVariableQueryStringRequest& WithBaz(const Aws::String& value) { SetBaz(value); return *this;} + inline ConstantAndVariableQueryStringRequest& WithBaz(Aws::String&& value) { SetBaz(std::move(value)); return *this;} + inline ConstantAndVariableQueryStringRequest& WithBaz(const char* value) { SetBaz(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetMaybeSet() const{ return m_maybeSet; } + inline bool MaybeSetHasBeenSet() const { return m_maybeSetHasBeenSet; } + inline void SetMaybeSet(const Aws::String& value) { m_maybeSetHasBeenSet = true; m_maybeSet = value; } + inline void SetMaybeSet(Aws::String&& value) { m_maybeSetHasBeenSet = true; m_maybeSet = std::move(value); } + inline void SetMaybeSet(const char* value) { m_maybeSetHasBeenSet = true; m_maybeSet.assign(value); } + inline ConstantAndVariableQueryStringRequest& WithMaybeSet(const Aws::String& value) { SetMaybeSet(value); return *this;} + inline ConstantAndVariableQueryStringRequest& WithMaybeSet(Aws::String&& value) { SetMaybeSet(std::move(value)); return *this;} + inline ConstantAndVariableQueryStringRequest& WithMaybeSet(const char* value) { SetMaybeSet(value); return *this;} + ///@} + private: + + Aws::String m_baz; + bool m_bazHasBeenSet = false; + + Aws::String m_maybeSet; + bool m_maybeSetHasBeenSet = false; + }; + +} // namespace Model +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/ConstantQueryStringRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/ConstantQueryStringRequest.h new file mode 100644 index 00000000000..3d02e87f9a7 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/ConstantQueryStringRequest.h @@ -0,0 +1,54 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace RestXmlProtocol +{ +namespace Model +{ + + /** + */ + class ConstantQueryStringRequest : public RestXmlProtocolRequest + { + public: + AWS_RESTXMLPROTOCOL_API ConstantQueryStringRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "ConstantQueryString"; } + + AWS_RESTXMLPROTOCOL_API Aws::String SerializePayload() const override; + + + ///@{ + + inline const Aws::String& GetHello() const{ return m_hello; } + inline bool HelloHasBeenSet() const { return m_helloHasBeenSet; } + inline void SetHello(const Aws::String& value) { m_helloHasBeenSet = true; m_hello = value; } + inline void SetHello(Aws::String&& value) { m_helloHasBeenSet = true; m_hello = std::move(value); } + inline void SetHello(const char* value) { m_helloHasBeenSet = true; m_hello.assign(value); } + inline ConstantQueryStringRequest& WithHello(const Aws::String& value) { SetHello(value); return *this;} + inline ConstantQueryStringRequest& WithHello(Aws::String&& value) { SetHello(std::move(value)); return *this;} + inline ConstantQueryStringRequest& WithHello(const char* value) { SetHello(value); return *this;} + ///@} + private: + + Aws::String m_hello; + bool m_helloHasBeenSet = false; + }; + +} // namespace Model +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/ContentTypeParametersRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/ContentTypeParametersRequest.h new file mode 100644 index 00000000000..26b5c8348a6 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/ContentTypeParametersRequest.h @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace RestXmlProtocol +{ +namespace Model +{ + + /** + */ + class ContentTypeParametersRequest : public RestXmlProtocolRequest + { + public: + AWS_RESTXMLPROTOCOL_API ContentTypeParametersRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "ContentTypeParameters"; } + + AWS_RESTXMLPROTOCOL_API Aws::String SerializePayload() const override; + + + ///@{ + + inline int GetValue() const{ return m_value; } + inline bool ValueHasBeenSet() const { return m_valueHasBeenSet; } + inline void SetValue(int value) { m_valueHasBeenSet = true; m_value = value; } + inline ContentTypeParametersRequest& WithValue(int value) { SetValue(value); return *this;} + ///@} + private: + + int m_value; + bool m_valueHasBeenSet = false; + }; + +} // namespace Model +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/ContentTypeParametersResult.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/ContentTypeParametersResult.h new file mode 100644 index 00000000000..f39040eb43c --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/ContentTypeParametersResult.h @@ -0,0 +1,52 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace RestXmlProtocol +{ +namespace Model +{ + class ContentTypeParametersResult + { + public: + AWS_RESTXMLPROTOCOL_API ContentTypeParametersResult(); + AWS_RESTXMLPROTOCOL_API ContentTypeParametersResult(const Aws::AmazonWebServiceResult& result); + AWS_RESTXMLPROTOCOL_API ContentTypeParametersResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline ContentTypeParametersResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline ContentTypeParametersResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline ContentTypeParametersResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/DatetimeOffsetsRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/DatetimeOffsetsRequest.h new file mode 100644 index 00000000000..cfdb920568d --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/DatetimeOffsetsRequest.h @@ -0,0 +1,36 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace RestXmlProtocol +{ +namespace Model +{ + + /** + */ + class DatetimeOffsetsRequest : public RestXmlProtocolRequest + { + public: + AWS_RESTXMLPROTOCOL_API DatetimeOffsetsRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "DatetimeOffsets"; } + + AWS_RESTXMLPROTOCOL_API Aws::String SerializePayload() const override; + + }; + +} // namespace Model +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/DatetimeOffsetsResult.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/DatetimeOffsetsResult.h new file mode 100644 index 00000000000..b6fcc63a679 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/DatetimeOffsetsResult.h @@ -0,0 +1,64 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace RestXmlProtocol +{ +namespace Model +{ + class DatetimeOffsetsResult + { + public: + AWS_RESTXMLPROTOCOL_API DatetimeOffsetsResult(); + AWS_RESTXMLPROTOCOL_API DatetimeOffsetsResult(const Aws::AmazonWebServiceResult& result); + AWS_RESTXMLPROTOCOL_API DatetimeOffsetsResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::Utils::DateTime& GetDatetime() const{ return m_datetime; } + inline void SetDatetime(const Aws::Utils::DateTime& value) { m_datetime = value; } + inline void SetDatetime(Aws::Utils::DateTime&& value) { m_datetime = std::move(value); } + inline DatetimeOffsetsResult& WithDatetime(const Aws::Utils::DateTime& value) { SetDatetime(value); return *this;} + inline DatetimeOffsetsResult& WithDatetime(Aws::Utils::DateTime&& value) { SetDatetime(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline DatetimeOffsetsResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline DatetimeOffsetsResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline DatetimeOffsetsResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::Utils::DateTime m_datetime; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/EmptyInputAndEmptyOutputRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/EmptyInputAndEmptyOutputRequest.h new file mode 100644 index 00000000000..15387196538 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/EmptyInputAndEmptyOutputRequest.h @@ -0,0 +1,36 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace RestXmlProtocol +{ +namespace Model +{ + + /** + */ + class EmptyInputAndEmptyOutputRequest : public RestXmlProtocolRequest + { + public: + AWS_RESTXMLPROTOCOL_API EmptyInputAndEmptyOutputRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "EmptyInputAndEmptyOutput"; } + + AWS_RESTXMLPROTOCOL_API Aws::String SerializePayload() const override; + + }; + +} // namespace Model +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/EmptyInputAndEmptyOutputResult.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/EmptyInputAndEmptyOutputResult.h new file mode 100644 index 00000000000..9345145ba38 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/EmptyInputAndEmptyOutputResult.h @@ -0,0 +1,52 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace RestXmlProtocol +{ +namespace Model +{ + class EmptyInputAndEmptyOutputResult + { + public: + AWS_RESTXMLPROTOCOL_API EmptyInputAndEmptyOutputResult(); + AWS_RESTXMLPROTOCOL_API EmptyInputAndEmptyOutputResult(const Aws::AmazonWebServiceResult& result); + AWS_RESTXMLPROTOCOL_API EmptyInputAndEmptyOutputResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline EmptyInputAndEmptyOutputResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline EmptyInputAndEmptyOutputResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline EmptyInputAndEmptyOutputResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/EndpointOperationRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/EndpointOperationRequest.h new file mode 100644 index 00000000000..06a9f9b04c3 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/EndpointOperationRequest.h @@ -0,0 +1,36 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace RestXmlProtocol +{ +namespace Model +{ + + /** + */ + class EndpointOperationRequest : public RestXmlProtocolRequest + { + public: + AWS_RESTXMLPROTOCOL_API EndpointOperationRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "EndpointOperation"; } + + AWS_RESTXMLPROTOCOL_API Aws::String SerializePayload() const override; + + }; + +} // namespace Model +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/EndpointWithHostLabelHeaderOperationRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/EndpointWithHostLabelHeaderOperationRequest.h new file mode 100644 index 00000000000..0610c640f60 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/EndpointWithHostLabelHeaderOperationRequest.h @@ -0,0 +1,56 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace RestXmlProtocol +{ +namespace Model +{ + + /** + */ + class EndpointWithHostLabelHeaderOperationRequest : public RestXmlProtocolRequest + { + public: + AWS_RESTXMLPROTOCOL_API EndpointWithHostLabelHeaderOperationRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "EndpointWithHostLabelHeaderOperation"; } + + AWS_RESTXMLPROTOCOL_API Aws::String SerializePayload() const override; + + AWS_RESTXMLPROTOCOL_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + + inline const Aws::String& GetAccountId() const{ return m_accountId; } + inline bool AccountIdHasBeenSet() const { return m_accountIdHasBeenSet; } + inline void SetAccountId(const Aws::String& value) { m_accountIdHasBeenSet = true; m_accountId = value; } + inline void SetAccountId(Aws::String&& value) { m_accountIdHasBeenSet = true; m_accountId = std::move(value); } + inline void SetAccountId(const char* value) { m_accountIdHasBeenSet = true; m_accountId.assign(value); } + inline EndpointWithHostLabelHeaderOperationRequest& WithAccountId(const Aws::String& value) { SetAccountId(value); return *this;} + inline EndpointWithHostLabelHeaderOperationRequest& WithAccountId(Aws::String&& value) { SetAccountId(std::move(value)); return *this;} + inline EndpointWithHostLabelHeaderOperationRequest& WithAccountId(const char* value) { SetAccountId(value); return *this;} + ///@} + private: + + Aws::String m_accountId; + bool m_accountIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/EndpointWithHostLabelOperationRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/EndpointWithHostLabelOperationRequest.h new file mode 100644 index 00000000000..bfb87a2a56b --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/EndpointWithHostLabelOperationRequest.h @@ -0,0 +1,54 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace RestXmlProtocol +{ +namespace Model +{ + + /** + */ + class EndpointWithHostLabelOperationRequest : public RestXmlProtocolRequest + { + public: + AWS_RESTXMLPROTOCOL_API EndpointWithHostLabelOperationRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "EndpointWithHostLabelOperation"; } + + AWS_RESTXMLPROTOCOL_API Aws::String SerializePayload() const override; + + + ///@{ + + inline const Aws::String& GetLabel() const{ return m_label; } + inline bool LabelHasBeenSet() const { return m_labelHasBeenSet; } + inline void SetLabel(const Aws::String& value) { m_labelHasBeenSet = true; m_label = value; } + inline void SetLabel(Aws::String&& value) { m_labelHasBeenSet = true; m_label = std::move(value); } + inline void SetLabel(const char* value) { m_labelHasBeenSet = true; m_label.assign(value); } + inline EndpointWithHostLabelOperationRequest& WithLabel(const Aws::String& value) { SetLabel(value); return *this;} + inline EndpointWithHostLabelOperationRequest& WithLabel(Aws::String&& value) { SetLabel(std::move(value)); return *this;} + inline EndpointWithHostLabelOperationRequest& WithLabel(const char* value) { SetLabel(value); return *this;} + ///@} + private: + + Aws::String m_label; + bool m_labelHasBeenSet = false; + }; + +} // namespace Model +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/FlattenedXmlMapRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/FlattenedXmlMapRequest.h new file mode 100644 index 00000000000..a424c3821d8 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/FlattenedXmlMapRequest.h @@ -0,0 +1,60 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace RestXmlProtocol +{ +namespace Model +{ + + /** + */ + class FlattenedXmlMapRequest : public RestXmlProtocolRequest + { + public: + AWS_RESTXMLPROTOCOL_API FlattenedXmlMapRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "FlattenedXmlMap"; } + + AWS_RESTXMLPROTOCOL_API Aws::String SerializePayload() const override; + + + ///@{ + + inline const Aws::Map& GetMyMap() const{ return m_myMap; } + inline bool MyMapHasBeenSet() const { return m_myMapHasBeenSet; } + inline void SetMyMap(const Aws::Map& value) { m_myMapHasBeenSet = true; m_myMap = value; } + inline void SetMyMap(Aws::Map&& value) { m_myMapHasBeenSet = true; m_myMap = std::move(value); } + inline FlattenedXmlMapRequest& WithMyMap(const Aws::Map& value) { SetMyMap(value); return *this;} + inline FlattenedXmlMapRequest& WithMyMap(Aws::Map&& value) { SetMyMap(std::move(value)); return *this;} + inline FlattenedXmlMapRequest& AddMyMap(const Aws::String& key, const FooEnum& value) { m_myMapHasBeenSet = true; m_myMap.emplace(key, value); return *this; } + inline FlattenedXmlMapRequest& AddMyMap(Aws::String&& key, const FooEnum& value) { m_myMapHasBeenSet = true; m_myMap.emplace(std::move(key), value); return *this; } + inline FlattenedXmlMapRequest& AddMyMap(const Aws::String& key, FooEnum&& value) { m_myMapHasBeenSet = true; m_myMap.emplace(key, std::move(value)); return *this; } + inline FlattenedXmlMapRequest& AddMyMap(Aws::String&& key, FooEnum&& value) { m_myMapHasBeenSet = true; m_myMap.emplace(std::move(key), std::move(value)); return *this; } + inline FlattenedXmlMapRequest& AddMyMap(const char* key, FooEnum&& value) { m_myMapHasBeenSet = true; m_myMap.emplace(key, std::move(value)); return *this; } + inline FlattenedXmlMapRequest& AddMyMap(const char* key, const FooEnum& value) { m_myMapHasBeenSet = true; m_myMap.emplace(key, value); return *this; } + ///@} + private: + + Aws::Map m_myMap; + bool m_myMapHasBeenSet = false; + }; + +} // namespace Model +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/FlattenedXmlMapResult.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/FlattenedXmlMapResult.h new file mode 100644 index 00000000000..807138a85fd --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/FlattenedXmlMapResult.h @@ -0,0 +1,71 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace RestXmlProtocol +{ +namespace Model +{ + class FlattenedXmlMapResult + { + public: + AWS_RESTXMLPROTOCOL_API FlattenedXmlMapResult(); + AWS_RESTXMLPROTOCOL_API FlattenedXmlMapResult(const Aws::AmazonWebServiceResult& result); + AWS_RESTXMLPROTOCOL_API FlattenedXmlMapResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::Map& GetMyMap() const{ return m_myMap; } + inline void SetMyMap(const Aws::Map& value) { m_myMap = value; } + inline void SetMyMap(Aws::Map&& value) { m_myMap = std::move(value); } + inline FlattenedXmlMapResult& WithMyMap(const Aws::Map& value) { SetMyMap(value); return *this;} + inline FlattenedXmlMapResult& WithMyMap(Aws::Map&& value) { SetMyMap(std::move(value)); return *this;} + inline FlattenedXmlMapResult& AddMyMap(const Aws::String& key, const FooEnum& value) { m_myMap.emplace(key, value); return *this; } + inline FlattenedXmlMapResult& AddMyMap(Aws::String&& key, const FooEnum& value) { m_myMap.emplace(std::move(key), value); return *this; } + inline FlattenedXmlMapResult& AddMyMap(const Aws::String& key, FooEnum&& value) { m_myMap.emplace(key, std::move(value)); return *this; } + inline FlattenedXmlMapResult& AddMyMap(Aws::String&& key, FooEnum&& value) { m_myMap.emplace(std::move(key), std::move(value)); return *this; } + inline FlattenedXmlMapResult& AddMyMap(const char* key, FooEnum&& value) { m_myMap.emplace(key, std::move(value)); return *this; } + inline FlattenedXmlMapResult& AddMyMap(const char* key, const FooEnum& value) { m_myMap.emplace(key, value); return *this; } + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline FlattenedXmlMapResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline FlattenedXmlMapResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline FlattenedXmlMapResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::Map m_myMap; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/FlattenedXmlMapWithXmlNameRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/FlattenedXmlMapWithXmlNameRequest.h new file mode 100644 index 00000000000..40571c600c6 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/FlattenedXmlMapWithXmlNameRequest.h @@ -0,0 +1,60 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace RestXmlProtocol +{ +namespace Model +{ + + /** + */ + class FlattenedXmlMapWithXmlNameRequest : public RestXmlProtocolRequest + { + public: + AWS_RESTXMLPROTOCOL_API FlattenedXmlMapWithXmlNameRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "FlattenedXmlMapWithXmlName"; } + + AWS_RESTXMLPROTOCOL_API Aws::String SerializePayload() const override; + + + ///@{ + + inline const Aws::Map& GetMyMap() const{ return m_myMap; } + inline bool MyMapHasBeenSet() const { return m_myMapHasBeenSet; } + inline void SetMyMap(const Aws::Map& value) { m_myMapHasBeenSet = true; m_myMap = value; } + inline void SetMyMap(Aws::Map&& value) { m_myMapHasBeenSet = true; m_myMap = std::move(value); } + inline FlattenedXmlMapWithXmlNameRequest& WithMyMap(const Aws::Map& value) { SetMyMap(value); return *this;} + inline FlattenedXmlMapWithXmlNameRequest& WithMyMap(Aws::Map&& value) { SetMyMap(std::move(value)); return *this;} + inline FlattenedXmlMapWithXmlNameRequest& AddMyMap(const Aws::String& key, const Aws::String& value) { m_myMapHasBeenSet = true; m_myMap.emplace(key, value); return *this; } + inline FlattenedXmlMapWithXmlNameRequest& AddMyMap(Aws::String&& key, const Aws::String& value) { m_myMapHasBeenSet = true; m_myMap.emplace(std::move(key), value); return *this; } + inline FlattenedXmlMapWithXmlNameRequest& AddMyMap(const Aws::String& key, Aws::String&& value) { m_myMapHasBeenSet = true; m_myMap.emplace(key, std::move(value)); return *this; } + inline FlattenedXmlMapWithXmlNameRequest& AddMyMap(Aws::String&& key, Aws::String&& value) { m_myMapHasBeenSet = true; m_myMap.emplace(std::move(key), std::move(value)); return *this; } + inline FlattenedXmlMapWithXmlNameRequest& AddMyMap(const char* key, Aws::String&& value) { m_myMapHasBeenSet = true; m_myMap.emplace(key, std::move(value)); return *this; } + inline FlattenedXmlMapWithXmlNameRequest& AddMyMap(Aws::String&& key, const char* value) { m_myMapHasBeenSet = true; m_myMap.emplace(std::move(key), value); return *this; } + inline FlattenedXmlMapWithXmlNameRequest& AddMyMap(const char* key, const char* value) { m_myMapHasBeenSet = true; m_myMap.emplace(key, value); return *this; } + ///@} + private: + + Aws::Map m_myMap; + bool m_myMapHasBeenSet = false; + }; + +} // namespace Model +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/FlattenedXmlMapWithXmlNameResult.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/FlattenedXmlMapWithXmlNameResult.h new file mode 100644 index 00000000000..5132e0cd3f0 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/FlattenedXmlMapWithXmlNameResult.h @@ -0,0 +1,71 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace RestXmlProtocol +{ +namespace Model +{ + class FlattenedXmlMapWithXmlNameResult + { + public: + AWS_RESTXMLPROTOCOL_API FlattenedXmlMapWithXmlNameResult(); + AWS_RESTXMLPROTOCOL_API FlattenedXmlMapWithXmlNameResult(const Aws::AmazonWebServiceResult& result); + AWS_RESTXMLPROTOCOL_API FlattenedXmlMapWithXmlNameResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::Map& GetMyMap() const{ return m_myMap; } + inline void SetMyMap(const Aws::Map& value) { m_myMap = value; } + inline void SetMyMap(Aws::Map&& value) { m_myMap = std::move(value); } + inline FlattenedXmlMapWithXmlNameResult& WithMyMap(const Aws::Map& value) { SetMyMap(value); return *this;} + inline FlattenedXmlMapWithXmlNameResult& WithMyMap(Aws::Map&& value) { SetMyMap(std::move(value)); return *this;} + inline FlattenedXmlMapWithXmlNameResult& AddMyMap(const Aws::String& key, const Aws::String& value) { m_myMap.emplace(key, value); return *this; } + inline FlattenedXmlMapWithXmlNameResult& AddMyMap(Aws::String&& key, const Aws::String& value) { m_myMap.emplace(std::move(key), value); return *this; } + inline FlattenedXmlMapWithXmlNameResult& AddMyMap(const Aws::String& key, Aws::String&& value) { m_myMap.emplace(key, std::move(value)); return *this; } + inline FlattenedXmlMapWithXmlNameResult& AddMyMap(Aws::String&& key, Aws::String&& value) { m_myMap.emplace(std::move(key), std::move(value)); return *this; } + inline FlattenedXmlMapWithXmlNameResult& AddMyMap(const char* key, Aws::String&& value) { m_myMap.emplace(key, std::move(value)); return *this; } + inline FlattenedXmlMapWithXmlNameResult& AddMyMap(Aws::String&& key, const char* value) { m_myMap.emplace(std::move(key), value); return *this; } + inline FlattenedXmlMapWithXmlNameResult& AddMyMap(const char* key, const char* value) { m_myMap.emplace(key, value); return *this; } + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline FlattenedXmlMapWithXmlNameResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline FlattenedXmlMapWithXmlNameResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline FlattenedXmlMapWithXmlNameResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::Map m_myMap; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/FlattenedXmlMapWithXmlNamespaceRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/FlattenedXmlMapWithXmlNamespaceRequest.h new file mode 100644 index 00000000000..3082002c66b --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/FlattenedXmlMapWithXmlNamespaceRequest.h @@ -0,0 +1,36 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace RestXmlProtocol +{ +namespace Model +{ + + /** + */ + class FlattenedXmlMapWithXmlNamespaceRequest : public RestXmlProtocolRequest + { + public: + AWS_RESTXMLPROTOCOL_API FlattenedXmlMapWithXmlNamespaceRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "FlattenedXmlMapWithXmlNamespace"; } + + AWS_RESTXMLPROTOCOL_API Aws::String SerializePayload() const override; + + }; + +} // namespace Model +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/FlattenedXmlMapWithXmlNamespaceResult.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/FlattenedXmlMapWithXmlNamespaceResult.h new file mode 100644 index 00000000000..e2585aa5a59 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/FlattenedXmlMapWithXmlNamespaceResult.h @@ -0,0 +1,71 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace RestXmlProtocol +{ +namespace Model +{ + class FlattenedXmlMapWithXmlNamespaceResult + { + public: + AWS_RESTXMLPROTOCOL_API FlattenedXmlMapWithXmlNamespaceResult(); + AWS_RESTXMLPROTOCOL_API FlattenedXmlMapWithXmlNamespaceResult(const Aws::AmazonWebServiceResult& result); + AWS_RESTXMLPROTOCOL_API FlattenedXmlMapWithXmlNamespaceResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::Map& GetMyMap() const{ return m_myMap; } + inline void SetMyMap(const Aws::Map& value) { m_myMap = value; } + inline void SetMyMap(Aws::Map&& value) { m_myMap = std::move(value); } + inline FlattenedXmlMapWithXmlNamespaceResult& WithMyMap(const Aws::Map& value) { SetMyMap(value); return *this;} + inline FlattenedXmlMapWithXmlNamespaceResult& WithMyMap(Aws::Map&& value) { SetMyMap(std::move(value)); return *this;} + inline FlattenedXmlMapWithXmlNamespaceResult& AddMyMap(const Aws::String& key, const Aws::String& value) { m_myMap.emplace(key, value); return *this; } + inline FlattenedXmlMapWithXmlNamespaceResult& AddMyMap(Aws::String&& key, const Aws::String& value) { m_myMap.emplace(std::move(key), value); return *this; } + inline FlattenedXmlMapWithXmlNamespaceResult& AddMyMap(const Aws::String& key, Aws::String&& value) { m_myMap.emplace(key, std::move(value)); return *this; } + inline FlattenedXmlMapWithXmlNamespaceResult& AddMyMap(Aws::String&& key, Aws::String&& value) { m_myMap.emplace(std::move(key), std::move(value)); return *this; } + inline FlattenedXmlMapWithXmlNamespaceResult& AddMyMap(const char* key, Aws::String&& value) { m_myMap.emplace(key, std::move(value)); return *this; } + inline FlattenedXmlMapWithXmlNamespaceResult& AddMyMap(Aws::String&& key, const char* value) { m_myMap.emplace(std::move(key), value); return *this; } + inline FlattenedXmlMapWithXmlNamespaceResult& AddMyMap(const char* key, const char* value) { m_myMap.emplace(key, value); return *this; } + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline FlattenedXmlMapWithXmlNamespaceResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline FlattenedXmlMapWithXmlNamespaceResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline FlattenedXmlMapWithXmlNamespaceResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::Map m_myMap; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/FooEnum.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/FooEnum.h new file mode 100644 index 00000000000..03a04efade7 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/FooEnum.h @@ -0,0 +1,34 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace RestXmlProtocol +{ +namespace Model +{ + enum class FooEnum + { + NOT_SET, + Foo, + Baz, + Bar, + _1, + _0 + }; + +namespace FooEnumMapper +{ +AWS_RESTXMLPROTOCOL_API FooEnum GetFooEnumForName(const Aws::String& name); + +AWS_RESTXMLPROTOCOL_API Aws::String GetNameForFooEnum(FooEnum value); +} // namespace FooEnumMapper +} // namespace Model +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/FractionalSecondsRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/FractionalSecondsRequest.h new file mode 100644 index 00000000000..a4339d7d3c8 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/FractionalSecondsRequest.h @@ -0,0 +1,36 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace RestXmlProtocol +{ +namespace Model +{ + + /** + */ + class FractionalSecondsRequest : public RestXmlProtocolRequest + { + public: + AWS_RESTXMLPROTOCOL_API FractionalSecondsRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "FractionalSeconds"; } + + AWS_RESTXMLPROTOCOL_API Aws::String SerializePayload() const override; + + }; + +} // namespace Model +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/FractionalSecondsResult.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/FractionalSecondsResult.h new file mode 100644 index 00000000000..a26c61aabb7 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/FractionalSecondsResult.h @@ -0,0 +1,64 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace RestXmlProtocol +{ +namespace Model +{ + class FractionalSecondsResult + { + public: + AWS_RESTXMLPROTOCOL_API FractionalSecondsResult(); + AWS_RESTXMLPROTOCOL_API FractionalSecondsResult(const Aws::AmazonWebServiceResult& result); + AWS_RESTXMLPROTOCOL_API FractionalSecondsResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::Utils::DateTime& GetDatetime() const{ return m_datetime; } + inline void SetDatetime(const Aws::Utils::DateTime& value) { m_datetime = value; } + inline void SetDatetime(Aws::Utils::DateTime&& value) { m_datetime = std::move(value); } + inline FractionalSecondsResult& WithDatetime(const Aws::Utils::DateTime& value) { SetDatetime(value); return *this;} + inline FractionalSecondsResult& WithDatetime(Aws::Utils::DateTime&& value) { SetDatetime(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline FractionalSecondsResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline FractionalSecondsResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline FractionalSecondsResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::Utils::DateTime m_datetime; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/GreetingStruct.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/GreetingStruct.h new file mode 100644 index 00000000000..2bc2650ef6a --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/GreetingStruct.h @@ -0,0 +1,54 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace RestXmlProtocol +{ +namespace Model +{ + + class GreetingStruct + { + public: + AWS_RESTXMLPROTOCOL_API GreetingStruct(); + AWS_RESTXMLPROTOCOL_API GreetingStruct(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_RESTXMLPROTOCOL_API GreetingStruct& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + AWS_RESTXMLPROTOCOL_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + ///@{ + + inline const Aws::String& GetHi() const{ return m_hi; } + inline bool HiHasBeenSet() const { return m_hiHasBeenSet; } + inline void SetHi(const Aws::String& value) { m_hiHasBeenSet = true; m_hi = value; } + inline void SetHi(Aws::String&& value) { m_hiHasBeenSet = true; m_hi = std::move(value); } + inline void SetHi(const char* value) { m_hiHasBeenSet = true; m_hi.assign(value); } + inline GreetingStruct& WithHi(const Aws::String& value) { SetHi(value); return *this;} + inline GreetingStruct& WithHi(Aws::String&& value) { SetHi(std::move(value)); return *this;} + inline GreetingStruct& WithHi(const char* value) { SetHi(value); return *this;} + ///@} + private: + + Aws::String m_hi; + bool m_hiHasBeenSet = false; + }; + +} // namespace Model +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/GreetingWithErrorsRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/GreetingWithErrorsRequest.h new file mode 100644 index 00000000000..5b1c0c4487e --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/GreetingWithErrorsRequest.h @@ -0,0 +1,36 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace RestXmlProtocol +{ +namespace Model +{ + + /** + */ + class GreetingWithErrorsRequest : public RestXmlProtocolRequest + { + public: + AWS_RESTXMLPROTOCOL_API GreetingWithErrorsRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "GreetingWithErrors"; } + + AWS_RESTXMLPROTOCOL_API Aws::String SerializePayload() const override; + + }; + +} // namespace Model +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/GreetingWithErrorsResult.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/GreetingWithErrorsResult.h new file mode 100644 index 00000000000..e67fc607bf4 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/GreetingWithErrorsResult.h @@ -0,0 +1,65 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace RestXmlProtocol +{ +namespace Model +{ + class GreetingWithErrorsResult + { + public: + AWS_RESTXMLPROTOCOL_API GreetingWithErrorsResult(); + AWS_RESTXMLPROTOCOL_API GreetingWithErrorsResult(const Aws::AmazonWebServiceResult& result); + AWS_RESTXMLPROTOCOL_API GreetingWithErrorsResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::String& GetGreeting() const{ return m_greeting; } + inline void SetGreeting(const Aws::String& value) { m_greeting = value; } + inline void SetGreeting(Aws::String&& value) { m_greeting = std::move(value); } + inline void SetGreeting(const char* value) { m_greeting.assign(value); } + inline GreetingWithErrorsResult& WithGreeting(const Aws::String& value) { SetGreeting(value); return *this;} + inline GreetingWithErrorsResult& WithGreeting(Aws::String&& value) { SetGreeting(std::move(value)); return *this;} + inline GreetingWithErrorsResult& WithGreeting(const char* value) { SetGreeting(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline GreetingWithErrorsResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline GreetingWithErrorsResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline GreetingWithErrorsResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_greeting; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/HttpEnumPayloadRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/HttpEnumPayloadRequest.h new file mode 100644 index 00000000000..05f4397e7ba --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/HttpEnumPayloadRequest.h @@ -0,0 +1,56 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace RestXmlProtocol +{ +namespace Model +{ + + /** + */ + class HttpEnumPayloadRequest : public StreamingRestXmlProtocolRequest + { + public: + AWS_RESTXMLPROTOCOL_API HttpEnumPayloadRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "HttpEnumPayload"; } + + AWS_RESTXMLPROTOCOL_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline bool RequestIdHasBeenSet() const { return m_requestIdHasBeenSet; } + inline void SetRequestId(const Aws::String& value) { m_requestIdHasBeenSet = true; m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestIdHasBeenSet = true; m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestIdHasBeenSet = true; m_requestId.assign(value); } + inline HttpEnumPayloadRequest& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline HttpEnumPayloadRequest& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline HttpEnumPayloadRequest& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/HttpEnumPayloadResult.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/HttpEnumPayloadResult.h new file mode 100644 index 00000000000..54b80a05d92 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/HttpEnumPayloadResult.h @@ -0,0 +1,66 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace RestXmlProtocol +{ +namespace Model +{ + class HttpEnumPayloadResult + { + public: + AWS_RESTXMLPROTOCOL_API HttpEnumPayloadResult(); + //We have to define these because Microsoft doesn't auto generate them + AWS_RESTXMLPROTOCOL_API HttpEnumPayloadResult(HttpEnumPayloadResult&&); + AWS_RESTXMLPROTOCOL_API HttpEnumPayloadResult& operator=(HttpEnumPayloadResult&&); + //we delete these because Microsoft doesn't handle move generation correctly + //and we therefore don't trust them to get it right here either. + HttpEnumPayloadResult(const HttpEnumPayloadResult&) = delete; + HttpEnumPayloadResult& operator=(const HttpEnumPayloadResult&) = delete; + + + AWS_RESTXMLPROTOCOL_API HttpEnumPayloadResult(Aws::AmazonWebServiceResult&& result); + AWS_RESTXMLPROTOCOL_API HttpEnumPayloadResult& operator=(Aws::AmazonWebServiceResult&& result); + + + + ///@{ + + inline Aws::IOStream& GetPayload() const { return m_payload.GetUnderlyingStream(); } + inline void ReplaceBody(Aws::IOStream* body) { m_payload = Aws::Utils::Stream::ResponseStream(body); } + + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline HttpEnumPayloadResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline HttpEnumPayloadResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline HttpEnumPayloadResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::Utils::Stream::ResponseStream m_payload; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/HttpPayloadTraitsRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/HttpPayloadTraitsRequest.h new file mode 100644 index 00000000000..bf79edc987d --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/HttpPayloadTraitsRequest.h @@ -0,0 +1,71 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace RestXmlProtocol +{ +namespace Model +{ + + /** + */ + class HttpPayloadTraitsRequest : public StreamingRestXmlProtocolRequest + { + public: + AWS_RESTXMLPROTOCOL_API HttpPayloadTraitsRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "HttpPayloadTraits"; } + + AWS_RESTXMLPROTOCOL_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + + inline const Aws::String& GetFoo() const{ return m_foo; } + inline bool FooHasBeenSet() const { return m_fooHasBeenSet; } + inline void SetFoo(const Aws::String& value) { m_fooHasBeenSet = true; m_foo = value; } + inline void SetFoo(Aws::String&& value) { m_fooHasBeenSet = true; m_foo = std::move(value); } + inline void SetFoo(const char* value) { m_fooHasBeenSet = true; m_foo.assign(value); } + inline HttpPayloadTraitsRequest& WithFoo(const Aws::String& value) { SetFoo(value); return *this;} + inline HttpPayloadTraitsRequest& WithFoo(Aws::String&& value) { SetFoo(std::move(value)); return *this;} + inline HttpPayloadTraitsRequest& WithFoo(const char* value) { SetFoo(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline bool RequestIdHasBeenSet() const { return m_requestIdHasBeenSet; } + inline void SetRequestId(const Aws::String& value) { m_requestIdHasBeenSet = true; m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestIdHasBeenSet = true; m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestIdHasBeenSet = true; m_requestId.assign(value); } + inline HttpPayloadTraitsRequest& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline HttpPayloadTraitsRequest& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline HttpPayloadTraitsRequest& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_foo; + bool m_fooHasBeenSet = false; + + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/HttpPayloadTraitsResult.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/HttpPayloadTraitsResult.h new file mode 100644 index 00000000000..6846df14533 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/HttpPayloadTraitsResult.h @@ -0,0 +1,79 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace RestXmlProtocol +{ +namespace Model +{ + class HttpPayloadTraitsResult + { + public: + AWS_RESTXMLPROTOCOL_API HttpPayloadTraitsResult(); + //We have to define these because Microsoft doesn't auto generate them + AWS_RESTXMLPROTOCOL_API HttpPayloadTraitsResult(HttpPayloadTraitsResult&&); + AWS_RESTXMLPROTOCOL_API HttpPayloadTraitsResult& operator=(HttpPayloadTraitsResult&&); + //we delete these because Microsoft doesn't handle move generation correctly + //and we therefore don't trust them to get it right here either. + HttpPayloadTraitsResult(const HttpPayloadTraitsResult&) = delete; + HttpPayloadTraitsResult& operator=(const HttpPayloadTraitsResult&) = delete; + + + AWS_RESTXMLPROTOCOL_API HttpPayloadTraitsResult(Aws::AmazonWebServiceResult&& result); + AWS_RESTXMLPROTOCOL_API HttpPayloadTraitsResult& operator=(Aws::AmazonWebServiceResult&& result); + + + + ///@{ + + inline const Aws::String& GetFoo() const{ return m_foo; } + inline void SetFoo(const Aws::String& value) { m_foo = value; } + inline void SetFoo(Aws::String&& value) { m_foo = std::move(value); } + inline void SetFoo(const char* value) { m_foo.assign(value); } + inline HttpPayloadTraitsResult& WithFoo(const Aws::String& value) { SetFoo(value); return *this;} + inline HttpPayloadTraitsResult& WithFoo(Aws::String&& value) { SetFoo(std::move(value)); return *this;} + inline HttpPayloadTraitsResult& WithFoo(const char* value) { SetFoo(value); return *this;} + ///@} + + ///@{ + + inline Aws::IOStream& GetBlob() const { return m_blob.GetUnderlyingStream(); } + inline void ReplaceBody(Aws::IOStream* body) { m_blob = Aws::Utils::Stream::ResponseStream(body); } + + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline HttpPayloadTraitsResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline HttpPayloadTraitsResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline HttpPayloadTraitsResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_foo; + + Aws::Utils::Stream::ResponseStream m_blob; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/HttpPayloadWithMemberXmlNameRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/HttpPayloadWithMemberXmlNameRequest.h new file mode 100644 index 00000000000..7337e4ddb0a --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/HttpPayloadWithMemberXmlNameRequest.h @@ -0,0 +1,70 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace RestXmlProtocol +{ +namespace Model +{ + + /** + */ + class HttpPayloadWithMemberXmlNameRequest : public RestXmlProtocolRequest + { + public: + AWS_RESTXMLPROTOCOL_API HttpPayloadWithMemberXmlNameRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "HttpPayloadWithMemberXmlName"; } + + AWS_RESTXMLPROTOCOL_API Aws::String SerializePayload() const override; + + AWS_RESTXMLPROTOCOL_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + + inline const PayloadWithXmlName& GetNested() const{ return m_nested; } + inline bool NestedHasBeenSet() const { return m_nestedHasBeenSet; } + inline void SetNested(const PayloadWithXmlName& value) { m_nestedHasBeenSet = true; m_nested = value; } + inline void SetNested(PayloadWithXmlName&& value) { m_nestedHasBeenSet = true; m_nested = std::move(value); } + inline HttpPayloadWithMemberXmlNameRequest& WithNested(const PayloadWithXmlName& value) { SetNested(value); return *this;} + inline HttpPayloadWithMemberXmlNameRequest& WithNested(PayloadWithXmlName&& value) { SetNested(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline bool RequestIdHasBeenSet() const { return m_requestIdHasBeenSet; } + inline void SetRequestId(const Aws::String& value) { m_requestIdHasBeenSet = true; m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestIdHasBeenSet = true; m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestIdHasBeenSet = true; m_requestId.assign(value); } + inline HttpPayloadWithMemberXmlNameRequest& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline HttpPayloadWithMemberXmlNameRequest& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline HttpPayloadWithMemberXmlNameRequest& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + PayloadWithXmlName m_nested; + bool m_nestedHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/HttpPayloadWithMemberXmlNameResult.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/HttpPayloadWithMemberXmlNameResult.h new file mode 100644 index 00000000000..b875ea5165d --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/HttpPayloadWithMemberXmlNameResult.h @@ -0,0 +1,64 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace RestXmlProtocol +{ +namespace Model +{ + class HttpPayloadWithMemberXmlNameResult + { + public: + AWS_RESTXMLPROTOCOL_API HttpPayloadWithMemberXmlNameResult(); + AWS_RESTXMLPROTOCOL_API HttpPayloadWithMemberXmlNameResult(const Aws::AmazonWebServiceResult& result); + AWS_RESTXMLPROTOCOL_API HttpPayloadWithMemberXmlNameResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const PayloadWithXmlName& GetNested() const{ return m_nested; } + inline void SetNested(const PayloadWithXmlName& value) { m_nested = value; } + inline void SetNested(PayloadWithXmlName&& value) { m_nested = std::move(value); } + inline HttpPayloadWithMemberXmlNameResult& WithNested(const PayloadWithXmlName& value) { SetNested(value); return *this;} + inline HttpPayloadWithMemberXmlNameResult& WithNested(PayloadWithXmlName&& value) { SetNested(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline HttpPayloadWithMemberXmlNameResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline HttpPayloadWithMemberXmlNameResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline HttpPayloadWithMemberXmlNameResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + PayloadWithXmlName m_nested; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/HttpPayloadWithStructureRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/HttpPayloadWithStructureRequest.h new file mode 100644 index 00000000000..706c103f35a --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/HttpPayloadWithStructureRequest.h @@ -0,0 +1,70 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace RestXmlProtocol +{ +namespace Model +{ + + /** + */ + class HttpPayloadWithStructureRequest : public RestXmlProtocolRequest + { + public: + AWS_RESTXMLPROTOCOL_API HttpPayloadWithStructureRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "HttpPayloadWithStructure"; } + + AWS_RESTXMLPROTOCOL_API Aws::String SerializePayload() const override; + + AWS_RESTXMLPROTOCOL_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + + inline const NestedPayload& GetNested() const{ return m_nested; } + inline bool NestedHasBeenSet() const { return m_nestedHasBeenSet; } + inline void SetNested(const NestedPayload& value) { m_nestedHasBeenSet = true; m_nested = value; } + inline void SetNested(NestedPayload&& value) { m_nestedHasBeenSet = true; m_nested = std::move(value); } + inline HttpPayloadWithStructureRequest& WithNested(const NestedPayload& value) { SetNested(value); return *this;} + inline HttpPayloadWithStructureRequest& WithNested(NestedPayload&& value) { SetNested(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline bool RequestIdHasBeenSet() const { return m_requestIdHasBeenSet; } + inline void SetRequestId(const Aws::String& value) { m_requestIdHasBeenSet = true; m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestIdHasBeenSet = true; m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestIdHasBeenSet = true; m_requestId.assign(value); } + inline HttpPayloadWithStructureRequest& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline HttpPayloadWithStructureRequest& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline HttpPayloadWithStructureRequest& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + NestedPayload m_nested; + bool m_nestedHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/HttpPayloadWithStructureResult.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/HttpPayloadWithStructureResult.h new file mode 100644 index 00000000000..a6b36bcb7c1 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/HttpPayloadWithStructureResult.h @@ -0,0 +1,64 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace RestXmlProtocol +{ +namespace Model +{ + class HttpPayloadWithStructureResult + { + public: + AWS_RESTXMLPROTOCOL_API HttpPayloadWithStructureResult(); + AWS_RESTXMLPROTOCOL_API HttpPayloadWithStructureResult(const Aws::AmazonWebServiceResult& result); + AWS_RESTXMLPROTOCOL_API HttpPayloadWithStructureResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const NestedPayload& GetNested() const{ return m_nested; } + inline void SetNested(const NestedPayload& value) { m_nested = value; } + inline void SetNested(NestedPayload&& value) { m_nested = std::move(value); } + inline HttpPayloadWithStructureResult& WithNested(const NestedPayload& value) { SetNested(value); return *this;} + inline HttpPayloadWithStructureResult& WithNested(NestedPayload&& value) { SetNested(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline HttpPayloadWithStructureResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline HttpPayloadWithStructureResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline HttpPayloadWithStructureResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + NestedPayload m_nested; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/HttpPayloadWithUnionRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/HttpPayloadWithUnionRequest.h new file mode 100644 index 00000000000..7cc97e947f2 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/HttpPayloadWithUnionRequest.h @@ -0,0 +1,70 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace RestXmlProtocol +{ +namespace Model +{ + + /** + */ + class HttpPayloadWithUnionRequest : public RestXmlProtocolRequest + { + public: + AWS_RESTXMLPROTOCOL_API HttpPayloadWithUnionRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "HttpPayloadWithUnion"; } + + AWS_RESTXMLPROTOCOL_API Aws::String SerializePayload() const override; + + AWS_RESTXMLPROTOCOL_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + + inline const UnionPayload& GetNested() const{ return m_nested; } + inline bool NestedHasBeenSet() const { return m_nestedHasBeenSet; } + inline void SetNested(const UnionPayload& value) { m_nestedHasBeenSet = true; m_nested = value; } + inline void SetNested(UnionPayload&& value) { m_nestedHasBeenSet = true; m_nested = std::move(value); } + inline HttpPayloadWithUnionRequest& WithNested(const UnionPayload& value) { SetNested(value); return *this;} + inline HttpPayloadWithUnionRequest& WithNested(UnionPayload&& value) { SetNested(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline bool RequestIdHasBeenSet() const { return m_requestIdHasBeenSet; } + inline void SetRequestId(const Aws::String& value) { m_requestIdHasBeenSet = true; m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestIdHasBeenSet = true; m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestIdHasBeenSet = true; m_requestId.assign(value); } + inline HttpPayloadWithUnionRequest& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline HttpPayloadWithUnionRequest& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline HttpPayloadWithUnionRequest& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + UnionPayload m_nested; + bool m_nestedHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/HttpPayloadWithUnionResult.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/HttpPayloadWithUnionResult.h new file mode 100644 index 00000000000..f994220c79d --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/HttpPayloadWithUnionResult.h @@ -0,0 +1,64 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace RestXmlProtocol +{ +namespace Model +{ + class HttpPayloadWithUnionResult + { + public: + AWS_RESTXMLPROTOCOL_API HttpPayloadWithUnionResult(); + AWS_RESTXMLPROTOCOL_API HttpPayloadWithUnionResult(const Aws::AmazonWebServiceResult& result); + AWS_RESTXMLPROTOCOL_API HttpPayloadWithUnionResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const UnionPayload& GetNested() const{ return m_nested; } + inline void SetNested(const UnionPayload& value) { m_nested = value; } + inline void SetNested(UnionPayload&& value) { m_nested = std::move(value); } + inline HttpPayloadWithUnionResult& WithNested(const UnionPayload& value) { SetNested(value); return *this;} + inline HttpPayloadWithUnionResult& WithNested(UnionPayload&& value) { SetNested(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline HttpPayloadWithUnionResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline HttpPayloadWithUnionResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline HttpPayloadWithUnionResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + UnionPayload m_nested; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/HttpPayloadWithXmlNameRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/HttpPayloadWithXmlNameRequest.h new file mode 100644 index 00000000000..01affff6fa7 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/HttpPayloadWithXmlNameRequest.h @@ -0,0 +1,70 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace RestXmlProtocol +{ +namespace Model +{ + + /** + */ + class HttpPayloadWithXmlNameRequest : public RestXmlProtocolRequest + { + public: + AWS_RESTXMLPROTOCOL_API HttpPayloadWithXmlNameRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "HttpPayloadWithXmlName"; } + + AWS_RESTXMLPROTOCOL_API Aws::String SerializePayload() const override; + + AWS_RESTXMLPROTOCOL_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + + inline const PayloadWithXmlName& GetNested() const{ return m_nested; } + inline bool NestedHasBeenSet() const { return m_nestedHasBeenSet; } + inline void SetNested(const PayloadWithXmlName& value) { m_nestedHasBeenSet = true; m_nested = value; } + inline void SetNested(PayloadWithXmlName&& value) { m_nestedHasBeenSet = true; m_nested = std::move(value); } + inline HttpPayloadWithXmlNameRequest& WithNested(const PayloadWithXmlName& value) { SetNested(value); return *this;} + inline HttpPayloadWithXmlNameRequest& WithNested(PayloadWithXmlName&& value) { SetNested(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline bool RequestIdHasBeenSet() const { return m_requestIdHasBeenSet; } + inline void SetRequestId(const Aws::String& value) { m_requestIdHasBeenSet = true; m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestIdHasBeenSet = true; m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestIdHasBeenSet = true; m_requestId.assign(value); } + inline HttpPayloadWithXmlNameRequest& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline HttpPayloadWithXmlNameRequest& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline HttpPayloadWithXmlNameRequest& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + PayloadWithXmlName m_nested; + bool m_nestedHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/HttpPayloadWithXmlNameResult.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/HttpPayloadWithXmlNameResult.h new file mode 100644 index 00000000000..e6bfddac08f --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/HttpPayloadWithXmlNameResult.h @@ -0,0 +1,64 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace RestXmlProtocol +{ +namespace Model +{ + class HttpPayloadWithXmlNameResult + { + public: + AWS_RESTXMLPROTOCOL_API HttpPayloadWithXmlNameResult(); + AWS_RESTXMLPROTOCOL_API HttpPayloadWithXmlNameResult(const Aws::AmazonWebServiceResult& result); + AWS_RESTXMLPROTOCOL_API HttpPayloadWithXmlNameResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const PayloadWithXmlName& GetNested() const{ return m_nested; } + inline void SetNested(const PayloadWithXmlName& value) { m_nested = value; } + inline void SetNested(PayloadWithXmlName&& value) { m_nested = std::move(value); } + inline HttpPayloadWithXmlNameResult& WithNested(const PayloadWithXmlName& value) { SetNested(value); return *this;} + inline HttpPayloadWithXmlNameResult& WithNested(PayloadWithXmlName&& value) { SetNested(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline HttpPayloadWithXmlNameResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline HttpPayloadWithXmlNameResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline HttpPayloadWithXmlNameResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + PayloadWithXmlName m_nested; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/HttpPayloadWithXmlNamespaceAndPrefixRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/HttpPayloadWithXmlNamespaceAndPrefixRequest.h new file mode 100644 index 00000000000..0001879031e --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/HttpPayloadWithXmlNamespaceAndPrefixRequest.h @@ -0,0 +1,70 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace RestXmlProtocol +{ +namespace Model +{ + + /** + */ + class HttpPayloadWithXmlNamespaceAndPrefixRequest : public RestXmlProtocolRequest + { + public: + AWS_RESTXMLPROTOCOL_API HttpPayloadWithXmlNamespaceAndPrefixRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "HttpPayloadWithXmlNamespaceAndPrefix"; } + + AWS_RESTXMLPROTOCOL_API Aws::String SerializePayload() const override; + + AWS_RESTXMLPROTOCOL_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + + inline const PayloadWithXmlNamespaceAndPrefix& GetNested() const{ return m_nested; } + inline bool NestedHasBeenSet() const { return m_nestedHasBeenSet; } + inline void SetNested(const PayloadWithXmlNamespaceAndPrefix& value) { m_nestedHasBeenSet = true; m_nested = value; } + inline void SetNested(PayloadWithXmlNamespaceAndPrefix&& value) { m_nestedHasBeenSet = true; m_nested = std::move(value); } + inline HttpPayloadWithXmlNamespaceAndPrefixRequest& WithNested(const PayloadWithXmlNamespaceAndPrefix& value) { SetNested(value); return *this;} + inline HttpPayloadWithXmlNamespaceAndPrefixRequest& WithNested(PayloadWithXmlNamespaceAndPrefix&& value) { SetNested(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline bool RequestIdHasBeenSet() const { return m_requestIdHasBeenSet; } + inline void SetRequestId(const Aws::String& value) { m_requestIdHasBeenSet = true; m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestIdHasBeenSet = true; m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestIdHasBeenSet = true; m_requestId.assign(value); } + inline HttpPayloadWithXmlNamespaceAndPrefixRequest& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline HttpPayloadWithXmlNamespaceAndPrefixRequest& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline HttpPayloadWithXmlNamespaceAndPrefixRequest& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + PayloadWithXmlNamespaceAndPrefix m_nested; + bool m_nestedHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/HttpPayloadWithXmlNamespaceAndPrefixResult.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/HttpPayloadWithXmlNamespaceAndPrefixResult.h new file mode 100644 index 00000000000..6c294523611 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/HttpPayloadWithXmlNamespaceAndPrefixResult.h @@ -0,0 +1,64 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace RestXmlProtocol +{ +namespace Model +{ + class HttpPayloadWithXmlNamespaceAndPrefixResult + { + public: + AWS_RESTXMLPROTOCOL_API HttpPayloadWithXmlNamespaceAndPrefixResult(); + AWS_RESTXMLPROTOCOL_API HttpPayloadWithXmlNamespaceAndPrefixResult(const Aws::AmazonWebServiceResult& result); + AWS_RESTXMLPROTOCOL_API HttpPayloadWithXmlNamespaceAndPrefixResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const PayloadWithXmlNamespaceAndPrefix& GetNested() const{ return m_nested; } + inline void SetNested(const PayloadWithXmlNamespaceAndPrefix& value) { m_nested = value; } + inline void SetNested(PayloadWithXmlNamespaceAndPrefix&& value) { m_nested = std::move(value); } + inline HttpPayloadWithXmlNamespaceAndPrefixResult& WithNested(const PayloadWithXmlNamespaceAndPrefix& value) { SetNested(value); return *this;} + inline HttpPayloadWithXmlNamespaceAndPrefixResult& WithNested(PayloadWithXmlNamespaceAndPrefix&& value) { SetNested(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline HttpPayloadWithXmlNamespaceAndPrefixResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline HttpPayloadWithXmlNamespaceAndPrefixResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline HttpPayloadWithXmlNamespaceAndPrefixResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + PayloadWithXmlNamespaceAndPrefix m_nested; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/HttpPayloadWithXmlNamespaceRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/HttpPayloadWithXmlNamespaceRequest.h new file mode 100644 index 00000000000..89dbc1039ea --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/HttpPayloadWithXmlNamespaceRequest.h @@ -0,0 +1,70 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace RestXmlProtocol +{ +namespace Model +{ + + /** + */ + class HttpPayloadWithXmlNamespaceRequest : public RestXmlProtocolRequest + { + public: + AWS_RESTXMLPROTOCOL_API HttpPayloadWithXmlNamespaceRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "HttpPayloadWithXmlNamespace"; } + + AWS_RESTXMLPROTOCOL_API Aws::String SerializePayload() const override; + + AWS_RESTXMLPROTOCOL_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + + inline const PayloadWithXmlNamespace& GetNested() const{ return m_nested; } + inline bool NestedHasBeenSet() const { return m_nestedHasBeenSet; } + inline void SetNested(const PayloadWithXmlNamespace& value) { m_nestedHasBeenSet = true; m_nested = value; } + inline void SetNested(PayloadWithXmlNamespace&& value) { m_nestedHasBeenSet = true; m_nested = std::move(value); } + inline HttpPayloadWithXmlNamespaceRequest& WithNested(const PayloadWithXmlNamespace& value) { SetNested(value); return *this;} + inline HttpPayloadWithXmlNamespaceRequest& WithNested(PayloadWithXmlNamespace&& value) { SetNested(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline bool RequestIdHasBeenSet() const { return m_requestIdHasBeenSet; } + inline void SetRequestId(const Aws::String& value) { m_requestIdHasBeenSet = true; m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestIdHasBeenSet = true; m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestIdHasBeenSet = true; m_requestId.assign(value); } + inline HttpPayloadWithXmlNamespaceRequest& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline HttpPayloadWithXmlNamespaceRequest& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline HttpPayloadWithXmlNamespaceRequest& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + PayloadWithXmlNamespace m_nested; + bool m_nestedHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/HttpPayloadWithXmlNamespaceResult.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/HttpPayloadWithXmlNamespaceResult.h new file mode 100644 index 00000000000..5338c8da4b5 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/HttpPayloadWithXmlNamespaceResult.h @@ -0,0 +1,64 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace RestXmlProtocol +{ +namespace Model +{ + class HttpPayloadWithXmlNamespaceResult + { + public: + AWS_RESTXMLPROTOCOL_API HttpPayloadWithXmlNamespaceResult(); + AWS_RESTXMLPROTOCOL_API HttpPayloadWithXmlNamespaceResult(const Aws::AmazonWebServiceResult& result); + AWS_RESTXMLPROTOCOL_API HttpPayloadWithXmlNamespaceResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const PayloadWithXmlNamespace& GetNested() const{ return m_nested; } + inline void SetNested(const PayloadWithXmlNamespace& value) { m_nested = value; } + inline void SetNested(PayloadWithXmlNamespace&& value) { m_nested = std::move(value); } + inline HttpPayloadWithXmlNamespaceResult& WithNested(const PayloadWithXmlNamespace& value) { SetNested(value); return *this;} + inline HttpPayloadWithXmlNamespaceResult& WithNested(PayloadWithXmlNamespace&& value) { SetNested(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline HttpPayloadWithXmlNamespaceResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline HttpPayloadWithXmlNamespaceResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline HttpPayloadWithXmlNamespaceResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + PayloadWithXmlNamespace m_nested; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/HttpPrefixHeadersRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/HttpPrefixHeadersRequest.h new file mode 100644 index 00000000000..f9ed3f11647 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/HttpPrefixHeadersRequest.h @@ -0,0 +1,92 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace RestXmlProtocol +{ +namespace Model +{ + + /** + */ + class HttpPrefixHeadersRequest : public RestXmlProtocolRequest + { + public: + AWS_RESTXMLPROTOCOL_API HttpPrefixHeadersRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "HttpPrefixHeaders"; } + + AWS_RESTXMLPROTOCOL_API Aws::String SerializePayload() const override; + + AWS_RESTXMLPROTOCOL_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + + inline const Aws::String& GetFoo() const{ return m_foo; } + inline bool FooHasBeenSet() const { return m_fooHasBeenSet; } + inline void SetFoo(const Aws::String& value) { m_fooHasBeenSet = true; m_foo = value; } + inline void SetFoo(Aws::String&& value) { m_fooHasBeenSet = true; m_foo = std::move(value); } + inline void SetFoo(const char* value) { m_fooHasBeenSet = true; m_foo.assign(value); } + inline HttpPrefixHeadersRequest& WithFoo(const Aws::String& value) { SetFoo(value); return *this;} + inline HttpPrefixHeadersRequest& WithFoo(Aws::String&& value) { SetFoo(std::move(value)); return *this;} + inline HttpPrefixHeadersRequest& WithFoo(const char* value) { SetFoo(value); return *this;} + ///@} + + ///@{ + + inline const Aws::Map& GetFooMap() const{ return m_fooMap; } + inline bool FooMapHasBeenSet() const { return m_fooMapHasBeenSet; } + inline void SetFooMap(const Aws::Map& value) { m_fooMapHasBeenSet = true; m_fooMap = value; } + inline void SetFooMap(Aws::Map&& value) { m_fooMapHasBeenSet = true; m_fooMap = std::move(value); } + inline HttpPrefixHeadersRequest& WithFooMap(const Aws::Map& value) { SetFooMap(value); return *this;} + inline HttpPrefixHeadersRequest& WithFooMap(Aws::Map&& value) { SetFooMap(std::move(value)); return *this;} + inline HttpPrefixHeadersRequest& AddFooMap(const Aws::String& key, const Aws::String& value) { m_fooMapHasBeenSet = true; m_fooMap.emplace(key, value); return *this; } + inline HttpPrefixHeadersRequest& AddFooMap(Aws::String&& key, const Aws::String& value) { m_fooMapHasBeenSet = true; m_fooMap.emplace(std::move(key), value); return *this; } + inline HttpPrefixHeadersRequest& AddFooMap(const Aws::String& key, Aws::String&& value) { m_fooMapHasBeenSet = true; m_fooMap.emplace(key, std::move(value)); return *this; } + inline HttpPrefixHeadersRequest& AddFooMap(Aws::String&& key, Aws::String&& value) { m_fooMapHasBeenSet = true; m_fooMap.emplace(std::move(key), std::move(value)); return *this; } + inline HttpPrefixHeadersRequest& AddFooMap(const char* key, Aws::String&& value) { m_fooMapHasBeenSet = true; m_fooMap.emplace(key, std::move(value)); return *this; } + inline HttpPrefixHeadersRequest& AddFooMap(Aws::String&& key, const char* value) { m_fooMapHasBeenSet = true; m_fooMap.emplace(std::move(key), value); return *this; } + inline HttpPrefixHeadersRequest& AddFooMap(const char* key, const char* value) { m_fooMapHasBeenSet = true; m_fooMap.emplace(key, value); return *this; } + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline bool RequestIdHasBeenSet() const { return m_requestIdHasBeenSet; } + inline void SetRequestId(const Aws::String& value) { m_requestIdHasBeenSet = true; m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestIdHasBeenSet = true; m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestIdHasBeenSet = true; m_requestId.assign(value); } + inline HttpPrefixHeadersRequest& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline HttpPrefixHeadersRequest& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline HttpPrefixHeadersRequest& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_foo; + bool m_fooHasBeenSet = false; + + Aws::Map m_fooMap; + bool m_fooMapHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/HttpPrefixHeadersResult.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/HttpPrefixHeadersResult.h new file mode 100644 index 00000000000..93bb7a189be --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/HttpPrefixHeadersResult.h @@ -0,0 +1,84 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace RestXmlProtocol +{ +namespace Model +{ + class HttpPrefixHeadersResult + { + public: + AWS_RESTXMLPROTOCOL_API HttpPrefixHeadersResult(); + AWS_RESTXMLPROTOCOL_API HttpPrefixHeadersResult(const Aws::AmazonWebServiceResult& result); + AWS_RESTXMLPROTOCOL_API HttpPrefixHeadersResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::String& GetFoo() const{ return m_foo; } + inline void SetFoo(const Aws::String& value) { m_foo = value; } + inline void SetFoo(Aws::String&& value) { m_foo = std::move(value); } + inline void SetFoo(const char* value) { m_foo.assign(value); } + inline HttpPrefixHeadersResult& WithFoo(const Aws::String& value) { SetFoo(value); return *this;} + inline HttpPrefixHeadersResult& WithFoo(Aws::String&& value) { SetFoo(std::move(value)); return *this;} + inline HttpPrefixHeadersResult& WithFoo(const char* value) { SetFoo(value); return *this;} + ///@} + + ///@{ + + inline const Aws::Map& GetFooMap() const{ return m_fooMap; } + inline void SetFooMap(const Aws::Map& value) { m_fooMap = value; } + inline void SetFooMap(Aws::Map&& value) { m_fooMap = std::move(value); } + inline HttpPrefixHeadersResult& WithFooMap(const Aws::Map& value) { SetFooMap(value); return *this;} + inline HttpPrefixHeadersResult& WithFooMap(Aws::Map&& value) { SetFooMap(std::move(value)); return *this;} + inline HttpPrefixHeadersResult& AddFooMap(const Aws::String& key, const Aws::String& value) { m_fooMap.emplace(key, value); return *this; } + inline HttpPrefixHeadersResult& AddFooMap(Aws::String&& key, const Aws::String& value) { m_fooMap.emplace(std::move(key), value); return *this; } + inline HttpPrefixHeadersResult& AddFooMap(const Aws::String& key, Aws::String&& value) { m_fooMap.emplace(key, std::move(value)); return *this; } + inline HttpPrefixHeadersResult& AddFooMap(Aws::String&& key, Aws::String&& value) { m_fooMap.emplace(std::move(key), std::move(value)); return *this; } + inline HttpPrefixHeadersResult& AddFooMap(const char* key, Aws::String&& value) { m_fooMap.emplace(key, std::move(value)); return *this; } + inline HttpPrefixHeadersResult& AddFooMap(Aws::String&& key, const char* value) { m_fooMap.emplace(std::move(key), value); return *this; } + inline HttpPrefixHeadersResult& AddFooMap(const char* key, const char* value) { m_fooMap.emplace(key, value); return *this; } + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline HttpPrefixHeadersResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline HttpPrefixHeadersResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline HttpPrefixHeadersResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_foo; + + Aws::Map m_fooMap; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/HttpRequestWithFloatLabelsRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/HttpRequestWithFloatLabelsRequest.h new file mode 100644 index 00000000000..0793eee4b0a --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/HttpRequestWithFloatLabelsRequest.h @@ -0,0 +1,59 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace RestXmlProtocol +{ +namespace Model +{ + + /** + */ + class HttpRequestWithFloatLabelsRequest : public RestXmlProtocolRequest + { + public: + AWS_RESTXMLPROTOCOL_API HttpRequestWithFloatLabelsRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "HttpRequestWithFloatLabels"; } + + AWS_RESTXMLPROTOCOL_API Aws::String SerializePayload() const override; + + + ///@{ + + inline double GetFloat() const{ return m_float; } + inline bool FloatHasBeenSet() const { return m_floatHasBeenSet; } + inline void SetFloat(double value) { m_floatHasBeenSet = true; m_float = value; } + inline HttpRequestWithFloatLabelsRequest& WithFloat(double value) { SetFloat(value); return *this;} + ///@} + + ///@{ + + inline double GetDouble() const{ return m_double; } + inline bool DoubleHasBeenSet() const { return m_doubleHasBeenSet; } + inline void SetDouble(double value) { m_doubleHasBeenSet = true; m_double = value; } + inline HttpRequestWithFloatLabelsRequest& WithDouble(double value) { SetDouble(value); return *this;} + ///@} + private: + + double m_float; + bool m_floatHasBeenSet = false; + + double m_double; + bool m_doubleHasBeenSet = false; + }; + +} // namespace Model +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/HttpRequestWithGreedyLabelInPathRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/HttpRequestWithGreedyLabelInPathRequest.h new file mode 100644 index 00000000000..03dd8a706b8 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/HttpRequestWithGreedyLabelInPathRequest.h @@ -0,0 +1,69 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace RestXmlProtocol +{ +namespace Model +{ + + /** + */ + class HttpRequestWithGreedyLabelInPathRequest : public RestXmlProtocolRequest + { + public: + AWS_RESTXMLPROTOCOL_API HttpRequestWithGreedyLabelInPathRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "HttpRequestWithGreedyLabelInPath"; } + + AWS_RESTXMLPROTOCOL_API Aws::String SerializePayload() const override; + + + ///@{ + + inline const Aws::String& GetFoo() const{ return m_foo; } + inline bool FooHasBeenSet() const { return m_fooHasBeenSet; } + inline void SetFoo(const Aws::String& value) { m_fooHasBeenSet = true; m_foo = value; } + inline void SetFoo(Aws::String&& value) { m_fooHasBeenSet = true; m_foo = std::move(value); } + inline void SetFoo(const char* value) { m_fooHasBeenSet = true; m_foo.assign(value); } + inline HttpRequestWithGreedyLabelInPathRequest& WithFoo(const Aws::String& value) { SetFoo(value); return *this;} + inline HttpRequestWithGreedyLabelInPathRequest& WithFoo(Aws::String&& value) { SetFoo(std::move(value)); return *this;} + inline HttpRequestWithGreedyLabelInPathRequest& WithFoo(const char* value) { SetFoo(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetBaz() const{ return m_baz; } + inline bool BazHasBeenSet() const { return m_bazHasBeenSet; } + inline void SetBaz(const Aws::String& value) { m_bazHasBeenSet = true; m_baz = value; } + inline void SetBaz(Aws::String&& value) { m_bazHasBeenSet = true; m_baz = std::move(value); } + inline void SetBaz(const char* value) { m_bazHasBeenSet = true; m_baz.assign(value); } + inline HttpRequestWithGreedyLabelInPathRequest& WithBaz(const Aws::String& value) { SetBaz(value); return *this;} + inline HttpRequestWithGreedyLabelInPathRequest& WithBaz(Aws::String&& value) { SetBaz(std::move(value)); return *this;} + inline HttpRequestWithGreedyLabelInPathRequest& WithBaz(const char* value) { SetBaz(value); return *this;} + ///@} + private: + + Aws::String m_foo; + bool m_fooHasBeenSet = false; + + Aws::String m_baz; + bool m_bazHasBeenSet = false; + }; + +} // namespace Model +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/HttpRequestWithLabelsAndTimestampFormatRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/HttpRequestWithLabelsAndTimestampFormatRequest.h new file mode 100644 index 00000000000..310041dbc23 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/HttpRequestWithLabelsAndTimestampFormatRequest.h @@ -0,0 +1,130 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace RestXmlProtocol +{ +namespace Model +{ + + /** + */ + class HttpRequestWithLabelsAndTimestampFormatRequest : public RestXmlProtocolRequest + { + public: + AWS_RESTXMLPROTOCOL_API HttpRequestWithLabelsAndTimestampFormatRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "HttpRequestWithLabelsAndTimestampFormat"; } + + AWS_RESTXMLPROTOCOL_API Aws::String SerializePayload() const override; + + + ///@{ + + inline const Aws::Utils::DateTime& GetMemberEpochSeconds() const{ return m_memberEpochSeconds; } + inline bool MemberEpochSecondsHasBeenSet() const { return m_memberEpochSecondsHasBeenSet; } + inline void SetMemberEpochSeconds(const Aws::Utils::DateTime& value) { m_memberEpochSecondsHasBeenSet = true; m_memberEpochSeconds = value; } + inline void SetMemberEpochSeconds(Aws::Utils::DateTime&& value) { m_memberEpochSecondsHasBeenSet = true; m_memberEpochSeconds = std::move(value); } + inline HttpRequestWithLabelsAndTimestampFormatRequest& WithMemberEpochSeconds(const Aws::Utils::DateTime& value) { SetMemberEpochSeconds(value); return *this;} + inline HttpRequestWithLabelsAndTimestampFormatRequest& WithMemberEpochSeconds(Aws::Utils::DateTime&& value) { SetMemberEpochSeconds(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::Utils::DateTime& GetMemberHttpDate() const{ return m_memberHttpDate; } + inline bool MemberHttpDateHasBeenSet() const { return m_memberHttpDateHasBeenSet; } + inline void SetMemberHttpDate(const Aws::Utils::DateTime& value) { m_memberHttpDateHasBeenSet = true; m_memberHttpDate = value; } + inline void SetMemberHttpDate(Aws::Utils::DateTime&& value) { m_memberHttpDateHasBeenSet = true; m_memberHttpDate = std::move(value); } + inline HttpRequestWithLabelsAndTimestampFormatRequest& WithMemberHttpDate(const Aws::Utils::DateTime& value) { SetMemberHttpDate(value); return *this;} + inline HttpRequestWithLabelsAndTimestampFormatRequest& WithMemberHttpDate(Aws::Utils::DateTime&& value) { SetMemberHttpDate(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::Utils::DateTime& GetMemberDateTime() const{ return m_memberDateTime; } + inline bool MemberDateTimeHasBeenSet() const { return m_memberDateTimeHasBeenSet; } + inline void SetMemberDateTime(const Aws::Utils::DateTime& value) { m_memberDateTimeHasBeenSet = true; m_memberDateTime = value; } + inline void SetMemberDateTime(Aws::Utils::DateTime&& value) { m_memberDateTimeHasBeenSet = true; m_memberDateTime = std::move(value); } + inline HttpRequestWithLabelsAndTimestampFormatRequest& WithMemberDateTime(const Aws::Utils::DateTime& value) { SetMemberDateTime(value); return *this;} + inline HttpRequestWithLabelsAndTimestampFormatRequest& WithMemberDateTime(Aws::Utils::DateTime&& value) { SetMemberDateTime(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::Utils::DateTime& GetDefaultFormat() const{ return m_defaultFormat; } + inline bool DefaultFormatHasBeenSet() const { return m_defaultFormatHasBeenSet; } + inline void SetDefaultFormat(const Aws::Utils::DateTime& value) { m_defaultFormatHasBeenSet = true; m_defaultFormat = value; } + inline void SetDefaultFormat(Aws::Utils::DateTime&& value) { m_defaultFormatHasBeenSet = true; m_defaultFormat = std::move(value); } + inline HttpRequestWithLabelsAndTimestampFormatRequest& WithDefaultFormat(const Aws::Utils::DateTime& value) { SetDefaultFormat(value); return *this;} + inline HttpRequestWithLabelsAndTimestampFormatRequest& WithDefaultFormat(Aws::Utils::DateTime&& value) { SetDefaultFormat(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::Utils::DateTime& GetTargetEpochSeconds() const{ return m_targetEpochSeconds; } + inline bool TargetEpochSecondsHasBeenSet() const { return m_targetEpochSecondsHasBeenSet; } + inline void SetTargetEpochSeconds(const Aws::Utils::DateTime& value) { m_targetEpochSecondsHasBeenSet = true; m_targetEpochSeconds = value; } + inline void SetTargetEpochSeconds(Aws::Utils::DateTime&& value) { m_targetEpochSecondsHasBeenSet = true; m_targetEpochSeconds = std::move(value); } + inline HttpRequestWithLabelsAndTimestampFormatRequest& WithTargetEpochSeconds(const Aws::Utils::DateTime& value) { SetTargetEpochSeconds(value); return *this;} + inline HttpRequestWithLabelsAndTimestampFormatRequest& WithTargetEpochSeconds(Aws::Utils::DateTime&& value) { SetTargetEpochSeconds(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::Utils::DateTime& GetTargetHttpDate() const{ return m_targetHttpDate; } + inline bool TargetHttpDateHasBeenSet() const { return m_targetHttpDateHasBeenSet; } + inline void SetTargetHttpDate(const Aws::Utils::DateTime& value) { m_targetHttpDateHasBeenSet = true; m_targetHttpDate = value; } + inline void SetTargetHttpDate(Aws::Utils::DateTime&& value) { m_targetHttpDateHasBeenSet = true; m_targetHttpDate = std::move(value); } + inline HttpRequestWithLabelsAndTimestampFormatRequest& WithTargetHttpDate(const Aws::Utils::DateTime& value) { SetTargetHttpDate(value); return *this;} + inline HttpRequestWithLabelsAndTimestampFormatRequest& WithTargetHttpDate(Aws::Utils::DateTime&& value) { SetTargetHttpDate(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::Utils::DateTime& GetTargetDateTime() const{ return m_targetDateTime; } + inline bool TargetDateTimeHasBeenSet() const { return m_targetDateTimeHasBeenSet; } + inline void SetTargetDateTime(const Aws::Utils::DateTime& value) { m_targetDateTimeHasBeenSet = true; m_targetDateTime = value; } + inline void SetTargetDateTime(Aws::Utils::DateTime&& value) { m_targetDateTimeHasBeenSet = true; m_targetDateTime = std::move(value); } + inline HttpRequestWithLabelsAndTimestampFormatRequest& WithTargetDateTime(const Aws::Utils::DateTime& value) { SetTargetDateTime(value); return *this;} + inline HttpRequestWithLabelsAndTimestampFormatRequest& WithTargetDateTime(Aws::Utils::DateTime&& value) { SetTargetDateTime(std::move(value)); return *this;} + ///@} + private: + + Aws::Utils::DateTime m_memberEpochSeconds; + bool m_memberEpochSecondsHasBeenSet = false; + + Aws::Utils::DateTime m_memberHttpDate; + bool m_memberHttpDateHasBeenSet = false; + + Aws::Utils::DateTime m_memberDateTime; + bool m_memberDateTimeHasBeenSet = false; + + Aws::Utils::DateTime m_defaultFormat; + bool m_defaultFormatHasBeenSet = false; + + Aws::Utils::DateTime m_targetEpochSeconds; + bool m_targetEpochSecondsHasBeenSet = false; + + Aws::Utils::DateTime m_targetHttpDate; + bool m_targetHttpDateHasBeenSet = false; + + Aws::Utils::DateTime m_targetDateTime; + bool m_targetDateTimeHasBeenSet = false; + }; + +} // namespace Model +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/HttpRequestWithLabelsRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/HttpRequestWithLabelsRequest.h new file mode 100644 index 00000000000..116fcca6b5f --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/HttpRequestWithLabelsRequest.h @@ -0,0 +1,139 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace RestXmlProtocol +{ +namespace Model +{ + + /** + */ + class HttpRequestWithLabelsRequest : public RestXmlProtocolRequest + { + public: + AWS_RESTXMLPROTOCOL_API HttpRequestWithLabelsRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "HttpRequestWithLabels"; } + + AWS_RESTXMLPROTOCOL_API Aws::String SerializePayload() const override; + + + ///@{ + + inline const Aws::String& GetString() const{ return m_string; } + inline bool StringHasBeenSet() const { return m_stringHasBeenSet; } + inline void SetString(const Aws::String& value) { m_stringHasBeenSet = true; m_string = value; } + inline void SetString(Aws::String&& value) { m_stringHasBeenSet = true; m_string = std::move(value); } + inline void SetString(const char* value) { m_stringHasBeenSet = true; m_string.assign(value); } + inline HttpRequestWithLabelsRequest& WithString(const Aws::String& value) { SetString(value); return *this;} + inline HttpRequestWithLabelsRequest& WithString(Aws::String&& value) { SetString(std::move(value)); return *this;} + inline HttpRequestWithLabelsRequest& WithString(const char* value) { SetString(value); return *this;} + ///@} + + ///@{ + + inline int GetShort() const{ return m_short; } + inline bool ShortHasBeenSet() const { return m_shortHasBeenSet; } + inline void SetShort(int value) { m_shortHasBeenSet = true; m_short = value; } + inline HttpRequestWithLabelsRequest& WithShort(int value) { SetShort(value); return *this;} + ///@} + + ///@{ + + inline int GetInteger() const{ return m_integer; } + inline bool IntegerHasBeenSet() const { return m_integerHasBeenSet; } + inline void SetInteger(int value) { m_integerHasBeenSet = true; m_integer = value; } + inline HttpRequestWithLabelsRequest& WithInteger(int value) { SetInteger(value); return *this;} + ///@} + + ///@{ + + inline long long GetLong() const{ return m_long; } + inline bool LongHasBeenSet() const { return m_longHasBeenSet; } + inline void SetLong(long long value) { m_longHasBeenSet = true; m_long = value; } + inline HttpRequestWithLabelsRequest& WithLong(long long value) { SetLong(value); return *this;} + ///@} + + ///@{ + + inline double GetFloat() const{ return m_float; } + inline bool FloatHasBeenSet() const { return m_floatHasBeenSet; } + inline void SetFloat(double value) { m_floatHasBeenSet = true; m_float = value; } + inline HttpRequestWithLabelsRequest& WithFloat(double value) { SetFloat(value); return *this;} + ///@} + + ///@{ + + inline double GetDouble() const{ return m_double; } + inline bool DoubleHasBeenSet() const { return m_doubleHasBeenSet; } + inline void SetDouble(double value) { m_doubleHasBeenSet = true; m_double = value; } + inline HttpRequestWithLabelsRequest& WithDouble(double value) { SetDouble(value); return *this;} + ///@} + + ///@{ + /** + *

Serialized in the path as true or false.

+ */ + inline bool GetBoolean() const{ return m_boolean; } + inline bool BooleanHasBeenSet() const { return m_booleanHasBeenSet; } + inline void SetBoolean(bool value) { m_booleanHasBeenSet = true; m_boolean = value; } + inline HttpRequestWithLabelsRequest& WithBoolean(bool value) { SetBoolean(value); return *this;} + ///@} + + ///@{ + /** + *

Note that this member has no format, so it's serialized as an RFC 3399 + * date-time.

+ */ + inline const Aws::Utils::DateTime& GetTimestamp() const{ return m_timestamp; } + inline bool TimestampHasBeenSet() const { return m_timestampHasBeenSet; } + inline void SetTimestamp(const Aws::Utils::DateTime& value) { m_timestampHasBeenSet = true; m_timestamp = value; } + inline void SetTimestamp(Aws::Utils::DateTime&& value) { m_timestampHasBeenSet = true; m_timestamp = std::move(value); } + inline HttpRequestWithLabelsRequest& WithTimestamp(const Aws::Utils::DateTime& value) { SetTimestamp(value); return *this;} + inline HttpRequestWithLabelsRequest& WithTimestamp(Aws::Utils::DateTime&& value) { SetTimestamp(std::move(value)); return *this;} + ///@} + private: + + Aws::String m_string; + bool m_stringHasBeenSet = false; + + int m_short; + bool m_shortHasBeenSet = false; + + int m_integer; + bool m_integerHasBeenSet = false; + + long long m_long; + bool m_longHasBeenSet = false; + + double m_float; + bool m_floatHasBeenSet = false; + + double m_double; + bool m_doubleHasBeenSet = false; + + bool m_boolean; + bool m_booleanHasBeenSet = false; + + Aws::Utils::DateTime m_timestamp; + bool m_timestampHasBeenSet = false; + }; + +} // namespace Model +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/HttpResponseCodeRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/HttpResponseCodeRequest.h new file mode 100644 index 00000000000..fd055fda664 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/HttpResponseCodeRequest.h @@ -0,0 +1,36 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace RestXmlProtocol +{ +namespace Model +{ + + /** + */ + class HttpResponseCodeRequest : public RestXmlProtocolRequest + { + public: + AWS_RESTXMLPROTOCOL_API HttpResponseCodeRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "HttpResponseCode"; } + + AWS_RESTXMLPROTOCOL_API Aws::String SerializePayload() const override; + + }; + +} // namespace Model +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/HttpResponseCodeResult.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/HttpResponseCodeResult.h new file mode 100644 index 00000000000..3153006b743 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/HttpResponseCodeResult.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace RestXmlProtocol +{ +namespace Model +{ + class HttpResponseCodeResult + { + public: + AWS_RESTXMLPROTOCOL_API HttpResponseCodeResult(); + AWS_RESTXMLPROTOCOL_API HttpResponseCodeResult(const Aws::AmazonWebServiceResult& result); + AWS_RESTXMLPROTOCOL_API HttpResponseCodeResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline int GetStatus() const{ return m_status; } + inline void SetStatus(int value) { m_status = value; } + inline HttpResponseCodeResult& WithStatus(int value) { SetStatus(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline HttpResponseCodeResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline HttpResponseCodeResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline HttpResponseCodeResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + int m_status; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/HttpStringPayloadRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/HttpStringPayloadRequest.h new file mode 100644 index 00000000000..c2dc7d6a6a4 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/HttpStringPayloadRequest.h @@ -0,0 +1,55 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace RestXmlProtocol +{ +namespace Model +{ + + /** + */ + class HttpStringPayloadRequest : public StreamingRestXmlProtocolRequest + { + public: + AWS_RESTXMLPROTOCOL_API HttpStringPayloadRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "HttpStringPayload"; } + + AWS_RESTXMLPROTOCOL_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline bool RequestIdHasBeenSet() const { return m_requestIdHasBeenSet; } + inline void SetRequestId(const Aws::String& value) { m_requestIdHasBeenSet = true; m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestIdHasBeenSet = true; m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestIdHasBeenSet = true; m_requestId.assign(value); } + inline HttpStringPayloadRequest& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline HttpStringPayloadRequest& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline HttpStringPayloadRequest& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/HttpStringPayloadResult.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/HttpStringPayloadResult.h new file mode 100644 index 00000000000..c12490b6d64 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/HttpStringPayloadResult.h @@ -0,0 +1,65 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace RestXmlProtocol +{ +namespace Model +{ + class HttpStringPayloadResult + { + public: + AWS_RESTXMLPROTOCOL_API HttpStringPayloadResult(); + //We have to define these because Microsoft doesn't auto generate them + AWS_RESTXMLPROTOCOL_API HttpStringPayloadResult(HttpStringPayloadResult&&); + AWS_RESTXMLPROTOCOL_API HttpStringPayloadResult& operator=(HttpStringPayloadResult&&); + //we delete these because Microsoft doesn't handle move generation correctly + //and we therefore don't trust them to get it right here either. + HttpStringPayloadResult(const HttpStringPayloadResult&) = delete; + HttpStringPayloadResult& operator=(const HttpStringPayloadResult&) = delete; + + + AWS_RESTXMLPROTOCOL_API HttpStringPayloadResult(Aws::AmazonWebServiceResult&& result); + AWS_RESTXMLPROTOCOL_API HttpStringPayloadResult& operator=(Aws::AmazonWebServiceResult&& result); + + + + ///@{ + + inline Aws::IOStream& GetPayload() const { return m_payload.GetUnderlyingStream(); } + inline void ReplaceBody(Aws::IOStream* body) { m_payload = Aws::Utils::Stream::ResponseStream(body); } + + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline HttpStringPayloadResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline HttpStringPayloadResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline HttpStringPayloadResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::Utils::Stream::ResponseStream m_payload; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/IgnoreQueryParamsInResponseRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/IgnoreQueryParamsInResponseRequest.h new file mode 100644 index 00000000000..7f1734d5d83 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/IgnoreQueryParamsInResponseRequest.h @@ -0,0 +1,36 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace RestXmlProtocol +{ +namespace Model +{ + + /** + */ + class IgnoreQueryParamsInResponseRequest : public RestXmlProtocolRequest + { + public: + AWS_RESTXMLPROTOCOL_API IgnoreQueryParamsInResponseRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "IgnoreQueryParamsInResponse"; } + + AWS_RESTXMLPROTOCOL_API Aws::String SerializePayload() const override; + + }; + +} // namespace Model +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/IgnoreQueryParamsInResponseResult.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/IgnoreQueryParamsInResponseResult.h new file mode 100644 index 00000000000..f9ea60027a0 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/IgnoreQueryParamsInResponseResult.h @@ -0,0 +1,65 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace RestXmlProtocol +{ +namespace Model +{ + class IgnoreQueryParamsInResponseResult + { + public: + AWS_RESTXMLPROTOCOL_API IgnoreQueryParamsInResponseResult(); + AWS_RESTXMLPROTOCOL_API IgnoreQueryParamsInResponseResult(const Aws::AmazonWebServiceResult& result); + AWS_RESTXMLPROTOCOL_API IgnoreQueryParamsInResponseResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::String& GetBaz() const{ return m_baz; } + inline void SetBaz(const Aws::String& value) { m_baz = value; } + inline void SetBaz(Aws::String&& value) { m_baz = std::move(value); } + inline void SetBaz(const char* value) { m_baz.assign(value); } + inline IgnoreQueryParamsInResponseResult& WithBaz(const Aws::String& value) { SetBaz(value); return *this;} + inline IgnoreQueryParamsInResponseResult& WithBaz(Aws::String&& value) { SetBaz(std::move(value)); return *this;} + inline IgnoreQueryParamsInResponseResult& WithBaz(const char* value) { SetBaz(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline IgnoreQueryParamsInResponseResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline IgnoreQueryParamsInResponseResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline IgnoreQueryParamsInResponseResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_baz; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/InputAndOutputWithHeadersRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/InputAndOutputWithHeadersRequest.h new file mode 100644 index 00000000000..544c343657e --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/InputAndOutputWithHeadersRequest.h @@ -0,0 +1,265 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace RestXmlProtocol +{ +namespace Model +{ + + /** + */ + class InputAndOutputWithHeadersRequest : public RestXmlProtocolRequest + { + public: + AWS_RESTXMLPROTOCOL_API InputAndOutputWithHeadersRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "InputAndOutputWithHeaders"; } + + AWS_RESTXMLPROTOCOL_API Aws::String SerializePayload() const override; + + AWS_RESTXMLPROTOCOL_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + + inline const Aws::String& GetHeaderString() const{ return m_headerString; } + inline bool HeaderStringHasBeenSet() const { return m_headerStringHasBeenSet; } + inline void SetHeaderString(const Aws::String& value) { m_headerStringHasBeenSet = true; m_headerString = value; } + inline void SetHeaderString(Aws::String&& value) { m_headerStringHasBeenSet = true; m_headerString = std::move(value); } + inline void SetHeaderString(const char* value) { m_headerStringHasBeenSet = true; m_headerString.assign(value); } + inline InputAndOutputWithHeadersRequest& WithHeaderString(const Aws::String& value) { SetHeaderString(value); return *this;} + inline InputAndOutputWithHeadersRequest& WithHeaderString(Aws::String&& value) { SetHeaderString(std::move(value)); return *this;} + inline InputAndOutputWithHeadersRequest& WithHeaderString(const char* value) { SetHeaderString(value); return *this;} + ///@} + + ///@{ + + inline int GetHeaderByte() const{ return m_headerByte; } + inline bool HeaderByteHasBeenSet() const { return m_headerByteHasBeenSet; } + inline void SetHeaderByte(int value) { m_headerByteHasBeenSet = true; m_headerByte = value; } + inline InputAndOutputWithHeadersRequest& WithHeaderByte(int value) { SetHeaderByte(value); return *this;} + ///@} + + ///@{ + + inline int GetHeaderShort() const{ return m_headerShort; } + inline bool HeaderShortHasBeenSet() const { return m_headerShortHasBeenSet; } + inline void SetHeaderShort(int value) { m_headerShortHasBeenSet = true; m_headerShort = value; } + inline InputAndOutputWithHeadersRequest& WithHeaderShort(int value) { SetHeaderShort(value); return *this;} + ///@} + + ///@{ + + inline int GetHeaderInteger() const{ return m_headerInteger; } + inline bool HeaderIntegerHasBeenSet() const { return m_headerIntegerHasBeenSet; } + inline void SetHeaderInteger(int value) { m_headerIntegerHasBeenSet = true; m_headerInteger = value; } + inline InputAndOutputWithHeadersRequest& WithHeaderInteger(int value) { SetHeaderInteger(value); return *this;} + ///@} + + ///@{ + + inline long long GetHeaderLong() const{ return m_headerLong; } + inline bool HeaderLongHasBeenSet() const { return m_headerLongHasBeenSet; } + inline void SetHeaderLong(long long value) { m_headerLongHasBeenSet = true; m_headerLong = value; } + inline InputAndOutputWithHeadersRequest& WithHeaderLong(long long value) { SetHeaderLong(value); return *this;} + ///@} + + ///@{ + + inline double GetHeaderFloat() const{ return m_headerFloat; } + inline bool HeaderFloatHasBeenSet() const { return m_headerFloatHasBeenSet; } + inline void SetHeaderFloat(double value) { m_headerFloatHasBeenSet = true; m_headerFloat = value; } + inline InputAndOutputWithHeadersRequest& WithHeaderFloat(double value) { SetHeaderFloat(value); return *this;} + ///@} + + ///@{ + + inline double GetHeaderDouble() const{ return m_headerDouble; } + inline bool HeaderDoubleHasBeenSet() const { return m_headerDoubleHasBeenSet; } + inline void SetHeaderDouble(double value) { m_headerDoubleHasBeenSet = true; m_headerDouble = value; } + inline InputAndOutputWithHeadersRequest& WithHeaderDouble(double value) { SetHeaderDouble(value); return *this;} + ///@} + + ///@{ + + inline bool GetHeaderTrueBool() const{ return m_headerTrueBool; } + inline bool HeaderTrueBoolHasBeenSet() const { return m_headerTrueBoolHasBeenSet; } + inline void SetHeaderTrueBool(bool value) { m_headerTrueBoolHasBeenSet = true; m_headerTrueBool = value; } + inline InputAndOutputWithHeadersRequest& WithHeaderTrueBool(bool value) { SetHeaderTrueBool(value); return *this;} + ///@} + + ///@{ + + inline bool GetHeaderFalseBool() const{ return m_headerFalseBool; } + inline bool HeaderFalseBoolHasBeenSet() const { return m_headerFalseBoolHasBeenSet; } + inline void SetHeaderFalseBool(bool value) { m_headerFalseBoolHasBeenSet = true; m_headerFalseBool = value; } + inline InputAndOutputWithHeadersRequest& WithHeaderFalseBool(bool value) { SetHeaderFalseBool(value); return *this;} + ///@} + + ///@{ + + inline const Aws::Vector& GetHeaderStringList() const{ return m_headerStringList; } + inline bool HeaderStringListHasBeenSet() const { return m_headerStringListHasBeenSet; } + inline void SetHeaderStringList(const Aws::Vector& value) { m_headerStringListHasBeenSet = true; m_headerStringList = value; } + inline void SetHeaderStringList(Aws::Vector&& value) { m_headerStringListHasBeenSet = true; m_headerStringList = std::move(value); } + inline InputAndOutputWithHeadersRequest& WithHeaderStringList(const Aws::Vector& value) { SetHeaderStringList(value); return *this;} + inline InputAndOutputWithHeadersRequest& WithHeaderStringList(Aws::Vector&& value) { SetHeaderStringList(std::move(value)); return *this;} + inline InputAndOutputWithHeadersRequest& AddHeaderStringList(const Aws::String& value) { m_headerStringListHasBeenSet = true; m_headerStringList.push_back(value); return *this; } + inline InputAndOutputWithHeadersRequest& AddHeaderStringList(Aws::String&& value) { m_headerStringListHasBeenSet = true; m_headerStringList.push_back(std::move(value)); return *this; } + inline InputAndOutputWithHeadersRequest& AddHeaderStringList(const char* value) { m_headerStringListHasBeenSet = true; m_headerStringList.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetHeaderStringSet() const{ return m_headerStringSet; } + inline bool HeaderStringSetHasBeenSet() const { return m_headerStringSetHasBeenSet; } + inline void SetHeaderStringSet(const Aws::Vector& value) { m_headerStringSetHasBeenSet = true; m_headerStringSet = value; } + inline void SetHeaderStringSet(Aws::Vector&& value) { m_headerStringSetHasBeenSet = true; m_headerStringSet = std::move(value); } + inline InputAndOutputWithHeadersRequest& WithHeaderStringSet(const Aws::Vector& value) { SetHeaderStringSet(value); return *this;} + inline InputAndOutputWithHeadersRequest& WithHeaderStringSet(Aws::Vector&& value) { SetHeaderStringSet(std::move(value)); return *this;} + inline InputAndOutputWithHeadersRequest& AddHeaderStringSet(const Aws::String& value) { m_headerStringSetHasBeenSet = true; m_headerStringSet.push_back(value); return *this; } + inline InputAndOutputWithHeadersRequest& AddHeaderStringSet(Aws::String&& value) { m_headerStringSetHasBeenSet = true; m_headerStringSet.push_back(std::move(value)); return *this; } + inline InputAndOutputWithHeadersRequest& AddHeaderStringSet(const char* value) { m_headerStringSetHasBeenSet = true; m_headerStringSet.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetHeaderIntegerList() const{ return m_headerIntegerList; } + inline bool HeaderIntegerListHasBeenSet() const { return m_headerIntegerListHasBeenSet; } + inline void SetHeaderIntegerList(const Aws::Vector& value) { m_headerIntegerListHasBeenSet = true; m_headerIntegerList = value; } + inline void SetHeaderIntegerList(Aws::Vector&& value) { m_headerIntegerListHasBeenSet = true; m_headerIntegerList = std::move(value); } + inline InputAndOutputWithHeadersRequest& WithHeaderIntegerList(const Aws::Vector& value) { SetHeaderIntegerList(value); return *this;} + inline InputAndOutputWithHeadersRequest& WithHeaderIntegerList(Aws::Vector&& value) { SetHeaderIntegerList(std::move(value)); return *this;} + inline InputAndOutputWithHeadersRequest& AddHeaderIntegerList(int value) { m_headerIntegerListHasBeenSet = true; m_headerIntegerList.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetHeaderBooleanList() const{ return m_headerBooleanList; } + inline bool HeaderBooleanListHasBeenSet() const { return m_headerBooleanListHasBeenSet; } + inline void SetHeaderBooleanList(const Aws::Vector& value) { m_headerBooleanListHasBeenSet = true; m_headerBooleanList = value; } + inline void SetHeaderBooleanList(Aws::Vector&& value) { m_headerBooleanListHasBeenSet = true; m_headerBooleanList = std::move(value); } + inline InputAndOutputWithHeadersRequest& WithHeaderBooleanList(const Aws::Vector& value) { SetHeaderBooleanList(value); return *this;} + inline InputAndOutputWithHeadersRequest& WithHeaderBooleanList(Aws::Vector&& value) { SetHeaderBooleanList(std::move(value)); return *this;} + inline InputAndOutputWithHeadersRequest& AddHeaderBooleanList(bool value) { m_headerBooleanListHasBeenSet = true; m_headerBooleanList.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetHeaderTimestampList() const{ return m_headerTimestampList; } + inline bool HeaderTimestampListHasBeenSet() const { return m_headerTimestampListHasBeenSet; } + inline void SetHeaderTimestampList(const Aws::Vector& value) { m_headerTimestampListHasBeenSet = true; m_headerTimestampList = value; } + inline void SetHeaderTimestampList(Aws::Vector&& value) { m_headerTimestampListHasBeenSet = true; m_headerTimestampList = std::move(value); } + inline InputAndOutputWithHeadersRequest& WithHeaderTimestampList(const Aws::Vector& value) { SetHeaderTimestampList(value); return *this;} + inline InputAndOutputWithHeadersRequest& WithHeaderTimestampList(Aws::Vector&& value) { SetHeaderTimestampList(std::move(value)); return *this;} + inline InputAndOutputWithHeadersRequest& AddHeaderTimestampList(const Aws::Utils::DateTime& value) { m_headerTimestampListHasBeenSet = true; m_headerTimestampList.push_back(value); return *this; } + inline InputAndOutputWithHeadersRequest& AddHeaderTimestampList(Aws::Utils::DateTime&& value) { m_headerTimestampListHasBeenSet = true; m_headerTimestampList.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + + inline const FooEnum& GetHeaderEnum() const{ return m_headerEnum; } + inline bool HeaderEnumHasBeenSet() const { return m_headerEnumHasBeenSet; } + inline void SetHeaderEnum(const FooEnum& value) { m_headerEnumHasBeenSet = true; m_headerEnum = value; } + inline void SetHeaderEnum(FooEnum&& value) { m_headerEnumHasBeenSet = true; m_headerEnum = std::move(value); } + inline InputAndOutputWithHeadersRequest& WithHeaderEnum(const FooEnum& value) { SetHeaderEnum(value); return *this;} + inline InputAndOutputWithHeadersRequest& WithHeaderEnum(FooEnum&& value) { SetHeaderEnum(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::Vector& GetHeaderEnumList() const{ return m_headerEnumList; } + inline bool HeaderEnumListHasBeenSet() const { return m_headerEnumListHasBeenSet; } + inline void SetHeaderEnumList(const Aws::Vector& value) { m_headerEnumListHasBeenSet = true; m_headerEnumList = value; } + inline void SetHeaderEnumList(Aws::Vector&& value) { m_headerEnumListHasBeenSet = true; m_headerEnumList = std::move(value); } + inline InputAndOutputWithHeadersRequest& WithHeaderEnumList(const Aws::Vector& value) { SetHeaderEnumList(value); return *this;} + inline InputAndOutputWithHeadersRequest& WithHeaderEnumList(Aws::Vector&& value) { SetHeaderEnumList(std::move(value)); return *this;} + inline InputAndOutputWithHeadersRequest& AddHeaderEnumList(const FooEnum& value) { m_headerEnumListHasBeenSet = true; m_headerEnumList.push_back(value); return *this; } + inline InputAndOutputWithHeadersRequest& AddHeaderEnumList(FooEnum&& value) { m_headerEnumListHasBeenSet = true; m_headerEnumList.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline bool RequestIdHasBeenSet() const { return m_requestIdHasBeenSet; } + inline void SetRequestId(const Aws::String& value) { m_requestIdHasBeenSet = true; m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestIdHasBeenSet = true; m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestIdHasBeenSet = true; m_requestId.assign(value); } + inline InputAndOutputWithHeadersRequest& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline InputAndOutputWithHeadersRequest& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline InputAndOutputWithHeadersRequest& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_headerString; + bool m_headerStringHasBeenSet = false; + + int m_headerByte; + bool m_headerByteHasBeenSet = false; + + int m_headerShort; + bool m_headerShortHasBeenSet = false; + + int m_headerInteger; + bool m_headerIntegerHasBeenSet = false; + + long long m_headerLong; + bool m_headerLongHasBeenSet = false; + + double m_headerFloat; + bool m_headerFloatHasBeenSet = false; + + double m_headerDouble; + bool m_headerDoubleHasBeenSet = false; + + bool m_headerTrueBool; + bool m_headerTrueBoolHasBeenSet = false; + + bool m_headerFalseBool; + bool m_headerFalseBoolHasBeenSet = false; + + Aws::Vector m_headerStringList; + bool m_headerStringListHasBeenSet = false; + + Aws::Vector m_headerStringSet; + bool m_headerStringSetHasBeenSet = false; + + Aws::Vector m_headerIntegerList; + bool m_headerIntegerListHasBeenSet = false; + + Aws::Vector m_headerBooleanList; + bool m_headerBooleanListHasBeenSet = false; + + Aws::Vector m_headerTimestampList; + bool m_headerTimestampListHasBeenSet = false; + + FooEnum m_headerEnum; + bool m_headerEnumHasBeenSet = false; + + Aws::Vector m_headerEnumList; + bool m_headerEnumListHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/InputAndOutputWithHeadersResult.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/InputAndOutputWithHeadersResult.h new file mode 100644 index 00000000000..f46467558b0 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/InputAndOutputWithHeadersResult.h @@ -0,0 +1,229 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace RestXmlProtocol +{ +namespace Model +{ + class InputAndOutputWithHeadersResult + { + public: + AWS_RESTXMLPROTOCOL_API InputAndOutputWithHeadersResult(); + AWS_RESTXMLPROTOCOL_API InputAndOutputWithHeadersResult(const Aws::AmazonWebServiceResult& result); + AWS_RESTXMLPROTOCOL_API InputAndOutputWithHeadersResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::String& GetHeaderString() const{ return m_headerString; } + inline void SetHeaderString(const Aws::String& value) { m_headerString = value; } + inline void SetHeaderString(Aws::String&& value) { m_headerString = std::move(value); } + inline void SetHeaderString(const char* value) { m_headerString.assign(value); } + inline InputAndOutputWithHeadersResult& WithHeaderString(const Aws::String& value) { SetHeaderString(value); return *this;} + inline InputAndOutputWithHeadersResult& WithHeaderString(Aws::String&& value) { SetHeaderString(std::move(value)); return *this;} + inline InputAndOutputWithHeadersResult& WithHeaderString(const char* value) { SetHeaderString(value); return *this;} + ///@} + + ///@{ + + inline int GetHeaderByte() const{ return m_headerByte; } + inline void SetHeaderByte(int value) { m_headerByte = value; } + inline InputAndOutputWithHeadersResult& WithHeaderByte(int value) { SetHeaderByte(value); return *this;} + ///@} + + ///@{ + + inline int GetHeaderShort() const{ return m_headerShort; } + inline void SetHeaderShort(int value) { m_headerShort = value; } + inline InputAndOutputWithHeadersResult& WithHeaderShort(int value) { SetHeaderShort(value); return *this;} + ///@} + + ///@{ + + inline int GetHeaderInteger() const{ return m_headerInteger; } + inline void SetHeaderInteger(int value) { m_headerInteger = value; } + inline InputAndOutputWithHeadersResult& WithHeaderInteger(int value) { SetHeaderInteger(value); return *this;} + ///@} + + ///@{ + + inline long long GetHeaderLong() const{ return m_headerLong; } + inline void SetHeaderLong(long long value) { m_headerLong = value; } + inline InputAndOutputWithHeadersResult& WithHeaderLong(long long value) { SetHeaderLong(value); return *this;} + ///@} + + ///@{ + + inline double GetHeaderFloat() const{ return m_headerFloat; } + inline void SetHeaderFloat(double value) { m_headerFloat = value; } + inline InputAndOutputWithHeadersResult& WithHeaderFloat(double value) { SetHeaderFloat(value); return *this;} + ///@} + + ///@{ + + inline double GetHeaderDouble() const{ return m_headerDouble; } + inline void SetHeaderDouble(double value) { m_headerDouble = value; } + inline InputAndOutputWithHeadersResult& WithHeaderDouble(double value) { SetHeaderDouble(value); return *this;} + ///@} + + ///@{ + + inline bool GetHeaderTrueBool() const{ return m_headerTrueBool; } + inline void SetHeaderTrueBool(bool value) { m_headerTrueBool = value; } + inline InputAndOutputWithHeadersResult& WithHeaderTrueBool(bool value) { SetHeaderTrueBool(value); return *this;} + ///@} + + ///@{ + + inline bool GetHeaderFalseBool() const{ return m_headerFalseBool; } + inline void SetHeaderFalseBool(bool value) { m_headerFalseBool = value; } + inline InputAndOutputWithHeadersResult& WithHeaderFalseBool(bool value) { SetHeaderFalseBool(value); return *this;} + ///@} + + ///@{ + + inline const Aws::Vector& GetHeaderStringList() const{ return m_headerStringList; } + inline void SetHeaderStringList(const Aws::Vector& value) { m_headerStringList = value; } + inline void SetHeaderStringList(Aws::Vector&& value) { m_headerStringList = std::move(value); } + inline InputAndOutputWithHeadersResult& WithHeaderStringList(const Aws::Vector& value) { SetHeaderStringList(value); return *this;} + inline InputAndOutputWithHeadersResult& WithHeaderStringList(Aws::Vector&& value) { SetHeaderStringList(std::move(value)); return *this;} + inline InputAndOutputWithHeadersResult& AddHeaderStringList(const Aws::String& value) { m_headerStringList.push_back(value); return *this; } + inline InputAndOutputWithHeadersResult& AddHeaderStringList(Aws::String&& value) { m_headerStringList.push_back(std::move(value)); return *this; } + inline InputAndOutputWithHeadersResult& AddHeaderStringList(const char* value) { m_headerStringList.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetHeaderStringSet() const{ return m_headerStringSet; } + inline void SetHeaderStringSet(const Aws::Vector& value) { m_headerStringSet = value; } + inline void SetHeaderStringSet(Aws::Vector&& value) { m_headerStringSet = std::move(value); } + inline InputAndOutputWithHeadersResult& WithHeaderStringSet(const Aws::Vector& value) { SetHeaderStringSet(value); return *this;} + inline InputAndOutputWithHeadersResult& WithHeaderStringSet(Aws::Vector&& value) { SetHeaderStringSet(std::move(value)); return *this;} + inline InputAndOutputWithHeadersResult& AddHeaderStringSet(const Aws::String& value) { m_headerStringSet.push_back(value); return *this; } + inline InputAndOutputWithHeadersResult& AddHeaderStringSet(Aws::String&& value) { m_headerStringSet.push_back(std::move(value)); return *this; } + inline InputAndOutputWithHeadersResult& AddHeaderStringSet(const char* value) { m_headerStringSet.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetHeaderIntegerList() const{ return m_headerIntegerList; } + inline void SetHeaderIntegerList(const Aws::Vector& value) { m_headerIntegerList = value; } + inline void SetHeaderIntegerList(Aws::Vector&& value) { m_headerIntegerList = std::move(value); } + inline InputAndOutputWithHeadersResult& WithHeaderIntegerList(const Aws::Vector& value) { SetHeaderIntegerList(value); return *this;} + inline InputAndOutputWithHeadersResult& WithHeaderIntegerList(Aws::Vector&& value) { SetHeaderIntegerList(std::move(value)); return *this;} + inline InputAndOutputWithHeadersResult& AddHeaderIntegerList(int value) { m_headerIntegerList.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetHeaderBooleanList() const{ return m_headerBooleanList; } + inline void SetHeaderBooleanList(const Aws::Vector& value) { m_headerBooleanList = value; } + inline void SetHeaderBooleanList(Aws::Vector&& value) { m_headerBooleanList = std::move(value); } + inline InputAndOutputWithHeadersResult& WithHeaderBooleanList(const Aws::Vector& value) { SetHeaderBooleanList(value); return *this;} + inline InputAndOutputWithHeadersResult& WithHeaderBooleanList(Aws::Vector&& value) { SetHeaderBooleanList(std::move(value)); return *this;} + inline InputAndOutputWithHeadersResult& AddHeaderBooleanList(bool value) { m_headerBooleanList.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetHeaderTimestampList() const{ return m_headerTimestampList; } + inline void SetHeaderTimestampList(const Aws::Vector& value) { m_headerTimestampList = value; } + inline void SetHeaderTimestampList(Aws::Vector&& value) { m_headerTimestampList = std::move(value); } + inline InputAndOutputWithHeadersResult& WithHeaderTimestampList(const Aws::Vector& value) { SetHeaderTimestampList(value); return *this;} + inline InputAndOutputWithHeadersResult& WithHeaderTimestampList(Aws::Vector&& value) { SetHeaderTimestampList(std::move(value)); return *this;} + inline InputAndOutputWithHeadersResult& AddHeaderTimestampList(const Aws::Utils::DateTime& value) { m_headerTimestampList.push_back(value); return *this; } + inline InputAndOutputWithHeadersResult& AddHeaderTimestampList(Aws::Utils::DateTime&& value) { m_headerTimestampList.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + + inline const FooEnum& GetHeaderEnum() const{ return m_headerEnum; } + inline void SetHeaderEnum(const FooEnum& value) { m_headerEnum = value; } + inline void SetHeaderEnum(FooEnum&& value) { m_headerEnum = std::move(value); } + inline InputAndOutputWithHeadersResult& WithHeaderEnum(const FooEnum& value) { SetHeaderEnum(value); return *this;} + inline InputAndOutputWithHeadersResult& WithHeaderEnum(FooEnum&& value) { SetHeaderEnum(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::Vector& GetHeaderEnumList() const{ return m_headerEnumList; } + inline void SetHeaderEnumList(const Aws::Vector& value) { m_headerEnumList = value; } + inline void SetHeaderEnumList(Aws::Vector&& value) { m_headerEnumList = std::move(value); } + inline InputAndOutputWithHeadersResult& WithHeaderEnumList(const Aws::Vector& value) { SetHeaderEnumList(value); return *this;} + inline InputAndOutputWithHeadersResult& WithHeaderEnumList(Aws::Vector&& value) { SetHeaderEnumList(std::move(value)); return *this;} + inline InputAndOutputWithHeadersResult& AddHeaderEnumList(const FooEnum& value) { m_headerEnumList.push_back(value); return *this; } + inline InputAndOutputWithHeadersResult& AddHeaderEnumList(FooEnum&& value) { m_headerEnumList.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline InputAndOutputWithHeadersResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline InputAndOutputWithHeadersResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline InputAndOutputWithHeadersResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_headerString; + + int m_headerByte; + + int m_headerShort; + + int m_headerInteger; + + long long m_headerLong; + + double m_headerFloat; + + double m_headerDouble; + + bool m_headerTrueBool; + + bool m_headerFalseBool; + + Aws::Vector m_headerStringList; + + Aws::Vector m_headerStringSet; + + Aws::Vector m_headerIntegerList; + + Aws::Vector m_headerBooleanList; + + Aws::Vector m_headerTimestampList; + + FooEnum m_headerEnum; + + Aws::Vector m_headerEnumList; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/NestedPayload.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/NestedPayload.h new file mode 100644 index 00000000000..1a995ff0372 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/NestedPayload.h @@ -0,0 +1,69 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace RestXmlProtocol +{ +namespace Model +{ + + class NestedPayload + { + public: + AWS_RESTXMLPROTOCOL_API NestedPayload(); + AWS_RESTXMLPROTOCOL_API NestedPayload(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_RESTXMLPROTOCOL_API NestedPayload& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + AWS_RESTXMLPROTOCOL_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + ///@{ + + inline const Aws::String& GetGreeting() const{ return m_greeting; } + inline bool GreetingHasBeenSet() const { return m_greetingHasBeenSet; } + inline void SetGreeting(const Aws::String& value) { m_greetingHasBeenSet = true; m_greeting = value; } + inline void SetGreeting(Aws::String&& value) { m_greetingHasBeenSet = true; m_greeting = std::move(value); } + inline void SetGreeting(const char* value) { m_greetingHasBeenSet = true; m_greeting.assign(value); } + inline NestedPayload& WithGreeting(const Aws::String& value) { SetGreeting(value); return *this;} + inline NestedPayload& WithGreeting(Aws::String&& value) { SetGreeting(std::move(value)); return *this;} + inline NestedPayload& WithGreeting(const char* value) { SetGreeting(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetName() const{ return m_name; } + inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } + inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } + inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } + inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } + inline NestedPayload& WithName(const Aws::String& value) { SetName(value); return *this;} + inline NestedPayload& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} + inline NestedPayload& WithName(const char* value) { SetName(value); return *this;} + ///@} + private: + + Aws::String m_greeting; + bool m_greetingHasBeenSet = false; + + Aws::String m_name; + bool m_nameHasBeenSet = false; + }; + +} // namespace Model +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/NestedXmlMapWithXmlNameRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/NestedXmlMapWithXmlNameRequest.h new file mode 100644 index 00000000000..cbfbf2032b4 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/NestedXmlMapWithXmlNameRequest.h @@ -0,0 +1,76 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace RestXmlProtocol +{ +namespace Model +{ + + /** + */ + class NestedXmlMapWithXmlNameRequest : public RestXmlProtocolRequest + { + public: + AWS_RESTXMLPROTOCOL_API NestedXmlMapWithXmlNameRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "NestedXmlMapWithXmlName"; } + + AWS_RESTXMLPROTOCOL_API Aws::String SerializePayload() const override; + + AWS_RESTXMLPROTOCOL_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + + inline const Aws::Map>& GetNestedXmlMapWithXmlNameMap() const{ return m_nestedXmlMapWithXmlNameMap; } + inline bool NestedXmlMapWithXmlNameMapHasBeenSet() const { return m_nestedXmlMapWithXmlNameMapHasBeenSet; } + inline void SetNestedXmlMapWithXmlNameMap(const Aws::Map>& value) { m_nestedXmlMapWithXmlNameMapHasBeenSet = true; m_nestedXmlMapWithXmlNameMap = value; } + inline void SetNestedXmlMapWithXmlNameMap(Aws::Map>&& value) { m_nestedXmlMapWithXmlNameMapHasBeenSet = true; m_nestedXmlMapWithXmlNameMap = std::move(value); } + inline NestedXmlMapWithXmlNameRequest& WithNestedXmlMapWithXmlNameMap(const Aws::Map>& value) { SetNestedXmlMapWithXmlNameMap(value); return *this;} + inline NestedXmlMapWithXmlNameRequest& WithNestedXmlMapWithXmlNameMap(Aws::Map>&& value) { SetNestedXmlMapWithXmlNameMap(std::move(value)); return *this;} + inline NestedXmlMapWithXmlNameRequest& AddNestedXmlMapWithXmlNameMap(const Aws::String& key, const Aws::Map& value) { m_nestedXmlMapWithXmlNameMapHasBeenSet = true; m_nestedXmlMapWithXmlNameMap.emplace(key, value); return *this; } + inline NestedXmlMapWithXmlNameRequest& AddNestedXmlMapWithXmlNameMap(Aws::String&& key, const Aws::Map& value) { m_nestedXmlMapWithXmlNameMapHasBeenSet = true; m_nestedXmlMapWithXmlNameMap.emplace(std::move(key), value); return *this; } + inline NestedXmlMapWithXmlNameRequest& AddNestedXmlMapWithXmlNameMap(const Aws::String& key, Aws::Map&& value) { m_nestedXmlMapWithXmlNameMapHasBeenSet = true; m_nestedXmlMapWithXmlNameMap.emplace(key, std::move(value)); return *this; } + inline NestedXmlMapWithXmlNameRequest& AddNestedXmlMapWithXmlNameMap(Aws::String&& key, Aws::Map&& value) { m_nestedXmlMapWithXmlNameMapHasBeenSet = true; m_nestedXmlMapWithXmlNameMap.emplace(std::move(key), std::move(value)); return *this; } + inline NestedXmlMapWithXmlNameRequest& AddNestedXmlMapWithXmlNameMap(const char* key, Aws::Map&& value) { m_nestedXmlMapWithXmlNameMapHasBeenSet = true; m_nestedXmlMapWithXmlNameMap.emplace(key, std::move(value)); return *this; } + inline NestedXmlMapWithXmlNameRequest& AddNestedXmlMapWithXmlNameMap(const char* key, const Aws::Map& value) { m_nestedXmlMapWithXmlNameMapHasBeenSet = true; m_nestedXmlMapWithXmlNameMap.emplace(key, value); return *this; } + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline bool RequestIdHasBeenSet() const { return m_requestIdHasBeenSet; } + inline void SetRequestId(const Aws::String& value) { m_requestIdHasBeenSet = true; m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestIdHasBeenSet = true; m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestIdHasBeenSet = true; m_requestId.assign(value); } + inline NestedXmlMapWithXmlNameRequest& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline NestedXmlMapWithXmlNameRequest& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline NestedXmlMapWithXmlNameRequest& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::Map> m_nestedXmlMapWithXmlNameMap; + bool m_nestedXmlMapWithXmlNameMapHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/NestedXmlMapWithXmlNameResult.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/NestedXmlMapWithXmlNameResult.h new file mode 100644 index 00000000000..1e8e3b78c13 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/NestedXmlMapWithXmlNameResult.h @@ -0,0 +1,70 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace RestXmlProtocol +{ +namespace Model +{ + class NestedXmlMapWithXmlNameResult + { + public: + AWS_RESTXMLPROTOCOL_API NestedXmlMapWithXmlNameResult(); + AWS_RESTXMLPROTOCOL_API NestedXmlMapWithXmlNameResult(const Aws::AmazonWebServiceResult& result); + AWS_RESTXMLPROTOCOL_API NestedXmlMapWithXmlNameResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::Map>& GetNestedXmlMapWithXmlNameMap() const{ return m_nestedXmlMapWithXmlNameMap; } + inline void SetNestedXmlMapWithXmlNameMap(const Aws::Map>& value) { m_nestedXmlMapWithXmlNameMap = value; } + inline void SetNestedXmlMapWithXmlNameMap(Aws::Map>&& value) { m_nestedXmlMapWithXmlNameMap = std::move(value); } + inline NestedXmlMapWithXmlNameResult& WithNestedXmlMapWithXmlNameMap(const Aws::Map>& value) { SetNestedXmlMapWithXmlNameMap(value); return *this;} + inline NestedXmlMapWithXmlNameResult& WithNestedXmlMapWithXmlNameMap(Aws::Map>&& value) { SetNestedXmlMapWithXmlNameMap(std::move(value)); return *this;} + inline NestedXmlMapWithXmlNameResult& AddNestedXmlMapWithXmlNameMap(const Aws::String& key, const Aws::Map& value) { m_nestedXmlMapWithXmlNameMap.emplace(key, value); return *this; } + inline NestedXmlMapWithXmlNameResult& AddNestedXmlMapWithXmlNameMap(Aws::String&& key, const Aws::Map& value) { m_nestedXmlMapWithXmlNameMap.emplace(std::move(key), value); return *this; } + inline NestedXmlMapWithXmlNameResult& AddNestedXmlMapWithXmlNameMap(const Aws::String& key, Aws::Map&& value) { m_nestedXmlMapWithXmlNameMap.emplace(key, std::move(value)); return *this; } + inline NestedXmlMapWithXmlNameResult& AddNestedXmlMapWithXmlNameMap(Aws::String&& key, Aws::Map&& value) { m_nestedXmlMapWithXmlNameMap.emplace(std::move(key), std::move(value)); return *this; } + inline NestedXmlMapWithXmlNameResult& AddNestedXmlMapWithXmlNameMap(const char* key, Aws::Map&& value) { m_nestedXmlMapWithXmlNameMap.emplace(key, std::move(value)); return *this; } + inline NestedXmlMapWithXmlNameResult& AddNestedXmlMapWithXmlNameMap(const char* key, const Aws::Map& value) { m_nestedXmlMapWithXmlNameMap.emplace(key, value); return *this; } + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline NestedXmlMapWithXmlNameResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline NestedXmlMapWithXmlNameResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline NestedXmlMapWithXmlNameResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::Map> m_nestedXmlMapWithXmlNameMap; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/NestedXmlMapsRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/NestedXmlMapsRequest.h new file mode 100644 index 00000000000..e96b1c6be8d --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/NestedXmlMapsRequest.h @@ -0,0 +1,79 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace RestXmlProtocol +{ +namespace Model +{ + + /** + */ + class NestedXmlMapsRequest : public RestXmlProtocolRequest + { + public: + AWS_RESTXMLPROTOCOL_API NestedXmlMapsRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "NestedXmlMaps"; } + + AWS_RESTXMLPROTOCOL_API Aws::String SerializePayload() const override; + + + ///@{ + + inline const Aws::Map>& GetNestedMap() const{ return m_nestedMap; } + inline bool NestedMapHasBeenSet() const { return m_nestedMapHasBeenSet; } + inline void SetNestedMap(const Aws::Map>& value) { m_nestedMapHasBeenSet = true; m_nestedMap = value; } + inline void SetNestedMap(Aws::Map>&& value) { m_nestedMapHasBeenSet = true; m_nestedMap = std::move(value); } + inline NestedXmlMapsRequest& WithNestedMap(const Aws::Map>& value) { SetNestedMap(value); return *this;} + inline NestedXmlMapsRequest& WithNestedMap(Aws::Map>&& value) { SetNestedMap(std::move(value)); return *this;} + inline NestedXmlMapsRequest& AddNestedMap(const Aws::String& key, const Aws::Map& value) { m_nestedMapHasBeenSet = true; m_nestedMap.emplace(key, value); return *this; } + inline NestedXmlMapsRequest& AddNestedMap(Aws::String&& key, const Aws::Map& value) { m_nestedMapHasBeenSet = true; m_nestedMap.emplace(std::move(key), value); return *this; } + inline NestedXmlMapsRequest& AddNestedMap(const Aws::String& key, Aws::Map&& value) { m_nestedMapHasBeenSet = true; m_nestedMap.emplace(key, std::move(value)); return *this; } + inline NestedXmlMapsRequest& AddNestedMap(Aws::String&& key, Aws::Map&& value) { m_nestedMapHasBeenSet = true; m_nestedMap.emplace(std::move(key), std::move(value)); return *this; } + inline NestedXmlMapsRequest& AddNestedMap(const char* key, Aws::Map&& value) { m_nestedMapHasBeenSet = true; m_nestedMap.emplace(key, std::move(value)); return *this; } + inline NestedXmlMapsRequest& AddNestedMap(const char* key, const Aws::Map& value) { m_nestedMapHasBeenSet = true; m_nestedMap.emplace(key, value); return *this; } + ///@} + + ///@{ + + inline const Aws::Map>& GetFlatNestedMap() const{ return m_flatNestedMap; } + inline bool FlatNestedMapHasBeenSet() const { return m_flatNestedMapHasBeenSet; } + inline void SetFlatNestedMap(const Aws::Map>& value) { m_flatNestedMapHasBeenSet = true; m_flatNestedMap = value; } + inline void SetFlatNestedMap(Aws::Map>&& value) { m_flatNestedMapHasBeenSet = true; m_flatNestedMap = std::move(value); } + inline NestedXmlMapsRequest& WithFlatNestedMap(const Aws::Map>& value) { SetFlatNestedMap(value); return *this;} + inline NestedXmlMapsRequest& WithFlatNestedMap(Aws::Map>&& value) { SetFlatNestedMap(std::move(value)); return *this;} + inline NestedXmlMapsRequest& AddFlatNestedMap(const Aws::String& key, const Aws::Map& value) { m_flatNestedMapHasBeenSet = true; m_flatNestedMap.emplace(key, value); return *this; } + inline NestedXmlMapsRequest& AddFlatNestedMap(Aws::String&& key, const Aws::Map& value) { m_flatNestedMapHasBeenSet = true; m_flatNestedMap.emplace(std::move(key), value); return *this; } + inline NestedXmlMapsRequest& AddFlatNestedMap(const Aws::String& key, Aws::Map&& value) { m_flatNestedMapHasBeenSet = true; m_flatNestedMap.emplace(key, std::move(value)); return *this; } + inline NestedXmlMapsRequest& AddFlatNestedMap(Aws::String&& key, Aws::Map&& value) { m_flatNestedMapHasBeenSet = true; m_flatNestedMap.emplace(std::move(key), std::move(value)); return *this; } + inline NestedXmlMapsRequest& AddFlatNestedMap(const char* key, Aws::Map&& value) { m_flatNestedMapHasBeenSet = true; m_flatNestedMap.emplace(key, std::move(value)); return *this; } + inline NestedXmlMapsRequest& AddFlatNestedMap(const char* key, const Aws::Map& value) { m_flatNestedMapHasBeenSet = true; m_flatNestedMap.emplace(key, value); return *this; } + ///@} + private: + + Aws::Map> m_nestedMap; + bool m_nestedMapHasBeenSet = false; + + Aws::Map> m_flatNestedMap; + bool m_flatNestedMapHasBeenSet = false; + }; + +} // namespace Model +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/NestedXmlMapsResult.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/NestedXmlMapsResult.h new file mode 100644 index 00000000000..9878a4d0722 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/NestedXmlMapsResult.h @@ -0,0 +1,88 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace RestXmlProtocol +{ +namespace Model +{ + class NestedXmlMapsResult + { + public: + AWS_RESTXMLPROTOCOL_API NestedXmlMapsResult(); + AWS_RESTXMLPROTOCOL_API NestedXmlMapsResult(const Aws::AmazonWebServiceResult& result); + AWS_RESTXMLPROTOCOL_API NestedXmlMapsResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::Map>& GetNestedMap() const{ return m_nestedMap; } + inline void SetNestedMap(const Aws::Map>& value) { m_nestedMap = value; } + inline void SetNestedMap(Aws::Map>&& value) { m_nestedMap = std::move(value); } + inline NestedXmlMapsResult& WithNestedMap(const Aws::Map>& value) { SetNestedMap(value); return *this;} + inline NestedXmlMapsResult& WithNestedMap(Aws::Map>&& value) { SetNestedMap(std::move(value)); return *this;} + inline NestedXmlMapsResult& AddNestedMap(const Aws::String& key, const Aws::Map& value) { m_nestedMap.emplace(key, value); return *this; } + inline NestedXmlMapsResult& AddNestedMap(Aws::String&& key, const Aws::Map& value) { m_nestedMap.emplace(std::move(key), value); return *this; } + inline NestedXmlMapsResult& AddNestedMap(const Aws::String& key, Aws::Map&& value) { m_nestedMap.emplace(key, std::move(value)); return *this; } + inline NestedXmlMapsResult& AddNestedMap(Aws::String&& key, Aws::Map&& value) { m_nestedMap.emplace(std::move(key), std::move(value)); return *this; } + inline NestedXmlMapsResult& AddNestedMap(const char* key, Aws::Map&& value) { m_nestedMap.emplace(key, std::move(value)); return *this; } + inline NestedXmlMapsResult& AddNestedMap(const char* key, const Aws::Map& value) { m_nestedMap.emplace(key, value); return *this; } + ///@} + + ///@{ + + inline const Aws::Map>& GetFlatNestedMap() const{ return m_flatNestedMap; } + inline void SetFlatNestedMap(const Aws::Map>& value) { m_flatNestedMap = value; } + inline void SetFlatNestedMap(Aws::Map>&& value) { m_flatNestedMap = std::move(value); } + inline NestedXmlMapsResult& WithFlatNestedMap(const Aws::Map>& value) { SetFlatNestedMap(value); return *this;} + inline NestedXmlMapsResult& WithFlatNestedMap(Aws::Map>&& value) { SetFlatNestedMap(std::move(value)); return *this;} + inline NestedXmlMapsResult& AddFlatNestedMap(const Aws::String& key, const Aws::Map& value) { m_flatNestedMap.emplace(key, value); return *this; } + inline NestedXmlMapsResult& AddFlatNestedMap(Aws::String&& key, const Aws::Map& value) { m_flatNestedMap.emplace(std::move(key), value); return *this; } + inline NestedXmlMapsResult& AddFlatNestedMap(const Aws::String& key, Aws::Map&& value) { m_flatNestedMap.emplace(key, std::move(value)); return *this; } + inline NestedXmlMapsResult& AddFlatNestedMap(Aws::String&& key, Aws::Map&& value) { m_flatNestedMap.emplace(std::move(key), std::move(value)); return *this; } + inline NestedXmlMapsResult& AddFlatNestedMap(const char* key, Aws::Map&& value) { m_flatNestedMap.emplace(key, std::move(value)); return *this; } + inline NestedXmlMapsResult& AddFlatNestedMap(const char* key, const Aws::Map& value) { m_flatNestedMap.emplace(key, value); return *this; } + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline NestedXmlMapsResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline NestedXmlMapsResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline NestedXmlMapsResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::Map> m_nestedMap; + + Aws::Map> m_flatNestedMap; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/NoInputAndNoOutputRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/NoInputAndNoOutputRequest.h new file mode 100644 index 00000000000..6ab3f4a2248 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/NoInputAndNoOutputRequest.h @@ -0,0 +1,36 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace RestXmlProtocol +{ +namespace Model +{ + + /** + */ + class NoInputAndNoOutputRequest : public RestXmlProtocolRequest + { + public: + AWS_RESTXMLPROTOCOL_API NoInputAndNoOutputRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "NoInputAndNoOutput"; } + + AWS_RESTXMLPROTOCOL_API Aws::String SerializePayload() const override; + + }; + +} // namespace Model +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/NoInputAndOutputRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/NoInputAndOutputRequest.h new file mode 100644 index 00000000000..13988a98609 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/NoInputAndOutputRequest.h @@ -0,0 +1,36 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace RestXmlProtocol +{ +namespace Model +{ + + /** + */ + class NoInputAndOutputRequest : public RestXmlProtocolRequest + { + public: + AWS_RESTXMLPROTOCOL_API NoInputAndOutputRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "NoInputAndOutput"; } + + AWS_RESTXMLPROTOCOL_API Aws::String SerializePayload() const override; + + }; + +} // namespace Model +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/NoInputAndOutputResult.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/NoInputAndOutputResult.h new file mode 100644 index 00000000000..0b755db3760 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/NoInputAndOutputResult.h @@ -0,0 +1,52 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace RestXmlProtocol +{ +namespace Model +{ + class NoInputAndOutputResult + { + public: + AWS_RESTXMLPROTOCOL_API NoInputAndOutputResult(); + AWS_RESTXMLPROTOCOL_API NoInputAndOutputResult(const Aws::AmazonWebServiceResult& result); + AWS_RESTXMLPROTOCOL_API NoInputAndOutputResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline NoInputAndOutputResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline NoInputAndOutputResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline NoInputAndOutputResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/NullAndEmptyHeadersClientRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/NullAndEmptyHeadersClientRequest.h new file mode 100644 index 00000000000..35146cb90db --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/NullAndEmptyHeadersClientRequest.h @@ -0,0 +1,103 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace RestXmlProtocol +{ +namespace Model +{ + + /** + */ + class NullAndEmptyHeadersClientRequest : public RestXmlProtocolRequest + { + public: + AWS_RESTXMLPROTOCOL_API NullAndEmptyHeadersClientRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "NullAndEmptyHeadersClient"; } + + AWS_RESTXMLPROTOCOL_API Aws::String SerializePayload() const override; + + AWS_RESTXMLPROTOCOL_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + + inline const Aws::String& GetA() const{ return m_a; } + inline bool AHasBeenSet() const { return m_aHasBeenSet; } + inline void SetA(const Aws::String& value) { m_aHasBeenSet = true; m_a = value; } + inline void SetA(Aws::String&& value) { m_aHasBeenSet = true; m_a = std::move(value); } + inline void SetA(const char* value) { m_aHasBeenSet = true; m_a.assign(value); } + inline NullAndEmptyHeadersClientRequest& WithA(const Aws::String& value) { SetA(value); return *this;} + inline NullAndEmptyHeadersClientRequest& WithA(Aws::String&& value) { SetA(std::move(value)); return *this;} + inline NullAndEmptyHeadersClientRequest& WithA(const char* value) { SetA(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetB() const{ return m_b; } + inline bool BHasBeenSet() const { return m_bHasBeenSet; } + inline void SetB(const Aws::String& value) { m_bHasBeenSet = true; m_b = value; } + inline void SetB(Aws::String&& value) { m_bHasBeenSet = true; m_b = std::move(value); } + inline void SetB(const char* value) { m_bHasBeenSet = true; m_b.assign(value); } + inline NullAndEmptyHeadersClientRequest& WithB(const Aws::String& value) { SetB(value); return *this;} + inline NullAndEmptyHeadersClientRequest& WithB(Aws::String&& value) { SetB(std::move(value)); return *this;} + inline NullAndEmptyHeadersClientRequest& WithB(const char* value) { SetB(value); return *this;} + ///@} + + ///@{ + + inline const Aws::Vector& GetC() const{ return m_c; } + inline bool CHasBeenSet() const { return m_cHasBeenSet; } + inline void SetC(const Aws::Vector& value) { m_cHasBeenSet = true; m_c = value; } + inline void SetC(Aws::Vector&& value) { m_cHasBeenSet = true; m_c = std::move(value); } + inline NullAndEmptyHeadersClientRequest& WithC(const Aws::Vector& value) { SetC(value); return *this;} + inline NullAndEmptyHeadersClientRequest& WithC(Aws::Vector&& value) { SetC(std::move(value)); return *this;} + inline NullAndEmptyHeadersClientRequest& AddC(const Aws::String& value) { m_cHasBeenSet = true; m_c.push_back(value); return *this; } + inline NullAndEmptyHeadersClientRequest& AddC(Aws::String&& value) { m_cHasBeenSet = true; m_c.push_back(std::move(value)); return *this; } + inline NullAndEmptyHeadersClientRequest& AddC(const char* value) { m_cHasBeenSet = true; m_c.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline bool RequestIdHasBeenSet() const { return m_requestIdHasBeenSet; } + inline void SetRequestId(const Aws::String& value) { m_requestIdHasBeenSet = true; m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestIdHasBeenSet = true; m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestIdHasBeenSet = true; m_requestId.assign(value); } + inline NullAndEmptyHeadersClientRequest& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline NullAndEmptyHeadersClientRequest& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline NullAndEmptyHeadersClientRequest& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_a; + bool m_aHasBeenSet = false; + + Aws::String m_b; + bool m_bHasBeenSet = false; + + Aws::Vector m_c; + bool m_cHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/NullAndEmptyHeadersClientResult.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/NullAndEmptyHeadersClientResult.h new file mode 100644 index 00000000000..bf44036d632 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/NullAndEmptyHeadersClientResult.h @@ -0,0 +1,93 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace RestXmlProtocol +{ +namespace Model +{ + class NullAndEmptyHeadersClientResult + { + public: + AWS_RESTXMLPROTOCOL_API NullAndEmptyHeadersClientResult(); + AWS_RESTXMLPROTOCOL_API NullAndEmptyHeadersClientResult(const Aws::AmazonWebServiceResult& result); + AWS_RESTXMLPROTOCOL_API NullAndEmptyHeadersClientResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::String& GetA() const{ return m_a; } + inline void SetA(const Aws::String& value) { m_a = value; } + inline void SetA(Aws::String&& value) { m_a = std::move(value); } + inline void SetA(const char* value) { m_a.assign(value); } + inline NullAndEmptyHeadersClientResult& WithA(const Aws::String& value) { SetA(value); return *this;} + inline NullAndEmptyHeadersClientResult& WithA(Aws::String&& value) { SetA(std::move(value)); return *this;} + inline NullAndEmptyHeadersClientResult& WithA(const char* value) { SetA(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetB() const{ return m_b; } + inline void SetB(const Aws::String& value) { m_b = value; } + inline void SetB(Aws::String&& value) { m_b = std::move(value); } + inline void SetB(const char* value) { m_b.assign(value); } + inline NullAndEmptyHeadersClientResult& WithB(const Aws::String& value) { SetB(value); return *this;} + inline NullAndEmptyHeadersClientResult& WithB(Aws::String&& value) { SetB(std::move(value)); return *this;} + inline NullAndEmptyHeadersClientResult& WithB(const char* value) { SetB(value); return *this;} + ///@} + + ///@{ + + inline const Aws::Vector& GetC() const{ return m_c; } + inline void SetC(const Aws::Vector& value) { m_c = value; } + inline void SetC(Aws::Vector&& value) { m_c = std::move(value); } + inline NullAndEmptyHeadersClientResult& WithC(const Aws::Vector& value) { SetC(value); return *this;} + inline NullAndEmptyHeadersClientResult& WithC(Aws::Vector&& value) { SetC(std::move(value)); return *this;} + inline NullAndEmptyHeadersClientResult& AddC(const Aws::String& value) { m_c.push_back(value); return *this; } + inline NullAndEmptyHeadersClientResult& AddC(Aws::String&& value) { m_c.push_back(std::move(value)); return *this; } + inline NullAndEmptyHeadersClientResult& AddC(const char* value) { m_c.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline NullAndEmptyHeadersClientResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline NullAndEmptyHeadersClientResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline NullAndEmptyHeadersClientResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_a; + + Aws::String m_b; + + Aws::Vector m_c; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/NullAndEmptyHeadersServerRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/NullAndEmptyHeadersServerRequest.h new file mode 100644 index 00000000000..53407462777 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/NullAndEmptyHeadersServerRequest.h @@ -0,0 +1,103 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace RestXmlProtocol +{ +namespace Model +{ + + /** + */ + class NullAndEmptyHeadersServerRequest : public RestXmlProtocolRequest + { + public: + AWS_RESTXMLPROTOCOL_API NullAndEmptyHeadersServerRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "NullAndEmptyHeadersServer"; } + + AWS_RESTXMLPROTOCOL_API Aws::String SerializePayload() const override; + + AWS_RESTXMLPROTOCOL_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + + inline const Aws::String& GetA() const{ return m_a; } + inline bool AHasBeenSet() const { return m_aHasBeenSet; } + inline void SetA(const Aws::String& value) { m_aHasBeenSet = true; m_a = value; } + inline void SetA(Aws::String&& value) { m_aHasBeenSet = true; m_a = std::move(value); } + inline void SetA(const char* value) { m_aHasBeenSet = true; m_a.assign(value); } + inline NullAndEmptyHeadersServerRequest& WithA(const Aws::String& value) { SetA(value); return *this;} + inline NullAndEmptyHeadersServerRequest& WithA(Aws::String&& value) { SetA(std::move(value)); return *this;} + inline NullAndEmptyHeadersServerRequest& WithA(const char* value) { SetA(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetB() const{ return m_b; } + inline bool BHasBeenSet() const { return m_bHasBeenSet; } + inline void SetB(const Aws::String& value) { m_bHasBeenSet = true; m_b = value; } + inline void SetB(Aws::String&& value) { m_bHasBeenSet = true; m_b = std::move(value); } + inline void SetB(const char* value) { m_bHasBeenSet = true; m_b.assign(value); } + inline NullAndEmptyHeadersServerRequest& WithB(const Aws::String& value) { SetB(value); return *this;} + inline NullAndEmptyHeadersServerRequest& WithB(Aws::String&& value) { SetB(std::move(value)); return *this;} + inline NullAndEmptyHeadersServerRequest& WithB(const char* value) { SetB(value); return *this;} + ///@} + + ///@{ + + inline const Aws::Vector& GetC() const{ return m_c; } + inline bool CHasBeenSet() const { return m_cHasBeenSet; } + inline void SetC(const Aws::Vector& value) { m_cHasBeenSet = true; m_c = value; } + inline void SetC(Aws::Vector&& value) { m_cHasBeenSet = true; m_c = std::move(value); } + inline NullAndEmptyHeadersServerRequest& WithC(const Aws::Vector& value) { SetC(value); return *this;} + inline NullAndEmptyHeadersServerRequest& WithC(Aws::Vector&& value) { SetC(std::move(value)); return *this;} + inline NullAndEmptyHeadersServerRequest& AddC(const Aws::String& value) { m_cHasBeenSet = true; m_c.push_back(value); return *this; } + inline NullAndEmptyHeadersServerRequest& AddC(Aws::String&& value) { m_cHasBeenSet = true; m_c.push_back(std::move(value)); return *this; } + inline NullAndEmptyHeadersServerRequest& AddC(const char* value) { m_cHasBeenSet = true; m_c.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline bool RequestIdHasBeenSet() const { return m_requestIdHasBeenSet; } + inline void SetRequestId(const Aws::String& value) { m_requestIdHasBeenSet = true; m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestIdHasBeenSet = true; m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestIdHasBeenSet = true; m_requestId.assign(value); } + inline NullAndEmptyHeadersServerRequest& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline NullAndEmptyHeadersServerRequest& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline NullAndEmptyHeadersServerRequest& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_a; + bool m_aHasBeenSet = false; + + Aws::String m_b; + bool m_bHasBeenSet = false; + + Aws::Vector m_c; + bool m_cHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/NullAndEmptyHeadersServerResult.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/NullAndEmptyHeadersServerResult.h new file mode 100644 index 00000000000..6aaed3e087d --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/NullAndEmptyHeadersServerResult.h @@ -0,0 +1,93 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace RestXmlProtocol +{ +namespace Model +{ + class NullAndEmptyHeadersServerResult + { + public: + AWS_RESTXMLPROTOCOL_API NullAndEmptyHeadersServerResult(); + AWS_RESTXMLPROTOCOL_API NullAndEmptyHeadersServerResult(const Aws::AmazonWebServiceResult& result); + AWS_RESTXMLPROTOCOL_API NullAndEmptyHeadersServerResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::String& GetA() const{ return m_a; } + inline void SetA(const Aws::String& value) { m_a = value; } + inline void SetA(Aws::String&& value) { m_a = std::move(value); } + inline void SetA(const char* value) { m_a.assign(value); } + inline NullAndEmptyHeadersServerResult& WithA(const Aws::String& value) { SetA(value); return *this;} + inline NullAndEmptyHeadersServerResult& WithA(Aws::String&& value) { SetA(std::move(value)); return *this;} + inline NullAndEmptyHeadersServerResult& WithA(const char* value) { SetA(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetB() const{ return m_b; } + inline void SetB(const Aws::String& value) { m_b = value; } + inline void SetB(Aws::String&& value) { m_b = std::move(value); } + inline void SetB(const char* value) { m_b.assign(value); } + inline NullAndEmptyHeadersServerResult& WithB(const Aws::String& value) { SetB(value); return *this;} + inline NullAndEmptyHeadersServerResult& WithB(Aws::String&& value) { SetB(std::move(value)); return *this;} + inline NullAndEmptyHeadersServerResult& WithB(const char* value) { SetB(value); return *this;} + ///@} + + ///@{ + + inline const Aws::Vector& GetC() const{ return m_c; } + inline void SetC(const Aws::Vector& value) { m_c = value; } + inline void SetC(Aws::Vector&& value) { m_c = std::move(value); } + inline NullAndEmptyHeadersServerResult& WithC(const Aws::Vector& value) { SetC(value); return *this;} + inline NullAndEmptyHeadersServerResult& WithC(Aws::Vector&& value) { SetC(std::move(value)); return *this;} + inline NullAndEmptyHeadersServerResult& AddC(const Aws::String& value) { m_c.push_back(value); return *this; } + inline NullAndEmptyHeadersServerResult& AddC(Aws::String&& value) { m_c.push_back(std::move(value)); return *this; } + inline NullAndEmptyHeadersServerResult& AddC(const char* value) { m_c.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline NullAndEmptyHeadersServerResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline NullAndEmptyHeadersServerResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline NullAndEmptyHeadersServerResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_a; + + Aws::String m_b; + + Aws::Vector m_c; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/OmitsNullSerializesEmptyStringRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/OmitsNullSerializesEmptyStringRequest.h new file mode 100644 index 00000000000..79ad457b699 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/OmitsNullSerializesEmptyStringRequest.h @@ -0,0 +1,75 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace RestXmlProtocol +{ +namespace Model +{ + + /** + */ + class OmitsNullSerializesEmptyStringRequest : public RestXmlProtocolRequest + { + public: + AWS_RESTXMLPROTOCOL_API OmitsNullSerializesEmptyStringRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "OmitsNullSerializesEmptyString"; } + + AWS_RESTXMLPROTOCOL_API Aws::String SerializePayload() const override; + + AWS_RESTXMLPROTOCOL_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + + ///@{ + + inline const Aws::String& GetNullValue() const{ return m_nullValue; } + inline bool NullValueHasBeenSet() const { return m_nullValueHasBeenSet; } + inline void SetNullValue(const Aws::String& value) { m_nullValueHasBeenSet = true; m_nullValue = value; } + inline void SetNullValue(Aws::String&& value) { m_nullValueHasBeenSet = true; m_nullValue = std::move(value); } + inline void SetNullValue(const char* value) { m_nullValueHasBeenSet = true; m_nullValue.assign(value); } + inline OmitsNullSerializesEmptyStringRequest& WithNullValue(const Aws::String& value) { SetNullValue(value); return *this;} + inline OmitsNullSerializesEmptyStringRequest& WithNullValue(Aws::String&& value) { SetNullValue(std::move(value)); return *this;} + inline OmitsNullSerializesEmptyStringRequest& WithNullValue(const char* value) { SetNullValue(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetEmptyString() const{ return m_emptyString; } + inline bool EmptyStringHasBeenSet() const { return m_emptyStringHasBeenSet; } + inline void SetEmptyString(const Aws::String& value) { m_emptyStringHasBeenSet = true; m_emptyString = value; } + inline void SetEmptyString(Aws::String&& value) { m_emptyStringHasBeenSet = true; m_emptyString = std::move(value); } + inline void SetEmptyString(const char* value) { m_emptyStringHasBeenSet = true; m_emptyString.assign(value); } + inline OmitsNullSerializesEmptyStringRequest& WithEmptyString(const Aws::String& value) { SetEmptyString(value); return *this;} + inline OmitsNullSerializesEmptyStringRequest& WithEmptyString(Aws::String&& value) { SetEmptyString(std::move(value)); return *this;} + inline OmitsNullSerializesEmptyStringRequest& WithEmptyString(const char* value) { SetEmptyString(value); return *this;} + ///@} + private: + + Aws::String m_nullValue; + bool m_nullValueHasBeenSet = false; + + Aws::String m_emptyString; + bool m_emptyStringHasBeenSet = false; + }; + +} // namespace Model +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/PayloadWithXmlName.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/PayloadWithXmlName.h new file mode 100644 index 00000000000..857db027222 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/PayloadWithXmlName.h @@ -0,0 +1,54 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace RestXmlProtocol +{ +namespace Model +{ + + class PayloadWithXmlName + { + public: + AWS_RESTXMLPROTOCOL_API PayloadWithXmlName(); + AWS_RESTXMLPROTOCOL_API PayloadWithXmlName(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_RESTXMLPROTOCOL_API PayloadWithXmlName& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + AWS_RESTXMLPROTOCOL_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + ///@{ + + inline const Aws::String& GetName() const{ return m_name; } + inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } + inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } + inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } + inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } + inline PayloadWithXmlName& WithName(const Aws::String& value) { SetName(value); return *this;} + inline PayloadWithXmlName& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} + inline PayloadWithXmlName& WithName(const char* value) { SetName(value); return *this;} + ///@} + private: + + Aws::String m_name; + bool m_nameHasBeenSet = false; + }; + +} // namespace Model +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/PayloadWithXmlNamespace.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/PayloadWithXmlNamespace.h new file mode 100644 index 00000000000..4d459234bf4 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/PayloadWithXmlNamespace.h @@ -0,0 +1,54 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace RestXmlProtocol +{ +namespace Model +{ + + class PayloadWithXmlNamespace + { + public: + AWS_RESTXMLPROTOCOL_API PayloadWithXmlNamespace(); + AWS_RESTXMLPROTOCOL_API PayloadWithXmlNamespace(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_RESTXMLPROTOCOL_API PayloadWithXmlNamespace& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + AWS_RESTXMLPROTOCOL_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + ///@{ + + inline const Aws::String& GetName() const{ return m_name; } + inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } + inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } + inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } + inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } + inline PayloadWithXmlNamespace& WithName(const Aws::String& value) { SetName(value); return *this;} + inline PayloadWithXmlNamespace& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} + inline PayloadWithXmlNamespace& WithName(const char* value) { SetName(value); return *this;} + ///@} + private: + + Aws::String m_name; + bool m_nameHasBeenSet = false; + }; + +} // namespace Model +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/PayloadWithXmlNamespaceAndPrefix.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/PayloadWithXmlNamespaceAndPrefix.h new file mode 100644 index 00000000000..768cca7d3ff --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/PayloadWithXmlNamespaceAndPrefix.h @@ -0,0 +1,54 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace RestXmlProtocol +{ +namespace Model +{ + + class PayloadWithXmlNamespaceAndPrefix + { + public: + AWS_RESTXMLPROTOCOL_API PayloadWithXmlNamespaceAndPrefix(); + AWS_RESTXMLPROTOCOL_API PayloadWithXmlNamespaceAndPrefix(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_RESTXMLPROTOCOL_API PayloadWithXmlNamespaceAndPrefix& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + AWS_RESTXMLPROTOCOL_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + ///@{ + + inline const Aws::String& GetName() const{ return m_name; } + inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } + inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } + inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } + inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } + inline PayloadWithXmlNamespaceAndPrefix& WithName(const Aws::String& value) { SetName(value); return *this;} + inline PayloadWithXmlNamespaceAndPrefix& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} + inline PayloadWithXmlNamespaceAndPrefix& WithName(const char* value) { SetName(value); return *this;} + ///@} + private: + + Aws::String m_name; + bool m_nameHasBeenSet = false; + }; + +} // namespace Model +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/PutWithContentEncodingRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/PutWithContentEncodingRequest.h new file mode 100644 index 00000000000..573345c3c9a --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/PutWithContentEncodingRequest.h @@ -0,0 +1,76 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace RestXmlProtocol +{ +namespace Model +{ + + /** + */ + class PutWithContentEncodingRequest : public RestXmlProtocolRequest + { + public: + AWS_RESTXMLPROTOCOL_API PutWithContentEncodingRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "PutWithContentEncoding"; } + + AWS_RESTXMLPROTOCOL_API Aws::String SerializePayload() const override; + + AWS_RESTXMLPROTOCOL_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + +#ifdef ENABLED_ZLIB_REQUEST_COMPRESSION + virtual Aws::Client::CompressionAlgorithm + GetSelectedCompressionAlgorithm(Aws::Client::RequestCompressionConfig config) const override; +#endif + + + ///@{ + + inline const Aws::String& GetEncoding() const{ return m_encoding; } + inline bool EncodingHasBeenSet() const { return m_encodingHasBeenSet; } + inline void SetEncoding(const Aws::String& value) { m_encodingHasBeenSet = true; m_encoding = value; } + inline void SetEncoding(Aws::String&& value) { m_encodingHasBeenSet = true; m_encoding = std::move(value); } + inline void SetEncoding(const char* value) { m_encodingHasBeenSet = true; m_encoding.assign(value); } + inline PutWithContentEncodingRequest& WithEncoding(const Aws::String& value) { SetEncoding(value); return *this;} + inline PutWithContentEncodingRequest& WithEncoding(Aws::String&& value) { SetEncoding(std::move(value)); return *this;} + inline PutWithContentEncodingRequest& WithEncoding(const char* value) { SetEncoding(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetData() const{ return m_data; } + inline bool DataHasBeenSet() const { return m_dataHasBeenSet; } + inline void SetData(const Aws::String& value) { m_dataHasBeenSet = true; m_data = value; } + inline void SetData(Aws::String&& value) { m_dataHasBeenSet = true; m_data = std::move(value); } + inline void SetData(const char* value) { m_dataHasBeenSet = true; m_data.assign(value); } + inline PutWithContentEncodingRequest& WithData(const Aws::String& value) { SetData(value); return *this;} + inline PutWithContentEncodingRequest& WithData(Aws::String&& value) { SetData(std::move(value)); return *this;} + inline PutWithContentEncodingRequest& WithData(const char* value) { SetData(value); return *this;} + ///@} + private: + + Aws::String m_encoding; + bool m_encodingHasBeenSet = false; + + Aws::String m_data; + bool m_dataHasBeenSet = false; + }; + +} // namespace Model +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/QueryIdempotencyTokenAutoFillRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/QueryIdempotencyTokenAutoFillRequest.h new file mode 100644 index 00000000000..a3c73190064 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/QueryIdempotencyTokenAutoFillRequest.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace RestXmlProtocol +{ +namespace Model +{ + + /** + */ + class QueryIdempotencyTokenAutoFillRequest : public RestXmlProtocolRequest + { + public: + AWS_RESTXMLPROTOCOL_API QueryIdempotencyTokenAutoFillRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "QueryIdempotencyTokenAutoFill"; } + + AWS_RESTXMLPROTOCOL_API Aws::String SerializePayload() const override; + + AWS_RESTXMLPROTOCOL_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + + ///@{ + + inline const Aws::String& GetToken() const{ return m_token; } + inline bool TokenHasBeenSet() const { return m_tokenHasBeenSet; } + inline void SetToken(const Aws::String& value) { m_tokenHasBeenSet = true; m_token = value; } + inline void SetToken(Aws::String&& value) { m_tokenHasBeenSet = true; m_token = std::move(value); } + inline void SetToken(const char* value) { m_tokenHasBeenSet = true; m_token.assign(value); } + inline QueryIdempotencyTokenAutoFillRequest& WithToken(const Aws::String& value) { SetToken(value); return *this;} + inline QueryIdempotencyTokenAutoFillRequest& WithToken(Aws::String&& value) { SetToken(std::move(value)); return *this;} + inline QueryIdempotencyTokenAutoFillRequest& WithToken(const char* value) { SetToken(value); return *this;} + ///@} + private: + + Aws::String m_token; + bool m_tokenHasBeenSet = false; + }; + +} // namespace Model +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/QueryParamsAsStringListMapRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/QueryParamsAsStringListMapRequest.h new file mode 100644 index 00000000000..89d7b99ffb9 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/QueryParamsAsStringListMapRequest.h @@ -0,0 +1,81 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace RestXmlProtocol +{ +namespace Model +{ + + /** + */ + class QueryParamsAsStringListMapRequest : public RestXmlProtocolRequest + { + public: + AWS_RESTXMLPROTOCOL_API QueryParamsAsStringListMapRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "QueryParamsAsStringListMap"; } + + AWS_RESTXMLPROTOCOL_API Aws::String SerializePayload() const override; + + AWS_RESTXMLPROTOCOL_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + + ///@{ + + inline const Aws::String& GetQux() const{ return m_qux; } + inline bool QuxHasBeenSet() const { return m_quxHasBeenSet; } + inline void SetQux(const Aws::String& value) { m_quxHasBeenSet = true; m_qux = value; } + inline void SetQux(Aws::String&& value) { m_quxHasBeenSet = true; m_qux = std::move(value); } + inline void SetQux(const char* value) { m_quxHasBeenSet = true; m_qux.assign(value); } + inline QueryParamsAsStringListMapRequest& WithQux(const Aws::String& value) { SetQux(value); return *this;} + inline QueryParamsAsStringListMapRequest& WithQux(Aws::String&& value) { SetQux(std::move(value)); return *this;} + inline QueryParamsAsStringListMapRequest& WithQux(const char* value) { SetQux(value); return *this;} + ///@} + + ///@{ + + inline const Aws::Map>& GetFoo() const{ return m_foo; } + inline bool FooHasBeenSet() const { return m_fooHasBeenSet; } + inline void SetFoo(const Aws::Map>& value) { m_fooHasBeenSet = true; m_foo = value; } + inline void SetFoo(Aws::Map>&& value) { m_fooHasBeenSet = true; m_foo = std::move(value); } + inline QueryParamsAsStringListMapRequest& WithFoo(const Aws::Map>& value) { SetFoo(value); return *this;} + inline QueryParamsAsStringListMapRequest& WithFoo(Aws::Map>&& value) { SetFoo(std::move(value)); return *this;} + inline QueryParamsAsStringListMapRequest& AddFoo(const Aws::String& key, const Aws::Vector& value) { m_fooHasBeenSet = true; m_foo.emplace(key, value); return *this; } + inline QueryParamsAsStringListMapRequest& AddFoo(Aws::String&& key, const Aws::Vector& value) { m_fooHasBeenSet = true; m_foo.emplace(std::move(key), value); return *this; } + inline QueryParamsAsStringListMapRequest& AddFoo(const Aws::String& key, Aws::Vector&& value) { m_fooHasBeenSet = true; m_foo.emplace(key, std::move(value)); return *this; } + inline QueryParamsAsStringListMapRequest& AddFoo(Aws::String&& key, Aws::Vector&& value) { m_fooHasBeenSet = true; m_foo.emplace(std::move(key), std::move(value)); return *this; } + inline QueryParamsAsStringListMapRequest& AddFoo(const char* key, Aws::Vector&& value) { m_fooHasBeenSet = true; m_foo.emplace(key, std::move(value)); return *this; } + inline QueryParamsAsStringListMapRequest& AddFoo(const char* key, const Aws::Vector& value) { m_fooHasBeenSet = true; m_foo.emplace(key, value); return *this; } + ///@} + private: + + Aws::String m_qux; + bool m_quxHasBeenSet = false; + + Aws::Map> m_foo; + bool m_fooHasBeenSet = false; + }; + +} // namespace Model +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/QueryPrecedenceRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/QueryPrecedenceRequest.h new file mode 100644 index 00000000000..759d4054a90 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/QueryPrecedenceRequest.h @@ -0,0 +1,81 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace RestXmlProtocol +{ +namespace Model +{ + + /** + */ + class QueryPrecedenceRequest : public RestXmlProtocolRequest + { + public: + AWS_RESTXMLPROTOCOL_API QueryPrecedenceRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "QueryPrecedence"; } + + AWS_RESTXMLPROTOCOL_API Aws::String SerializePayload() const override; + + AWS_RESTXMLPROTOCOL_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + + ///@{ + + inline const Aws::String& GetFoo() const{ return m_foo; } + inline bool FooHasBeenSet() const { return m_fooHasBeenSet; } + inline void SetFoo(const Aws::String& value) { m_fooHasBeenSet = true; m_foo = value; } + inline void SetFoo(Aws::String&& value) { m_fooHasBeenSet = true; m_foo = std::move(value); } + inline void SetFoo(const char* value) { m_fooHasBeenSet = true; m_foo.assign(value); } + inline QueryPrecedenceRequest& WithFoo(const Aws::String& value) { SetFoo(value); return *this;} + inline QueryPrecedenceRequest& WithFoo(Aws::String&& value) { SetFoo(std::move(value)); return *this;} + inline QueryPrecedenceRequest& WithFoo(const char* value) { SetFoo(value); return *this;} + ///@} + + ///@{ + + inline const Aws::Map& GetBaz() const{ return m_baz; } + inline bool BazHasBeenSet() const { return m_bazHasBeenSet; } + inline void SetBaz(const Aws::Map& value) { m_bazHasBeenSet = true; m_baz = value; } + inline void SetBaz(Aws::Map&& value) { m_bazHasBeenSet = true; m_baz = std::move(value); } + inline QueryPrecedenceRequest& WithBaz(const Aws::Map& value) { SetBaz(value); return *this;} + inline QueryPrecedenceRequest& WithBaz(Aws::Map&& value) { SetBaz(std::move(value)); return *this;} + inline QueryPrecedenceRequest& AddBaz(const Aws::String& key, const Aws::String& value) { m_bazHasBeenSet = true; m_baz.emplace(key, value); return *this; } + inline QueryPrecedenceRequest& AddBaz(Aws::String&& key, const Aws::String& value) { m_bazHasBeenSet = true; m_baz.emplace(std::move(key), value); return *this; } + inline QueryPrecedenceRequest& AddBaz(const Aws::String& key, Aws::String&& value) { m_bazHasBeenSet = true; m_baz.emplace(key, std::move(value)); return *this; } + inline QueryPrecedenceRequest& AddBaz(Aws::String&& key, Aws::String&& value) { m_bazHasBeenSet = true; m_baz.emplace(std::move(key), std::move(value)); return *this; } + inline QueryPrecedenceRequest& AddBaz(const char* key, Aws::String&& value) { m_bazHasBeenSet = true; m_baz.emplace(key, std::move(value)); return *this; } + inline QueryPrecedenceRequest& AddBaz(Aws::String&& key, const char* value) { m_bazHasBeenSet = true; m_baz.emplace(std::move(key), value); return *this; } + inline QueryPrecedenceRequest& AddBaz(const char* key, const char* value) { m_bazHasBeenSet = true; m_baz.emplace(key, value); return *this; } + ///@} + private: + + Aws::String m_foo; + bool m_fooHasBeenSet = false; + + Aws::Map m_baz; + bool m_bazHasBeenSet = false; + }; + +} // namespace Model +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/RecursiveShapesInputOutputNested1.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/RecursiveShapesInputOutputNested1.h new file mode 100644 index 00000000000..ad2379c00d0 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/RecursiveShapesInputOutputNested1.h @@ -0,0 +1,69 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace RestXmlProtocol +{ +namespace Model +{ + class RecursiveShapesInputOutputNested2; + + class RecursiveShapesInputOutputNested1 + { + public: + AWS_RESTXMLPROTOCOL_API RecursiveShapesInputOutputNested1(); + AWS_RESTXMLPROTOCOL_API RecursiveShapesInputOutputNested1(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_RESTXMLPROTOCOL_API RecursiveShapesInputOutputNested1& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + AWS_RESTXMLPROTOCOL_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + ///@{ + + inline const Aws::String& GetFoo() const{ return m_foo; } + inline bool FooHasBeenSet() const { return m_fooHasBeenSet; } + inline void SetFoo(const Aws::String& value) { m_fooHasBeenSet = true; m_foo = value; } + inline void SetFoo(Aws::String&& value) { m_fooHasBeenSet = true; m_foo = std::move(value); } + inline void SetFoo(const char* value) { m_fooHasBeenSet = true; m_foo.assign(value); } + inline RecursiveShapesInputOutputNested1& WithFoo(const Aws::String& value) { SetFoo(value); return *this;} + inline RecursiveShapesInputOutputNested1& WithFoo(Aws::String&& value) { SetFoo(std::move(value)); return *this;} + inline RecursiveShapesInputOutputNested1& WithFoo(const char* value) { SetFoo(value); return *this;} + ///@} + + ///@{ + + AWS_RESTXMLPROTOCOL_API const RecursiveShapesInputOutputNested2& GetNested() const; + AWS_RESTXMLPROTOCOL_API bool NestedHasBeenSet() const; + AWS_RESTXMLPROTOCOL_API void SetNested(const RecursiveShapesInputOutputNested2& value); + AWS_RESTXMLPROTOCOL_API void SetNested(RecursiveShapesInputOutputNested2&& value); + AWS_RESTXMLPROTOCOL_API RecursiveShapesInputOutputNested1& WithNested(const RecursiveShapesInputOutputNested2& value); + AWS_RESTXMLPROTOCOL_API RecursiveShapesInputOutputNested1& WithNested(RecursiveShapesInputOutputNested2&& value); + ///@} + private: + + Aws::String m_foo; + bool m_fooHasBeenSet = false; + + std::shared_ptr m_nested; + bool m_nestedHasBeenSet = false; + }; + +} // namespace Model +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/RecursiveShapesInputOutputNested2.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/RecursiveShapesInputOutputNested2.h new file mode 100644 index 00000000000..f2343018a30 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/RecursiveShapesInputOutputNested2.h @@ -0,0 +1,69 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace RestXmlProtocol +{ +namespace Model +{ + class RecursiveShapesInputOutputNested1; + + class RecursiveShapesInputOutputNested2 + { + public: + AWS_RESTXMLPROTOCOL_API RecursiveShapesInputOutputNested2(); + AWS_RESTXMLPROTOCOL_API RecursiveShapesInputOutputNested2(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_RESTXMLPROTOCOL_API RecursiveShapesInputOutputNested2& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + AWS_RESTXMLPROTOCOL_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + ///@{ + + inline const Aws::String& GetBar() const{ return m_bar; } + inline bool BarHasBeenSet() const { return m_barHasBeenSet; } + inline void SetBar(const Aws::String& value) { m_barHasBeenSet = true; m_bar = value; } + inline void SetBar(Aws::String&& value) { m_barHasBeenSet = true; m_bar = std::move(value); } + inline void SetBar(const char* value) { m_barHasBeenSet = true; m_bar.assign(value); } + inline RecursiveShapesInputOutputNested2& WithBar(const Aws::String& value) { SetBar(value); return *this;} + inline RecursiveShapesInputOutputNested2& WithBar(Aws::String&& value) { SetBar(std::move(value)); return *this;} + inline RecursiveShapesInputOutputNested2& WithBar(const char* value) { SetBar(value); return *this;} + ///@} + + ///@{ + + AWS_RESTXMLPROTOCOL_API const RecursiveShapesInputOutputNested1& GetRecursiveMember() const; + AWS_RESTXMLPROTOCOL_API bool RecursiveMemberHasBeenSet() const; + AWS_RESTXMLPROTOCOL_API void SetRecursiveMember(const RecursiveShapesInputOutputNested1& value); + AWS_RESTXMLPROTOCOL_API void SetRecursiveMember(RecursiveShapesInputOutputNested1&& value); + AWS_RESTXMLPROTOCOL_API RecursiveShapesInputOutputNested2& WithRecursiveMember(const RecursiveShapesInputOutputNested1& value); + AWS_RESTXMLPROTOCOL_API RecursiveShapesInputOutputNested2& WithRecursiveMember(RecursiveShapesInputOutputNested1&& value); + ///@} + private: + + Aws::String m_bar; + bool m_barHasBeenSet = false; + + std::shared_ptr m_recursiveMember; + bool m_recursiveMemberHasBeenSet = false; + }; + +} // namespace Model +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/RecursiveShapesRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/RecursiveShapesRequest.h new file mode 100644 index 00000000000..323f7f90c6c --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/RecursiveShapesRequest.h @@ -0,0 +1,52 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace RestXmlProtocol +{ +namespace Model +{ + + /** + */ + class RecursiveShapesRequest : public RestXmlProtocolRequest + { + public: + AWS_RESTXMLPROTOCOL_API RecursiveShapesRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "RecursiveShapes"; } + + AWS_RESTXMLPROTOCOL_API Aws::String SerializePayload() const override; + + + ///@{ + + inline const RecursiveShapesInputOutputNested1& GetNested() const{ return m_nested; } + inline bool NestedHasBeenSet() const { return m_nestedHasBeenSet; } + inline void SetNested(const RecursiveShapesInputOutputNested1& value) { m_nestedHasBeenSet = true; m_nested = value; } + inline void SetNested(RecursiveShapesInputOutputNested1&& value) { m_nestedHasBeenSet = true; m_nested = std::move(value); } + inline RecursiveShapesRequest& WithNested(const RecursiveShapesInputOutputNested1& value) { SetNested(value); return *this;} + inline RecursiveShapesRequest& WithNested(RecursiveShapesInputOutputNested1&& value) { SetNested(std::move(value)); return *this;} + ///@} + private: + + RecursiveShapesInputOutputNested1 m_nested; + bool m_nestedHasBeenSet = false; + }; + +} // namespace Model +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/RecursiveShapesResult.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/RecursiveShapesResult.h new file mode 100644 index 00000000000..e9b3b9bacda --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/RecursiveShapesResult.h @@ -0,0 +1,64 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace RestXmlProtocol +{ +namespace Model +{ + class RecursiveShapesResult + { + public: + AWS_RESTXMLPROTOCOL_API RecursiveShapesResult(); + AWS_RESTXMLPROTOCOL_API RecursiveShapesResult(const Aws::AmazonWebServiceResult& result); + AWS_RESTXMLPROTOCOL_API RecursiveShapesResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const RecursiveShapesInputOutputNested1& GetNested() const{ return m_nested; } + inline void SetNested(const RecursiveShapesInputOutputNested1& value) { m_nested = value; } + inline void SetNested(RecursiveShapesInputOutputNested1&& value) { m_nested = std::move(value); } + inline RecursiveShapesResult& WithNested(const RecursiveShapesInputOutputNested1& value) { SetNested(value); return *this;} + inline RecursiveShapesResult& WithNested(RecursiveShapesInputOutputNested1&& value) { SetNested(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline RecursiveShapesResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline RecursiveShapesResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline RecursiveShapesResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + RecursiveShapesInputOutputNested1 m_nested; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/SimpleScalarPropertiesRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/SimpleScalarPropertiesRequest.h new file mode 100644 index 00000000000..d91161e6eed --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/SimpleScalarPropertiesRequest.h @@ -0,0 +1,159 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace RestXmlProtocol +{ +namespace Model +{ + + /** + */ + class SimpleScalarPropertiesRequest : public RestXmlProtocolRequest + { + public: + AWS_RESTXMLPROTOCOL_API SimpleScalarPropertiesRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "SimpleScalarProperties"; } + + AWS_RESTXMLPROTOCOL_API Aws::String SerializePayload() const override; + + AWS_RESTXMLPROTOCOL_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + + inline const Aws::String& GetFoo() const{ return m_foo; } + inline bool FooHasBeenSet() const { return m_fooHasBeenSet; } + inline void SetFoo(const Aws::String& value) { m_fooHasBeenSet = true; m_foo = value; } + inline void SetFoo(Aws::String&& value) { m_fooHasBeenSet = true; m_foo = std::move(value); } + inline void SetFoo(const char* value) { m_fooHasBeenSet = true; m_foo.assign(value); } + inline SimpleScalarPropertiesRequest& WithFoo(const Aws::String& value) { SetFoo(value); return *this;} + inline SimpleScalarPropertiesRequest& WithFoo(Aws::String&& value) { SetFoo(std::move(value)); return *this;} + inline SimpleScalarPropertiesRequest& WithFoo(const char* value) { SetFoo(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetStringValue() const{ return m_stringValue; } + inline bool StringValueHasBeenSet() const { return m_stringValueHasBeenSet; } + inline void SetStringValue(const Aws::String& value) { m_stringValueHasBeenSet = true; m_stringValue = value; } + inline void SetStringValue(Aws::String&& value) { m_stringValueHasBeenSet = true; m_stringValue = std::move(value); } + inline void SetStringValue(const char* value) { m_stringValueHasBeenSet = true; m_stringValue.assign(value); } + inline SimpleScalarPropertiesRequest& WithStringValue(const Aws::String& value) { SetStringValue(value); return *this;} + inline SimpleScalarPropertiesRequest& WithStringValue(Aws::String&& value) { SetStringValue(std::move(value)); return *this;} + inline SimpleScalarPropertiesRequest& WithStringValue(const char* value) { SetStringValue(value); return *this;} + ///@} + + ///@{ + + inline bool GetTrueBooleanValue() const{ return m_trueBooleanValue; } + inline bool TrueBooleanValueHasBeenSet() const { return m_trueBooleanValueHasBeenSet; } + inline void SetTrueBooleanValue(bool value) { m_trueBooleanValueHasBeenSet = true; m_trueBooleanValue = value; } + inline SimpleScalarPropertiesRequest& WithTrueBooleanValue(bool value) { SetTrueBooleanValue(value); return *this;} + ///@} + + ///@{ + + inline bool GetFalseBooleanValue() const{ return m_falseBooleanValue; } + inline bool FalseBooleanValueHasBeenSet() const { return m_falseBooleanValueHasBeenSet; } + inline void SetFalseBooleanValue(bool value) { m_falseBooleanValueHasBeenSet = true; m_falseBooleanValue = value; } + inline SimpleScalarPropertiesRequest& WithFalseBooleanValue(bool value) { SetFalseBooleanValue(value); return *this;} + ///@} + + ///@{ + + inline int GetByteValue() const{ return m_byteValue; } + inline bool ByteValueHasBeenSet() const { return m_byteValueHasBeenSet; } + inline void SetByteValue(int value) { m_byteValueHasBeenSet = true; m_byteValue = value; } + inline SimpleScalarPropertiesRequest& WithByteValue(int value) { SetByteValue(value); return *this;} + ///@} + + ///@{ + + inline int GetShortValue() const{ return m_shortValue; } + inline bool ShortValueHasBeenSet() const { return m_shortValueHasBeenSet; } + inline void SetShortValue(int value) { m_shortValueHasBeenSet = true; m_shortValue = value; } + inline SimpleScalarPropertiesRequest& WithShortValue(int value) { SetShortValue(value); return *this;} + ///@} + + ///@{ + + inline int GetIntegerValue() const{ return m_integerValue; } + inline bool IntegerValueHasBeenSet() const { return m_integerValueHasBeenSet; } + inline void SetIntegerValue(int value) { m_integerValueHasBeenSet = true; m_integerValue = value; } + inline SimpleScalarPropertiesRequest& WithIntegerValue(int value) { SetIntegerValue(value); return *this;} + ///@} + + ///@{ + + inline long long GetLongValue() const{ return m_longValue; } + inline bool LongValueHasBeenSet() const { return m_longValueHasBeenSet; } + inline void SetLongValue(long long value) { m_longValueHasBeenSet = true; m_longValue = value; } + inline SimpleScalarPropertiesRequest& WithLongValue(long long value) { SetLongValue(value); return *this;} + ///@} + + ///@{ + + inline double GetFloatValue() const{ return m_floatValue; } + inline bool FloatValueHasBeenSet() const { return m_floatValueHasBeenSet; } + inline void SetFloatValue(double value) { m_floatValueHasBeenSet = true; m_floatValue = value; } + inline SimpleScalarPropertiesRequest& WithFloatValue(double value) { SetFloatValue(value); return *this;} + ///@} + + ///@{ + + inline double GetDoubleValue() const{ return m_doubleValue; } + inline bool DoubleValueHasBeenSet() const { return m_doubleValueHasBeenSet; } + inline void SetDoubleValue(double value) { m_doubleValueHasBeenSet = true; m_doubleValue = value; } + inline SimpleScalarPropertiesRequest& WithDoubleValue(double value) { SetDoubleValue(value); return *this;} + ///@} + private: + + Aws::String m_foo; + bool m_fooHasBeenSet = false; + + Aws::String m_stringValue; + bool m_stringValueHasBeenSet = false; + + bool m_trueBooleanValue; + bool m_trueBooleanValueHasBeenSet = false; + + bool m_falseBooleanValue; + bool m_falseBooleanValueHasBeenSet = false; + + int m_byteValue; + bool m_byteValueHasBeenSet = false; + + int m_shortValue; + bool m_shortValueHasBeenSet = false; + + int m_integerValue; + bool m_integerValueHasBeenSet = false; + + long long m_longValue; + bool m_longValueHasBeenSet = false; + + double m_floatValue; + bool m_floatValueHasBeenSet = false; + + double m_doubleValue; + bool m_doubleValueHasBeenSet = false; + }; + +} // namespace Model +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/SimpleScalarPropertiesResult.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/SimpleScalarPropertiesResult.h new file mode 100644 index 00000000000..3041c304884 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/SimpleScalarPropertiesResult.h @@ -0,0 +1,150 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace RestXmlProtocol +{ +namespace Model +{ + class SimpleScalarPropertiesResult + { + public: + AWS_RESTXMLPROTOCOL_API SimpleScalarPropertiesResult(); + AWS_RESTXMLPROTOCOL_API SimpleScalarPropertiesResult(const Aws::AmazonWebServiceResult& result); + AWS_RESTXMLPROTOCOL_API SimpleScalarPropertiesResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::String& GetFoo() const{ return m_foo; } + inline void SetFoo(const Aws::String& value) { m_foo = value; } + inline void SetFoo(Aws::String&& value) { m_foo = std::move(value); } + inline void SetFoo(const char* value) { m_foo.assign(value); } + inline SimpleScalarPropertiesResult& WithFoo(const Aws::String& value) { SetFoo(value); return *this;} + inline SimpleScalarPropertiesResult& WithFoo(Aws::String&& value) { SetFoo(std::move(value)); return *this;} + inline SimpleScalarPropertiesResult& WithFoo(const char* value) { SetFoo(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetStringValue() const{ return m_stringValue; } + inline void SetStringValue(const Aws::String& value) { m_stringValue = value; } + inline void SetStringValue(Aws::String&& value) { m_stringValue = std::move(value); } + inline void SetStringValue(const char* value) { m_stringValue.assign(value); } + inline SimpleScalarPropertiesResult& WithStringValue(const Aws::String& value) { SetStringValue(value); return *this;} + inline SimpleScalarPropertiesResult& WithStringValue(Aws::String&& value) { SetStringValue(std::move(value)); return *this;} + inline SimpleScalarPropertiesResult& WithStringValue(const char* value) { SetStringValue(value); return *this;} + ///@} + + ///@{ + + inline bool GetTrueBooleanValue() const{ return m_trueBooleanValue; } + inline void SetTrueBooleanValue(bool value) { m_trueBooleanValue = value; } + inline SimpleScalarPropertiesResult& WithTrueBooleanValue(bool value) { SetTrueBooleanValue(value); return *this;} + ///@} + + ///@{ + + inline bool GetFalseBooleanValue() const{ return m_falseBooleanValue; } + inline void SetFalseBooleanValue(bool value) { m_falseBooleanValue = value; } + inline SimpleScalarPropertiesResult& WithFalseBooleanValue(bool value) { SetFalseBooleanValue(value); return *this;} + ///@} + + ///@{ + + inline int GetByteValue() const{ return m_byteValue; } + inline void SetByteValue(int value) { m_byteValue = value; } + inline SimpleScalarPropertiesResult& WithByteValue(int value) { SetByteValue(value); return *this;} + ///@} + + ///@{ + + inline int GetShortValue() const{ return m_shortValue; } + inline void SetShortValue(int value) { m_shortValue = value; } + inline SimpleScalarPropertiesResult& WithShortValue(int value) { SetShortValue(value); return *this;} + ///@} + + ///@{ + + inline int GetIntegerValue() const{ return m_integerValue; } + inline void SetIntegerValue(int value) { m_integerValue = value; } + inline SimpleScalarPropertiesResult& WithIntegerValue(int value) { SetIntegerValue(value); return *this;} + ///@} + + ///@{ + + inline long long GetLongValue() const{ return m_longValue; } + inline void SetLongValue(long long value) { m_longValue = value; } + inline SimpleScalarPropertiesResult& WithLongValue(long long value) { SetLongValue(value); return *this;} + ///@} + + ///@{ + + inline double GetFloatValue() const{ return m_floatValue; } + inline void SetFloatValue(double value) { m_floatValue = value; } + inline SimpleScalarPropertiesResult& WithFloatValue(double value) { SetFloatValue(value); return *this;} + ///@} + + ///@{ + + inline double GetDoubleValue() const{ return m_doubleValue; } + inline void SetDoubleValue(double value) { m_doubleValue = value; } + inline SimpleScalarPropertiesResult& WithDoubleValue(double value) { SetDoubleValue(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline SimpleScalarPropertiesResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline SimpleScalarPropertiesResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline SimpleScalarPropertiesResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_foo; + + Aws::String m_stringValue; + + bool m_trueBooleanValue; + + bool m_falseBooleanValue; + + int m_byteValue; + + int m_shortValue; + + int m_integerValue; + + long long m_longValue; + + double m_floatValue; + + double m_doubleValue; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/StringEnum.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/StringEnum.h new file mode 100644 index 00000000000..6a697aa1fdb --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/StringEnum.h @@ -0,0 +1,30 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace RestXmlProtocol +{ +namespace Model +{ + enum class StringEnum + { + NOT_SET, + enumvalue + }; + +namespace StringEnumMapper +{ +AWS_RESTXMLPROTOCOL_API StringEnum GetStringEnumForName(const Aws::String& name); + +AWS_RESTXMLPROTOCOL_API Aws::String GetNameForStringEnum(StringEnum value); +} // namespace StringEnumMapper +} // namespace Model +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/StructureListMember.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/StructureListMember.h new file mode 100644 index 00000000000..f32e547ad46 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/StructureListMember.h @@ -0,0 +1,69 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace RestXmlProtocol +{ +namespace Model +{ + + class StructureListMember + { + public: + AWS_RESTXMLPROTOCOL_API StructureListMember(); + AWS_RESTXMLPROTOCOL_API StructureListMember(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_RESTXMLPROTOCOL_API StructureListMember& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + AWS_RESTXMLPROTOCOL_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + ///@{ + + inline const Aws::String& GetA() const{ return m_a; } + inline bool AHasBeenSet() const { return m_aHasBeenSet; } + inline void SetA(const Aws::String& value) { m_aHasBeenSet = true; m_a = value; } + inline void SetA(Aws::String&& value) { m_aHasBeenSet = true; m_a = std::move(value); } + inline void SetA(const char* value) { m_aHasBeenSet = true; m_a.assign(value); } + inline StructureListMember& WithA(const Aws::String& value) { SetA(value); return *this;} + inline StructureListMember& WithA(Aws::String&& value) { SetA(std::move(value)); return *this;} + inline StructureListMember& WithA(const char* value) { SetA(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetB() const{ return m_b; } + inline bool BHasBeenSet() const { return m_bHasBeenSet; } + inline void SetB(const Aws::String& value) { m_bHasBeenSet = true; m_b = value; } + inline void SetB(Aws::String&& value) { m_bHasBeenSet = true; m_b = std::move(value); } + inline void SetB(const char* value) { m_bHasBeenSet = true; m_b.assign(value); } + inline StructureListMember& WithB(const Aws::String& value) { SetB(value); return *this;} + inline StructureListMember& WithB(Aws::String&& value) { SetB(std::move(value)); return *this;} + inline StructureListMember& WithB(const char* value) { SetB(value); return *this;} + ///@} + private: + + Aws::String m_a; + bool m_aHasBeenSet = false; + + Aws::String m_b; + bool m_bHasBeenSet = false; + }; + +} // namespace Model +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/TimestampFormatHeadersRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/TimestampFormatHeadersRequest.h new file mode 100644 index 00000000000..75f9cfc0dcd --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/TimestampFormatHeadersRequest.h @@ -0,0 +1,148 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace RestXmlProtocol +{ +namespace Model +{ + + /** + */ + class TimestampFormatHeadersRequest : public RestXmlProtocolRequest + { + public: + AWS_RESTXMLPROTOCOL_API TimestampFormatHeadersRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "TimestampFormatHeaders"; } + + AWS_RESTXMLPROTOCOL_API Aws::String SerializePayload() const override; + + AWS_RESTXMLPROTOCOL_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + + inline const Aws::Utils::DateTime& GetMemberEpochSeconds() const{ return m_memberEpochSeconds; } + inline bool MemberEpochSecondsHasBeenSet() const { return m_memberEpochSecondsHasBeenSet; } + inline void SetMemberEpochSeconds(const Aws::Utils::DateTime& value) { m_memberEpochSecondsHasBeenSet = true; m_memberEpochSeconds = value; } + inline void SetMemberEpochSeconds(Aws::Utils::DateTime&& value) { m_memberEpochSecondsHasBeenSet = true; m_memberEpochSeconds = std::move(value); } + inline TimestampFormatHeadersRequest& WithMemberEpochSeconds(const Aws::Utils::DateTime& value) { SetMemberEpochSeconds(value); return *this;} + inline TimestampFormatHeadersRequest& WithMemberEpochSeconds(Aws::Utils::DateTime&& value) { SetMemberEpochSeconds(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::Utils::DateTime& GetMemberHttpDate() const{ return m_memberHttpDate; } + inline bool MemberHttpDateHasBeenSet() const { return m_memberHttpDateHasBeenSet; } + inline void SetMemberHttpDate(const Aws::Utils::DateTime& value) { m_memberHttpDateHasBeenSet = true; m_memberHttpDate = value; } + inline void SetMemberHttpDate(Aws::Utils::DateTime&& value) { m_memberHttpDateHasBeenSet = true; m_memberHttpDate = std::move(value); } + inline TimestampFormatHeadersRequest& WithMemberHttpDate(const Aws::Utils::DateTime& value) { SetMemberHttpDate(value); return *this;} + inline TimestampFormatHeadersRequest& WithMemberHttpDate(Aws::Utils::DateTime&& value) { SetMemberHttpDate(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::Utils::DateTime& GetMemberDateTime() const{ return m_memberDateTime; } + inline bool MemberDateTimeHasBeenSet() const { return m_memberDateTimeHasBeenSet; } + inline void SetMemberDateTime(const Aws::Utils::DateTime& value) { m_memberDateTimeHasBeenSet = true; m_memberDateTime = value; } + inline void SetMemberDateTime(Aws::Utils::DateTime&& value) { m_memberDateTimeHasBeenSet = true; m_memberDateTime = std::move(value); } + inline TimestampFormatHeadersRequest& WithMemberDateTime(const Aws::Utils::DateTime& value) { SetMemberDateTime(value); return *this;} + inline TimestampFormatHeadersRequest& WithMemberDateTime(Aws::Utils::DateTime&& value) { SetMemberDateTime(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::Utils::DateTime& GetDefaultFormat() const{ return m_defaultFormat; } + inline bool DefaultFormatHasBeenSet() const { return m_defaultFormatHasBeenSet; } + inline void SetDefaultFormat(const Aws::Utils::DateTime& value) { m_defaultFormatHasBeenSet = true; m_defaultFormat = value; } + inline void SetDefaultFormat(Aws::Utils::DateTime&& value) { m_defaultFormatHasBeenSet = true; m_defaultFormat = std::move(value); } + inline TimestampFormatHeadersRequest& WithDefaultFormat(const Aws::Utils::DateTime& value) { SetDefaultFormat(value); return *this;} + inline TimestampFormatHeadersRequest& WithDefaultFormat(Aws::Utils::DateTime&& value) { SetDefaultFormat(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::Utils::DateTime& GetTargetEpochSeconds() const{ return m_targetEpochSeconds; } + inline bool TargetEpochSecondsHasBeenSet() const { return m_targetEpochSecondsHasBeenSet; } + inline void SetTargetEpochSeconds(const Aws::Utils::DateTime& value) { m_targetEpochSecondsHasBeenSet = true; m_targetEpochSeconds = value; } + inline void SetTargetEpochSeconds(Aws::Utils::DateTime&& value) { m_targetEpochSecondsHasBeenSet = true; m_targetEpochSeconds = std::move(value); } + inline TimestampFormatHeadersRequest& WithTargetEpochSeconds(const Aws::Utils::DateTime& value) { SetTargetEpochSeconds(value); return *this;} + inline TimestampFormatHeadersRequest& WithTargetEpochSeconds(Aws::Utils::DateTime&& value) { SetTargetEpochSeconds(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::Utils::DateTime& GetTargetHttpDate() const{ return m_targetHttpDate; } + inline bool TargetHttpDateHasBeenSet() const { return m_targetHttpDateHasBeenSet; } + inline void SetTargetHttpDate(const Aws::Utils::DateTime& value) { m_targetHttpDateHasBeenSet = true; m_targetHttpDate = value; } + inline void SetTargetHttpDate(Aws::Utils::DateTime&& value) { m_targetHttpDateHasBeenSet = true; m_targetHttpDate = std::move(value); } + inline TimestampFormatHeadersRequest& WithTargetHttpDate(const Aws::Utils::DateTime& value) { SetTargetHttpDate(value); return *this;} + inline TimestampFormatHeadersRequest& WithTargetHttpDate(Aws::Utils::DateTime&& value) { SetTargetHttpDate(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::Utils::DateTime& GetTargetDateTime() const{ return m_targetDateTime; } + inline bool TargetDateTimeHasBeenSet() const { return m_targetDateTimeHasBeenSet; } + inline void SetTargetDateTime(const Aws::Utils::DateTime& value) { m_targetDateTimeHasBeenSet = true; m_targetDateTime = value; } + inline void SetTargetDateTime(Aws::Utils::DateTime&& value) { m_targetDateTimeHasBeenSet = true; m_targetDateTime = std::move(value); } + inline TimestampFormatHeadersRequest& WithTargetDateTime(const Aws::Utils::DateTime& value) { SetTargetDateTime(value); return *this;} + inline TimestampFormatHeadersRequest& WithTargetDateTime(Aws::Utils::DateTime&& value) { SetTargetDateTime(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline bool RequestIdHasBeenSet() const { return m_requestIdHasBeenSet; } + inline void SetRequestId(const Aws::String& value) { m_requestIdHasBeenSet = true; m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestIdHasBeenSet = true; m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestIdHasBeenSet = true; m_requestId.assign(value); } + inline TimestampFormatHeadersRequest& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline TimestampFormatHeadersRequest& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline TimestampFormatHeadersRequest& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::Utils::DateTime m_memberEpochSeconds; + bool m_memberEpochSecondsHasBeenSet = false; + + Aws::Utils::DateTime m_memberHttpDate; + bool m_memberHttpDateHasBeenSet = false; + + Aws::Utils::DateTime m_memberDateTime; + bool m_memberDateTimeHasBeenSet = false; + + Aws::Utils::DateTime m_defaultFormat; + bool m_defaultFormatHasBeenSet = false; + + Aws::Utils::DateTime m_targetEpochSeconds; + bool m_targetEpochSecondsHasBeenSet = false; + + Aws::Utils::DateTime m_targetHttpDate; + bool m_targetHttpDateHasBeenSet = false; + + Aws::Utils::DateTime m_targetDateTime; + bool m_targetDateTimeHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/TimestampFormatHeadersResult.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/TimestampFormatHeadersResult.h new file mode 100644 index 00000000000..128313ec468 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/TimestampFormatHeadersResult.h @@ -0,0 +1,130 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace RestXmlProtocol +{ +namespace Model +{ + class TimestampFormatHeadersResult + { + public: + AWS_RESTXMLPROTOCOL_API TimestampFormatHeadersResult(); + AWS_RESTXMLPROTOCOL_API TimestampFormatHeadersResult(const Aws::AmazonWebServiceResult& result); + AWS_RESTXMLPROTOCOL_API TimestampFormatHeadersResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::Utils::DateTime& GetMemberEpochSeconds() const{ return m_memberEpochSeconds; } + inline void SetMemberEpochSeconds(const Aws::Utils::DateTime& value) { m_memberEpochSeconds = value; } + inline void SetMemberEpochSeconds(Aws::Utils::DateTime&& value) { m_memberEpochSeconds = std::move(value); } + inline TimestampFormatHeadersResult& WithMemberEpochSeconds(const Aws::Utils::DateTime& value) { SetMemberEpochSeconds(value); return *this;} + inline TimestampFormatHeadersResult& WithMemberEpochSeconds(Aws::Utils::DateTime&& value) { SetMemberEpochSeconds(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::Utils::DateTime& GetMemberHttpDate() const{ return m_memberHttpDate; } + inline void SetMemberHttpDate(const Aws::Utils::DateTime& value) { m_memberHttpDate = value; } + inline void SetMemberHttpDate(Aws::Utils::DateTime&& value) { m_memberHttpDate = std::move(value); } + inline TimestampFormatHeadersResult& WithMemberHttpDate(const Aws::Utils::DateTime& value) { SetMemberHttpDate(value); return *this;} + inline TimestampFormatHeadersResult& WithMemberHttpDate(Aws::Utils::DateTime&& value) { SetMemberHttpDate(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::Utils::DateTime& GetMemberDateTime() const{ return m_memberDateTime; } + inline void SetMemberDateTime(const Aws::Utils::DateTime& value) { m_memberDateTime = value; } + inline void SetMemberDateTime(Aws::Utils::DateTime&& value) { m_memberDateTime = std::move(value); } + inline TimestampFormatHeadersResult& WithMemberDateTime(const Aws::Utils::DateTime& value) { SetMemberDateTime(value); return *this;} + inline TimestampFormatHeadersResult& WithMemberDateTime(Aws::Utils::DateTime&& value) { SetMemberDateTime(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::Utils::DateTime& GetDefaultFormat() const{ return m_defaultFormat; } + inline void SetDefaultFormat(const Aws::Utils::DateTime& value) { m_defaultFormat = value; } + inline void SetDefaultFormat(Aws::Utils::DateTime&& value) { m_defaultFormat = std::move(value); } + inline TimestampFormatHeadersResult& WithDefaultFormat(const Aws::Utils::DateTime& value) { SetDefaultFormat(value); return *this;} + inline TimestampFormatHeadersResult& WithDefaultFormat(Aws::Utils::DateTime&& value) { SetDefaultFormat(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::Utils::DateTime& GetTargetEpochSeconds() const{ return m_targetEpochSeconds; } + inline void SetTargetEpochSeconds(const Aws::Utils::DateTime& value) { m_targetEpochSeconds = value; } + inline void SetTargetEpochSeconds(Aws::Utils::DateTime&& value) { m_targetEpochSeconds = std::move(value); } + inline TimestampFormatHeadersResult& WithTargetEpochSeconds(const Aws::Utils::DateTime& value) { SetTargetEpochSeconds(value); return *this;} + inline TimestampFormatHeadersResult& WithTargetEpochSeconds(Aws::Utils::DateTime&& value) { SetTargetEpochSeconds(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::Utils::DateTime& GetTargetHttpDate() const{ return m_targetHttpDate; } + inline void SetTargetHttpDate(const Aws::Utils::DateTime& value) { m_targetHttpDate = value; } + inline void SetTargetHttpDate(Aws::Utils::DateTime&& value) { m_targetHttpDate = std::move(value); } + inline TimestampFormatHeadersResult& WithTargetHttpDate(const Aws::Utils::DateTime& value) { SetTargetHttpDate(value); return *this;} + inline TimestampFormatHeadersResult& WithTargetHttpDate(Aws::Utils::DateTime&& value) { SetTargetHttpDate(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::Utils::DateTime& GetTargetDateTime() const{ return m_targetDateTime; } + inline void SetTargetDateTime(const Aws::Utils::DateTime& value) { m_targetDateTime = value; } + inline void SetTargetDateTime(Aws::Utils::DateTime&& value) { m_targetDateTime = std::move(value); } + inline TimestampFormatHeadersResult& WithTargetDateTime(const Aws::Utils::DateTime& value) { SetTargetDateTime(value); return *this;} + inline TimestampFormatHeadersResult& WithTargetDateTime(Aws::Utils::DateTime&& value) { SetTargetDateTime(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline TimestampFormatHeadersResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline TimestampFormatHeadersResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline TimestampFormatHeadersResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::Utils::DateTime m_memberEpochSeconds; + + Aws::Utils::DateTime m_memberHttpDate; + + Aws::Utils::DateTime m_memberDateTime; + + Aws::Utils::DateTime m_defaultFormat; + + Aws::Utils::DateTime m_targetEpochSeconds; + + Aws::Utils::DateTime m_targetHttpDate; + + Aws::Utils::DateTime m_targetDateTime; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/UnionPayload.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/UnionPayload.h new file mode 100644 index 00000000000..decc8b5e574 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/UnionPayload.h @@ -0,0 +1,54 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace RestXmlProtocol +{ +namespace Model +{ + + class UnionPayload + { + public: + AWS_RESTXMLPROTOCOL_API UnionPayload(); + AWS_RESTXMLPROTOCOL_API UnionPayload(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_RESTXMLPROTOCOL_API UnionPayload& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + AWS_RESTXMLPROTOCOL_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + ///@{ + + inline const Aws::String& GetGreeting() const{ return m_greeting; } + inline bool GreetingHasBeenSet() const { return m_greetingHasBeenSet; } + inline void SetGreeting(const Aws::String& value) { m_greetingHasBeenSet = true; m_greeting = value; } + inline void SetGreeting(Aws::String&& value) { m_greetingHasBeenSet = true; m_greeting = std::move(value); } + inline void SetGreeting(const char* value) { m_greetingHasBeenSet = true; m_greeting.assign(value); } + inline UnionPayload& WithGreeting(const Aws::String& value) { SetGreeting(value); return *this;} + inline UnionPayload& WithGreeting(Aws::String&& value) { SetGreeting(std::move(value)); return *this;} + inline UnionPayload& WithGreeting(const char* value) { SetGreeting(value); return *this;} + ///@} + private: + + Aws::String m_greeting; + bool m_greetingHasBeenSet = false; + }; + +} // namespace Model +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/XmlAttributesOnPayloadRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/XmlAttributesOnPayloadRequest.h new file mode 100644 index 00000000000..c8a2f9ec0bc --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/XmlAttributesOnPayloadRequest.h @@ -0,0 +1,52 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace RestXmlProtocol +{ +namespace Model +{ + + /** + */ + class XmlAttributesOnPayloadRequest : public RestXmlProtocolRequest + { + public: + AWS_RESTXMLPROTOCOL_API XmlAttributesOnPayloadRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "XmlAttributesOnPayload"; } + + AWS_RESTXMLPROTOCOL_API Aws::String SerializePayload() const override; + + + ///@{ + + inline const XmlAttributesPayloadRequest& GetPayload() const{ return m_payload; } + inline bool PayloadHasBeenSet() const { return m_payloadHasBeenSet; } + inline void SetPayload(const XmlAttributesPayloadRequest& value) { m_payloadHasBeenSet = true; m_payload = value; } + inline void SetPayload(XmlAttributesPayloadRequest&& value) { m_payloadHasBeenSet = true; m_payload = std::move(value); } + inline XmlAttributesOnPayloadRequest& WithPayload(const XmlAttributesPayloadRequest& value) { SetPayload(value); return *this;} + inline XmlAttributesOnPayloadRequest& WithPayload(XmlAttributesPayloadRequest&& value) { SetPayload(std::move(value)); return *this;} + ///@} + private: + + XmlAttributesPayloadRequest m_payload; + bool m_payloadHasBeenSet = false; + }; + +} // namespace Model +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/XmlAttributesOnPayloadResult.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/XmlAttributesOnPayloadResult.h new file mode 100644 index 00000000000..3d36e698784 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/XmlAttributesOnPayloadResult.h @@ -0,0 +1,64 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace RestXmlProtocol +{ +namespace Model +{ + class XmlAttributesOnPayloadResult + { + public: + AWS_RESTXMLPROTOCOL_API XmlAttributesOnPayloadResult(); + AWS_RESTXMLPROTOCOL_API XmlAttributesOnPayloadResult(const Aws::AmazonWebServiceResult& result); + AWS_RESTXMLPROTOCOL_API XmlAttributesOnPayloadResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const XmlAttributesPayloadResponse& GetPayload() const{ return m_payload; } + inline void SetPayload(const XmlAttributesPayloadResponse& value) { m_payload = value; } + inline void SetPayload(XmlAttributesPayloadResponse&& value) { m_payload = std::move(value); } + inline XmlAttributesOnPayloadResult& WithPayload(const XmlAttributesPayloadResponse& value) { SetPayload(value); return *this;} + inline XmlAttributesOnPayloadResult& WithPayload(XmlAttributesPayloadResponse&& value) { SetPayload(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline XmlAttributesOnPayloadResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline XmlAttributesOnPayloadResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline XmlAttributesOnPayloadResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + XmlAttributesPayloadResponse m_payload; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/XmlAttributesPayloadRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/XmlAttributesPayloadRequest.h new file mode 100644 index 00000000000..ef0ebc33469 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/XmlAttributesPayloadRequest.h @@ -0,0 +1,69 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace RestXmlProtocol +{ +namespace Model +{ + + class XmlAttributesPayloadRequest + { + public: + AWS_RESTXMLPROTOCOL_API XmlAttributesPayloadRequest(); + AWS_RESTXMLPROTOCOL_API XmlAttributesPayloadRequest(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_RESTXMLPROTOCOL_API XmlAttributesPayloadRequest& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + AWS_RESTXMLPROTOCOL_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + ///@{ + + inline const Aws::String& GetFoo() const{ return m_foo; } + inline bool FooHasBeenSet() const { return m_fooHasBeenSet; } + inline void SetFoo(const Aws::String& value) { m_fooHasBeenSet = true; m_foo = value; } + inline void SetFoo(Aws::String&& value) { m_fooHasBeenSet = true; m_foo = std::move(value); } + inline void SetFoo(const char* value) { m_fooHasBeenSet = true; m_foo.assign(value); } + inline XmlAttributesPayloadRequest& WithFoo(const Aws::String& value) { SetFoo(value); return *this;} + inline XmlAttributesPayloadRequest& WithFoo(Aws::String&& value) { SetFoo(std::move(value)); return *this;} + inline XmlAttributesPayloadRequest& WithFoo(const char* value) { SetFoo(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetAttr() const{ return m_attr; } + inline bool AttrHasBeenSet() const { return m_attrHasBeenSet; } + inline void SetAttr(const Aws::String& value) { m_attrHasBeenSet = true; m_attr = value; } + inline void SetAttr(Aws::String&& value) { m_attrHasBeenSet = true; m_attr = std::move(value); } + inline void SetAttr(const char* value) { m_attrHasBeenSet = true; m_attr.assign(value); } + inline XmlAttributesPayloadRequest& WithAttr(const Aws::String& value) { SetAttr(value); return *this;} + inline XmlAttributesPayloadRequest& WithAttr(Aws::String&& value) { SetAttr(std::move(value)); return *this;} + inline XmlAttributesPayloadRequest& WithAttr(const char* value) { SetAttr(value); return *this;} + ///@} + private: + + Aws::String m_foo; + bool m_fooHasBeenSet = false; + + Aws::String m_attr; + bool m_attrHasBeenSet = false; + }; + +} // namespace Model +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/XmlAttributesPayloadResponse.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/XmlAttributesPayloadResponse.h new file mode 100644 index 00000000000..18be928682f --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/XmlAttributesPayloadResponse.h @@ -0,0 +1,69 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace RestXmlProtocol +{ +namespace Model +{ + + class XmlAttributesPayloadResponse + { + public: + AWS_RESTXMLPROTOCOL_API XmlAttributesPayloadResponse(); + AWS_RESTXMLPROTOCOL_API XmlAttributesPayloadResponse(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_RESTXMLPROTOCOL_API XmlAttributesPayloadResponse& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + AWS_RESTXMLPROTOCOL_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + ///@{ + + inline const Aws::String& GetFoo() const{ return m_foo; } + inline bool FooHasBeenSet() const { return m_fooHasBeenSet; } + inline void SetFoo(const Aws::String& value) { m_fooHasBeenSet = true; m_foo = value; } + inline void SetFoo(Aws::String&& value) { m_fooHasBeenSet = true; m_foo = std::move(value); } + inline void SetFoo(const char* value) { m_fooHasBeenSet = true; m_foo.assign(value); } + inline XmlAttributesPayloadResponse& WithFoo(const Aws::String& value) { SetFoo(value); return *this;} + inline XmlAttributesPayloadResponse& WithFoo(Aws::String&& value) { SetFoo(std::move(value)); return *this;} + inline XmlAttributesPayloadResponse& WithFoo(const char* value) { SetFoo(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetAttr() const{ return m_attr; } + inline bool AttrHasBeenSet() const { return m_attrHasBeenSet; } + inline void SetAttr(const Aws::String& value) { m_attrHasBeenSet = true; m_attr = value; } + inline void SetAttr(Aws::String&& value) { m_attrHasBeenSet = true; m_attr = std::move(value); } + inline void SetAttr(const char* value) { m_attrHasBeenSet = true; m_attr.assign(value); } + inline XmlAttributesPayloadResponse& WithAttr(const Aws::String& value) { SetAttr(value); return *this;} + inline XmlAttributesPayloadResponse& WithAttr(Aws::String&& value) { SetAttr(std::move(value)); return *this;} + inline XmlAttributesPayloadResponse& WithAttr(const char* value) { SetAttr(value); return *this;} + ///@} + private: + + Aws::String m_foo; + bool m_fooHasBeenSet = false; + + Aws::String m_attr; + bool m_attrHasBeenSet = false; + }; + +} // namespace Model +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/XmlAttributesRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/XmlAttributesRequest.h new file mode 100644 index 00000000000..00534122960 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/XmlAttributesRequest.h @@ -0,0 +1,69 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace RestXmlProtocol +{ +namespace Model +{ + + /** + */ + class XmlAttributesRequest : public RestXmlProtocolRequest + { + public: + AWS_RESTXMLPROTOCOL_API XmlAttributesRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "XmlAttributes"; } + + AWS_RESTXMLPROTOCOL_API Aws::String SerializePayload() const override; + + + ///@{ + + inline const Aws::String& GetFoo() const{ return m_foo; } + inline bool FooHasBeenSet() const { return m_fooHasBeenSet; } + inline void SetFoo(const Aws::String& value) { m_fooHasBeenSet = true; m_foo = value; } + inline void SetFoo(Aws::String&& value) { m_fooHasBeenSet = true; m_foo = std::move(value); } + inline void SetFoo(const char* value) { m_fooHasBeenSet = true; m_foo.assign(value); } + inline XmlAttributesRequest& WithFoo(const Aws::String& value) { SetFoo(value); return *this;} + inline XmlAttributesRequest& WithFoo(Aws::String&& value) { SetFoo(std::move(value)); return *this;} + inline XmlAttributesRequest& WithFoo(const char* value) { SetFoo(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetAttr() const{ return m_attr; } + inline bool AttrHasBeenSet() const { return m_attrHasBeenSet; } + inline void SetAttr(const Aws::String& value) { m_attrHasBeenSet = true; m_attr = value; } + inline void SetAttr(Aws::String&& value) { m_attrHasBeenSet = true; m_attr = std::move(value); } + inline void SetAttr(const char* value) { m_attrHasBeenSet = true; m_attr.assign(value); } + inline XmlAttributesRequest& WithAttr(const Aws::String& value) { SetAttr(value); return *this;} + inline XmlAttributesRequest& WithAttr(Aws::String&& value) { SetAttr(std::move(value)); return *this;} + inline XmlAttributesRequest& WithAttr(const char* value) { SetAttr(value); return *this;} + ///@} + private: + + Aws::String m_foo; + bool m_fooHasBeenSet = false; + + Aws::String m_attr; + bool m_attrHasBeenSet = false; + }; + +} // namespace Model +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/XmlAttributesResult.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/XmlAttributesResult.h new file mode 100644 index 00000000000..bce1971bd5d --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/XmlAttributesResult.h @@ -0,0 +1,78 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace RestXmlProtocol +{ +namespace Model +{ + class XmlAttributesResult + { + public: + AWS_RESTXMLPROTOCOL_API XmlAttributesResult(); + AWS_RESTXMLPROTOCOL_API XmlAttributesResult(const Aws::AmazonWebServiceResult& result); + AWS_RESTXMLPROTOCOL_API XmlAttributesResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::String& GetFoo() const{ return m_foo; } + inline void SetFoo(const Aws::String& value) { m_foo = value; } + inline void SetFoo(Aws::String&& value) { m_foo = std::move(value); } + inline void SetFoo(const char* value) { m_foo.assign(value); } + inline XmlAttributesResult& WithFoo(const Aws::String& value) { SetFoo(value); return *this;} + inline XmlAttributesResult& WithFoo(Aws::String&& value) { SetFoo(std::move(value)); return *this;} + inline XmlAttributesResult& WithFoo(const char* value) { SetFoo(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetAttr() const{ return m_attr; } + inline void SetAttr(const Aws::String& value) { m_attr = value; } + inline void SetAttr(Aws::String&& value) { m_attr = std::move(value); } + inline void SetAttr(const char* value) { m_attr.assign(value); } + inline XmlAttributesResult& WithAttr(const Aws::String& value) { SetAttr(value); return *this;} + inline XmlAttributesResult& WithAttr(Aws::String&& value) { SetAttr(std::move(value)); return *this;} + inline XmlAttributesResult& WithAttr(const char* value) { SetAttr(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline XmlAttributesResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline XmlAttributesResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline XmlAttributesResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_foo; + + Aws::String m_attr; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/XmlBlobsRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/XmlBlobsRequest.h new file mode 100644 index 00000000000..7ff6c55d736 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/XmlBlobsRequest.h @@ -0,0 +1,52 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace RestXmlProtocol +{ +namespace Model +{ + + /** + */ + class XmlBlobsRequest : public RestXmlProtocolRequest + { + public: + AWS_RESTXMLPROTOCOL_API XmlBlobsRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "XmlBlobs"; } + + AWS_RESTXMLPROTOCOL_API Aws::String SerializePayload() const override; + + + ///@{ + + inline const Aws::Utils::ByteBuffer& GetData() const{ return m_data; } + inline bool DataHasBeenSet() const { return m_dataHasBeenSet; } + inline void SetData(const Aws::Utils::ByteBuffer& value) { m_dataHasBeenSet = true; m_data = value; } + inline void SetData(Aws::Utils::ByteBuffer&& value) { m_dataHasBeenSet = true; m_data = std::move(value); } + inline XmlBlobsRequest& WithData(const Aws::Utils::ByteBuffer& value) { SetData(value); return *this;} + inline XmlBlobsRequest& WithData(Aws::Utils::ByteBuffer&& value) { SetData(std::move(value)); return *this;} + ///@} + private: + + Aws::Utils::ByteBuffer m_data; + bool m_dataHasBeenSet = false; + }; + +} // namespace Model +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/XmlBlobsResult.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/XmlBlobsResult.h new file mode 100644 index 00000000000..cb1ce9faa2b --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/XmlBlobsResult.h @@ -0,0 +1,64 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace RestXmlProtocol +{ +namespace Model +{ + class XmlBlobsResult + { + public: + AWS_RESTXMLPROTOCOL_API XmlBlobsResult(); + AWS_RESTXMLPROTOCOL_API XmlBlobsResult(const Aws::AmazonWebServiceResult& result); + AWS_RESTXMLPROTOCOL_API XmlBlobsResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::Utils::ByteBuffer& GetData() const{ return m_data; } + inline void SetData(const Aws::Utils::ByteBuffer& value) { m_data = value; } + inline void SetData(Aws::Utils::ByteBuffer&& value) { m_data = std::move(value); } + inline XmlBlobsResult& WithData(const Aws::Utils::ByteBuffer& value) { SetData(value); return *this;} + inline XmlBlobsResult& WithData(Aws::Utils::ByteBuffer&& value) { SetData(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline XmlBlobsResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline XmlBlobsResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline XmlBlobsResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::Utils::ByteBuffer m_data; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/XmlEmptyBlobsRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/XmlEmptyBlobsRequest.h new file mode 100644 index 00000000000..dadae46740c --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/XmlEmptyBlobsRequest.h @@ -0,0 +1,52 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace RestXmlProtocol +{ +namespace Model +{ + + /** + */ + class XmlEmptyBlobsRequest : public RestXmlProtocolRequest + { + public: + AWS_RESTXMLPROTOCOL_API XmlEmptyBlobsRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "XmlEmptyBlobs"; } + + AWS_RESTXMLPROTOCOL_API Aws::String SerializePayload() const override; + + + ///@{ + + inline const Aws::Utils::ByteBuffer& GetData() const{ return m_data; } + inline bool DataHasBeenSet() const { return m_dataHasBeenSet; } + inline void SetData(const Aws::Utils::ByteBuffer& value) { m_dataHasBeenSet = true; m_data = value; } + inline void SetData(Aws::Utils::ByteBuffer&& value) { m_dataHasBeenSet = true; m_data = std::move(value); } + inline XmlEmptyBlobsRequest& WithData(const Aws::Utils::ByteBuffer& value) { SetData(value); return *this;} + inline XmlEmptyBlobsRequest& WithData(Aws::Utils::ByteBuffer&& value) { SetData(std::move(value)); return *this;} + ///@} + private: + + Aws::Utils::ByteBuffer m_data; + bool m_dataHasBeenSet = false; + }; + +} // namespace Model +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/XmlEmptyBlobsResult.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/XmlEmptyBlobsResult.h new file mode 100644 index 00000000000..fa22f12587d --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/XmlEmptyBlobsResult.h @@ -0,0 +1,64 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace RestXmlProtocol +{ +namespace Model +{ + class XmlEmptyBlobsResult + { + public: + AWS_RESTXMLPROTOCOL_API XmlEmptyBlobsResult(); + AWS_RESTXMLPROTOCOL_API XmlEmptyBlobsResult(const Aws::AmazonWebServiceResult& result); + AWS_RESTXMLPROTOCOL_API XmlEmptyBlobsResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::Utils::ByteBuffer& GetData() const{ return m_data; } + inline void SetData(const Aws::Utils::ByteBuffer& value) { m_data = value; } + inline void SetData(Aws::Utils::ByteBuffer&& value) { m_data = std::move(value); } + inline XmlEmptyBlobsResult& WithData(const Aws::Utils::ByteBuffer& value) { SetData(value); return *this;} + inline XmlEmptyBlobsResult& WithData(Aws::Utils::ByteBuffer&& value) { SetData(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline XmlEmptyBlobsResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline XmlEmptyBlobsResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline XmlEmptyBlobsResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::Utils::ByteBuffer m_data; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/XmlEmptyListsRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/XmlEmptyListsRequest.h new file mode 100644 index 00000000000..31bf2e93b97 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/XmlEmptyListsRequest.h @@ -0,0 +1,272 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace RestXmlProtocol +{ +namespace Model +{ + + /** + */ + class XmlEmptyListsRequest : public RestXmlProtocolRequest + { + public: + AWS_RESTXMLPROTOCOL_API XmlEmptyListsRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "XmlEmptyLists"; } + + AWS_RESTXMLPROTOCOL_API Aws::String SerializePayload() const override; + + + ///@{ + + inline const Aws::Vector& GetStringList() const{ return m_stringList; } + inline bool StringListHasBeenSet() const { return m_stringListHasBeenSet; } + inline void SetStringList(const Aws::Vector& value) { m_stringListHasBeenSet = true; m_stringList = value; } + inline void SetStringList(Aws::Vector&& value) { m_stringListHasBeenSet = true; m_stringList = std::move(value); } + inline XmlEmptyListsRequest& WithStringList(const Aws::Vector& value) { SetStringList(value); return *this;} + inline XmlEmptyListsRequest& WithStringList(Aws::Vector&& value) { SetStringList(std::move(value)); return *this;} + inline XmlEmptyListsRequest& AddStringList(const Aws::String& value) { m_stringListHasBeenSet = true; m_stringList.push_back(value); return *this; } + inline XmlEmptyListsRequest& AddStringList(Aws::String&& value) { m_stringListHasBeenSet = true; m_stringList.push_back(std::move(value)); return *this; } + inline XmlEmptyListsRequest& AddStringList(const char* value) { m_stringListHasBeenSet = true; m_stringList.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetStringSet() const{ return m_stringSet; } + inline bool StringSetHasBeenSet() const { return m_stringSetHasBeenSet; } + inline void SetStringSet(const Aws::Vector& value) { m_stringSetHasBeenSet = true; m_stringSet = value; } + inline void SetStringSet(Aws::Vector&& value) { m_stringSetHasBeenSet = true; m_stringSet = std::move(value); } + inline XmlEmptyListsRequest& WithStringSet(const Aws::Vector& value) { SetStringSet(value); return *this;} + inline XmlEmptyListsRequest& WithStringSet(Aws::Vector&& value) { SetStringSet(std::move(value)); return *this;} + inline XmlEmptyListsRequest& AddStringSet(const Aws::String& value) { m_stringSetHasBeenSet = true; m_stringSet.push_back(value); return *this; } + inline XmlEmptyListsRequest& AddStringSet(Aws::String&& value) { m_stringSetHasBeenSet = true; m_stringSet.push_back(std::move(value)); return *this; } + inline XmlEmptyListsRequest& AddStringSet(const char* value) { m_stringSetHasBeenSet = true; m_stringSet.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetIntegerList() const{ return m_integerList; } + inline bool IntegerListHasBeenSet() const { return m_integerListHasBeenSet; } + inline void SetIntegerList(const Aws::Vector& value) { m_integerListHasBeenSet = true; m_integerList = value; } + inline void SetIntegerList(Aws::Vector&& value) { m_integerListHasBeenSet = true; m_integerList = std::move(value); } + inline XmlEmptyListsRequest& WithIntegerList(const Aws::Vector& value) { SetIntegerList(value); return *this;} + inline XmlEmptyListsRequest& WithIntegerList(Aws::Vector&& value) { SetIntegerList(std::move(value)); return *this;} + inline XmlEmptyListsRequest& AddIntegerList(int value) { m_integerListHasBeenSet = true; m_integerList.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetBooleanList() const{ return m_booleanList; } + inline bool BooleanListHasBeenSet() const { return m_booleanListHasBeenSet; } + inline void SetBooleanList(const Aws::Vector& value) { m_booleanListHasBeenSet = true; m_booleanList = value; } + inline void SetBooleanList(Aws::Vector&& value) { m_booleanListHasBeenSet = true; m_booleanList = std::move(value); } + inline XmlEmptyListsRequest& WithBooleanList(const Aws::Vector& value) { SetBooleanList(value); return *this;} + inline XmlEmptyListsRequest& WithBooleanList(Aws::Vector&& value) { SetBooleanList(std::move(value)); return *this;} + inline XmlEmptyListsRequest& AddBooleanList(bool value) { m_booleanListHasBeenSet = true; m_booleanList.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetTimestampList() const{ return m_timestampList; } + inline bool TimestampListHasBeenSet() const { return m_timestampListHasBeenSet; } + inline void SetTimestampList(const Aws::Vector& value) { m_timestampListHasBeenSet = true; m_timestampList = value; } + inline void SetTimestampList(Aws::Vector&& value) { m_timestampListHasBeenSet = true; m_timestampList = std::move(value); } + inline XmlEmptyListsRequest& WithTimestampList(const Aws::Vector& value) { SetTimestampList(value); return *this;} + inline XmlEmptyListsRequest& WithTimestampList(Aws::Vector&& value) { SetTimestampList(std::move(value)); return *this;} + inline XmlEmptyListsRequest& AddTimestampList(const Aws::Utils::DateTime& value) { m_timestampListHasBeenSet = true; m_timestampList.push_back(value); return *this; } + inline XmlEmptyListsRequest& AddTimestampList(Aws::Utils::DateTime&& value) { m_timestampListHasBeenSet = true; m_timestampList.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetEnumList() const{ return m_enumList; } + inline bool EnumListHasBeenSet() const { return m_enumListHasBeenSet; } + inline void SetEnumList(const Aws::Vector& value) { m_enumListHasBeenSet = true; m_enumList = value; } + inline void SetEnumList(Aws::Vector&& value) { m_enumListHasBeenSet = true; m_enumList = std::move(value); } + inline XmlEmptyListsRequest& WithEnumList(const Aws::Vector& value) { SetEnumList(value); return *this;} + inline XmlEmptyListsRequest& WithEnumList(Aws::Vector&& value) { SetEnumList(std::move(value)); return *this;} + inline XmlEmptyListsRequest& AddEnumList(const FooEnum& value) { m_enumListHasBeenSet = true; m_enumList.push_back(value); return *this; } + inline XmlEmptyListsRequest& AddEnumList(FooEnum&& value) { m_enumListHasBeenSet = true; m_enumList.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetIntEnumList() const{ return m_intEnumList; } + inline bool IntEnumListHasBeenSet() const { return m_intEnumListHasBeenSet; } + inline void SetIntEnumList(const Aws::Vector& value) { m_intEnumListHasBeenSet = true; m_intEnumList = value; } + inline void SetIntEnumList(Aws::Vector&& value) { m_intEnumListHasBeenSet = true; m_intEnumList = std::move(value); } + inline XmlEmptyListsRequest& WithIntEnumList(const Aws::Vector& value) { SetIntEnumList(value); return *this;} + inline XmlEmptyListsRequest& WithIntEnumList(Aws::Vector&& value) { SetIntEnumList(std::move(value)); return *this;} + inline XmlEmptyListsRequest& AddIntEnumList(int value) { m_intEnumListHasBeenSet = true; m_intEnumList.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector>& GetNestedStringList() const{ return m_nestedStringList; } + inline bool NestedStringListHasBeenSet() const { return m_nestedStringListHasBeenSet; } + inline void SetNestedStringList(const Aws::Vector>& value) { m_nestedStringListHasBeenSet = true; m_nestedStringList = value; } + inline void SetNestedStringList(Aws::Vector>&& value) { m_nestedStringListHasBeenSet = true; m_nestedStringList = std::move(value); } + inline XmlEmptyListsRequest& WithNestedStringList(const Aws::Vector>& value) { SetNestedStringList(value); return *this;} + inline XmlEmptyListsRequest& WithNestedStringList(Aws::Vector>&& value) { SetNestedStringList(std::move(value)); return *this;} + inline XmlEmptyListsRequest& AddNestedStringList(const Aws::Vector& value) { m_nestedStringListHasBeenSet = true; m_nestedStringList.push_back(value); return *this; } + inline XmlEmptyListsRequest& AddNestedStringList(Aws::Vector&& value) { m_nestedStringListHasBeenSet = true; m_nestedStringList.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetRenamedListMembers() const{ return m_renamedListMembers; } + inline bool RenamedListMembersHasBeenSet() const { return m_renamedListMembersHasBeenSet; } + inline void SetRenamedListMembers(const Aws::Vector& value) { m_renamedListMembersHasBeenSet = true; m_renamedListMembers = value; } + inline void SetRenamedListMembers(Aws::Vector&& value) { m_renamedListMembersHasBeenSet = true; m_renamedListMembers = std::move(value); } + inline XmlEmptyListsRequest& WithRenamedListMembers(const Aws::Vector& value) { SetRenamedListMembers(value); return *this;} + inline XmlEmptyListsRequest& WithRenamedListMembers(Aws::Vector&& value) { SetRenamedListMembers(std::move(value)); return *this;} + inline XmlEmptyListsRequest& AddRenamedListMembers(const Aws::String& value) { m_renamedListMembersHasBeenSet = true; m_renamedListMembers.push_back(value); return *this; } + inline XmlEmptyListsRequest& AddRenamedListMembers(Aws::String&& value) { m_renamedListMembersHasBeenSet = true; m_renamedListMembers.push_back(std::move(value)); return *this; } + inline XmlEmptyListsRequest& AddRenamedListMembers(const char* value) { m_renamedListMembersHasBeenSet = true; m_renamedListMembers.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetFlattenedList() const{ return m_flattenedList; } + inline bool FlattenedListHasBeenSet() const { return m_flattenedListHasBeenSet; } + inline void SetFlattenedList(const Aws::Vector& value) { m_flattenedListHasBeenSet = true; m_flattenedList = value; } + inline void SetFlattenedList(Aws::Vector&& value) { m_flattenedListHasBeenSet = true; m_flattenedList = std::move(value); } + inline XmlEmptyListsRequest& WithFlattenedList(const Aws::Vector& value) { SetFlattenedList(value); return *this;} + inline XmlEmptyListsRequest& WithFlattenedList(Aws::Vector&& value) { SetFlattenedList(std::move(value)); return *this;} + inline XmlEmptyListsRequest& AddFlattenedList(const Aws::String& value) { m_flattenedListHasBeenSet = true; m_flattenedList.push_back(value); return *this; } + inline XmlEmptyListsRequest& AddFlattenedList(Aws::String&& value) { m_flattenedListHasBeenSet = true; m_flattenedList.push_back(std::move(value)); return *this; } + inline XmlEmptyListsRequest& AddFlattenedList(const char* value) { m_flattenedListHasBeenSet = true; m_flattenedList.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetFlattenedList2() const{ return m_flattenedList2; } + inline bool FlattenedList2HasBeenSet() const { return m_flattenedList2HasBeenSet; } + inline void SetFlattenedList2(const Aws::Vector& value) { m_flattenedList2HasBeenSet = true; m_flattenedList2 = value; } + inline void SetFlattenedList2(Aws::Vector&& value) { m_flattenedList2HasBeenSet = true; m_flattenedList2 = std::move(value); } + inline XmlEmptyListsRequest& WithFlattenedList2(const Aws::Vector& value) { SetFlattenedList2(value); return *this;} + inline XmlEmptyListsRequest& WithFlattenedList2(Aws::Vector&& value) { SetFlattenedList2(std::move(value)); return *this;} + inline XmlEmptyListsRequest& AddFlattenedList2(const Aws::String& value) { m_flattenedList2HasBeenSet = true; m_flattenedList2.push_back(value); return *this; } + inline XmlEmptyListsRequest& AddFlattenedList2(Aws::String&& value) { m_flattenedList2HasBeenSet = true; m_flattenedList2.push_back(std::move(value)); return *this; } + inline XmlEmptyListsRequest& AddFlattenedList2(const char* value) { m_flattenedList2HasBeenSet = true; m_flattenedList2.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetFlattenedListWithMemberNamespace() const{ return m_flattenedListWithMemberNamespace; } + inline bool FlattenedListWithMemberNamespaceHasBeenSet() const { return m_flattenedListWithMemberNamespaceHasBeenSet; } + inline void SetFlattenedListWithMemberNamespace(const Aws::Vector& value) { m_flattenedListWithMemberNamespaceHasBeenSet = true; m_flattenedListWithMemberNamespace = value; } + inline void SetFlattenedListWithMemberNamespace(Aws::Vector&& value) { m_flattenedListWithMemberNamespaceHasBeenSet = true; m_flattenedListWithMemberNamespace = std::move(value); } + inline XmlEmptyListsRequest& WithFlattenedListWithMemberNamespace(const Aws::Vector& value) { SetFlattenedListWithMemberNamespace(value); return *this;} + inline XmlEmptyListsRequest& WithFlattenedListWithMemberNamespace(Aws::Vector&& value) { SetFlattenedListWithMemberNamespace(std::move(value)); return *this;} + inline XmlEmptyListsRequest& AddFlattenedListWithMemberNamespace(const Aws::String& value) { m_flattenedListWithMemberNamespaceHasBeenSet = true; m_flattenedListWithMemberNamespace.push_back(value); return *this; } + inline XmlEmptyListsRequest& AddFlattenedListWithMemberNamespace(Aws::String&& value) { m_flattenedListWithMemberNamespaceHasBeenSet = true; m_flattenedListWithMemberNamespace.push_back(std::move(value)); return *this; } + inline XmlEmptyListsRequest& AddFlattenedListWithMemberNamespace(const char* value) { m_flattenedListWithMemberNamespaceHasBeenSet = true; m_flattenedListWithMemberNamespace.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetFlattenedListWithNamespace() const{ return m_flattenedListWithNamespace; } + inline bool FlattenedListWithNamespaceHasBeenSet() const { return m_flattenedListWithNamespaceHasBeenSet; } + inline void SetFlattenedListWithNamespace(const Aws::Vector& value) { m_flattenedListWithNamespaceHasBeenSet = true; m_flattenedListWithNamespace = value; } + inline void SetFlattenedListWithNamespace(Aws::Vector&& value) { m_flattenedListWithNamespaceHasBeenSet = true; m_flattenedListWithNamespace = std::move(value); } + inline XmlEmptyListsRequest& WithFlattenedListWithNamespace(const Aws::Vector& value) { SetFlattenedListWithNamespace(value); return *this;} + inline XmlEmptyListsRequest& WithFlattenedListWithNamespace(Aws::Vector&& value) { SetFlattenedListWithNamespace(std::move(value)); return *this;} + inline XmlEmptyListsRequest& AddFlattenedListWithNamespace(const Aws::String& value) { m_flattenedListWithNamespaceHasBeenSet = true; m_flattenedListWithNamespace.push_back(value); return *this; } + inline XmlEmptyListsRequest& AddFlattenedListWithNamespace(Aws::String&& value) { m_flattenedListWithNamespaceHasBeenSet = true; m_flattenedListWithNamespace.push_back(std::move(value)); return *this; } + inline XmlEmptyListsRequest& AddFlattenedListWithNamespace(const char* value) { m_flattenedListWithNamespaceHasBeenSet = true; m_flattenedListWithNamespace.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetStructureList() const{ return m_structureList; } + inline bool StructureListHasBeenSet() const { return m_structureListHasBeenSet; } + inline void SetStructureList(const Aws::Vector& value) { m_structureListHasBeenSet = true; m_structureList = value; } + inline void SetStructureList(Aws::Vector&& value) { m_structureListHasBeenSet = true; m_structureList = std::move(value); } + inline XmlEmptyListsRequest& WithStructureList(const Aws::Vector& value) { SetStructureList(value); return *this;} + inline XmlEmptyListsRequest& WithStructureList(Aws::Vector&& value) { SetStructureList(std::move(value)); return *this;} + inline XmlEmptyListsRequest& AddStructureList(const StructureListMember& value) { m_structureListHasBeenSet = true; m_structureList.push_back(value); return *this; } + inline XmlEmptyListsRequest& AddStructureList(StructureListMember&& value) { m_structureListHasBeenSet = true; m_structureList.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetFlattenedStructureList() const{ return m_flattenedStructureList; } + inline bool FlattenedStructureListHasBeenSet() const { return m_flattenedStructureListHasBeenSet; } + inline void SetFlattenedStructureList(const Aws::Vector& value) { m_flattenedStructureListHasBeenSet = true; m_flattenedStructureList = value; } + inline void SetFlattenedStructureList(Aws::Vector&& value) { m_flattenedStructureListHasBeenSet = true; m_flattenedStructureList = std::move(value); } + inline XmlEmptyListsRequest& WithFlattenedStructureList(const Aws::Vector& value) { SetFlattenedStructureList(value); return *this;} + inline XmlEmptyListsRequest& WithFlattenedStructureList(Aws::Vector&& value) { SetFlattenedStructureList(std::move(value)); return *this;} + inline XmlEmptyListsRequest& AddFlattenedStructureList(const StructureListMember& value) { m_flattenedStructureListHasBeenSet = true; m_flattenedStructureList.push_back(value); return *this; } + inline XmlEmptyListsRequest& AddFlattenedStructureList(StructureListMember&& value) { m_flattenedStructureListHasBeenSet = true; m_flattenedStructureList.push_back(std::move(value)); return *this; } + ///@} + private: + + Aws::Vector m_stringList; + bool m_stringListHasBeenSet = false; + + Aws::Vector m_stringSet; + bool m_stringSetHasBeenSet = false; + + Aws::Vector m_integerList; + bool m_integerListHasBeenSet = false; + + Aws::Vector m_booleanList; + bool m_booleanListHasBeenSet = false; + + Aws::Vector m_timestampList; + bool m_timestampListHasBeenSet = false; + + Aws::Vector m_enumList; + bool m_enumListHasBeenSet = false; + + Aws::Vector m_intEnumList; + bool m_intEnumListHasBeenSet = false; + + Aws::Vector> m_nestedStringList; + bool m_nestedStringListHasBeenSet = false; + + Aws::Vector m_renamedListMembers; + bool m_renamedListMembersHasBeenSet = false; + + Aws::Vector m_flattenedList; + bool m_flattenedListHasBeenSet = false; + + Aws::Vector m_flattenedList2; + bool m_flattenedList2HasBeenSet = false; + + Aws::Vector m_flattenedListWithMemberNamespace; + bool m_flattenedListWithMemberNamespaceHasBeenSet = false; + + Aws::Vector m_flattenedListWithNamespace; + bool m_flattenedListWithNamespaceHasBeenSet = false; + + Aws::Vector m_structureList; + bool m_structureListHasBeenSet = false; + + Aws::Vector m_flattenedStructureList; + bool m_flattenedStructureListHasBeenSet = false; + }; + +} // namespace Model +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/XmlEmptyListsResult.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/XmlEmptyListsResult.h new file mode 100644 index 00000000000..d6ab1aec867 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/XmlEmptyListsResult.h @@ -0,0 +1,255 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace RestXmlProtocol +{ +namespace Model +{ + class XmlEmptyListsResult + { + public: + AWS_RESTXMLPROTOCOL_API XmlEmptyListsResult(); + AWS_RESTXMLPROTOCOL_API XmlEmptyListsResult(const Aws::AmazonWebServiceResult& result); + AWS_RESTXMLPROTOCOL_API XmlEmptyListsResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::Vector& GetStringList() const{ return m_stringList; } + inline void SetStringList(const Aws::Vector& value) { m_stringList = value; } + inline void SetStringList(Aws::Vector&& value) { m_stringList = std::move(value); } + inline XmlEmptyListsResult& WithStringList(const Aws::Vector& value) { SetStringList(value); return *this;} + inline XmlEmptyListsResult& WithStringList(Aws::Vector&& value) { SetStringList(std::move(value)); return *this;} + inline XmlEmptyListsResult& AddStringList(const Aws::String& value) { m_stringList.push_back(value); return *this; } + inline XmlEmptyListsResult& AddStringList(Aws::String&& value) { m_stringList.push_back(std::move(value)); return *this; } + inline XmlEmptyListsResult& AddStringList(const char* value) { m_stringList.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetStringSet() const{ return m_stringSet; } + inline void SetStringSet(const Aws::Vector& value) { m_stringSet = value; } + inline void SetStringSet(Aws::Vector&& value) { m_stringSet = std::move(value); } + inline XmlEmptyListsResult& WithStringSet(const Aws::Vector& value) { SetStringSet(value); return *this;} + inline XmlEmptyListsResult& WithStringSet(Aws::Vector&& value) { SetStringSet(std::move(value)); return *this;} + inline XmlEmptyListsResult& AddStringSet(const Aws::String& value) { m_stringSet.push_back(value); return *this; } + inline XmlEmptyListsResult& AddStringSet(Aws::String&& value) { m_stringSet.push_back(std::move(value)); return *this; } + inline XmlEmptyListsResult& AddStringSet(const char* value) { m_stringSet.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetIntegerList() const{ return m_integerList; } + inline void SetIntegerList(const Aws::Vector& value) { m_integerList = value; } + inline void SetIntegerList(Aws::Vector&& value) { m_integerList = std::move(value); } + inline XmlEmptyListsResult& WithIntegerList(const Aws::Vector& value) { SetIntegerList(value); return *this;} + inline XmlEmptyListsResult& WithIntegerList(Aws::Vector&& value) { SetIntegerList(std::move(value)); return *this;} + inline XmlEmptyListsResult& AddIntegerList(int value) { m_integerList.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetBooleanList() const{ return m_booleanList; } + inline void SetBooleanList(const Aws::Vector& value) { m_booleanList = value; } + inline void SetBooleanList(Aws::Vector&& value) { m_booleanList = std::move(value); } + inline XmlEmptyListsResult& WithBooleanList(const Aws::Vector& value) { SetBooleanList(value); return *this;} + inline XmlEmptyListsResult& WithBooleanList(Aws::Vector&& value) { SetBooleanList(std::move(value)); return *this;} + inline XmlEmptyListsResult& AddBooleanList(bool value) { m_booleanList.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetTimestampList() const{ return m_timestampList; } + inline void SetTimestampList(const Aws::Vector& value) { m_timestampList = value; } + inline void SetTimestampList(Aws::Vector&& value) { m_timestampList = std::move(value); } + inline XmlEmptyListsResult& WithTimestampList(const Aws::Vector& value) { SetTimestampList(value); return *this;} + inline XmlEmptyListsResult& WithTimestampList(Aws::Vector&& value) { SetTimestampList(std::move(value)); return *this;} + inline XmlEmptyListsResult& AddTimestampList(const Aws::Utils::DateTime& value) { m_timestampList.push_back(value); return *this; } + inline XmlEmptyListsResult& AddTimestampList(Aws::Utils::DateTime&& value) { m_timestampList.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetEnumList() const{ return m_enumList; } + inline void SetEnumList(const Aws::Vector& value) { m_enumList = value; } + inline void SetEnumList(Aws::Vector&& value) { m_enumList = std::move(value); } + inline XmlEmptyListsResult& WithEnumList(const Aws::Vector& value) { SetEnumList(value); return *this;} + inline XmlEmptyListsResult& WithEnumList(Aws::Vector&& value) { SetEnumList(std::move(value)); return *this;} + inline XmlEmptyListsResult& AddEnumList(const FooEnum& value) { m_enumList.push_back(value); return *this; } + inline XmlEmptyListsResult& AddEnumList(FooEnum&& value) { m_enumList.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetIntEnumList() const{ return m_intEnumList; } + inline void SetIntEnumList(const Aws::Vector& value) { m_intEnumList = value; } + inline void SetIntEnumList(Aws::Vector&& value) { m_intEnumList = std::move(value); } + inline XmlEmptyListsResult& WithIntEnumList(const Aws::Vector& value) { SetIntEnumList(value); return *this;} + inline XmlEmptyListsResult& WithIntEnumList(Aws::Vector&& value) { SetIntEnumList(std::move(value)); return *this;} + inline XmlEmptyListsResult& AddIntEnumList(int value) { m_intEnumList.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector>& GetNestedStringList() const{ return m_nestedStringList; } + inline void SetNestedStringList(const Aws::Vector>& value) { m_nestedStringList = value; } + inline void SetNestedStringList(Aws::Vector>&& value) { m_nestedStringList = std::move(value); } + inline XmlEmptyListsResult& WithNestedStringList(const Aws::Vector>& value) { SetNestedStringList(value); return *this;} + inline XmlEmptyListsResult& WithNestedStringList(Aws::Vector>&& value) { SetNestedStringList(std::move(value)); return *this;} + inline XmlEmptyListsResult& AddNestedStringList(const Aws::Vector& value) { m_nestedStringList.push_back(value); return *this; } + inline XmlEmptyListsResult& AddNestedStringList(Aws::Vector&& value) { m_nestedStringList.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetRenamedListMembers() const{ return m_renamedListMembers; } + inline void SetRenamedListMembers(const Aws::Vector& value) { m_renamedListMembers = value; } + inline void SetRenamedListMembers(Aws::Vector&& value) { m_renamedListMembers = std::move(value); } + inline XmlEmptyListsResult& WithRenamedListMembers(const Aws::Vector& value) { SetRenamedListMembers(value); return *this;} + inline XmlEmptyListsResult& WithRenamedListMembers(Aws::Vector&& value) { SetRenamedListMembers(std::move(value)); return *this;} + inline XmlEmptyListsResult& AddRenamedListMembers(const Aws::String& value) { m_renamedListMembers.push_back(value); return *this; } + inline XmlEmptyListsResult& AddRenamedListMembers(Aws::String&& value) { m_renamedListMembers.push_back(std::move(value)); return *this; } + inline XmlEmptyListsResult& AddRenamedListMembers(const char* value) { m_renamedListMembers.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetFlattenedList() const{ return m_flattenedList; } + inline void SetFlattenedList(const Aws::Vector& value) { m_flattenedList = value; } + inline void SetFlattenedList(Aws::Vector&& value) { m_flattenedList = std::move(value); } + inline XmlEmptyListsResult& WithFlattenedList(const Aws::Vector& value) { SetFlattenedList(value); return *this;} + inline XmlEmptyListsResult& WithFlattenedList(Aws::Vector&& value) { SetFlattenedList(std::move(value)); return *this;} + inline XmlEmptyListsResult& AddFlattenedList(const Aws::String& value) { m_flattenedList.push_back(value); return *this; } + inline XmlEmptyListsResult& AddFlattenedList(Aws::String&& value) { m_flattenedList.push_back(std::move(value)); return *this; } + inline XmlEmptyListsResult& AddFlattenedList(const char* value) { m_flattenedList.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetFlattenedList2() const{ return m_flattenedList2; } + inline void SetFlattenedList2(const Aws::Vector& value) { m_flattenedList2 = value; } + inline void SetFlattenedList2(Aws::Vector&& value) { m_flattenedList2 = std::move(value); } + inline XmlEmptyListsResult& WithFlattenedList2(const Aws::Vector& value) { SetFlattenedList2(value); return *this;} + inline XmlEmptyListsResult& WithFlattenedList2(Aws::Vector&& value) { SetFlattenedList2(std::move(value)); return *this;} + inline XmlEmptyListsResult& AddFlattenedList2(const Aws::String& value) { m_flattenedList2.push_back(value); return *this; } + inline XmlEmptyListsResult& AddFlattenedList2(Aws::String&& value) { m_flattenedList2.push_back(std::move(value)); return *this; } + inline XmlEmptyListsResult& AddFlattenedList2(const char* value) { m_flattenedList2.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetFlattenedListWithMemberNamespace() const{ return m_flattenedListWithMemberNamespace; } + inline void SetFlattenedListWithMemberNamespace(const Aws::Vector& value) { m_flattenedListWithMemberNamespace = value; } + inline void SetFlattenedListWithMemberNamespace(Aws::Vector&& value) { m_flattenedListWithMemberNamespace = std::move(value); } + inline XmlEmptyListsResult& WithFlattenedListWithMemberNamespace(const Aws::Vector& value) { SetFlattenedListWithMemberNamespace(value); return *this;} + inline XmlEmptyListsResult& WithFlattenedListWithMemberNamespace(Aws::Vector&& value) { SetFlattenedListWithMemberNamespace(std::move(value)); return *this;} + inline XmlEmptyListsResult& AddFlattenedListWithMemberNamespace(const Aws::String& value) { m_flattenedListWithMemberNamespace.push_back(value); return *this; } + inline XmlEmptyListsResult& AddFlattenedListWithMemberNamespace(Aws::String&& value) { m_flattenedListWithMemberNamespace.push_back(std::move(value)); return *this; } + inline XmlEmptyListsResult& AddFlattenedListWithMemberNamespace(const char* value) { m_flattenedListWithMemberNamespace.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetFlattenedListWithNamespace() const{ return m_flattenedListWithNamespace; } + inline void SetFlattenedListWithNamespace(const Aws::Vector& value) { m_flattenedListWithNamespace = value; } + inline void SetFlattenedListWithNamespace(Aws::Vector&& value) { m_flattenedListWithNamespace = std::move(value); } + inline XmlEmptyListsResult& WithFlattenedListWithNamespace(const Aws::Vector& value) { SetFlattenedListWithNamespace(value); return *this;} + inline XmlEmptyListsResult& WithFlattenedListWithNamespace(Aws::Vector&& value) { SetFlattenedListWithNamespace(std::move(value)); return *this;} + inline XmlEmptyListsResult& AddFlattenedListWithNamespace(const Aws::String& value) { m_flattenedListWithNamespace.push_back(value); return *this; } + inline XmlEmptyListsResult& AddFlattenedListWithNamespace(Aws::String&& value) { m_flattenedListWithNamespace.push_back(std::move(value)); return *this; } + inline XmlEmptyListsResult& AddFlattenedListWithNamespace(const char* value) { m_flattenedListWithNamespace.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetStructureList() const{ return m_structureList; } + inline void SetStructureList(const Aws::Vector& value) { m_structureList = value; } + inline void SetStructureList(Aws::Vector&& value) { m_structureList = std::move(value); } + inline XmlEmptyListsResult& WithStructureList(const Aws::Vector& value) { SetStructureList(value); return *this;} + inline XmlEmptyListsResult& WithStructureList(Aws::Vector&& value) { SetStructureList(std::move(value)); return *this;} + inline XmlEmptyListsResult& AddStructureList(const StructureListMember& value) { m_structureList.push_back(value); return *this; } + inline XmlEmptyListsResult& AddStructureList(StructureListMember&& value) { m_structureList.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetFlattenedStructureList() const{ return m_flattenedStructureList; } + inline void SetFlattenedStructureList(const Aws::Vector& value) { m_flattenedStructureList = value; } + inline void SetFlattenedStructureList(Aws::Vector&& value) { m_flattenedStructureList = std::move(value); } + inline XmlEmptyListsResult& WithFlattenedStructureList(const Aws::Vector& value) { SetFlattenedStructureList(value); return *this;} + inline XmlEmptyListsResult& WithFlattenedStructureList(Aws::Vector&& value) { SetFlattenedStructureList(std::move(value)); return *this;} + inline XmlEmptyListsResult& AddFlattenedStructureList(const StructureListMember& value) { m_flattenedStructureList.push_back(value); return *this; } + inline XmlEmptyListsResult& AddFlattenedStructureList(StructureListMember&& value) { m_flattenedStructureList.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline XmlEmptyListsResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline XmlEmptyListsResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline XmlEmptyListsResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::Vector m_stringList; + + Aws::Vector m_stringSet; + + Aws::Vector m_integerList; + + Aws::Vector m_booleanList; + + Aws::Vector m_timestampList; + + Aws::Vector m_enumList; + + Aws::Vector m_intEnumList; + + Aws::Vector> m_nestedStringList; + + Aws::Vector m_renamedListMembers; + + Aws::Vector m_flattenedList; + + Aws::Vector m_flattenedList2; + + Aws::Vector m_flattenedListWithMemberNamespace; + + Aws::Vector m_flattenedListWithNamespace; + + Aws::Vector m_structureList; + + Aws::Vector m_flattenedStructureList; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/XmlEmptyMapsRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/XmlEmptyMapsRequest.h new file mode 100644 index 00000000000..69483bc81ca --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/XmlEmptyMapsRequest.h @@ -0,0 +1,60 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace RestXmlProtocol +{ +namespace Model +{ + + /** + */ + class XmlEmptyMapsRequest : public RestXmlProtocolRequest + { + public: + AWS_RESTXMLPROTOCOL_API XmlEmptyMapsRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "XmlEmptyMaps"; } + + AWS_RESTXMLPROTOCOL_API Aws::String SerializePayload() const override; + + + ///@{ + + inline const Aws::Map& GetMyMap() const{ return m_myMap; } + inline bool MyMapHasBeenSet() const { return m_myMapHasBeenSet; } + inline void SetMyMap(const Aws::Map& value) { m_myMapHasBeenSet = true; m_myMap = value; } + inline void SetMyMap(Aws::Map&& value) { m_myMapHasBeenSet = true; m_myMap = std::move(value); } + inline XmlEmptyMapsRequest& WithMyMap(const Aws::Map& value) { SetMyMap(value); return *this;} + inline XmlEmptyMapsRequest& WithMyMap(Aws::Map&& value) { SetMyMap(std::move(value)); return *this;} + inline XmlEmptyMapsRequest& AddMyMap(const Aws::String& key, const GreetingStruct& value) { m_myMapHasBeenSet = true; m_myMap.emplace(key, value); return *this; } + inline XmlEmptyMapsRequest& AddMyMap(Aws::String&& key, const GreetingStruct& value) { m_myMapHasBeenSet = true; m_myMap.emplace(std::move(key), value); return *this; } + inline XmlEmptyMapsRequest& AddMyMap(const Aws::String& key, GreetingStruct&& value) { m_myMapHasBeenSet = true; m_myMap.emplace(key, std::move(value)); return *this; } + inline XmlEmptyMapsRequest& AddMyMap(Aws::String&& key, GreetingStruct&& value) { m_myMapHasBeenSet = true; m_myMap.emplace(std::move(key), std::move(value)); return *this; } + inline XmlEmptyMapsRequest& AddMyMap(const char* key, GreetingStruct&& value) { m_myMapHasBeenSet = true; m_myMap.emplace(key, std::move(value)); return *this; } + inline XmlEmptyMapsRequest& AddMyMap(const char* key, const GreetingStruct& value) { m_myMapHasBeenSet = true; m_myMap.emplace(key, value); return *this; } + ///@} + private: + + Aws::Map m_myMap; + bool m_myMapHasBeenSet = false; + }; + +} // namespace Model +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/XmlEmptyMapsResult.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/XmlEmptyMapsResult.h new file mode 100644 index 00000000000..12477f0e455 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/XmlEmptyMapsResult.h @@ -0,0 +1,71 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace RestXmlProtocol +{ +namespace Model +{ + class XmlEmptyMapsResult + { + public: + AWS_RESTXMLPROTOCOL_API XmlEmptyMapsResult(); + AWS_RESTXMLPROTOCOL_API XmlEmptyMapsResult(const Aws::AmazonWebServiceResult& result); + AWS_RESTXMLPROTOCOL_API XmlEmptyMapsResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::Map& GetMyMap() const{ return m_myMap; } + inline void SetMyMap(const Aws::Map& value) { m_myMap = value; } + inline void SetMyMap(Aws::Map&& value) { m_myMap = std::move(value); } + inline XmlEmptyMapsResult& WithMyMap(const Aws::Map& value) { SetMyMap(value); return *this;} + inline XmlEmptyMapsResult& WithMyMap(Aws::Map&& value) { SetMyMap(std::move(value)); return *this;} + inline XmlEmptyMapsResult& AddMyMap(const Aws::String& key, const GreetingStruct& value) { m_myMap.emplace(key, value); return *this; } + inline XmlEmptyMapsResult& AddMyMap(Aws::String&& key, const GreetingStruct& value) { m_myMap.emplace(std::move(key), value); return *this; } + inline XmlEmptyMapsResult& AddMyMap(const Aws::String& key, GreetingStruct&& value) { m_myMap.emplace(key, std::move(value)); return *this; } + inline XmlEmptyMapsResult& AddMyMap(Aws::String&& key, GreetingStruct&& value) { m_myMap.emplace(std::move(key), std::move(value)); return *this; } + inline XmlEmptyMapsResult& AddMyMap(const char* key, GreetingStruct&& value) { m_myMap.emplace(key, std::move(value)); return *this; } + inline XmlEmptyMapsResult& AddMyMap(const char* key, const GreetingStruct& value) { m_myMap.emplace(key, value); return *this; } + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline XmlEmptyMapsResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline XmlEmptyMapsResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline XmlEmptyMapsResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::Map m_myMap; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/XmlEmptyStringsRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/XmlEmptyStringsRequest.h new file mode 100644 index 00000000000..d7eb54b7b35 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/XmlEmptyStringsRequest.h @@ -0,0 +1,54 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace RestXmlProtocol +{ +namespace Model +{ + + /** + */ + class XmlEmptyStringsRequest : public RestXmlProtocolRequest + { + public: + AWS_RESTXMLPROTOCOL_API XmlEmptyStringsRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "XmlEmptyStrings"; } + + AWS_RESTXMLPROTOCOL_API Aws::String SerializePayload() const override; + + + ///@{ + + inline const Aws::String& GetEmptyString() const{ return m_emptyString; } + inline bool EmptyStringHasBeenSet() const { return m_emptyStringHasBeenSet; } + inline void SetEmptyString(const Aws::String& value) { m_emptyStringHasBeenSet = true; m_emptyString = value; } + inline void SetEmptyString(Aws::String&& value) { m_emptyStringHasBeenSet = true; m_emptyString = std::move(value); } + inline void SetEmptyString(const char* value) { m_emptyStringHasBeenSet = true; m_emptyString.assign(value); } + inline XmlEmptyStringsRequest& WithEmptyString(const Aws::String& value) { SetEmptyString(value); return *this;} + inline XmlEmptyStringsRequest& WithEmptyString(Aws::String&& value) { SetEmptyString(std::move(value)); return *this;} + inline XmlEmptyStringsRequest& WithEmptyString(const char* value) { SetEmptyString(value); return *this;} + ///@} + private: + + Aws::String m_emptyString; + bool m_emptyStringHasBeenSet = false; + }; + +} // namespace Model +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/XmlEmptyStringsResult.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/XmlEmptyStringsResult.h new file mode 100644 index 00000000000..2cf6eb8496e --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/XmlEmptyStringsResult.h @@ -0,0 +1,65 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace RestXmlProtocol +{ +namespace Model +{ + class XmlEmptyStringsResult + { + public: + AWS_RESTXMLPROTOCOL_API XmlEmptyStringsResult(); + AWS_RESTXMLPROTOCOL_API XmlEmptyStringsResult(const Aws::AmazonWebServiceResult& result); + AWS_RESTXMLPROTOCOL_API XmlEmptyStringsResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::String& GetEmptyString() const{ return m_emptyString; } + inline void SetEmptyString(const Aws::String& value) { m_emptyString = value; } + inline void SetEmptyString(Aws::String&& value) { m_emptyString = std::move(value); } + inline void SetEmptyString(const char* value) { m_emptyString.assign(value); } + inline XmlEmptyStringsResult& WithEmptyString(const Aws::String& value) { SetEmptyString(value); return *this;} + inline XmlEmptyStringsResult& WithEmptyString(Aws::String&& value) { SetEmptyString(std::move(value)); return *this;} + inline XmlEmptyStringsResult& WithEmptyString(const char* value) { SetEmptyString(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline XmlEmptyStringsResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline XmlEmptyStringsResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline XmlEmptyStringsResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_emptyString; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/XmlEnumsRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/XmlEnumsRequest.h new file mode 100644 index 00000000000..2367ab2cb91 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/XmlEnumsRequest.h @@ -0,0 +1,130 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace RestXmlProtocol +{ +namespace Model +{ + + /** + */ + class XmlEnumsRequest : public RestXmlProtocolRequest + { + public: + AWS_RESTXMLPROTOCOL_API XmlEnumsRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "XmlEnums"; } + + AWS_RESTXMLPROTOCOL_API Aws::String SerializePayload() const override; + + + ///@{ + + inline const FooEnum& GetFooEnum1() const{ return m_fooEnum1; } + inline bool FooEnum1HasBeenSet() const { return m_fooEnum1HasBeenSet; } + inline void SetFooEnum1(const FooEnum& value) { m_fooEnum1HasBeenSet = true; m_fooEnum1 = value; } + inline void SetFooEnum1(FooEnum&& value) { m_fooEnum1HasBeenSet = true; m_fooEnum1 = std::move(value); } + inline XmlEnumsRequest& WithFooEnum1(const FooEnum& value) { SetFooEnum1(value); return *this;} + inline XmlEnumsRequest& WithFooEnum1(FooEnum&& value) { SetFooEnum1(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const FooEnum& GetFooEnum2() const{ return m_fooEnum2; } + inline bool FooEnum2HasBeenSet() const { return m_fooEnum2HasBeenSet; } + inline void SetFooEnum2(const FooEnum& value) { m_fooEnum2HasBeenSet = true; m_fooEnum2 = value; } + inline void SetFooEnum2(FooEnum&& value) { m_fooEnum2HasBeenSet = true; m_fooEnum2 = std::move(value); } + inline XmlEnumsRequest& WithFooEnum2(const FooEnum& value) { SetFooEnum2(value); return *this;} + inline XmlEnumsRequest& WithFooEnum2(FooEnum&& value) { SetFooEnum2(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const FooEnum& GetFooEnum3() const{ return m_fooEnum3; } + inline bool FooEnum3HasBeenSet() const { return m_fooEnum3HasBeenSet; } + inline void SetFooEnum3(const FooEnum& value) { m_fooEnum3HasBeenSet = true; m_fooEnum3 = value; } + inline void SetFooEnum3(FooEnum&& value) { m_fooEnum3HasBeenSet = true; m_fooEnum3 = std::move(value); } + inline XmlEnumsRequest& WithFooEnum3(const FooEnum& value) { SetFooEnum3(value); return *this;} + inline XmlEnumsRequest& WithFooEnum3(FooEnum&& value) { SetFooEnum3(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::Vector& GetFooEnumList() const{ return m_fooEnumList; } + inline bool FooEnumListHasBeenSet() const { return m_fooEnumListHasBeenSet; } + inline void SetFooEnumList(const Aws::Vector& value) { m_fooEnumListHasBeenSet = true; m_fooEnumList = value; } + inline void SetFooEnumList(Aws::Vector&& value) { m_fooEnumListHasBeenSet = true; m_fooEnumList = std::move(value); } + inline XmlEnumsRequest& WithFooEnumList(const Aws::Vector& value) { SetFooEnumList(value); return *this;} + inline XmlEnumsRequest& WithFooEnumList(Aws::Vector&& value) { SetFooEnumList(std::move(value)); return *this;} + inline XmlEnumsRequest& AddFooEnumList(const FooEnum& value) { m_fooEnumListHasBeenSet = true; m_fooEnumList.push_back(value); return *this; } + inline XmlEnumsRequest& AddFooEnumList(FooEnum&& value) { m_fooEnumListHasBeenSet = true; m_fooEnumList.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetFooEnumSet() const{ return m_fooEnumSet; } + inline bool FooEnumSetHasBeenSet() const { return m_fooEnumSetHasBeenSet; } + inline void SetFooEnumSet(const Aws::Vector& value) { m_fooEnumSetHasBeenSet = true; m_fooEnumSet = value; } + inline void SetFooEnumSet(Aws::Vector&& value) { m_fooEnumSetHasBeenSet = true; m_fooEnumSet = std::move(value); } + inline XmlEnumsRequest& WithFooEnumSet(const Aws::Vector& value) { SetFooEnumSet(value); return *this;} + inline XmlEnumsRequest& WithFooEnumSet(Aws::Vector&& value) { SetFooEnumSet(std::move(value)); return *this;} + inline XmlEnumsRequest& AddFooEnumSet(const FooEnum& value) { m_fooEnumSetHasBeenSet = true; m_fooEnumSet.push_back(value); return *this; } + inline XmlEnumsRequest& AddFooEnumSet(FooEnum&& value) { m_fooEnumSetHasBeenSet = true; m_fooEnumSet.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + + inline const Aws::Map& GetFooEnumMap() const{ return m_fooEnumMap; } + inline bool FooEnumMapHasBeenSet() const { return m_fooEnumMapHasBeenSet; } + inline void SetFooEnumMap(const Aws::Map& value) { m_fooEnumMapHasBeenSet = true; m_fooEnumMap = value; } + inline void SetFooEnumMap(Aws::Map&& value) { m_fooEnumMapHasBeenSet = true; m_fooEnumMap = std::move(value); } + inline XmlEnumsRequest& WithFooEnumMap(const Aws::Map& value) { SetFooEnumMap(value); return *this;} + inline XmlEnumsRequest& WithFooEnumMap(Aws::Map&& value) { SetFooEnumMap(std::move(value)); return *this;} + inline XmlEnumsRequest& AddFooEnumMap(const Aws::String& key, const FooEnum& value) { m_fooEnumMapHasBeenSet = true; m_fooEnumMap.emplace(key, value); return *this; } + inline XmlEnumsRequest& AddFooEnumMap(Aws::String&& key, const FooEnum& value) { m_fooEnumMapHasBeenSet = true; m_fooEnumMap.emplace(std::move(key), value); return *this; } + inline XmlEnumsRequest& AddFooEnumMap(const Aws::String& key, FooEnum&& value) { m_fooEnumMapHasBeenSet = true; m_fooEnumMap.emplace(key, std::move(value)); return *this; } + inline XmlEnumsRequest& AddFooEnumMap(Aws::String&& key, FooEnum&& value) { m_fooEnumMapHasBeenSet = true; m_fooEnumMap.emplace(std::move(key), std::move(value)); return *this; } + inline XmlEnumsRequest& AddFooEnumMap(const char* key, FooEnum&& value) { m_fooEnumMapHasBeenSet = true; m_fooEnumMap.emplace(key, std::move(value)); return *this; } + inline XmlEnumsRequest& AddFooEnumMap(const char* key, const FooEnum& value) { m_fooEnumMapHasBeenSet = true; m_fooEnumMap.emplace(key, value); return *this; } + ///@} + private: + + FooEnum m_fooEnum1; + bool m_fooEnum1HasBeenSet = false; + + FooEnum m_fooEnum2; + bool m_fooEnum2HasBeenSet = false; + + FooEnum m_fooEnum3; + bool m_fooEnum3HasBeenSet = false; + + Aws::Vector m_fooEnumList; + bool m_fooEnumListHasBeenSet = false; + + Aws::Vector m_fooEnumSet; + bool m_fooEnumSetHasBeenSet = false; + + Aws::Map m_fooEnumMap; + bool m_fooEnumMapHasBeenSet = false; + }; + +} // namespace Model +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/XmlEnumsResult.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/XmlEnumsResult.h new file mode 100644 index 00000000000..d94953ebed7 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/XmlEnumsResult.h @@ -0,0 +1,131 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace RestXmlProtocol +{ +namespace Model +{ + class XmlEnumsResult + { + public: + AWS_RESTXMLPROTOCOL_API XmlEnumsResult(); + AWS_RESTXMLPROTOCOL_API XmlEnumsResult(const Aws::AmazonWebServiceResult& result); + AWS_RESTXMLPROTOCOL_API XmlEnumsResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const FooEnum& GetFooEnum1() const{ return m_fooEnum1; } + inline void SetFooEnum1(const FooEnum& value) { m_fooEnum1 = value; } + inline void SetFooEnum1(FooEnum&& value) { m_fooEnum1 = std::move(value); } + inline XmlEnumsResult& WithFooEnum1(const FooEnum& value) { SetFooEnum1(value); return *this;} + inline XmlEnumsResult& WithFooEnum1(FooEnum&& value) { SetFooEnum1(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const FooEnum& GetFooEnum2() const{ return m_fooEnum2; } + inline void SetFooEnum2(const FooEnum& value) { m_fooEnum2 = value; } + inline void SetFooEnum2(FooEnum&& value) { m_fooEnum2 = std::move(value); } + inline XmlEnumsResult& WithFooEnum2(const FooEnum& value) { SetFooEnum2(value); return *this;} + inline XmlEnumsResult& WithFooEnum2(FooEnum&& value) { SetFooEnum2(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const FooEnum& GetFooEnum3() const{ return m_fooEnum3; } + inline void SetFooEnum3(const FooEnum& value) { m_fooEnum3 = value; } + inline void SetFooEnum3(FooEnum&& value) { m_fooEnum3 = std::move(value); } + inline XmlEnumsResult& WithFooEnum3(const FooEnum& value) { SetFooEnum3(value); return *this;} + inline XmlEnumsResult& WithFooEnum3(FooEnum&& value) { SetFooEnum3(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::Vector& GetFooEnumList() const{ return m_fooEnumList; } + inline void SetFooEnumList(const Aws::Vector& value) { m_fooEnumList = value; } + inline void SetFooEnumList(Aws::Vector&& value) { m_fooEnumList = std::move(value); } + inline XmlEnumsResult& WithFooEnumList(const Aws::Vector& value) { SetFooEnumList(value); return *this;} + inline XmlEnumsResult& WithFooEnumList(Aws::Vector&& value) { SetFooEnumList(std::move(value)); return *this;} + inline XmlEnumsResult& AddFooEnumList(const FooEnum& value) { m_fooEnumList.push_back(value); return *this; } + inline XmlEnumsResult& AddFooEnumList(FooEnum&& value) { m_fooEnumList.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetFooEnumSet() const{ return m_fooEnumSet; } + inline void SetFooEnumSet(const Aws::Vector& value) { m_fooEnumSet = value; } + inline void SetFooEnumSet(Aws::Vector&& value) { m_fooEnumSet = std::move(value); } + inline XmlEnumsResult& WithFooEnumSet(const Aws::Vector& value) { SetFooEnumSet(value); return *this;} + inline XmlEnumsResult& WithFooEnumSet(Aws::Vector&& value) { SetFooEnumSet(std::move(value)); return *this;} + inline XmlEnumsResult& AddFooEnumSet(const FooEnum& value) { m_fooEnumSet.push_back(value); return *this; } + inline XmlEnumsResult& AddFooEnumSet(FooEnum&& value) { m_fooEnumSet.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + + inline const Aws::Map& GetFooEnumMap() const{ return m_fooEnumMap; } + inline void SetFooEnumMap(const Aws::Map& value) { m_fooEnumMap = value; } + inline void SetFooEnumMap(Aws::Map&& value) { m_fooEnumMap = std::move(value); } + inline XmlEnumsResult& WithFooEnumMap(const Aws::Map& value) { SetFooEnumMap(value); return *this;} + inline XmlEnumsResult& WithFooEnumMap(Aws::Map&& value) { SetFooEnumMap(std::move(value)); return *this;} + inline XmlEnumsResult& AddFooEnumMap(const Aws::String& key, const FooEnum& value) { m_fooEnumMap.emplace(key, value); return *this; } + inline XmlEnumsResult& AddFooEnumMap(Aws::String&& key, const FooEnum& value) { m_fooEnumMap.emplace(std::move(key), value); return *this; } + inline XmlEnumsResult& AddFooEnumMap(const Aws::String& key, FooEnum&& value) { m_fooEnumMap.emplace(key, std::move(value)); return *this; } + inline XmlEnumsResult& AddFooEnumMap(Aws::String&& key, FooEnum&& value) { m_fooEnumMap.emplace(std::move(key), std::move(value)); return *this; } + inline XmlEnumsResult& AddFooEnumMap(const char* key, FooEnum&& value) { m_fooEnumMap.emplace(key, std::move(value)); return *this; } + inline XmlEnumsResult& AddFooEnumMap(const char* key, const FooEnum& value) { m_fooEnumMap.emplace(key, value); return *this; } + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline XmlEnumsResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline XmlEnumsResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline XmlEnumsResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + FooEnum m_fooEnum1; + + FooEnum m_fooEnum2; + + FooEnum m_fooEnum3; + + Aws::Vector m_fooEnumList; + + Aws::Vector m_fooEnumSet; + + Aws::Map m_fooEnumMap; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/XmlIntEnumsRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/XmlIntEnumsRequest.h new file mode 100644 index 00000000000..b98c5cf93e3 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/XmlIntEnumsRequest.h @@ -0,0 +1,118 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace RestXmlProtocol +{ +namespace Model +{ + + /** + */ + class XmlIntEnumsRequest : public RestXmlProtocolRequest + { + public: + AWS_RESTXMLPROTOCOL_API XmlIntEnumsRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "XmlIntEnums"; } + + AWS_RESTXMLPROTOCOL_API Aws::String SerializePayload() const override; + + + ///@{ + + inline int GetIntEnum1() const{ return m_intEnum1; } + inline bool IntEnum1HasBeenSet() const { return m_intEnum1HasBeenSet; } + inline void SetIntEnum1(int value) { m_intEnum1HasBeenSet = true; m_intEnum1 = value; } + inline XmlIntEnumsRequest& WithIntEnum1(int value) { SetIntEnum1(value); return *this;} + ///@} + + ///@{ + + inline int GetIntEnum2() const{ return m_intEnum2; } + inline bool IntEnum2HasBeenSet() const { return m_intEnum2HasBeenSet; } + inline void SetIntEnum2(int value) { m_intEnum2HasBeenSet = true; m_intEnum2 = value; } + inline XmlIntEnumsRequest& WithIntEnum2(int value) { SetIntEnum2(value); return *this;} + ///@} + + ///@{ + + inline int GetIntEnum3() const{ return m_intEnum3; } + inline bool IntEnum3HasBeenSet() const { return m_intEnum3HasBeenSet; } + inline void SetIntEnum3(int value) { m_intEnum3HasBeenSet = true; m_intEnum3 = value; } + inline XmlIntEnumsRequest& WithIntEnum3(int value) { SetIntEnum3(value); return *this;} + ///@} + + ///@{ + + inline const Aws::Vector& GetIntEnumList() const{ return m_intEnumList; } + inline bool IntEnumListHasBeenSet() const { return m_intEnumListHasBeenSet; } + inline void SetIntEnumList(const Aws::Vector& value) { m_intEnumListHasBeenSet = true; m_intEnumList = value; } + inline void SetIntEnumList(Aws::Vector&& value) { m_intEnumListHasBeenSet = true; m_intEnumList = std::move(value); } + inline XmlIntEnumsRequest& WithIntEnumList(const Aws::Vector& value) { SetIntEnumList(value); return *this;} + inline XmlIntEnumsRequest& WithIntEnumList(Aws::Vector&& value) { SetIntEnumList(std::move(value)); return *this;} + inline XmlIntEnumsRequest& AddIntEnumList(int value) { m_intEnumListHasBeenSet = true; m_intEnumList.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetIntEnumSet() const{ return m_intEnumSet; } + inline bool IntEnumSetHasBeenSet() const { return m_intEnumSetHasBeenSet; } + inline void SetIntEnumSet(const Aws::Vector& value) { m_intEnumSetHasBeenSet = true; m_intEnumSet = value; } + inline void SetIntEnumSet(Aws::Vector&& value) { m_intEnumSetHasBeenSet = true; m_intEnumSet = std::move(value); } + inline XmlIntEnumsRequest& WithIntEnumSet(const Aws::Vector& value) { SetIntEnumSet(value); return *this;} + inline XmlIntEnumsRequest& WithIntEnumSet(Aws::Vector&& value) { SetIntEnumSet(std::move(value)); return *this;} + inline XmlIntEnumsRequest& AddIntEnumSet(int value) { m_intEnumSetHasBeenSet = true; m_intEnumSet.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::Map& GetIntEnumMap() const{ return m_intEnumMap; } + inline bool IntEnumMapHasBeenSet() const { return m_intEnumMapHasBeenSet; } + inline void SetIntEnumMap(const Aws::Map& value) { m_intEnumMapHasBeenSet = true; m_intEnumMap = value; } + inline void SetIntEnumMap(Aws::Map&& value) { m_intEnumMapHasBeenSet = true; m_intEnumMap = std::move(value); } + inline XmlIntEnumsRequest& WithIntEnumMap(const Aws::Map& value) { SetIntEnumMap(value); return *this;} + inline XmlIntEnumsRequest& WithIntEnumMap(Aws::Map&& value) { SetIntEnumMap(std::move(value)); return *this;} + inline XmlIntEnumsRequest& AddIntEnumMap(const Aws::String& key, int value) { m_intEnumMapHasBeenSet = true; m_intEnumMap.emplace(key, value); return *this; } + inline XmlIntEnumsRequest& AddIntEnumMap(Aws::String&& key, int value) { m_intEnumMapHasBeenSet = true; m_intEnumMap.emplace(std::move(key), value); return *this; } + inline XmlIntEnumsRequest& AddIntEnumMap(const char* key, int value) { m_intEnumMapHasBeenSet = true; m_intEnumMap.emplace(key, value); return *this; } + ///@} + private: + + int m_intEnum1; + bool m_intEnum1HasBeenSet = false; + + int m_intEnum2; + bool m_intEnum2HasBeenSet = false; + + int m_intEnum3; + bool m_intEnum3HasBeenSet = false; + + Aws::Vector m_intEnumList; + bool m_intEnumListHasBeenSet = false; + + Aws::Vector m_intEnumSet; + bool m_intEnumSetHasBeenSet = false; + + Aws::Map m_intEnumMap; + bool m_intEnumMapHasBeenSet = false; + }; + +} // namespace Model +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/XmlIntEnumsResult.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/XmlIntEnumsResult.h new file mode 100644 index 00000000000..41e25b161bd --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/XmlIntEnumsResult.h @@ -0,0 +1,119 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace RestXmlProtocol +{ +namespace Model +{ + class XmlIntEnumsResult + { + public: + AWS_RESTXMLPROTOCOL_API XmlIntEnumsResult(); + AWS_RESTXMLPROTOCOL_API XmlIntEnumsResult(const Aws::AmazonWebServiceResult& result); + AWS_RESTXMLPROTOCOL_API XmlIntEnumsResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline int GetIntEnum1() const{ return m_intEnum1; } + inline void SetIntEnum1(int value) { m_intEnum1 = value; } + inline XmlIntEnumsResult& WithIntEnum1(int value) { SetIntEnum1(value); return *this;} + ///@} + + ///@{ + + inline int GetIntEnum2() const{ return m_intEnum2; } + inline void SetIntEnum2(int value) { m_intEnum2 = value; } + inline XmlIntEnumsResult& WithIntEnum2(int value) { SetIntEnum2(value); return *this;} + ///@} + + ///@{ + + inline int GetIntEnum3() const{ return m_intEnum3; } + inline void SetIntEnum3(int value) { m_intEnum3 = value; } + inline XmlIntEnumsResult& WithIntEnum3(int value) { SetIntEnum3(value); return *this;} + ///@} + + ///@{ + + inline const Aws::Vector& GetIntEnumList() const{ return m_intEnumList; } + inline void SetIntEnumList(const Aws::Vector& value) { m_intEnumList = value; } + inline void SetIntEnumList(Aws::Vector&& value) { m_intEnumList = std::move(value); } + inline XmlIntEnumsResult& WithIntEnumList(const Aws::Vector& value) { SetIntEnumList(value); return *this;} + inline XmlIntEnumsResult& WithIntEnumList(Aws::Vector&& value) { SetIntEnumList(std::move(value)); return *this;} + inline XmlIntEnumsResult& AddIntEnumList(int value) { m_intEnumList.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetIntEnumSet() const{ return m_intEnumSet; } + inline void SetIntEnumSet(const Aws::Vector& value) { m_intEnumSet = value; } + inline void SetIntEnumSet(Aws::Vector&& value) { m_intEnumSet = std::move(value); } + inline XmlIntEnumsResult& WithIntEnumSet(const Aws::Vector& value) { SetIntEnumSet(value); return *this;} + inline XmlIntEnumsResult& WithIntEnumSet(Aws::Vector&& value) { SetIntEnumSet(std::move(value)); return *this;} + inline XmlIntEnumsResult& AddIntEnumSet(int value) { m_intEnumSet.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::Map& GetIntEnumMap() const{ return m_intEnumMap; } + inline void SetIntEnumMap(const Aws::Map& value) { m_intEnumMap = value; } + inline void SetIntEnumMap(Aws::Map&& value) { m_intEnumMap = std::move(value); } + inline XmlIntEnumsResult& WithIntEnumMap(const Aws::Map& value) { SetIntEnumMap(value); return *this;} + inline XmlIntEnumsResult& WithIntEnumMap(Aws::Map&& value) { SetIntEnumMap(std::move(value)); return *this;} + inline XmlIntEnumsResult& AddIntEnumMap(const Aws::String& key, int value) { m_intEnumMap.emplace(key, value); return *this; } + inline XmlIntEnumsResult& AddIntEnumMap(Aws::String&& key, int value) { m_intEnumMap.emplace(std::move(key), value); return *this; } + inline XmlIntEnumsResult& AddIntEnumMap(const char* key, int value) { m_intEnumMap.emplace(key, value); return *this; } + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline XmlIntEnumsResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline XmlIntEnumsResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline XmlIntEnumsResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + int m_intEnum1; + + int m_intEnum2; + + int m_intEnum3; + + Aws::Vector m_intEnumList; + + Aws::Vector m_intEnumSet; + + Aws::Map m_intEnumMap; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/XmlListsRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/XmlListsRequest.h new file mode 100644 index 00000000000..cc97dc28ca6 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/XmlListsRequest.h @@ -0,0 +1,272 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace RestXmlProtocol +{ +namespace Model +{ + + /** + */ + class XmlListsRequest : public RestXmlProtocolRequest + { + public: + AWS_RESTXMLPROTOCOL_API XmlListsRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "XmlLists"; } + + AWS_RESTXMLPROTOCOL_API Aws::String SerializePayload() const override; + + + ///@{ + + inline const Aws::Vector& GetStringList() const{ return m_stringList; } + inline bool StringListHasBeenSet() const { return m_stringListHasBeenSet; } + inline void SetStringList(const Aws::Vector& value) { m_stringListHasBeenSet = true; m_stringList = value; } + inline void SetStringList(Aws::Vector&& value) { m_stringListHasBeenSet = true; m_stringList = std::move(value); } + inline XmlListsRequest& WithStringList(const Aws::Vector& value) { SetStringList(value); return *this;} + inline XmlListsRequest& WithStringList(Aws::Vector&& value) { SetStringList(std::move(value)); return *this;} + inline XmlListsRequest& AddStringList(const Aws::String& value) { m_stringListHasBeenSet = true; m_stringList.push_back(value); return *this; } + inline XmlListsRequest& AddStringList(Aws::String&& value) { m_stringListHasBeenSet = true; m_stringList.push_back(std::move(value)); return *this; } + inline XmlListsRequest& AddStringList(const char* value) { m_stringListHasBeenSet = true; m_stringList.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetStringSet() const{ return m_stringSet; } + inline bool StringSetHasBeenSet() const { return m_stringSetHasBeenSet; } + inline void SetStringSet(const Aws::Vector& value) { m_stringSetHasBeenSet = true; m_stringSet = value; } + inline void SetStringSet(Aws::Vector&& value) { m_stringSetHasBeenSet = true; m_stringSet = std::move(value); } + inline XmlListsRequest& WithStringSet(const Aws::Vector& value) { SetStringSet(value); return *this;} + inline XmlListsRequest& WithStringSet(Aws::Vector&& value) { SetStringSet(std::move(value)); return *this;} + inline XmlListsRequest& AddStringSet(const Aws::String& value) { m_stringSetHasBeenSet = true; m_stringSet.push_back(value); return *this; } + inline XmlListsRequest& AddStringSet(Aws::String&& value) { m_stringSetHasBeenSet = true; m_stringSet.push_back(std::move(value)); return *this; } + inline XmlListsRequest& AddStringSet(const char* value) { m_stringSetHasBeenSet = true; m_stringSet.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetIntegerList() const{ return m_integerList; } + inline bool IntegerListHasBeenSet() const { return m_integerListHasBeenSet; } + inline void SetIntegerList(const Aws::Vector& value) { m_integerListHasBeenSet = true; m_integerList = value; } + inline void SetIntegerList(Aws::Vector&& value) { m_integerListHasBeenSet = true; m_integerList = std::move(value); } + inline XmlListsRequest& WithIntegerList(const Aws::Vector& value) { SetIntegerList(value); return *this;} + inline XmlListsRequest& WithIntegerList(Aws::Vector&& value) { SetIntegerList(std::move(value)); return *this;} + inline XmlListsRequest& AddIntegerList(int value) { m_integerListHasBeenSet = true; m_integerList.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetBooleanList() const{ return m_booleanList; } + inline bool BooleanListHasBeenSet() const { return m_booleanListHasBeenSet; } + inline void SetBooleanList(const Aws::Vector& value) { m_booleanListHasBeenSet = true; m_booleanList = value; } + inline void SetBooleanList(Aws::Vector&& value) { m_booleanListHasBeenSet = true; m_booleanList = std::move(value); } + inline XmlListsRequest& WithBooleanList(const Aws::Vector& value) { SetBooleanList(value); return *this;} + inline XmlListsRequest& WithBooleanList(Aws::Vector&& value) { SetBooleanList(std::move(value)); return *this;} + inline XmlListsRequest& AddBooleanList(bool value) { m_booleanListHasBeenSet = true; m_booleanList.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetTimestampList() const{ return m_timestampList; } + inline bool TimestampListHasBeenSet() const { return m_timestampListHasBeenSet; } + inline void SetTimestampList(const Aws::Vector& value) { m_timestampListHasBeenSet = true; m_timestampList = value; } + inline void SetTimestampList(Aws::Vector&& value) { m_timestampListHasBeenSet = true; m_timestampList = std::move(value); } + inline XmlListsRequest& WithTimestampList(const Aws::Vector& value) { SetTimestampList(value); return *this;} + inline XmlListsRequest& WithTimestampList(Aws::Vector&& value) { SetTimestampList(std::move(value)); return *this;} + inline XmlListsRequest& AddTimestampList(const Aws::Utils::DateTime& value) { m_timestampListHasBeenSet = true; m_timestampList.push_back(value); return *this; } + inline XmlListsRequest& AddTimestampList(Aws::Utils::DateTime&& value) { m_timestampListHasBeenSet = true; m_timestampList.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetEnumList() const{ return m_enumList; } + inline bool EnumListHasBeenSet() const { return m_enumListHasBeenSet; } + inline void SetEnumList(const Aws::Vector& value) { m_enumListHasBeenSet = true; m_enumList = value; } + inline void SetEnumList(Aws::Vector&& value) { m_enumListHasBeenSet = true; m_enumList = std::move(value); } + inline XmlListsRequest& WithEnumList(const Aws::Vector& value) { SetEnumList(value); return *this;} + inline XmlListsRequest& WithEnumList(Aws::Vector&& value) { SetEnumList(std::move(value)); return *this;} + inline XmlListsRequest& AddEnumList(const FooEnum& value) { m_enumListHasBeenSet = true; m_enumList.push_back(value); return *this; } + inline XmlListsRequest& AddEnumList(FooEnum&& value) { m_enumListHasBeenSet = true; m_enumList.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetIntEnumList() const{ return m_intEnumList; } + inline bool IntEnumListHasBeenSet() const { return m_intEnumListHasBeenSet; } + inline void SetIntEnumList(const Aws::Vector& value) { m_intEnumListHasBeenSet = true; m_intEnumList = value; } + inline void SetIntEnumList(Aws::Vector&& value) { m_intEnumListHasBeenSet = true; m_intEnumList = std::move(value); } + inline XmlListsRequest& WithIntEnumList(const Aws::Vector& value) { SetIntEnumList(value); return *this;} + inline XmlListsRequest& WithIntEnumList(Aws::Vector&& value) { SetIntEnumList(std::move(value)); return *this;} + inline XmlListsRequest& AddIntEnumList(int value) { m_intEnumListHasBeenSet = true; m_intEnumList.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector>& GetNestedStringList() const{ return m_nestedStringList; } + inline bool NestedStringListHasBeenSet() const { return m_nestedStringListHasBeenSet; } + inline void SetNestedStringList(const Aws::Vector>& value) { m_nestedStringListHasBeenSet = true; m_nestedStringList = value; } + inline void SetNestedStringList(Aws::Vector>&& value) { m_nestedStringListHasBeenSet = true; m_nestedStringList = std::move(value); } + inline XmlListsRequest& WithNestedStringList(const Aws::Vector>& value) { SetNestedStringList(value); return *this;} + inline XmlListsRequest& WithNestedStringList(Aws::Vector>&& value) { SetNestedStringList(std::move(value)); return *this;} + inline XmlListsRequest& AddNestedStringList(const Aws::Vector& value) { m_nestedStringListHasBeenSet = true; m_nestedStringList.push_back(value); return *this; } + inline XmlListsRequest& AddNestedStringList(Aws::Vector&& value) { m_nestedStringListHasBeenSet = true; m_nestedStringList.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetRenamedListMembers() const{ return m_renamedListMembers; } + inline bool RenamedListMembersHasBeenSet() const { return m_renamedListMembersHasBeenSet; } + inline void SetRenamedListMembers(const Aws::Vector& value) { m_renamedListMembersHasBeenSet = true; m_renamedListMembers = value; } + inline void SetRenamedListMembers(Aws::Vector&& value) { m_renamedListMembersHasBeenSet = true; m_renamedListMembers = std::move(value); } + inline XmlListsRequest& WithRenamedListMembers(const Aws::Vector& value) { SetRenamedListMembers(value); return *this;} + inline XmlListsRequest& WithRenamedListMembers(Aws::Vector&& value) { SetRenamedListMembers(std::move(value)); return *this;} + inline XmlListsRequest& AddRenamedListMembers(const Aws::String& value) { m_renamedListMembersHasBeenSet = true; m_renamedListMembers.push_back(value); return *this; } + inline XmlListsRequest& AddRenamedListMembers(Aws::String&& value) { m_renamedListMembersHasBeenSet = true; m_renamedListMembers.push_back(std::move(value)); return *this; } + inline XmlListsRequest& AddRenamedListMembers(const char* value) { m_renamedListMembersHasBeenSet = true; m_renamedListMembers.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetFlattenedList() const{ return m_flattenedList; } + inline bool FlattenedListHasBeenSet() const { return m_flattenedListHasBeenSet; } + inline void SetFlattenedList(const Aws::Vector& value) { m_flattenedListHasBeenSet = true; m_flattenedList = value; } + inline void SetFlattenedList(Aws::Vector&& value) { m_flattenedListHasBeenSet = true; m_flattenedList = std::move(value); } + inline XmlListsRequest& WithFlattenedList(const Aws::Vector& value) { SetFlattenedList(value); return *this;} + inline XmlListsRequest& WithFlattenedList(Aws::Vector&& value) { SetFlattenedList(std::move(value)); return *this;} + inline XmlListsRequest& AddFlattenedList(const Aws::String& value) { m_flattenedListHasBeenSet = true; m_flattenedList.push_back(value); return *this; } + inline XmlListsRequest& AddFlattenedList(Aws::String&& value) { m_flattenedListHasBeenSet = true; m_flattenedList.push_back(std::move(value)); return *this; } + inline XmlListsRequest& AddFlattenedList(const char* value) { m_flattenedListHasBeenSet = true; m_flattenedList.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetFlattenedList2() const{ return m_flattenedList2; } + inline bool FlattenedList2HasBeenSet() const { return m_flattenedList2HasBeenSet; } + inline void SetFlattenedList2(const Aws::Vector& value) { m_flattenedList2HasBeenSet = true; m_flattenedList2 = value; } + inline void SetFlattenedList2(Aws::Vector&& value) { m_flattenedList2HasBeenSet = true; m_flattenedList2 = std::move(value); } + inline XmlListsRequest& WithFlattenedList2(const Aws::Vector& value) { SetFlattenedList2(value); return *this;} + inline XmlListsRequest& WithFlattenedList2(Aws::Vector&& value) { SetFlattenedList2(std::move(value)); return *this;} + inline XmlListsRequest& AddFlattenedList2(const Aws::String& value) { m_flattenedList2HasBeenSet = true; m_flattenedList2.push_back(value); return *this; } + inline XmlListsRequest& AddFlattenedList2(Aws::String&& value) { m_flattenedList2HasBeenSet = true; m_flattenedList2.push_back(std::move(value)); return *this; } + inline XmlListsRequest& AddFlattenedList2(const char* value) { m_flattenedList2HasBeenSet = true; m_flattenedList2.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetFlattenedListWithMemberNamespace() const{ return m_flattenedListWithMemberNamespace; } + inline bool FlattenedListWithMemberNamespaceHasBeenSet() const { return m_flattenedListWithMemberNamespaceHasBeenSet; } + inline void SetFlattenedListWithMemberNamespace(const Aws::Vector& value) { m_flattenedListWithMemberNamespaceHasBeenSet = true; m_flattenedListWithMemberNamespace = value; } + inline void SetFlattenedListWithMemberNamespace(Aws::Vector&& value) { m_flattenedListWithMemberNamespaceHasBeenSet = true; m_flattenedListWithMemberNamespace = std::move(value); } + inline XmlListsRequest& WithFlattenedListWithMemberNamespace(const Aws::Vector& value) { SetFlattenedListWithMemberNamespace(value); return *this;} + inline XmlListsRequest& WithFlattenedListWithMemberNamespace(Aws::Vector&& value) { SetFlattenedListWithMemberNamespace(std::move(value)); return *this;} + inline XmlListsRequest& AddFlattenedListWithMemberNamespace(const Aws::String& value) { m_flattenedListWithMemberNamespaceHasBeenSet = true; m_flattenedListWithMemberNamespace.push_back(value); return *this; } + inline XmlListsRequest& AddFlattenedListWithMemberNamespace(Aws::String&& value) { m_flattenedListWithMemberNamespaceHasBeenSet = true; m_flattenedListWithMemberNamespace.push_back(std::move(value)); return *this; } + inline XmlListsRequest& AddFlattenedListWithMemberNamespace(const char* value) { m_flattenedListWithMemberNamespaceHasBeenSet = true; m_flattenedListWithMemberNamespace.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetFlattenedListWithNamespace() const{ return m_flattenedListWithNamespace; } + inline bool FlattenedListWithNamespaceHasBeenSet() const { return m_flattenedListWithNamespaceHasBeenSet; } + inline void SetFlattenedListWithNamespace(const Aws::Vector& value) { m_flattenedListWithNamespaceHasBeenSet = true; m_flattenedListWithNamespace = value; } + inline void SetFlattenedListWithNamespace(Aws::Vector&& value) { m_flattenedListWithNamespaceHasBeenSet = true; m_flattenedListWithNamespace = std::move(value); } + inline XmlListsRequest& WithFlattenedListWithNamespace(const Aws::Vector& value) { SetFlattenedListWithNamespace(value); return *this;} + inline XmlListsRequest& WithFlattenedListWithNamespace(Aws::Vector&& value) { SetFlattenedListWithNamespace(std::move(value)); return *this;} + inline XmlListsRequest& AddFlattenedListWithNamespace(const Aws::String& value) { m_flattenedListWithNamespaceHasBeenSet = true; m_flattenedListWithNamespace.push_back(value); return *this; } + inline XmlListsRequest& AddFlattenedListWithNamespace(Aws::String&& value) { m_flattenedListWithNamespaceHasBeenSet = true; m_flattenedListWithNamespace.push_back(std::move(value)); return *this; } + inline XmlListsRequest& AddFlattenedListWithNamespace(const char* value) { m_flattenedListWithNamespaceHasBeenSet = true; m_flattenedListWithNamespace.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetStructureList() const{ return m_structureList; } + inline bool StructureListHasBeenSet() const { return m_structureListHasBeenSet; } + inline void SetStructureList(const Aws::Vector& value) { m_structureListHasBeenSet = true; m_structureList = value; } + inline void SetStructureList(Aws::Vector&& value) { m_structureListHasBeenSet = true; m_structureList = std::move(value); } + inline XmlListsRequest& WithStructureList(const Aws::Vector& value) { SetStructureList(value); return *this;} + inline XmlListsRequest& WithStructureList(Aws::Vector&& value) { SetStructureList(std::move(value)); return *this;} + inline XmlListsRequest& AddStructureList(const StructureListMember& value) { m_structureListHasBeenSet = true; m_structureList.push_back(value); return *this; } + inline XmlListsRequest& AddStructureList(StructureListMember&& value) { m_structureListHasBeenSet = true; m_structureList.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetFlattenedStructureList() const{ return m_flattenedStructureList; } + inline bool FlattenedStructureListHasBeenSet() const { return m_flattenedStructureListHasBeenSet; } + inline void SetFlattenedStructureList(const Aws::Vector& value) { m_flattenedStructureListHasBeenSet = true; m_flattenedStructureList = value; } + inline void SetFlattenedStructureList(Aws::Vector&& value) { m_flattenedStructureListHasBeenSet = true; m_flattenedStructureList = std::move(value); } + inline XmlListsRequest& WithFlattenedStructureList(const Aws::Vector& value) { SetFlattenedStructureList(value); return *this;} + inline XmlListsRequest& WithFlattenedStructureList(Aws::Vector&& value) { SetFlattenedStructureList(std::move(value)); return *this;} + inline XmlListsRequest& AddFlattenedStructureList(const StructureListMember& value) { m_flattenedStructureListHasBeenSet = true; m_flattenedStructureList.push_back(value); return *this; } + inline XmlListsRequest& AddFlattenedStructureList(StructureListMember&& value) { m_flattenedStructureListHasBeenSet = true; m_flattenedStructureList.push_back(std::move(value)); return *this; } + ///@} + private: + + Aws::Vector m_stringList; + bool m_stringListHasBeenSet = false; + + Aws::Vector m_stringSet; + bool m_stringSetHasBeenSet = false; + + Aws::Vector m_integerList; + bool m_integerListHasBeenSet = false; + + Aws::Vector m_booleanList; + bool m_booleanListHasBeenSet = false; + + Aws::Vector m_timestampList; + bool m_timestampListHasBeenSet = false; + + Aws::Vector m_enumList; + bool m_enumListHasBeenSet = false; + + Aws::Vector m_intEnumList; + bool m_intEnumListHasBeenSet = false; + + Aws::Vector> m_nestedStringList; + bool m_nestedStringListHasBeenSet = false; + + Aws::Vector m_renamedListMembers; + bool m_renamedListMembersHasBeenSet = false; + + Aws::Vector m_flattenedList; + bool m_flattenedListHasBeenSet = false; + + Aws::Vector m_flattenedList2; + bool m_flattenedList2HasBeenSet = false; + + Aws::Vector m_flattenedListWithMemberNamespace; + bool m_flattenedListWithMemberNamespaceHasBeenSet = false; + + Aws::Vector m_flattenedListWithNamespace; + bool m_flattenedListWithNamespaceHasBeenSet = false; + + Aws::Vector m_structureList; + bool m_structureListHasBeenSet = false; + + Aws::Vector m_flattenedStructureList; + bool m_flattenedStructureListHasBeenSet = false; + }; + +} // namespace Model +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/XmlListsResult.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/XmlListsResult.h new file mode 100644 index 00000000000..81c7087cf60 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/XmlListsResult.h @@ -0,0 +1,255 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace RestXmlProtocol +{ +namespace Model +{ + class XmlListsResult + { + public: + AWS_RESTXMLPROTOCOL_API XmlListsResult(); + AWS_RESTXMLPROTOCOL_API XmlListsResult(const Aws::AmazonWebServiceResult& result); + AWS_RESTXMLPROTOCOL_API XmlListsResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::Vector& GetStringList() const{ return m_stringList; } + inline void SetStringList(const Aws::Vector& value) { m_stringList = value; } + inline void SetStringList(Aws::Vector&& value) { m_stringList = std::move(value); } + inline XmlListsResult& WithStringList(const Aws::Vector& value) { SetStringList(value); return *this;} + inline XmlListsResult& WithStringList(Aws::Vector&& value) { SetStringList(std::move(value)); return *this;} + inline XmlListsResult& AddStringList(const Aws::String& value) { m_stringList.push_back(value); return *this; } + inline XmlListsResult& AddStringList(Aws::String&& value) { m_stringList.push_back(std::move(value)); return *this; } + inline XmlListsResult& AddStringList(const char* value) { m_stringList.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetStringSet() const{ return m_stringSet; } + inline void SetStringSet(const Aws::Vector& value) { m_stringSet = value; } + inline void SetStringSet(Aws::Vector&& value) { m_stringSet = std::move(value); } + inline XmlListsResult& WithStringSet(const Aws::Vector& value) { SetStringSet(value); return *this;} + inline XmlListsResult& WithStringSet(Aws::Vector&& value) { SetStringSet(std::move(value)); return *this;} + inline XmlListsResult& AddStringSet(const Aws::String& value) { m_stringSet.push_back(value); return *this; } + inline XmlListsResult& AddStringSet(Aws::String&& value) { m_stringSet.push_back(std::move(value)); return *this; } + inline XmlListsResult& AddStringSet(const char* value) { m_stringSet.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetIntegerList() const{ return m_integerList; } + inline void SetIntegerList(const Aws::Vector& value) { m_integerList = value; } + inline void SetIntegerList(Aws::Vector&& value) { m_integerList = std::move(value); } + inline XmlListsResult& WithIntegerList(const Aws::Vector& value) { SetIntegerList(value); return *this;} + inline XmlListsResult& WithIntegerList(Aws::Vector&& value) { SetIntegerList(std::move(value)); return *this;} + inline XmlListsResult& AddIntegerList(int value) { m_integerList.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetBooleanList() const{ return m_booleanList; } + inline void SetBooleanList(const Aws::Vector& value) { m_booleanList = value; } + inline void SetBooleanList(Aws::Vector&& value) { m_booleanList = std::move(value); } + inline XmlListsResult& WithBooleanList(const Aws::Vector& value) { SetBooleanList(value); return *this;} + inline XmlListsResult& WithBooleanList(Aws::Vector&& value) { SetBooleanList(std::move(value)); return *this;} + inline XmlListsResult& AddBooleanList(bool value) { m_booleanList.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetTimestampList() const{ return m_timestampList; } + inline void SetTimestampList(const Aws::Vector& value) { m_timestampList = value; } + inline void SetTimestampList(Aws::Vector&& value) { m_timestampList = std::move(value); } + inline XmlListsResult& WithTimestampList(const Aws::Vector& value) { SetTimestampList(value); return *this;} + inline XmlListsResult& WithTimestampList(Aws::Vector&& value) { SetTimestampList(std::move(value)); return *this;} + inline XmlListsResult& AddTimestampList(const Aws::Utils::DateTime& value) { m_timestampList.push_back(value); return *this; } + inline XmlListsResult& AddTimestampList(Aws::Utils::DateTime&& value) { m_timestampList.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetEnumList() const{ return m_enumList; } + inline void SetEnumList(const Aws::Vector& value) { m_enumList = value; } + inline void SetEnumList(Aws::Vector&& value) { m_enumList = std::move(value); } + inline XmlListsResult& WithEnumList(const Aws::Vector& value) { SetEnumList(value); return *this;} + inline XmlListsResult& WithEnumList(Aws::Vector&& value) { SetEnumList(std::move(value)); return *this;} + inline XmlListsResult& AddEnumList(const FooEnum& value) { m_enumList.push_back(value); return *this; } + inline XmlListsResult& AddEnumList(FooEnum&& value) { m_enumList.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetIntEnumList() const{ return m_intEnumList; } + inline void SetIntEnumList(const Aws::Vector& value) { m_intEnumList = value; } + inline void SetIntEnumList(Aws::Vector&& value) { m_intEnumList = std::move(value); } + inline XmlListsResult& WithIntEnumList(const Aws::Vector& value) { SetIntEnumList(value); return *this;} + inline XmlListsResult& WithIntEnumList(Aws::Vector&& value) { SetIntEnumList(std::move(value)); return *this;} + inline XmlListsResult& AddIntEnumList(int value) { m_intEnumList.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector>& GetNestedStringList() const{ return m_nestedStringList; } + inline void SetNestedStringList(const Aws::Vector>& value) { m_nestedStringList = value; } + inline void SetNestedStringList(Aws::Vector>&& value) { m_nestedStringList = std::move(value); } + inline XmlListsResult& WithNestedStringList(const Aws::Vector>& value) { SetNestedStringList(value); return *this;} + inline XmlListsResult& WithNestedStringList(Aws::Vector>&& value) { SetNestedStringList(std::move(value)); return *this;} + inline XmlListsResult& AddNestedStringList(const Aws::Vector& value) { m_nestedStringList.push_back(value); return *this; } + inline XmlListsResult& AddNestedStringList(Aws::Vector&& value) { m_nestedStringList.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetRenamedListMembers() const{ return m_renamedListMembers; } + inline void SetRenamedListMembers(const Aws::Vector& value) { m_renamedListMembers = value; } + inline void SetRenamedListMembers(Aws::Vector&& value) { m_renamedListMembers = std::move(value); } + inline XmlListsResult& WithRenamedListMembers(const Aws::Vector& value) { SetRenamedListMembers(value); return *this;} + inline XmlListsResult& WithRenamedListMembers(Aws::Vector&& value) { SetRenamedListMembers(std::move(value)); return *this;} + inline XmlListsResult& AddRenamedListMembers(const Aws::String& value) { m_renamedListMembers.push_back(value); return *this; } + inline XmlListsResult& AddRenamedListMembers(Aws::String&& value) { m_renamedListMembers.push_back(std::move(value)); return *this; } + inline XmlListsResult& AddRenamedListMembers(const char* value) { m_renamedListMembers.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetFlattenedList() const{ return m_flattenedList; } + inline void SetFlattenedList(const Aws::Vector& value) { m_flattenedList = value; } + inline void SetFlattenedList(Aws::Vector&& value) { m_flattenedList = std::move(value); } + inline XmlListsResult& WithFlattenedList(const Aws::Vector& value) { SetFlattenedList(value); return *this;} + inline XmlListsResult& WithFlattenedList(Aws::Vector&& value) { SetFlattenedList(std::move(value)); return *this;} + inline XmlListsResult& AddFlattenedList(const Aws::String& value) { m_flattenedList.push_back(value); return *this; } + inline XmlListsResult& AddFlattenedList(Aws::String&& value) { m_flattenedList.push_back(std::move(value)); return *this; } + inline XmlListsResult& AddFlattenedList(const char* value) { m_flattenedList.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetFlattenedList2() const{ return m_flattenedList2; } + inline void SetFlattenedList2(const Aws::Vector& value) { m_flattenedList2 = value; } + inline void SetFlattenedList2(Aws::Vector&& value) { m_flattenedList2 = std::move(value); } + inline XmlListsResult& WithFlattenedList2(const Aws::Vector& value) { SetFlattenedList2(value); return *this;} + inline XmlListsResult& WithFlattenedList2(Aws::Vector&& value) { SetFlattenedList2(std::move(value)); return *this;} + inline XmlListsResult& AddFlattenedList2(const Aws::String& value) { m_flattenedList2.push_back(value); return *this; } + inline XmlListsResult& AddFlattenedList2(Aws::String&& value) { m_flattenedList2.push_back(std::move(value)); return *this; } + inline XmlListsResult& AddFlattenedList2(const char* value) { m_flattenedList2.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetFlattenedListWithMemberNamespace() const{ return m_flattenedListWithMemberNamespace; } + inline void SetFlattenedListWithMemberNamespace(const Aws::Vector& value) { m_flattenedListWithMemberNamespace = value; } + inline void SetFlattenedListWithMemberNamespace(Aws::Vector&& value) { m_flattenedListWithMemberNamespace = std::move(value); } + inline XmlListsResult& WithFlattenedListWithMemberNamespace(const Aws::Vector& value) { SetFlattenedListWithMemberNamespace(value); return *this;} + inline XmlListsResult& WithFlattenedListWithMemberNamespace(Aws::Vector&& value) { SetFlattenedListWithMemberNamespace(std::move(value)); return *this;} + inline XmlListsResult& AddFlattenedListWithMemberNamespace(const Aws::String& value) { m_flattenedListWithMemberNamespace.push_back(value); return *this; } + inline XmlListsResult& AddFlattenedListWithMemberNamespace(Aws::String&& value) { m_flattenedListWithMemberNamespace.push_back(std::move(value)); return *this; } + inline XmlListsResult& AddFlattenedListWithMemberNamespace(const char* value) { m_flattenedListWithMemberNamespace.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetFlattenedListWithNamespace() const{ return m_flattenedListWithNamespace; } + inline void SetFlattenedListWithNamespace(const Aws::Vector& value) { m_flattenedListWithNamespace = value; } + inline void SetFlattenedListWithNamespace(Aws::Vector&& value) { m_flattenedListWithNamespace = std::move(value); } + inline XmlListsResult& WithFlattenedListWithNamespace(const Aws::Vector& value) { SetFlattenedListWithNamespace(value); return *this;} + inline XmlListsResult& WithFlattenedListWithNamespace(Aws::Vector&& value) { SetFlattenedListWithNamespace(std::move(value)); return *this;} + inline XmlListsResult& AddFlattenedListWithNamespace(const Aws::String& value) { m_flattenedListWithNamespace.push_back(value); return *this; } + inline XmlListsResult& AddFlattenedListWithNamespace(Aws::String&& value) { m_flattenedListWithNamespace.push_back(std::move(value)); return *this; } + inline XmlListsResult& AddFlattenedListWithNamespace(const char* value) { m_flattenedListWithNamespace.push_back(value); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetStructureList() const{ return m_structureList; } + inline void SetStructureList(const Aws::Vector& value) { m_structureList = value; } + inline void SetStructureList(Aws::Vector&& value) { m_structureList = std::move(value); } + inline XmlListsResult& WithStructureList(const Aws::Vector& value) { SetStructureList(value); return *this;} + inline XmlListsResult& WithStructureList(Aws::Vector&& value) { SetStructureList(std::move(value)); return *this;} + inline XmlListsResult& AddStructureList(const StructureListMember& value) { m_structureList.push_back(value); return *this; } + inline XmlListsResult& AddStructureList(StructureListMember&& value) { m_structureList.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetFlattenedStructureList() const{ return m_flattenedStructureList; } + inline void SetFlattenedStructureList(const Aws::Vector& value) { m_flattenedStructureList = value; } + inline void SetFlattenedStructureList(Aws::Vector&& value) { m_flattenedStructureList = std::move(value); } + inline XmlListsResult& WithFlattenedStructureList(const Aws::Vector& value) { SetFlattenedStructureList(value); return *this;} + inline XmlListsResult& WithFlattenedStructureList(Aws::Vector&& value) { SetFlattenedStructureList(std::move(value)); return *this;} + inline XmlListsResult& AddFlattenedStructureList(const StructureListMember& value) { m_flattenedStructureList.push_back(value); return *this; } + inline XmlListsResult& AddFlattenedStructureList(StructureListMember&& value) { m_flattenedStructureList.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline XmlListsResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline XmlListsResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline XmlListsResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::Vector m_stringList; + + Aws::Vector m_stringSet; + + Aws::Vector m_integerList; + + Aws::Vector m_booleanList; + + Aws::Vector m_timestampList; + + Aws::Vector m_enumList; + + Aws::Vector m_intEnumList; + + Aws::Vector> m_nestedStringList; + + Aws::Vector m_renamedListMembers; + + Aws::Vector m_flattenedList; + + Aws::Vector m_flattenedList2; + + Aws::Vector m_flattenedListWithMemberNamespace; + + Aws::Vector m_flattenedListWithNamespace; + + Aws::Vector m_structureList; + + Aws::Vector m_flattenedStructureList; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/XmlMapWithXmlNamespaceRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/XmlMapWithXmlNamespaceRequest.h new file mode 100644 index 00000000000..1fb7677739d --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/XmlMapWithXmlNamespaceRequest.h @@ -0,0 +1,60 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace RestXmlProtocol +{ +namespace Model +{ + + /** + */ + class XmlMapWithXmlNamespaceRequest : public RestXmlProtocolRequest + { + public: + AWS_RESTXMLPROTOCOL_API XmlMapWithXmlNamespaceRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "XmlMapWithXmlNamespace"; } + + AWS_RESTXMLPROTOCOL_API Aws::String SerializePayload() const override; + + + ///@{ + + inline const Aws::Map& GetMyMap() const{ return m_myMap; } + inline bool MyMapHasBeenSet() const { return m_myMapHasBeenSet; } + inline void SetMyMap(const Aws::Map& value) { m_myMapHasBeenSet = true; m_myMap = value; } + inline void SetMyMap(Aws::Map&& value) { m_myMapHasBeenSet = true; m_myMap = std::move(value); } + inline XmlMapWithXmlNamespaceRequest& WithMyMap(const Aws::Map& value) { SetMyMap(value); return *this;} + inline XmlMapWithXmlNamespaceRequest& WithMyMap(Aws::Map&& value) { SetMyMap(std::move(value)); return *this;} + inline XmlMapWithXmlNamespaceRequest& AddMyMap(const Aws::String& key, const Aws::String& value) { m_myMapHasBeenSet = true; m_myMap.emplace(key, value); return *this; } + inline XmlMapWithXmlNamespaceRequest& AddMyMap(Aws::String&& key, const Aws::String& value) { m_myMapHasBeenSet = true; m_myMap.emplace(std::move(key), value); return *this; } + inline XmlMapWithXmlNamespaceRequest& AddMyMap(const Aws::String& key, Aws::String&& value) { m_myMapHasBeenSet = true; m_myMap.emplace(key, std::move(value)); return *this; } + inline XmlMapWithXmlNamespaceRequest& AddMyMap(Aws::String&& key, Aws::String&& value) { m_myMapHasBeenSet = true; m_myMap.emplace(std::move(key), std::move(value)); return *this; } + inline XmlMapWithXmlNamespaceRequest& AddMyMap(const char* key, Aws::String&& value) { m_myMapHasBeenSet = true; m_myMap.emplace(key, std::move(value)); return *this; } + inline XmlMapWithXmlNamespaceRequest& AddMyMap(Aws::String&& key, const char* value) { m_myMapHasBeenSet = true; m_myMap.emplace(std::move(key), value); return *this; } + inline XmlMapWithXmlNamespaceRequest& AddMyMap(const char* key, const char* value) { m_myMapHasBeenSet = true; m_myMap.emplace(key, value); return *this; } + ///@} + private: + + Aws::Map m_myMap; + bool m_myMapHasBeenSet = false; + }; + +} // namespace Model +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/XmlMapWithXmlNamespaceResult.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/XmlMapWithXmlNamespaceResult.h new file mode 100644 index 00000000000..578fef76b84 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/XmlMapWithXmlNamespaceResult.h @@ -0,0 +1,71 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace RestXmlProtocol +{ +namespace Model +{ + class XmlMapWithXmlNamespaceResult + { + public: + AWS_RESTXMLPROTOCOL_API XmlMapWithXmlNamespaceResult(); + AWS_RESTXMLPROTOCOL_API XmlMapWithXmlNamespaceResult(const Aws::AmazonWebServiceResult& result); + AWS_RESTXMLPROTOCOL_API XmlMapWithXmlNamespaceResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::Map& GetMyMap() const{ return m_myMap; } + inline void SetMyMap(const Aws::Map& value) { m_myMap = value; } + inline void SetMyMap(Aws::Map&& value) { m_myMap = std::move(value); } + inline XmlMapWithXmlNamespaceResult& WithMyMap(const Aws::Map& value) { SetMyMap(value); return *this;} + inline XmlMapWithXmlNamespaceResult& WithMyMap(Aws::Map&& value) { SetMyMap(std::move(value)); return *this;} + inline XmlMapWithXmlNamespaceResult& AddMyMap(const Aws::String& key, const Aws::String& value) { m_myMap.emplace(key, value); return *this; } + inline XmlMapWithXmlNamespaceResult& AddMyMap(Aws::String&& key, const Aws::String& value) { m_myMap.emplace(std::move(key), value); return *this; } + inline XmlMapWithXmlNamespaceResult& AddMyMap(const Aws::String& key, Aws::String&& value) { m_myMap.emplace(key, std::move(value)); return *this; } + inline XmlMapWithXmlNamespaceResult& AddMyMap(Aws::String&& key, Aws::String&& value) { m_myMap.emplace(std::move(key), std::move(value)); return *this; } + inline XmlMapWithXmlNamespaceResult& AddMyMap(const char* key, Aws::String&& value) { m_myMap.emplace(key, std::move(value)); return *this; } + inline XmlMapWithXmlNamespaceResult& AddMyMap(Aws::String&& key, const char* value) { m_myMap.emplace(std::move(key), value); return *this; } + inline XmlMapWithXmlNamespaceResult& AddMyMap(const char* key, const char* value) { m_myMap.emplace(key, value); return *this; } + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline XmlMapWithXmlNamespaceResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline XmlMapWithXmlNamespaceResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline XmlMapWithXmlNamespaceResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::Map m_myMap; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/XmlMapsRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/XmlMapsRequest.h new file mode 100644 index 00000000000..1378307cedb --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/XmlMapsRequest.h @@ -0,0 +1,60 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace RestXmlProtocol +{ +namespace Model +{ + + /** + */ + class XmlMapsRequest : public RestXmlProtocolRequest + { + public: + AWS_RESTXMLPROTOCOL_API XmlMapsRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "XmlMaps"; } + + AWS_RESTXMLPROTOCOL_API Aws::String SerializePayload() const override; + + + ///@{ + + inline const Aws::Map& GetMyMap() const{ return m_myMap; } + inline bool MyMapHasBeenSet() const { return m_myMapHasBeenSet; } + inline void SetMyMap(const Aws::Map& value) { m_myMapHasBeenSet = true; m_myMap = value; } + inline void SetMyMap(Aws::Map&& value) { m_myMapHasBeenSet = true; m_myMap = std::move(value); } + inline XmlMapsRequest& WithMyMap(const Aws::Map& value) { SetMyMap(value); return *this;} + inline XmlMapsRequest& WithMyMap(Aws::Map&& value) { SetMyMap(std::move(value)); return *this;} + inline XmlMapsRequest& AddMyMap(const Aws::String& key, const GreetingStruct& value) { m_myMapHasBeenSet = true; m_myMap.emplace(key, value); return *this; } + inline XmlMapsRequest& AddMyMap(Aws::String&& key, const GreetingStruct& value) { m_myMapHasBeenSet = true; m_myMap.emplace(std::move(key), value); return *this; } + inline XmlMapsRequest& AddMyMap(const Aws::String& key, GreetingStruct&& value) { m_myMapHasBeenSet = true; m_myMap.emplace(key, std::move(value)); return *this; } + inline XmlMapsRequest& AddMyMap(Aws::String&& key, GreetingStruct&& value) { m_myMapHasBeenSet = true; m_myMap.emplace(std::move(key), std::move(value)); return *this; } + inline XmlMapsRequest& AddMyMap(const char* key, GreetingStruct&& value) { m_myMapHasBeenSet = true; m_myMap.emplace(key, std::move(value)); return *this; } + inline XmlMapsRequest& AddMyMap(const char* key, const GreetingStruct& value) { m_myMapHasBeenSet = true; m_myMap.emplace(key, value); return *this; } + ///@} + private: + + Aws::Map m_myMap; + bool m_myMapHasBeenSet = false; + }; + +} // namespace Model +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/XmlMapsResult.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/XmlMapsResult.h new file mode 100644 index 00000000000..929c10b330e --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/XmlMapsResult.h @@ -0,0 +1,71 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace RestXmlProtocol +{ +namespace Model +{ + class XmlMapsResult + { + public: + AWS_RESTXMLPROTOCOL_API XmlMapsResult(); + AWS_RESTXMLPROTOCOL_API XmlMapsResult(const Aws::AmazonWebServiceResult& result); + AWS_RESTXMLPROTOCOL_API XmlMapsResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::Map& GetMyMap() const{ return m_myMap; } + inline void SetMyMap(const Aws::Map& value) { m_myMap = value; } + inline void SetMyMap(Aws::Map&& value) { m_myMap = std::move(value); } + inline XmlMapsResult& WithMyMap(const Aws::Map& value) { SetMyMap(value); return *this;} + inline XmlMapsResult& WithMyMap(Aws::Map&& value) { SetMyMap(std::move(value)); return *this;} + inline XmlMapsResult& AddMyMap(const Aws::String& key, const GreetingStruct& value) { m_myMap.emplace(key, value); return *this; } + inline XmlMapsResult& AddMyMap(Aws::String&& key, const GreetingStruct& value) { m_myMap.emplace(std::move(key), value); return *this; } + inline XmlMapsResult& AddMyMap(const Aws::String& key, GreetingStruct&& value) { m_myMap.emplace(key, std::move(value)); return *this; } + inline XmlMapsResult& AddMyMap(Aws::String&& key, GreetingStruct&& value) { m_myMap.emplace(std::move(key), std::move(value)); return *this; } + inline XmlMapsResult& AddMyMap(const char* key, GreetingStruct&& value) { m_myMap.emplace(key, std::move(value)); return *this; } + inline XmlMapsResult& AddMyMap(const char* key, const GreetingStruct& value) { m_myMap.emplace(key, value); return *this; } + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline XmlMapsResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline XmlMapsResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline XmlMapsResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::Map m_myMap; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/XmlMapsXmlNameRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/XmlMapsXmlNameRequest.h new file mode 100644 index 00000000000..18a71dfb55b --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/XmlMapsXmlNameRequest.h @@ -0,0 +1,60 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace RestXmlProtocol +{ +namespace Model +{ + + /** + */ + class XmlMapsXmlNameRequest : public RestXmlProtocolRequest + { + public: + AWS_RESTXMLPROTOCOL_API XmlMapsXmlNameRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "XmlMapsXmlName"; } + + AWS_RESTXMLPROTOCOL_API Aws::String SerializePayload() const override; + + + ///@{ + + inline const Aws::Map& GetMyMap() const{ return m_myMap; } + inline bool MyMapHasBeenSet() const { return m_myMapHasBeenSet; } + inline void SetMyMap(const Aws::Map& value) { m_myMapHasBeenSet = true; m_myMap = value; } + inline void SetMyMap(Aws::Map&& value) { m_myMapHasBeenSet = true; m_myMap = std::move(value); } + inline XmlMapsXmlNameRequest& WithMyMap(const Aws::Map& value) { SetMyMap(value); return *this;} + inline XmlMapsXmlNameRequest& WithMyMap(Aws::Map&& value) { SetMyMap(std::move(value)); return *this;} + inline XmlMapsXmlNameRequest& AddMyMap(const Aws::String& key, const GreetingStruct& value) { m_myMapHasBeenSet = true; m_myMap.emplace(key, value); return *this; } + inline XmlMapsXmlNameRequest& AddMyMap(Aws::String&& key, const GreetingStruct& value) { m_myMapHasBeenSet = true; m_myMap.emplace(std::move(key), value); return *this; } + inline XmlMapsXmlNameRequest& AddMyMap(const Aws::String& key, GreetingStruct&& value) { m_myMapHasBeenSet = true; m_myMap.emplace(key, std::move(value)); return *this; } + inline XmlMapsXmlNameRequest& AddMyMap(Aws::String&& key, GreetingStruct&& value) { m_myMapHasBeenSet = true; m_myMap.emplace(std::move(key), std::move(value)); return *this; } + inline XmlMapsXmlNameRequest& AddMyMap(const char* key, GreetingStruct&& value) { m_myMapHasBeenSet = true; m_myMap.emplace(key, std::move(value)); return *this; } + inline XmlMapsXmlNameRequest& AddMyMap(const char* key, const GreetingStruct& value) { m_myMapHasBeenSet = true; m_myMap.emplace(key, value); return *this; } + ///@} + private: + + Aws::Map m_myMap; + bool m_myMapHasBeenSet = false; + }; + +} // namespace Model +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/XmlMapsXmlNameResult.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/XmlMapsXmlNameResult.h new file mode 100644 index 00000000000..4f0a9d05dfc --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/XmlMapsXmlNameResult.h @@ -0,0 +1,71 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace RestXmlProtocol +{ +namespace Model +{ + class XmlMapsXmlNameResult + { + public: + AWS_RESTXMLPROTOCOL_API XmlMapsXmlNameResult(); + AWS_RESTXMLPROTOCOL_API XmlMapsXmlNameResult(const Aws::AmazonWebServiceResult& result); + AWS_RESTXMLPROTOCOL_API XmlMapsXmlNameResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::Map& GetMyMap() const{ return m_myMap; } + inline void SetMyMap(const Aws::Map& value) { m_myMap = value; } + inline void SetMyMap(Aws::Map&& value) { m_myMap = std::move(value); } + inline XmlMapsXmlNameResult& WithMyMap(const Aws::Map& value) { SetMyMap(value); return *this;} + inline XmlMapsXmlNameResult& WithMyMap(Aws::Map&& value) { SetMyMap(std::move(value)); return *this;} + inline XmlMapsXmlNameResult& AddMyMap(const Aws::String& key, const GreetingStruct& value) { m_myMap.emplace(key, value); return *this; } + inline XmlMapsXmlNameResult& AddMyMap(Aws::String&& key, const GreetingStruct& value) { m_myMap.emplace(std::move(key), value); return *this; } + inline XmlMapsXmlNameResult& AddMyMap(const Aws::String& key, GreetingStruct&& value) { m_myMap.emplace(key, std::move(value)); return *this; } + inline XmlMapsXmlNameResult& AddMyMap(Aws::String&& key, GreetingStruct&& value) { m_myMap.emplace(std::move(key), std::move(value)); return *this; } + inline XmlMapsXmlNameResult& AddMyMap(const char* key, GreetingStruct&& value) { m_myMap.emplace(key, std::move(value)); return *this; } + inline XmlMapsXmlNameResult& AddMyMap(const char* key, const GreetingStruct& value) { m_myMap.emplace(key, value); return *this; } + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline XmlMapsXmlNameResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline XmlMapsXmlNameResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline XmlMapsXmlNameResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::Map m_myMap; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/XmlNamespaceNested.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/XmlNamespaceNested.h new file mode 100644 index 00000000000..ad99280d931 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/XmlNamespaceNested.h @@ -0,0 +1,71 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace RestXmlProtocol +{ +namespace Model +{ + + class XmlNamespaceNested + { + public: + AWS_RESTXMLPROTOCOL_API XmlNamespaceNested(); + AWS_RESTXMLPROTOCOL_API XmlNamespaceNested(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_RESTXMLPROTOCOL_API XmlNamespaceNested& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + AWS_RESTXMLPROTOCOL_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + ///@{ + + inline const Aws::String& GetFoo() const{ return m_foo; } + inline bool FooHasBeenSet() const { return m_fooHasBeenSet; } + inline void SetFoo(const Aws::String& value) { m_fooHasBeenSet = true; m_foo = value; } + inline void SetFoo(Aws::String&& value) { m_fooHasBeenSet = true; m_foo = std::move(value); } + inline void SetFoo(const char* value) { m_fooHasBeenSet = true; m_foo.assign(value); } + inline XmlNamespaceNested& WithFoo(const Aws::String& value) { SetFoo(value); return *this;} + inline XmlNamespaceNested& WithFoo(Aws::String&& value) { SetFoo(std::move(value)); return *this;} + inline XmlNamespaceNested& WithFoo(const char* value) { SetFoo(value); return *this;} + ///@} + + ///@{ + + inline const Aws::Vector& GetValues() const{ return m_values; } + inline bool ValuesHasBeenSet() const { return m_valuesHasBeenSet; } + inline void SetValues(const Aws::Vector& value) { m_valuesHasBeenSet = true; m_values = value; } + inline void SetValues(Aws::Vector&& value) { m_valuesHasBeenSet = true; m_values = std::move(value); } + inline XmlNamespaceNested& WithValues(const Aws::Vector& value) { SetValues(value); return *this;} + inline XmlNamespaceNested& WithValues(Aws::Vector&& value) { SetValues(std::move(value)); return *this;} + inline XmlNamespaceNested& AddValues(const Aws::String& value) { m_valuesHasBeenSet = true; m_values.push_back(value); return *this; } + inline XmlNamespaceNested& AddValues(Aws::String&& value) { m_valuesHasBeenSet = true; m_values.push_back(std::move(value)); return *this; } + inline XmlNamespaceNested& AddValues(const char* value) { m_valuesHasBeenSet = true; m_values.push_back(value); return *this; } + ///@} + private: + + Aws::String m_foo; + bool m_fooHasBeenSet = false; + + Aws::Vector m_values; + bool m_valuesHasBeenSet = false; + }; + +} // namespace Model +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/XmlNamespacesRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/XmlNamespacesRequest.h new file mode 100644 index 00000000000..7e8925e7856 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/XmlNamespacesRequest.h @@ -0,0 +1,52 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace RestXmlProtocol +{ +namespace Model +{ + + /** + */ + class XmlNamespacesRequest : public RestXmlProtocolRequest + { + public: + AWS_RESTXMLPROTOCOL_API XmlNamespacesRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "XmlNamespaces"; } + + AWS_RESTXMLPROTOCOL_API Aws::String SerializePayload() const override; + + + ///@{ + + inline const XmlNamespaceNested& GetNested() const{ return m_nested; } + inline bool NestedHasBeenSet() const { return m_nestedHasBeenSet; } + inline void SetNested(const XmlNamespaceNested& value) { m_nestedHasBeenSet = true; m_nested = value; } + inline void SetNested(XmlNamespaceNested&& value) { m_nestedHasBeenSet = true; m_nested = std::move(value); } + inline XmlNamespacesRequest& WithNested(const XmlNamespaceNested& value) { SetNested(value); return *this;} + inline XmlNamespacesRequest& WithNested(XmlNamespaceNested&& value) { SetNested(std::move(value)); return *this;} + ///@} + private: + + XmlNamespaceNested m_nested; + bool m_nestedHasBeenSet = false; + }; + +} // namespace Model +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/XmlNamespacesResult.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/XmlNamespacesResult.h new file mode 100644 index 00000000000..74354c8b59f --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/XmlNamespacesResult.h @@ -0,0 +1,64 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace RestXmlProtocol +{ +namespace Model +{ + class XmlNamespacesResult + { + public: + AWS_RESTXMLPROTOCOL_API XmlNamespacesResult(); + AWS_RESTXMLPROTOCOL_API XmlNamespacesResult(const Aws::AmazonWebServiceResult& result); + AWS_RESTXMLPROTOCOL_API XmlNamespacesResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const XmlNamespaceNested& GetNested() const{ return m_nested; } + inline void SetNested(const XmlNamespaceNested& value) { m_nested = value; } + inline void SetNested(XmlNamespaceNested&& value) { m_nested = std::move(value); } + inline XmlNamespacesResult& WithNested(const XmlNamespaceNested& value) { SetNested(value); return *this;} + inline XmlNamespacesResult& WithNested(XmlNamespaceNested&& value) { SetNested(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline XmlNamespacesResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline XmlNamespacesResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline XmlNamespacesResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + XmlNamespaceNested m_nested; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/XmlNestedUnionStruct.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/XmlNestedUnionStruct.h new file mode 100644 index 00000000000..def181da217 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/XmlNestedUnionStruct.h @@ -0,0 +1,131 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace RestXmlProtocol +{ +namespace Model +{ + + class XmlNestedUnionStruct + { + public: + AWS_RESTXMLPROTOCOL_API XmlNestedUnionStruct(); + AWS_RESTXMLPROTOCOL_API XmlNestedUnionStruct(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_RESTXMLPROTOCOL_API XmlNestedUnionStruct& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + AWS_RESTXMLPROTOCOL_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + ///@{ + + inline const Aws::String& GetStringValue() const{ return m_stringValue; } + inline bool StringValueHasBeenSet() const { return m_stringValueHasBeenSet; } + inline void SetStringValue(const Aws::String& value) { m_stringValueHasBeenSet = true; m_stringValue = value; } + inline void SetStringValue(Aws::String&& value) { m_stringValueHasBeenSet = true; m_stringValue = std::move(value); } + inline void SetStringValue(const char* value) { m_stringValueHasBeenSet = true; m_stringValue.assign(value); } + inline XmlNestedUnionStruct& WithStringValue(const Aws::String& value) { SetStringValue(value); return *this;} + inline XmlNestedUnionStruct& WithStringValue(Aws::String&& value) { SetStringValue(std::move(value)); return *this;} + inline XmlNestedUnionStruct& WithStringValue(const char* value) { SetStringValue(value); return *this;} + ///@} + + ///@{ + + inline bool GetBooleanValue() const{ return m_booleanValue; } + inline bool BooleanValueHasBeenSet() const { return m_booleanValueHasBeenSet; } + inline void SetBooleanValue(bool value) { m_booleanValueHasBeenSet = true; m_booleanValue = value; } + inline XmlNestedUnionStruct& WithBooleanValue(bool value) { SetBooleanValue(value); return *this;} + ///@} + + ///@{ + + inline int GetByteValue() const{ return m_byteValue; } + inline bool ByteValueHasBeenSet() const { return m_byteValueHasBeenSet; } + inline void SetByteValue(int value) { m_byteValueHasBeenSet = true; m_byteValue = value; } + inline XmlNestedUnionStruct& WithByteValue(int value) { SetByteValue(value); return *this;} + ///@} + + ///@{ + + inline int GetShortValue() const{ return m_shortValue; } + inline bool ShortValueHasBeenSet() const { return m_shortValueHasBeenSet; } + inline void SetShortValue(int value) { m_shortValueHasBeenSet = true; m_shortValue = value; } + inline XmlNestedUnionStruct& WithShortValue(int value) { SetShortValue(value); return *this;} + ///@} + + ///@{ + + inline int GetIntegerValue() const{ return m_integerValue; } + inline bool IntegerValueHasBeenSet() const { return m_integerValueHasBeenSet; } + inline void SetIntegerValue(int value) { m_integerValueHasBeenSet = true; m_integerValue = value; } + inline XmlNestedUnionStruct& WithIntegerValue(int value) { SetIntegerValue(value); return *this;} + ///@} + + ///@{ + + inline long long GetLongValue() const{ return m_longValue; } + inline bool LongValueHasBeenSet() const { return m_longValueHasBeenSet; } + inline void SetLongValue(long long value) { m_longValueHasBeenSet = true; m_longValue = value; } + inline XmlNestedUnionStruct& WithLongValue(long long value) { SetLongValue(value); return *this;} + ///@} + + ///@{ + + inline double GetFloatValue() const{ return m_floatValue; } + inline bool FloatValueHasBeenSet() const { return m_floatValueHasBeenSet; } + inline void SetFloatValue(double value) { m_floatValueHasBeenSet = true; m_floatValue = value; } + inline XmlNestedUnionStruct& WithFloatValue(double value) { SetFloatValue(value); return *this;} + ///@} + + ///@{ + + inline double GetDoubleValue() const{ return m_doubleValue; } + inline bool DoubleValueHasBeenSet() const { return m_doubleValueHasBeenSet; } + inline void SetDoubleValue(double value) { m_doubleValueHasBeenSet = true; m_doubleValue = value; } + inline XmlNestedUnionStruct& WithDoubleValue(double value) { SetDoubleValue(value); return *this;} + ///@} + private: + + Aws::String m_stringValue; + bool m_stringValueHasBeenSet = false; + + bool m_booleanValue; + bool m_booleanValueHasBeenSet = false; + + int m_byteValue; + bool m_byteValueHasBeenSet = false; + + int m_shortValue; + bool m_shortValueHasBeenSet = false; + + int m_integerValue; + bool m_integerValueHasBeenSet = false; + + long long m_longValue; + bool m_longValueHasBeenSet = false; + + double m_floatValue; + bool m_floatValueHasBeenSet = false; + + double m_doubleValue; + bool m_doubleValueHasBeenSet = false; + }; + +} // namespace Model +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/XmlTimestampsRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/XmlTimestampsRequest.h new file mode 100644 index 00000000000..a89e6579ab3 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/XmlTimestampsRequest.h @@ -0,0 +1,130 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace RestXmlProtocol +{ +namespace Model +{ + + /** + */ + class XmlTimestampsRequest : public RestXmlProtocolRequest + { + public: + AWS_RESTXMLPROTOCOL_API XmlTimestampsRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "XmlTimestamps"; } + + AWS_RESTXMLPROTOCOL_API Aws::String SerializePayload() const override; + + + ///@{ + + inline const Aws::Utils::DateTime& GetNormal() const{ return m_normal; } + inline bool NormalHasBeenSet() const { return m_normalHasBeenSet; } + inline void SetNormal(const Aws::Utils::DateTime& value) { m_normalHasBeenSet = true; m_normal = value; } + inline void SetNormal(Aws::Utils::DateTime&& value) { m_normalHasBeenSet = true; m_normal = std::move(value); } + inline XmlTimestampsRequest& WithNormal(const Aws::Utils::DateTime& value) { SetNormal(value); return *this;} + inline XmlTimestampsRequest& WithNormal(Aws::Utils::DateTime&& value) { SetNormal(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::Utils::DateTime& GetDateTime() const{ return m_dateTime; } + inline bool DateTimeHasBeenSet() const { return m_dateTimeHasBeenSet; } + inline void SetDateTime(const Aws::Utils::DateTime& value) { m_dateTimeHasBeenSet = true; m_dateTime = value; } + inline void SetDateTime(Aws::Utils::DateTime&& value) { m_dateTimeHasBeenSet = true; m_dateTime = std::move(value); } + inline XmlTimestampsRequest& WithDateTime(const Aws::Utils::DateTime& value) { SetDateTime(value); return *this;} + inline XmlTimestampsRequest& WithDateTime(Aws::Utils::DateTime&& value) { SetDateTime(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::Utils::DateTime& GetDateTimeOnTarget() const{ return m_dateTimeOnTarget; } + inline bool DateTimeOnTargetHasBeenSet() const { return m_dateTimeOnTargetHasBeenSet; } + inline void SetDateTimeOnTarget(const Aws::Utils::DateTime& value) { m_dateTimeOnTargetHasBeenSet = true; m_dateTimeOnTarget = value; } + inline void SetDateTimeOnTarget(Aws::Utils::DateTime&& value) { m_dateTimeOnTargetHasBeenSet = true; m_dateTimeOnTarget = std::move(value); } + inline XmlTimestampsRequest& WithDateTimeOnTarget(const Aws::Utils::DateTime& value) { SetDateTimeOnTarget(value); return *this;} + inline XmlTimestampsRequest& WithDateTimeOnTarget(Aws::Utils::DateTime&& value) { SetDateTimeOnTarget(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::Utils::DateTime& GetEpochSeconds() const{ return m_epochSeconds; } + inline bool EpochSecondsHasBeenSet() const { return m_epochSecondsHasBeenSet; } + inline void SetEpochSeconds(const Aws::Utils::DateTime& value) { m_epochSecondsHasBeenSet = true; m_epochSeconds = value; } + inline void SetEpochSeconds(Aws::Utils::DateTime&& value) { m_epochSecondsHasBeenSet = true; m_epochSeconds = std::move(value); } + inline XmlTimestampsRequest& WithEpochSeconds(const Aws::Utils::DateTime& value) { SetEpochSeconds(value); return *this;} + inline XmlTimestampsRequest& WithEpochSeconds(Aws::Utils::DateTime&& value) { SetEpochSeconds(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::Utils::DateTime& GetEpochSecondsOnTarget() const{ return m_epochSecondsOnTarget; } + inline bool EpochSecondsOnTargetHasBeenSet() const { return m_epochSecondsOnTargetHasBeenSet; } + inline void SetEpochSecondsOnTarget(const Aws::Utils::DateTime& value) { m_epochSecondsOnTargetHasBeenSet = true; m_epochSecondsOnTarget = value; } + inline void SetEpochSecondsOnTarget(Aws::Utils::DateTime&& value) { m_epochSecondsOnTargetHasBeenSet = true; m_epochSecondsOnTarget = std::move(value); } + inline XmlTimestampsRequest& WithEpochSecondsOnTarget(const Aws::Utils::DateTime& value) { SetEpochSecondsOnTarget(value); return *this;} + inline XmlTimestampsRequest& WithEpochSecondsOnTarget(Aws::Utils::DateTime&& value) { SetEpochSecondsOnTarget(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::Utils::DateTime& GetHttpDate() const{ return m_httpDate; } + inline bool HttpDateHasBeenSet() const { return m_httpDateHasBeenSet; } + inline void SetHttpDate(const Aws::Utils::DateTime& value) { m_httpDateHasBeenSet = true; m_httpDate = value; } + inline void SetHttpDate(Aws::Utils::DateTime&& value) { m_httpDateHasBeenSet = true; m_httpDate = std::move(value); } + inline XmlTimestampsRequest& WithHttpDate(const Aws::Utils::DateTime& value) { SetHttpDate(value); return *this;} + inline XmlTimestampsRequest& WithHttpDate(Aws::Utils::DateTime&& value) { SetHttpDate(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::Utils::DateTime& GetHttpDateOnTarget() const{ return m_httpDateOnTarget; } + inline bool HttpDateOnTargetHasBeenSet() const { return m_httpDateOnTargetHasBeenSet; } + inline void SetHttpDateOnTarget(const Aws::Utils::DateTime& value) { m_httpDateOnTargetHasBeenSet = true; m_httpDateOnTarget = value; } + inline void SetHttpDateOnTarget(Aws::Utils::DateTime&& value) { m_httpDateOnTargetHasBeenSet = true; m_httpDateOnTarget = std::move(value); } + inline XmlTimestampsRequest& WithHttpDateOnTarget(const Aws::Utils::DateTime& value) { SetHttpDateOnTarget(value); return *this;} + inline XmlTimestampsRequest& WithHttpDateOnTarget(Aws::Utils::DateTime&& value) { SetHttpDateOnTarget(std::move(value)); return *this;} + ///@} + private: + + Aws::Utils::DateTime m_normal; + bool m_normalHasBeenSet = false; + + Aws::Utils::DateTime m_dateTime; + bool m_dateTimeHasBeenSet = false; + + Aws::Utils::DateTime m_dateTimeOnTarget; + bool m_dateTimeOnTargetHasBeenSet = false; + + Aws::Utils::DateTime m_epochSeconds; + bool m_epochSecondsHasBeenSet = false; + + Aws::Utils::DateTime m_epochSecondsOnTarget; + bool m_epochSecondsOnTargetHasBeenSet = false; + + Aws::Utils::DateTime m_httpDate; + bool m_httpDateHasBeenSet = false; + + Aws::Utils::DateTime m_httpDateOnTarget; + bool m_httpDateOnTargetHasBeenSet = false; + }; + +} // namespace Model +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/XmlTimestampsResult.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/XmlTimestampsResult.h new file mode 100644 index 00000000000..66921c228f9 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/XmlTimestampsResult.h @@ -0,0 +1,130 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace RestXmlProtocol +{ +namespace Model +{ + class XmlTimestampsResult + { + public: + AWS_RESTXMLPROTOCOL_API XmlTimestampsResult(); + AWS_RESTXMLPROTOCOL_API XmlTimestampsResult(const Aws::AmazonWebServiceResult& result); + AWS_RESTXMLPROTOCOL_API XmlTimestampsResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::Utils::DateTime& GetNormal() const{ return m_normal; } + inline void SetNormal(const Aws::Utils::DateTime& value) { m_normal = value; } + inline void SetNormal(Aws::Utils::DateTime&& value) { m_normal = std::move(value); } + inline XmlTimestampsResult& WithNormal(const Aws::Utils::DateTime& value) { SetNormal(value); return *this;} + inline XmlTimestampsResult& WithNormal(Aws::Utils::DateTime&& value) { SetNormal(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::Utils::DateTime& GetDateTime() const{ return m_dateTime; } + inline void SetDateTime(const Aws::Utils::DateTime& value) { m_dateTime = value; } + inline void SetDateTime(Aws::Utils::DateTime&& value) { m_dateTime = std::move(value); } + inline XmlTimestampsResult& WithDateTime(const Aws::Utils::DateTime& value) { SetDateTime(value); return *this;} + inline XmlTimestampsResult& WithDateTime(Aws::Utils::DateTime&& value) { SetDateTime(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::Utils::DateTime& GetDateTimeOnTarget() const{ return m_dateTimeOnTarget; } + inline void SetDateTimeOnTarget(const Aws::Utils::DateTime& value) { m_dateTimeOnTarget = value; } + inline void SetDateTimeOnTarget(Aws::Utils::DateTime&& value) { m_dateTimeOnTarget = std::move(value); } + inline XmlTimestampsResult& WithDateTimeOnTarget(const Aws::Utils::DateTime& value) { SetDateTimeOnTarget(value); return *this;} + inline XmlTimestampsResult& WithDateTimeOnTarget(Aws::Utils::DateTime&& value) { SetDateTimeOnTarget(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::Utils::DateTime& GetEpochSeconds() const{ return m_epochSeconds; } + inline void SetEpochSeconds(const Aws::Utils::DateTime& value) { m_epochSeconds = value; } + inline void SetEpochSeconds(Aws::Utils::DateTime&& value) { m_epochSeconds = std::move(value); } + inline XmlTimestampsResult& WithEpochSeconds(const Aws::Utils::DateTime& value) { SetEpochSeconds(value); return *this;} + inline XmlTimestampsResult& WithEpochSeconds(Aws::Utils::DateTime&& value) { SetEpochSeconds(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::Utils::DateTime& GetEpochSecondsOnTarget() const{ return m_epochSecondsOnTarget; } + inline void SetEpochSecondsOnTarget(const Aws::Utils::DateTime& value) { m_epochSecondsOnTarget = value; } + inline void SetEpochSecondsOnTarget(Aws::Utils::DateTime&& value) { m_epochSecondsOnTarget = std::move(value); } + inline XmlTimestampsResult& WithEpochSecondsOnTarget(const Aws::Utils::DateTime& value) { SetEpochSecondsOnTarget(value); return *this;} + inline XmlTimestampsResult& WithEpochSecondsOnTarget(Aws::Utils::DateTime&& value) { SetEpochSecondsOnTarget(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::Utils::DateTime& GetHttpDate() const{ return m_httpDate; } + inline void SetHttpDate(const Aws::Utils::DateTime& value) { m_httpDate = value; } + inline void SetHttpDate(Aws::Utils::DateTime&& value) { m_httpDate = std::move(value); } + inline XmlTimestampsResult& WithHttpDate(const Aws::Utils::DateTime& value) { SetHttpDate(value); return *this;} + inline XmlTimestampsResult& WithHttpDate(Aws::Utils::DateTime&& value) { SetHttpDate(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::Utils::DateTime& GetHttpDateOnTarget() const{ return m_httpDateOnTarget; } + inline void SetHttpDateOnTarget(const Aws::Utils::DateTime& value) { m_httpDateOnTarget = value; } + inline void SetHttpDateOnTarget(Aws::Utils::DateTime&& value) { m_httpDateOnTarget = std::move(value); } + inline XmlTimestampsResult& WithHttpDateOnTarget(const Aws::Utils::DateTime& value) { SetHttpDateOnTarget(value); return *this;} + inline XmlTimestampsResult& WithHttpDateOnTarget(Aws::Utils::DateTime&& value) { SetHttpDateOnTarget(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline XmlTimestampsResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline XmlTimestampsResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline XmlTimestampsResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::Utils::DateTime m_normal; + + Aws::Utils::DateTime m_dateTime; + + Aws::Utils::DateTime m_dateTimeOnTarget; + + Aws::Utils::DateTime m_epochSeconds; + + Aws::Utils::DateTime m_epochSecondsOnTarget; + + Aws::Utils::DateTime m_httpDate; + + Aws::Utils::DateTime m_httpDateOnTarget; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/XmlUnionShape.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/XmlUnionShape.h new file mode 100644 index 00000000000..9e5cee94386 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/XmlUnionShape.h @@ -0,0 +1,158 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace RestXmlProtocol +{ +namespace Model +{ + + class XmlUnionShape + { + public: + AWS_RESTXMLPROTOCOL_API XmlUnionShape(); + AWS_RESTXMLPROTOCOL_API XmlUnionShape(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_RESTXMLPROTOCOL_API XmlUnionShape& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + AWS_RESTXMLPROTOCOL_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + ///@{ + + inline const Aws::String& GetStringValue() const{ return m_stringValue; } + inline bool StringValueHasBeenSet() const { return m_stringValueHasBeenSet; } + inline void SetStringValue(const Aws::String& value) { m_stringValueHasBeenSet = true; m_stringValue = value; } + inline void SetStringValue(Aws::String&& value) { m_stringValueHasBeenSet = true; m_stringValue = std::move(value); } + inline void SetStringValue(const char* value) { m_stringValueHasBeenSet = true; m_stringValue.assign(value); } + inline XmlUnionShape& WithStringValue(const Aws::String& value) { SetStringValue(value); return *this;} + inline XmlUnionShape& WithStringValue(Aws::String&& value) { SetStringValue(std::move(value)); return *this;} + inline XmlUnionShape& WithStringValue(const char* value) { SetStringValue(value); return *this;} + ///@} + + ///@{ + + inline bool GetBooleanValue() const{ return m_booleanValue; } + inline bool BooleanValueHasBeenSet() const { return m_booleanValueHasBeenSet; } + inline void SetBooleanValue(bool value) { m_booleanValueHasBeenSet = true; m_booleanValue = value; } + inline XmlUnionShape& WithBooleanValue(bool value) { SetBooleanValue(value); return *this;} + ///@} + + ///@{ + + inline int GetByteValue() const{ return m_byteValue; } + inline bool ByteValueHasBeenSet() const { return m_byteValueHasBeenSet; } + inline void SetByteValue(int value) { m_byteValueHasBeenSet = true; m_byteValue = value; } + inline XmlUnionShape& WithByteValue(int value) { SetByteValue(value); return *this;} + ///@} + + ///@{ + + inline int GetShortValue() const{ return m_shortValue; } + inline bool ShortValueHasBeenSet() const { return m_shortValueHasBeenSet; } + inline void SetShortValue(int value) { m_shortValueHasBeenSet = true; m_shortValue = value; } + inline XmlUnionShape& WithShortValue(int value) { SetShortValue(value); return *this;} + ///@} + + ///@{ + + inline int GetIntegerValue() const{ return m_integerValue; } + inline bool IntegerValueHasBeenSet() const { return m_integerValueHasBeenSet; } + inline void SetIntegerValue(int value) { m_integerValueHasBeenSet = true; m_integerValue = value; } + inline XmlUnionShape& WithIntegerValue(int value) { SetIntegerValue(value); return *this;} + ///@} + + ///@{ + + inline long long GetLongValue() const{ return m_longValue; } + inline bool LongValueHasBeenSet() const { return m_longValueHasBeenSet; } + inline void SetLongValue(long long value) { m_longValueHasBeenSet = true; m_longValue = value; } + inline XmlUnionShape& WithLongValue(long long value) { SetLongValue(value); return *this;} + ///@} + + ///@{ + + inline double GetFloatValue() const{ return m_floatValue; } + inline bool FloatValueHasBeenSet() const { return m_floatValueHasBeenSet; } + inline void SetFloatValue(double value) { m_floatValueHasBeenSet = true; m_floatValue = value; } + inline XmlUnionShape& WithFloatValue(double value) { SetFloatValue(value); return *this;} + ///@} + + ///@{ + + inline double GetDoubleValue() const{ return m_doubleValue; } + inline bool DoubleValueHasBeenSet() const { return m_doubleValueHasBeenSet; } + inline void SetDoubleValue(double value) { m_doubleValueHasBeenSet = true; m_doubleValue = value; } + inline XmlUnionShape& WithDoubleValue(double value) { SetDoubleValue(value); return *this;} + ///@} + + ///@{ + + AWS_RESTXMLPROTOCOL_API const XmlUnionShape& GetUnionValue() const; + AWS_RESTXMLPROTOCOL_API bool UnionValueHasBeenSet() const; + AWS_RESTXMLPROTOCOL_API void SetUnionValue(const XmlUnionShape& value); + AWS_RESTXMLPROTOCOL_API void SetUnionValue(XmlUnionShape&& value); + AWS_RESTXMLPROTOCOL_API XmlUnionShape& WithUnionValue(const XmlUnionShape& value); + AWS_RESTXMLPROTOCOL_API XmlUnionShape& WithUnionValue(XmlUnionShape&& value); + ///@} + + ///@{ + + inline const XmlNestedUnionStruct& GetStructValue() const{ return m_structValue; } + inline bool StructValueHasBeenSet() const { return m_structValueHasBeenSet; } + inline void SetStructValue(const XmlNestedUnionStruct& value) { m_structValueHasBeenSet = true; m_structValue = value; } + inline void SetStructValue(XmlNestedUnionStruct&& value) { m_structValueHasBeenSet = true; m_structValue = std::move(value); } + inline XmlUnionShape& WithStructValue(const XmlNestedUnionStruct& value) { SetStructValue(value); return *this;} + inline XmlUnionShape& WithStructValue(XmlNestedUnionStruct&& value) { SetStructValue(std::move(value)); return *this;} + ///@} + private: + + Aws::String m_stringValue; + bool m_stringValueHasBeenSet = false; + + bool m_booleanValue; + bool m_booleanValueHasBeenSet = false; + + int m_byteValue; + bool m_byteValueHasBeenSet = false; + + int m_shortValue; + bool m_shortValueHasBeenSet = false; + + int m_integerValue; + bool m_integerValueHasBeenSet = false; + + long long m_longValue; + bool m_longValueHasBeenSet = false; + + double m_floatValue; + bool m_floatValueHasBeenSet = false; + + double m_doubleValue; + bool m_doubleValueHasBeenSet = false; + + std::shared_ptr m_unionValue; + bool m_unionValueHasBeenSet = false; + + XmlNestedUnionStruct m_structValue; + bool m_structValueHasBeenSet = false; + }; + +} // namespace Model +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/XmlUnionsRequest.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/XmlUnionsRequest.h new file mode 100644 index 00000000000..4b5d4de30c4 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/XmlUnionsRequest.h @@ -0,0 +1,52 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace RestXmlProtocol +{ +namespace Model +{ + + /** + */ + class XmlUnionsRequest : public RestXmlProtocolRequest + { + public: + AWS_RESTXMLPROTOCOL_API XmlUnionsRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "XmlUnions"; } + + AWS_RESTXMLPROTOCOL_API Aws::String SerializePayload() const override; + + + ///@{ + + inline const XmlUnionShape& GetUnionValue() const{ return m_unionValue; } + inline bool UnionValueHasBeenSet() const { return m_unionValueHasBeenSet; } + inline void SetUnionValue(const XmlUnionShape& value) { m_unionValueHasBeenSet = true; m_unionValue = value; } + inline void SetUnionValue(XmlUnionShape&& value) { m_unionValueHasBeenSet = true; m_unionValue = std::move(value); } + inline XmlUnionsRequest& WithUnionValue(const XmlUnionShape& value) { SetUnionValue(value); return *this;} + inline XmlUnionsRequest& WithUnionValue(XmlUnionShape&& value) { SetUnionValue(std::move(value)); return *this;} + ///@} + private: + + XmlUnionShape m_unionValue; + bool m_unionValueHasBeenSet = false; + }; + +} // namespace Model +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/XmlUnionsResult.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/XmlUnionsResult.h new file mode 100644 index 00000000000..fbf347d9467 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/model/XmlUnionsResult.h @@ -0,0 +1,64 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace RestXmlProtocol +{ +namespace Model +{ + class XmlUnionsResult + { + public: + AWS_RESTXMLPROTOCOL_API XmlUnionsResult(); + AWS_RESTXMLPROTOCOL_API XmlUnionsResult(const Aws::AmazonWebServiceResult& result); + AWS_RESTXMLPROTOCOL_API XmlUnionsResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const XmlUnionShape& GetUnionValue() const{ return m_unionValue; } + inline void SetUnionValue(const XmlUnionShape& value) { m_unionValue = value; } + inline void SetUnionValue(XmlUnionShape&& value) { m_unionValue = std::move(value); } + inline XmlUnionsResult& WithUnionValue(const XmlUnionShape& value) { SetUnionValue(value); return *this;} + inline XmlUnionsResult& WithUnionValue(XmlUnionShape&& value) { SetUnionValue(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline XmlUnionsResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline XmlUnionsResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline XmlUnionsResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + XmlUnionShape m_unionValue; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/RestXmlProtocolClient.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/RestXmlProtocolClient.cpp new file mode 100644 index 00000000000..2a2bc8f604f --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/RestXmlProtocolClient.cpp @@ -0,0 +1,2046 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include + + +using namespace Aws; +using namespace Aws::Auth; +using namespace Aws::Client; +using namespace Aws::RestXmlProtocol; +using namespace Aws::RestXmlProtocol::Model; +using namespace Aws::Http; +using namespace Aws::Utils::Xml; +using namespace smithy::components::tracing; +using ResolveEndpointOutcome = Aws::Endpoint::ResolveEndpointOutcome; + + +namespace Aws +{ + namespace RestXmlProtocol + { + const char SERVICE_NAME[] = "restxml"; + const char ALLOCATION_TAG[] = "RestXmlProtocolClient"; + } +} +const char* RestXmlProtocolClient::GetServiceName() {return SERVICE_NAME;} +const char* RestXmlProtocolClient::GetAllocationTag() {return ALLOCATION_TAG;} + +RestXmlProtocolClient::RestXmlProtocolClient(const RestXmlProtocol::RestXmlProtocolClientConfiguration& clientConfiguration, + std::shared_ptr endpointProvider) : + BASECLASS(clientConfiguration, + Aws::MakeShared(ALLOCATION_TAG, + Aws::MakeShared(ALLOCATION_TAG), + SERVICE_NAME, + Aws::Region::ComputeSignerRegion(clientConfiguration.region)), + Aws::MakeShared(ALLOCATION_TAG)), + m_clientConfiguration(clientConfiguration), + m_endpointProvider(endpointProvider ? std::move(endpointProvider) : Aws::MakeShared(ALLOCATION_TAG)) +{ + init(m_clientConfiguration); +} + +RestXmlProtocolClient::RestXmlProtocolClient(const AWSCredentials& credentials, + std::shared_ptr endpointProvider, + const RestXmlProtocol::RestXmlProtocolClientConfiguration& clientConfiguration) : + BASECLASS(clientConfiguration, + Aws::MakeShared(ALLOCATION_TAG, + Aws::MakeShared(ALLOCATION_TAG, credentials), + SERVICE_NAME, + Aws::Region::ComputeSignerRegion(clientConfiguration.region)), + Aws::MakeShared(ALLOCATION_TAG)), + m_clientConfiguration(clientConfiguration), + m_endpointProvider(endpointProvider ? std::move(endpointProvider) : Aws::MakeShared(ALLOCATION_TAG)) +{ + init(m_clientConfiguration); +} + +RestXmlProtocolClient::RestXmlProtocolClient(const std::shared_ptr& credentialsProvider, + std::shared_ptr endpointProvider, + const RestXmlProtocol::RestXmlProtocolClientConfiguration& clientConfiguration) : + BASECLASS(clientConfiguration, + Aws::MakeShared(ALLOCATION_TAG, + credentialsProvider, + SERVICE_NAME, + Aws::Region::ComputeSignerRegion(clientConfiguration.region)), + Aws::MakeShared(ALLOCATION_TAG)), + m_clientConfiguration(clientConfiguration), + m_endpointProvider(endpointProvider ? std::move(endpointProvider) : Aws::MakeShared(ALLOCATION_TAG)) +{ + init(m_clientConfiguration); +} + + /* Legacy constructors due deprecation */ + RestXmlProtocolClient::RestXmlProtocolClient(const Client::ClientConfiguration& clientConfiguration) : + BASECLASS(clientConfiguration, + Aws::MakeShared(ALLOCATION_TAG, + Aws::MakeShared(ALLOCATION_TAG), + SERVICE_NAME, + Aws::Region::ComputeSignerRegion(clientConfiguration.region)), + Aws::MakeShared(ALLOCATION_TAG)), + m_clientConfiguration(clientConfiguration), + m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) +{ + init(m_clientConfiguration); +} + +RestXmlProtocolClient::RestXmlProtocolClient(const AWSCredentials& credentials, + const Client::ClientConfiguration& clientConfiguration) : + BASECLASS(clientConfiguration, + Aws::MakeShared(ALLOCATION_TAG, + Aws::MakeShared(ALLOCATION_TAG, credentials), + SERVICE_NAME, + Aws::Region::ComputeSignerRegion(clientConfiguration.region)), + Aws::MakeShared(ALLOCATION_TAG)), + m_clientConfiguration(clientConfiguration), + m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) +{ + init(m_clientConfiguration); +} + +RestXmlProtocolClient::RestXmlProtocolClient(const std::shared_ptr& credentialsProvider, + const Client::ClientConfiguration& clientConfiguration) : + BASECLASS(clientConfiguration, + Aws::MakeShared(ALLOCATION_TAG, + credentialsProvider, + SERVICE_NAME, + Aws::Region::ComputeSignerRegion(clientConfiguration.region)), + Aws::MakeShared(ALLOCATION_TAG)), + m_clientConfiguration(clientConfiguration), + m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) +{ + init(m_clientConfiguration); +} + + /* End of legacy constructors due deprecation */ +RestXmlProtocolClient::~RestXmlProtocolClient() +{ + ShutdownSdkClient(this, -1); +} + +std::shared_ptr& RestXmlProtocolClient::accessEndpointProvider() +{ + return m_endpointProvider; +} + +void RestXmlProtocolClient::init(const RestXmlProtocol::RestXmlProtocolClientConfiguration& config) +{ + AWSClient::SetServiceClientName("Rest Xml Protocol"); + if (!m_clientConfiguration.executor) { + if (!m_clientConfiguration.configFactories.executorCreateFn()) { + AWS_LOGSTREAM_FATAL(ALLOCATION_TAG, "Failed to initialize client: config is missing Executor or executorCreateFn"); + m_isInitialized = false; + return; + } + m_clientConfiguration.executor = m_clientConfiguration.configFactories.executorCreateFn(); + } + AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); + m_endpointProvider->InitBuiltInParameters(config); +} + +void RestXmlProtocolClient::OverrideEndpoint(const Aws::String& endpoint) +{ + AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); + m_endpointProvider->OverrideEndpoint(endpoint); +} + +AllQueryStringTypesOutcome RestXmlProtocolClient::AllQueryStringTypes(const AllQueryStringTypesRequest& request) const +{ + AWS_OPERATION_GUARD(AllQueryStringTypes); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, AllQueryStringTypes, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, AllQueryStringTypes, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, AllQueryStringTypes, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> AllQueryStringTypesOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, AllQueryStringTypes, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/AllQueryStringTypesInput"); + return AllQueryStringTypesOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_GET)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +BodyWithXmlNameOutcome RestXmlProtocolClient::BodyWithXmlName(const BodyWithXmlNameRequest& request) const +{ + AWS_OPERATION_GUARD(BodyWithXmlName); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, BodyWithXmlName, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, BodyWithXmlName, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, BodyWithXmlName, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> BodyWithXmlNameOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, BodyWithXmlName, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/BodyWithXmlName"); + return BodyWithXmlNameOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_PUT)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +ConstantAndVariableQueryStringOutcome RestXmlProtocolClient::ConstantAndVariableQueryString(const ConstantAndVariableQueryStringRequest& request) const +{ + AWS_OPERATION_GUARD(ConstantAndVariableQueryString); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, ConstantAndVariableQueryString, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, ConstantAndVariableQueryString, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, ConstantAndVariableQueryString, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> ConstantAndVariableQueryStringOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, ConstantAndVariableQueryString, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + Aws::StringStream ss; + endpointResolutionOutcome.GetResult().AddPathSegments("/ConstantAndVariableQueryString"); + ss.str("?foo=bar"); + endpointResolutionOutcome.GetResult().SetQueryString(ss.str()); + return ConstantAndVariableQueryStringOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_GET)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +ConstantQueryStringOutcome RestXmlProtocolClient::ConstantQueryString(const ConstantQueryStringRequest& request) const +{ + AWS_OPERATION_GUARD(ConstantQueryString); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, ConstantQueryString, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.HelloHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("ConstantQueryString", "Required field: Hello, is not set"); + return ConstantQueryStringOutcome(Aws::Client::AWSError(RestXmlProtocolErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Hello]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, ConstantQueryString, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, ConstantQueryString, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> ConstantQueryStringOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, ConstantQueryString, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + Aws::StringStream ss; + endpointResolutionOutcome.GetResult().AddPathSegments("/ConstantQueryString/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetHello()); + ss.str("?foo=bar&hello"); + endpointResolutionOutcome.GetResult().SetQueryString(ss.str()); + return ConstantQueryStringOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_GET)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +ContentTypeParametersOutcome RestXmlProtocolClient::ContentTypeParameters(const ContentTypeParametersRequest& request) const +{ + AWS_OPERATION_GUARD(ContentTypeParameters); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, ContentTypeParameters, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, ContentTypeParameters, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, ContentTypeParameters, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> ContentTypeParametersOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, ContentTypeParameters, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/ContentTypeParameters"); + return ContentTypeParametersOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_PUT)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +DatetimeOffsetsOutcome RestXmlProtocolClient::DatetimeOffsets(const DatetimeOffsetsRequest& request) const +{ + AWS_OPERATION_GUARD(DatetimeOffsets); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, DatetimeOffsets, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, DatetimeOffsets, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, DatetimeOffsets, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> DatetimeOffsetsOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, DatetimeOffsets, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/DatetimeOffsets"); + return DatetimeOffsetsOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +EmptyInputAndEmptyOutputOutcome RestXmlProtocolClient::EmptyInputAndEmptyOutput(const EmptyInputAndEmptyOutputRequest& request) const +{ + AWS_OPERATION_GUARD(EmptyInputAndEmptyOutput); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, EmptyInputAndEmptyOutput, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, EmptyInputAndEmptyOutput, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, EmptyInputAndEmptyOutput, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> EmptyInputAndEmptyOutputOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, EmptyInputAndEmptyOutput, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/EmptyInputAndEmptyOutput"); + return EmptyInputAndEmptyOutputOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +EndpointOperationOutcome RestXmlProtocolClient::EndpointOperation(const EndpointOperationRequest& request) const +{ + AWS_OPERATION_GUARD(EndpointOperation); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, EndpointOperation, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, EndpointOperation, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, EndpointOperation, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> EndpointOperationOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, EndpointOperation, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + auto addPrefixErr = endpointResolutionOutcome.GetResult().AddPrefixIfMissing("foo."); + AWS_CHECK(SERVICE_NAME, !addPrefixErr, addPrefixErr->GetMessage(), EndpointOperationOutcome(addPrefixErr.value())); + endpointResolutionOutcome.GetResult().AddPathSegments("/EndpointOperation"); + return EndpointOperationOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +EndpointWithHostLabelHeaderOperationOutcome RestXmlProtocolClient::EndpointWithHostLabelHeaderOperation(const EndpointWithHostLabelHeaderOperationRequest& request) const +{ + AWS_OPERATION_GUARD(EndpointWithHostLabelHeaderOperation); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, EndpointWithHostLabelHeaderOperation, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.AccountIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("EndpointWithHostLabelHeaderOperation", "Required field: AccountId, is not set"); + return EndpointWithHostLabelHeaderOperationOutcome(Aws::Client::AWSError(RestXmlProtocolErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [AccountId]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, EndpointWithHostLabelHeaderOperation, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, EndpointWithHostLabelHeaderOperation, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> EndpointWithHostLabelHeaderOperationOutcome { + if (request.GetAccountId().size() != 12 || request.GetAccountId().find_first_not_of("0123456789") != Aws::String::npos) + { + AWS_LOGSTREAM_ERROR("EndpointWithHostLabelHeaderOperation", "Required field: AccountId has invalid value"); + return EndpointWithHostLabelHeaderOperationOutcome(Aws::Client::AWSError(RestXmlProtocolErrors::INVALID_PARAMETER_VALUE, "INVALID_PARAMETER", "AccountId is invalid", false)); + } + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, EndpointWithHostLabelHeaderOperation, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + auto addPrefixErr = endpointResolutionOutcome.GetResult().AddPrefixIfMissing("" + request.GetAccountId() + "."); + AWS_CHECK(SERVICE_NAME, !addPrefixErr, addPrefixErr->GetMessage(), EndpointWithHostLabelHeaderOperationOutcome(addPrefixErr.value())); + endpointResolutionOutcome.GetResult().AddPathSegments("/EndpointWithHostLabelHeaderOperation"); + return EndpointWithHostLabelHeaderOperationOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +EndpointWithHostLabelOperationOutcome RestXmlProtocolClient::EndpointWithHostLabelOperation(const EndpointWithHostLabelOperationRequest& request) const +{ + AWS_OPERATION_GUARD(EndpointWithHostLabelOperation); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, EndpointWithHostLabelOperation, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, EndpointWithHostLabelOperation, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, EndpointWithHostLabelOperation, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> EndpointWithHostLabelOperationOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, EndpointWithHostLabelOperation, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + auto addPrefixErr = endpointResolutionOutcome.GetResult().AddPrefixIfMissing("foo." + request.GetLabel() + "."); + AWS_CHECK(SERVICE_NAME, !addPrefixErr, addPrefixErr->GetMessage(), EndpointWithHostLabelOperationOutcome(addPrefixErr.value())); + endpointResolutionOutcome.GetResult().AddPathSegments("/EndpointWithHostLabelOperation"); + return EndpointWithHostLabelOperationOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +FlattenedXmlMapOutcome RestXmlProtocolClient::FlattenedXmlMap(const FlattenedXmlMapRequest& request) const +{ + AWS_OPERATION_GUARD(FlattenedXmlMap); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, FlattenedXmlMap, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, FlattenedXmlMap, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, FlattenedXmlMap, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> FlattenedXmlMapOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, FlattenedXmlMap, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/FlattenedXmlMap"); + return FlattenedXmlMapOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +FlattenedXmlMapWithXmlNameOutcome RestXmlProtocolClient::FlattenedXmlMapWithXmlName(const FlattenedXmlMapWithXmlNameRequest& request) const +{ + AWS_OPERATION_GUARD(FlattenedXmlMapWithXmlName); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, FlattenedXmlMapWithXmlName, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, FlattenedXmlMapWithXmlName, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, FlattenedXmlMapWithXmlName, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> FlattenedXmlMapWithXmlNameOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, FlattenedXmlMapWithXmlName, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/FlattenedXmlMapWithXmlName"); + return FlattenedXmlMapWithXmlNameOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +FlattenedXmlMapWithXmlNamespaceOutcome RestXmlProtocolClient::FlattenedXmlMapWithXmlNamespace(const FlattenedXmlMapWithXmlNamespaceRequest& request) const +{ + AWS_OPERATION_GUARD(FlattenedXmlMapWithXmlNamespace); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, FlattenedXmlMapWithXmlNamespace, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, FlattenedXmlMapWithXmlNamespace, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, FlattenedXmlMapWithXmlNamespace, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> FlattenedXmlMapWithXmlNamespaceOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, FlattenedXmlMapWithXmlNamespace, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/FlattenedXmlMapWithXmlNamespace"); + return FlattenedXmlMapWithXmlNamespaceOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +FractionalSecondsOutcome RestXmlProtocolClient::FractionalSeconds(const FractionalSecondsRequest& request) const +{ + AWS_OPERATION_GUARD(FractionalSeconds); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, FractionalSeconds, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, FractionalSeconds, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, FractionalSeconds, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> FractionalSecondsOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, FractionalSeconds, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/FractionalSeconds"); + return FractionalSecondsOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +GreetingWithErrorsOutcome RestXmlProtocolClient::GreetingWithErrors(const GreetingWithErrorsRequest& request) const +{ + AWS_OPERATION_GUARD(GreetingWithErrors); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GreetingWithErrors, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, GreetingWithErrors, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, GreetingWithErrors, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> GreetingWithErrorsOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, GreetingWithErrors, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/GreetingWithErrors"); + return GreetingWithErrorsOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_PUT)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +HttpEnumPayloadOutcome RestXmlProtocolClient::HttpEnumPayload(const HttpEnumPayloadRequest& request) const +{ + AWS_OPERATION_GUARD(HttpEnumPayload); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, HttpEnumPayload, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, HttpEnumPayload, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, HttpEnumPayload, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> HttpEnumPayloadOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, HttpEnumPayload, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/EnumPayload"); + return HttpEnumPayloadOutcome(MakeRequestWithUnparsedResponse(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +HttpPayloadTraitsOutcome RestXmlProtocolClient::HttpPayloadTraits(const HttpPayloadTraitsRequest& request) const +{ + AWS_OPERATION_GUARD(HttpPayloadTraits); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, HttpPayloadTraits, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, HttpPayloadTraits, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, HttpPayloadTraits, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> HttpPayloadTraitsOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, HttpPayloadTraits, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/HttpPayloadTraits"); + return HttpPayloadTraitsOutcome(MakeRequestWithUnparsedResponse(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +HttpPayloadWithMemberXmlNameOutcome RestXmlProtocolClient::HttpPayloadWithMemberXmlName(const HttpPayloadWithMemberXmlNameRequest& request) const +{ + AWS_OPERATION_GUARD(HttpPayloadWithMemberXmlName); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, HttpPayloadWithMemberXmlName, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, HttpPayloadWithMemberXmlName, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, HttpPayloadWithMemberXmlName, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> HttpPayloadWithMemberXmlNameOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, HttpPayloadWithMemberXmlName, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/HttpPayloadWithMemberXmlName"); + return HttpPayloadWithMemberXmlNameOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_PUT)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +HttpPayloadWithStructureOutcome RestXmlProtocolClient::HttpPayloadWithStructure(const HttpPayloadWithStructureRequest& request) const +{ + AWS_OPERATION_GUARD(HttpPayloadWithStructure); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, HttpPayloadWithStructure, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, HttpPayloadWithStructure, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, HttpPayloadWithStructure, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> HttpPayloadWithStructureOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, HttpPayloadWithStructure, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/HttpPayloadWithStructure"); + return HttpPayloadWithStructureOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_PUT)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +HttpPayloadWithUnionOutcome RestXmlProtocolClient::HttpPayloadWithUnion(const HttpPayloadWithUnionRequest& request) const +{ + AWS_OPERATION_GUARD(HttpPayloadWithUnion); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, HttpPayloadWithUnion, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, HttpPayloadWithUnion, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, HttpPayloadWithUnion, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> HttpPayloadWithUnionOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, HttpPayloadWithUnion, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/HttpPayloadWithUnion"); + return HttpPayloadWithUnionOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_PUT)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +HttpPayloadWithXmlNameOutcome RestXmlProtocolClient::HttpPayloadWithXmlName(const HttpPayloadWithXmlNameRequest& request) const +{ + AWS_OPERATION_GUARD(HttpPayloadWithXmlName); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, HttpPayloadWithXmlName, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, HttpPayloadWithXmlName, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, HttpPayloadWithXmlName, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> HttpPayloadWithXmlNameOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, HttpPayloadWithXmlName, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/HttpPayloadWithXmlName"); + return HttpPayloadWithXmlNameOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_PUT)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +HttpPayloadWithXmlNamespaceOutcome RestXmlProtocolClient::HttpPayloadWithXmlNamespace(const HttpPayloadWithXmlNamespaceRequest& request) const +{ + AWS_OPERATION_GUARD(HttpPayloadWithXmlNamespace); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, HttpPayloadWithXmlNamespace, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, HttpPayloadWithXmlNamespace, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, HttpPayloadWithXmlNamespace, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> HttpPayloadWithXmlNamespaceOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, HttpPayloadWithXmlNamespace, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/HttpPayloadWithXmlNamespace"); + return HttpPayloadWithXmlNamespaceOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_PUT)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +HttpPayloadWithXmlNamespaceAndPrefixOutcome RestXmlProtocolClient::HttpPayloadWithXmlNamespaceAndPrefix(const HttpPayloadWithXmlNamespaceAndPrefixRequest& request) const +{ + AWS_OPERATION_GUARD(HttpPayloadWithXmlNamespaceAndPrefix); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, HttpPayloadWithXmlNamespaceAndPrefix, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, HttpPayloadWithXmlNamespaceAndPrefix, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, HttpPayloadWithXmlNamespaceAndPrefix, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> HttpPayloadWithXmlNamespaceAndPrefixOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, HttpPayloadWithXmlNamespaceAndPrefix, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/HttpPayloadWithXmlNamespaceAndPrefix"); + return HttpPayloadWithXmlNamespaceAndPrefixOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_PUT)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +HttpPrefixHeadersOutcome RestXmlProtocolClient::HttpPrefixHeaders(const HttpPrefixHeadersRequest& request) const +{ + AWS_OPERATION_GUARD(HttpPrefixHeaders); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, HttpPrefixHeaders, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, HttpPrefixHeaders, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, HttpPrefixHeaders, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> HttpPrefixHeadersOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, HttpPrefixHeaders, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/HttpPrefixHeaders"); + return HttpPrefixHeadersOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_GET)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +HttpRequestWithFloatLabelsOutcome RestXmlProtocolClient::HttpRequestWithFloatLabels(const HttpRequestWithFloatLabelsRequest& request) const +{ + AWS_OPERATION_GUARD(HttpRequestWithFloatLabels); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, HttpRequestWithFloatLabels, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.FloatHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("HttpRequestWithFloatLabels", "Required field: Float, is not set"); + return HttpRequestWithFloatLabelsOutcome(Aws::Client::AWSError(RestXmlProtocolErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Float]", false)); + } + if (!request.DoubleHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("HttpRequestWithFloatLabels", "Required field: Double, is not set"); + return HttpRequestWithFloatLabelsOutcome(Aws::Client::AWSError(RestXmlProtocolErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Double]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, HttpRequestWithFloatLabels, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, HttpRequestWithFloatLabels, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> HttpRequestWithFloatLabelsOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, HttpRequestWithFloatLabels, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/FloatHttpLabels/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetFloat()); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetDouble()); + return HttpRequestWithFloatLabelsOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_GET)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +HttpRequestWithGreedyLabelInPathOutcome RestXmlProtocolClient::HttpRequestWithGreedyLabelInPath(const HttpRequestWithGreedyLabelInPathRequest& request) const +{ + AWS_OPERATION_GUARD(HttpRequestWithGreedyLabelInPath); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, HttpRequestWithGreedyLabelInPath, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.FooHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("HttpRequestWithGreedyLabelInPath", "Required field: Foo, is not set"); + return HttpRequestWithGreedyLabelInPathOutcome(Aws::Client::AWSError(RestXmlProtocolErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Foo]", false)); + } + if (!request.BazHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("HttpRequestWithGreedyLabelInPath", "Required field: Baz, is not set"); + return HttpRequestWithGreedyLabelInPathOutcome(Aws::Client::AWSError(RestXmlProtocolErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Baz]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, HttpRequestWithGreedyLabelInPath, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, HttpRequestWithGreedyLabelInPath, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> HttpRequestWithGreedyLabelInPathOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, HttpRequestWithGreedyLabelInPath, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/HttpRequestWithGreedyLabelInPath/foo/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetFoo()); + endpointResolutionOutcome.GetResult().AddPathSegments("/baz/"); + endpointResolutionOutcome.GetResult().AddPathSegments(request.GetBaz()); + return HttpRequestWithGreedyLabelInPathOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_GET)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +HttpRequestWithLabelsOutcome RestXmlProtocolClient::HttpRequestWithLabels(const HttpRequestWithLabelsRequest& request) const +{ + AWS_OPERATION_GUARD(HttpRequestWithLabels); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, HttpRequestWithLabels, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.StringHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("HttpRequestWithLabels", "Required field: String, is not set"); + return HttpRequestWithLabelsOutcome(Aws::Client::AWSError(RestXmlProtocolErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [String]", false)); + } + if (!request.ShortHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("HttpRequestWithLabels", "Required field: Short, is not set"); + return HttpRequestWithLabelsOutcome(Aws::Client::AWSError(RestXmlProtocolErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Short]", false)); + } + if (!request.IntegerHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("HttpRequestWithLabels", "Required field: Integer, is not set"); + return HttpRequestWithLabelsOutcome(Aws::Client::AWSError(RestXmlProtocolErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Integer]", false)); + } + if (!request.LongHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("HttpRequestWithLabels", "Required field: Long, is not set"); + return HttpRequestWithLabelsOutcome(Aws::Client::AWSError(RestXmlProtocolErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Long]", false)); + } + if (!request.FloatHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("HttpRequestWithLabels", "Required field: Float, is not set"); + return HttpRequestWithLabelsOutcome(Aws::Client::AWSError(RestXmlProtocolErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Float]", false)); + } + if (!request.DoubleHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("HttpRequestWithLabels", "Required field: Double, is not set"); + return HttpRequestWithLabelsOutcome(Aws::Client::AWSError(RestXmlProtocolErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Double]", false)); + } + if (!request.BooleanHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("HttpRequestWithLabels", "Required field: Boolean, is not set"); + return HttpRequestWithLabelsOutcome(Aws::Client::AWSError(RestXmlProtocolErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Boolean]", false)); + } + if (!request.TimestampHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("HttpRequestWithLabels", "Required field: Timestamp, is not set"); + return HttpRequestWithLabelsOutcome(Aws::Client::AWSError(RestXmlProtocolErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Timestamp]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, HttpRequestWithLabels, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, HttpRequestWithLabels, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> HttpRequestWithLabelsOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, HttpRequestWithLabels, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/HttpRequestWithLabels/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetString()); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetShort()); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetInteger()); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetLong()); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetFloat()); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetDouble()); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetBoolean()); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetTimestamp()); + return HttpRequestWithLabelsOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_GET)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +HttpRequestWithLabelsAndTimestampFormatOutcome RestXmlProtocolClient::HttpRequestWithLabelsAndTimestampFormat(const HttpRequestWithLabelsAndTimestampFormatRequest& request) const +{ + AWS_OPERATION_GUARD(HttpRequestWithLabelsAndTimestampFormat); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, HttpRequestWithLabelsAndTimestampFormat, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.MemberEpochSecondsHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("HttpRequestWithLabelsAndTimestampFormat", "Required field: MemberEpochSeconds, is not set"); + return HttpRequestWithLabelsAndTimestampFormatOutcome(Aws::Client::AWSError(RestXmlProtocolErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [MemberEpochSeconds]", false)); + } + if (!request.MemberHttpDateHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("HttpRequestWithLabelsAndTimestampFormat", "Required field: MemberHttpDate, is not set"); + return HttpRequestWithLabelsAndTimestampFormatOutcome(Aws::Client::AWSError(RestXmlProtocolErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [MemberHttpDate]", false)); + } + if (!request.MemberDateTimeHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("HttpRequestWithLabelsAndTimestampFormat", "Required field: MemberDateTime, is not set"); + return HttpRequestWithLabelsAndTimestampFormatOutcome(Aws::Client::AWSError(RestXmlProtocolErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [MemberDateTime]", false)); + } + if (!request.DefaultFormatHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("HttpRequestWithLabelsAndTimestampFormat", "Required field: DefaultFormat, is not set"); + return HttpRequestWithLabelsAndTimestampFormatOutcome(Aws::Client::AWSError(RestXmlProtocolErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [DefaultFormat]", false)); + } + if (!request.TargetEpochSecondsHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("HttpRequestWithLabelsAndTimestampFormat", "Required field: TargetEpochSeconds, is not set"); + return HttpRequestWithLabelsAndTimestampFormatOutcome(Aws::Client::AWSError(RestXmlProtocolErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [TargetEpochSeconds]", false)); + } + if (!request.TargetHttpDateHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("HttpRequestWithLabelsAndTimestampFormat", "Required field: TargetHttpDate, is not set"); + return HttpRequestWithLabelsAndTimestampFormatOutcome(Aws::Client::AWSError(RestXmlProtocolErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [TargetHttpDate]", false)); + } + if (!request.TargetDateTimeHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("HttpRequestWithLabelsAndTimestampFormat", "Required field: TargetDateTime, is not set"); + return HttpRequestWithLabelsAndTimestampFormatOutcome(Aws::Client::AWSError(RestXmlProtocolErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [TargetDateTime]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, HttpRequestWithLabelsAndTimestampFormat, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, HttpRequestWithLabelsAndTimestampFormat, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> HttpRequestWithLabelsAndTimestampFormatOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, HttpRequestWithLabelsAndTimestampFormat, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/HttpRequestWithLabelsAndTimestampFormat/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetMemberEpochSeconds()); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetMemberHttpDate()); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetMemberDateTime()); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetDefaultFormat()); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetTargetEpochSeconds()); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetTargetHttpDate()); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetTargetDateTime()); + return HttpRequestWithLabelsAndTimestampFormatOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_GET)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +HttpResponseCodeOutcome RestXmlProtocolClient::HttpResponseCode(const HttpResponseCodeRequest& request) const +{ + AWS_OPERATION_GUARD(HttpResponseCode); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, HttpResponseCode, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, HttpResponseCode, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, HttpResponseCode, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> HttpResponseCodeOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, HttpResponseCode, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/HttpResponseCode"); + return HttpResponseCodeOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_PUT)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +HttpStringPayloadOutcome RestXmlProtocolClient::HttpStringPayload(const HttpStringPayloadRequest& request) const +{ + AWS_OPERATION_GUARD(HttpStringPayload); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, HttpStringPayload, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, HttpStringPayload, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, HttpStringPayload, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> HttpStringPayloadOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, HttpStringPayload, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/StringPayload"); + return HttpStringPayloadOutcome(MakeRequestWithUnparsedResponse(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +IgnoreQueryParamsInResponseOutcome RestXmlProtocolClient::IgnoreQueryParamsInResponse(const IgnoreQueryParamsInResponseRequest& request) const +{ + AWS_OPERATION_GUARD(IgnoreQueryParamsInResponse); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, IgnoreQueryParamsInResponse, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, IgnoreQueryParamsInResponse, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, IgnoreQueryParamsInResponse, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> IgnoreQueryParamsInResponseOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, IgnoreQueryParamsInResponse, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/IgnoreQueryParamsInResponse"); + return IgnoreQueryParamsInResponseOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_GET)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +InputAndOutputWithHeadersOutcome RestXmlProtocolClient::InputAndOutputWithHeaders(const InputAndOutputWithHeadersRequest& request) const +{ + AWS_OPERATION_GUARD(InputAndOutputWithHeaders); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, InputAndOutputWithHeaders, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, InputAndOutputWithHeaders, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, InputAndOutputWithHeaders, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> InputAndOutputWithHeadersOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, InputAndOutputWithHeaders, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/InputAndOutputWithHeaders"); + return InputAndOutputWithHeadersOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +NestedXmlMapWithXmlNameOutcome RestXmlProtocolClient::NestedXmlMapWithXmlName(const NestedXmlMapWithXmlNameRequest& request) const +{ + AWS_OPERATION_GUARD(NestedXmlMapWithXmlName); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, NestedXmlMapWithXmlName, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, NestedXmlMapWithXmlName, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, NestedXmlMapWithXmlName, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> NestedXmlMapWithXmlNameOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, NestedXmlMapWithXmlName, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/NestedXmlMapWithXmlName"); + return NestedXmlMapWithXmlNameOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +NestedXmlMapsOutcome RestXmlProtocolClient::NestedXmlMaps(const NestedXmlMapsRequest& request) const +{ + AWS_OPERATION_GUARD(NestedXmlMaps); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, NestedXmlMaps, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, NestedXmlMaps, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, NestedXmlMaps, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> NestedXmlMapsOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, NestedXmlMaps, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/NestedXmlMaps"); + return NestedXmlMapsOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +NoInputAndNoOutputOutcome RestXmlProtocolClient::NoInputAndNoOutput(const NoInputAndNoOutputRequest& request) const +{ + AWS_OPERATION_GUARD(NoInputAndNoOutput); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, NoInputAndNoOutput, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, NoInputAndNoOutput, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, NoInputAndNoOutput, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> NoInputAndNoOutputOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, NoInputAndNoOutput, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/NoInputAndNoOutput"); + return NoInputAndNoOutputOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +NoInputAndOutputOutcome RestXmlProtocolClient::NoInputAndOutput(const NoInputAndOutputRequest& request) const +{ + AWS_OPERATION_GUARD(NoInputAndOutput); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, NoInputAndOutput, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, NoInputAndOutput, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, NoInputAndOutput, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> NoInputAndOutputOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, NoInputAndOutput, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/NoInputAndOutputOutput"); + return NoInputAndOutputOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +NullAndEmptyHeadersClientOutcome RestXmlProtocolClient::NullAndEmptyHeadersClient(const NullAndEmptyHeadersClientRequest& request) const +{ + AWS_OPERATION_GUARD(NullAndEmptyHeadersClient); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, NullAndEmptyHeadersClient, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, NullAndEmptyHeadersClient, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, NullAndEmptyHeadersClient, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> NullAndEmptyHeadersClientOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, NullAndEmptyHeadersClient, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/NullAndEmptyHeadersClient"); + return NullAndEmptyHeadersClientOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_GET)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +NullAndEmptyHeadersServerOutcome RestXmlProtocolClient::NullAndEmptyHeadersServer(const NullAndEmptyHeadersServerRequest& request) const +{ + AWS_OPERATION_GUARD(NullAndEmptyHeadersServer); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, NullAndEmptyHeadersServer, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, NullAndEmptyHeadersServer, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, NullAndEmptyHeadersServer, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> NullAndEmptyHeadersServerOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, NullAndEmptyHeadersServer, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/NullAndEmptyHeadersServer"); + return NullAndEmptyHeadersServerOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_GET)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +OmitsNullSerializesEmptyStringOutcome RestXmlProtocolClient::OmitsNullSerializesEmptyString(const OmitsNullSerializesEmptyStringRequest& request) const +{ + AWS_OPERATION_GUARD(OmitsNullSerializesEmptyString); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, OmitsNullSerializesEmptyString, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, OmitsNullSerializesEmptyString, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, OmitsNullSerializesEmptyString, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> OmitsNullSerializesEmptyStringOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, OmitsNullSerializesEmptyString, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/OmitsNullSerializesEmptyString"); + return OmitsNullSerializesEmptyStringOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_GET)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +PutWithContentEncodingOutcome RestXmlProtocolClient::PutWithContentEncoding(const PutWithContentEncodingRequest& request) const +{ + AWS_OPERATION_GUARD(PutWithContentEncoding); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, PutWithContentEncoding, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, PutWithContentEncoding, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, PutWithContentEncoding, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> PutWithContentEncodingOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, PutWithContentEncoding, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/requestcompression/putcontentwithencoding"); + return PutWithContentEncodingOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +QueryIdempotencyTokenAutoFillOutcome RestXmlProtocolClient::QueryIdempotencyTokenAutoFill(const QueryIdempotencyTokenAutoFillRequest& request) const +{ + AWS_OPERATION_GUARD(QueryIdempotencyTokenAutoFill); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, QueryIdempotencyTokenAutoFill, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, QueryIdempotencyTokenAutoFill, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, QueryIdempotencyTokenAutoFill, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> QueryIdempotencyTokenAutoFillOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, QueryIdempotencyTokenAutoFill, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/QueryIdempotencyTokenAutoFill"); + return QueryIdempotencyTokenAutoFillOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +QueryParamsAsStringListMapOutcome RestXmlProtocolClient::QueryParamsAsStringListMap(const QueryParamsAsStringListMapRequest& request) const +{ + AWS_OPERATION_GUARD(QueryParamsAsStringListMap); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, QueryParamsAsStringListMap, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, QueryParamsAsStringListMap, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, QueryParamsAsStringListMap, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> QueryParamsAsStringListMapOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, QueryParamsAsStringListMap, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/StringListMap"); + return QueryParamsAsStringListMapOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +QueryPrecedenceOutcome RestXmlProtocolClient::QueryPrecedence(const QueryPrecedenceRequest& request) const +{ + AWS_OPERATION_GUARD(QueryPrecedence); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, QueryPrecedence, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, QueryPrecedence, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, QueryPrecedence, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> QueryPrecedenceOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, QueryPrecedence, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/Precedence"); + return QueryPrecedenceOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +RecursiveShapesOutcome RestXmlProtocolClient::RecursiveShapes(const RecursiveShapesRequest& request) const +{ + AWS_OPERATION_GUARD(RecursiveShapes); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, RecursiveShapes, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, RecursiveShapes, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, RecursiveShapes, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> RecursiveShapesOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, RecursiveShapes, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/RecursiveShapes"); + return RecursiveShapesOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_PUT)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +SimpleScalarPropertiesOutcome RestXmlProtocolClient::SimpleScalarProperties(const SimpleScalarPropertiesRequest& request) const +{ + AWS_OPERATION_GUARD(SimpleScalarProperties); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, SimpleScalarProperties, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, SimpleScalarProperties, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, SimpleScalarProperties, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> SimpleScalarPropertiesOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, SimpleScalarProperties, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/SimpleScalarProperties"); + return SimpleScalarPropertiesOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_PUT)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +TimestampFormatHeadersOutcome RestXmlProtocolClient::TimestampFormatHeaders(const TimestampFormatHeadersRequest& request) const +{ + AWS_OPERATION_GUARD(TimestampFormatHeaders); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, TimestampFormatHeaders, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, TimestampFormatHeaders, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, TimestampFormatHeaders, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> TimestampFormatHeadersOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, TimestampFormatHeaders, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/TimestampFormatHeaders"); + return TimestampFormatHeadersOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +XmlAttributesOutcome RestXmlProtocolClient::XmlAttributes(const XmlAttributesRequest& request) const +{ + AWS_OPERATION_GUARD(XmlAttributes); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, XmlAttributes, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, XmlAttributes, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, XmlAttributes, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> XmlAttributesOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, XmlAttributes, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/XmlAttributes"); + return XmlAttributesOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_PUT)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +XmlAttributesOnPayloadOutcome RestXmlProtocolClient::XmlAttributesOnPayload(const XmlAttributesOnPayloadRequest& request) const +{ + AWS_OPERATION_GUARD(XmlAttributesOnPayload); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, XmlAttributesOnPayload, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, XmlAttributesOnPayload, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, XmlAttributesOnPayload, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> XmlAttributesOnPayloadOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, XmlAttributesOnPayload, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/XmlAttributesOnPayload"); + return XmlAttributesOnPayloadOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_PUT)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +XmlBlobsOutcome RestXmlProtocolClient::XmlBlobs(const XmlBlobsRequest& request) const +{ + AWS_OPERATION_GUARD(XmlBlobs); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, XmlBlobs, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, XmlBlobs, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, XmlBlobs, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> XmlBlobsOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, XmlBlobs, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/XmlBlobs"); + return XmlBlobsOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +XmlEmptyBlobsOutcome RestXmlProtocolClient::XmlEmptyBlobs(const XmlEmptyBlobsRequest& request) const +{ + AWS_OPERATION_GUARD(XmlEmptyBlobs); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, XmlEmptyBlobs, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, XmlEmptyBlobs, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, XmlEmptyBlobs, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> XmlEmptyBlobsOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, XmlEmptyBlobs, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/XmlEmptyBlobs"); + return XmlEmptyBlobsOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +XmlEmptyListsOutcome RestXmlProtocolClient::XmlEmptyLists(const XmlEmptyListsRequest& request) const +{ + AWS_OPERATION_GUARD(XmlEmptyLists); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, XmlEmptyLists, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, XmlEmptyLists, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, XmlEmptyLists, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> XmlEmptyListsOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, XmlEmptyLists, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/XmlEmptyLists"); + return XmlEmptyListsOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_PUT)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +XmlEmptyMapsOutcome RestXmlProtocolClient::XmlEmptyMaps(const XmlEmptyMapsRequest& request) const +{ + AWS_OPERATION_GUARD(XmlEmptyMaps); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, XmlEmptyMaps, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, XmlEmptyMaps, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, XmlEmptyMaps, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> XmlEmptyMapsOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, XmlEmptyMaps, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/XmlEmptyMaps"); + return XmlEmptyMapsOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +XmlEmptyStringsOutcome RestXmlProtocolClient::XmlEmptyStrings(const XmlEmptyStringsRequest& request) const +{ + AWS_OPERATION_GUARD(XmlEmptyStrings); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, XmlEmptyStrings, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, XmlEmptyStrings, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, XmlEmptyStrings, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> XmlEmptyStringsOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, XmlEmptyStrings, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/XmlEmptyStrings"); + return XmlEmptyStringsOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_PUT)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +XmlEnumsOutcome RestXmlProtocolClient::XmlEnums(const XmlEnumsRequest& request) const +{ + AWS_OPERATION_GUARD(XmlEnums); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, XmlEnums, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, XmlEnums, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, XmlEnums, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> XmlEnumsOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, XmlEnums, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/XmlEnums"); + return XmlEnumsOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_PUT)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +XmlIntEnumsOutcome RestXmlProtocolClient::XmlIntEnums(const XmlIntEnumsRequest& request) const +{ + AWS_OPERATION_GUARD(XmlIntEnums); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, XmlIntEnums, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, XmlIntEnums, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, XmlIntEnums, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> XmlIntEnumsOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, XmlIntEnums, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/XmlIntEnums"); + return XmlIntEnumsOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_PUT)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +XmlListsOutcome RestXmlProtocolClient::XmlLists(const XmlListsRequest& request) const +{ + AWS_OPERATION_GUARD(XmlLists); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, XmlLists, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, XmlLists, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, XmlLists, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> XmlListsOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, XmlLists, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/XmlLists"); + return XmlListsOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_PUT)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +XmlMapWithXmlNamespaceOutcome RestXmlProtocolClient::XmlMapWithXmlNamespace(const XmlMapWithXmlNamespaceRequest& request) const +{ + AWS_OPERATION_GUARD(XmlMapWithXmlNamespace); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, XmlMapWithXmlNamespace, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, XmlMapWithXmlNamespace, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, XmlMapWithXmlNamespace, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> XmlMapWithXmlNamespaceOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, XmlMapWithXmlNamespace, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/XmlMapWithXmlNamespace"); + return XmlMapWithXmlNamespaceOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +XmlMapsOutcome RestXmlProtocolClient::XmlMaps(const XmlMapsRequest& request) const +{ + AWS_OPERATION_GUARD(XmlMaps); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, XmlMaps, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, XmlMaps, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, XmlMaps, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> XmlMapsOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, XmlMaps, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/XmlMaps"); + return XmlMapsOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +XmlMapsXmlNameOutcome RestXmlProtocolClient::XmlMapsXmlName(const XmlMapsXmlNameRequest& request) const +{ + AWS_OPERATION_GUARD(XmlMapsXmlName); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, XmlMapsXmlName, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, XmlMapsXmlName, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, XmlMapsXmlName, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> XmlMapsXmlNameOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, XmlMapsXmlName, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/XmlMapsXmlName"); + return XmlMapsXmlNameOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +XmlNamespacesOutcome RestXmlProtocolClient::XmlNamespaces(const XmlNamespacesRequest& request) const +{ + AWS_OPERATION_GUARD(XmlNamespaces); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, XmlNamespaces, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, XmlNamespaces, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, XmlNamespaces, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> XmlNamespacesOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, XmlNamespaces, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/XmlNamespaces"); + return XmlNamespacesOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +XmlTimestampsOutcome RestXmlProtocolClient::XmlTimestamps(const XmlTimestampsRequest& request) const +{ + AWS_OPERATION_GUARD(XmlTimestamps); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, XmlTimestamps, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, XmlTimestamps, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, XmlTimestamps, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> XmlTimestampsOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, XmlTimestamps, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/XmlTimestamps"); + return XmlTimestampsOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +XmlUnionsOutcome RestXmlProtocolClient::XmlUnions(const XmlUnionsRequest& request) const +{ + AWS_OPERATION_GUARD(XmlUnions); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, XmlUnions, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, XmlUnions, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, XmlUnions, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> XmlUnionsOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, XmlUnions, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/XmlUnions"); + return XmlUnionsOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_PUT)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/RestXmlProtocolEndpointProvider.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/RestXmlProtocolEndpointProvider.cpp new file mode 100644 index 00000000000..e13625fd512 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/RestXmlProtocolEndpointProvider.cpp @@ -0,0 +1,16 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws +{ +namespace RestXmlProtocol +{ +namespace Endpoint +{ +} // namespace Endpoint +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/RestXmlProtocolEndpointRules.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/RestXmlProtocolEndpointRules.cpp new file mode 100644 index 00000000000..8ef9ca05bd0 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/RestXmlProtocolEndpointRules.cpp @@ -0,0 +1,70 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +namespace Aws +{ +namespace RestXmlProtocol +{ +const size_t RestXmlProtocolEndpointRules::RulesBlobStrLen = 1086; +const size_t RestXmlProtocolEndpointRules::RulesBlobSize = 1087; + +using RulesBlobT = Aws::Array; +static constexpr RulesBlobT RulesBlob = {{ +'{','"','v','e','r','s','i','o','n','"',':','"','1','.','3','"',',','"','p','a','r','a','m','e','t', +'e','r','s','"',':','{','"','R','e','g','i','o','n','"',':','{','"','b','u','i','l','t','I','n','"', +':','"','A','W','S',':',':','R','e','g','i','o','n','"',',','"','r','e','q','u','i','r','e','d','"', +':','t','r','u','e',',','"','d','o','c','u','m','e','n','t','a','t','i','o','n','"',':','"','T','h', +'e',' ','A','W','S',' ','r','e','g','i','o','n',' ','u','s','e','d',' ','t','o',' ','d','i','s','p', +'a','t','c','h',' ','t','h','e',' ','r','e','q','u','e','s','t','.','"',',','"','t','y','p','e','"', +':','"','S','t','r','i','n','g','"','}',',','"','U','s','e','D','u','a','l','S','t','a','c','k','"', +':','{','"','b','u','i','l','t','I','n','"',':','"','A','W','S',':',':','U','s','e','D','u','a','l', +'S','t','a','c','k','"',',','"','r','e','q','u','i','r','e','d','"',':','t','r','u','e',',','"','d', +'e','f','a','u','l','t','"',':','f','a','l','s','e',',','"','d','o','c','u','m','e','n','t','a','t', +'i','o','n','"',':','"','W','h','e','n',' ','t','r','u','e',',',' ','u','s','e',' ','t','h','e',' ', +'d','u','a','l','-','s','t','a','c','k',' ','e','n','d','p','o','i','n','t','.',' ','I','f',' ','t', +'h','e',' ','c','o','n','f','i','g','u','r','e','d',' ','e','n','d','p','o','i','n','t',' ','d','o', +'e','s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ','d','u','a','l','-','s','t','a','c','k', +',',' ','d','i','s','p','a','t','c','h','i','n','g',' ','t','h','e',' ','r','e','q','u','e','s','t', +' ','M','A','Y',' ','r','e','t','u','r','n',' ','a','n',' ','e','r','r','o','r','.','"',',','"','t', +'y','p','e','"',':','"','B','o','o','l','e','a','n','"','}',',','"','U','s','e','F','I','P','S','"', +':','{','"','b','u','i','l','t','I','n','"',':','"','A','W','S',':',':','U','s','e','F','I','P','S', +'"',',','"','r','e','q','u','i','r','e','d','"',':','t','r','u','e',',','"','d','e','f','a','u','l', +'t','"',':','f','a','l','s','e',',','"','d','o','c','u','m','e','n','t','a','t','i','o','n','"',':', +'"','W','h','e','n',' ','t','r','u','e',',',' ','s','e','n','d',' ','t','h','i','s',' ','r','e','q', +'u','e','s','t',' ','t','o',' ','t','h','e',' ','F','I','P','S','-','c','o','m','p','l','i','a','n', +'t',' ','r','e','g','i','o','n','a','l',' ','e','n','d','p','o','i','n','t','.',' ','I','f',' ','t', +'h','e',' ','c','o','n','f','i','g','u','r','e','d',' ','e','n','d','p','o','i','n','t',' ','d','o', +'e','s',' ','n','o','t',' ','h','a','v','e',' ','a',' ','F','I','P','S',' ','c','o','m','p','l','i', +'a','n','t',' ','e','n','d','p','o','i','n','t',',',' ','d','i','s','p','a','t','c','h','i','n','g', +' ','t','h','e',' ','r','e','q','u','e','s','t',' ','w','i','l','l',' ','r','e','t','u','r','n',' ', +'a','n',' ','e','r','r','o','r','.','"',',','"','t','y','p','e','"',':','"','B','o','o','l','e','a', +'n','"','}',',','"','E','n','d','p','o','i','n','t','"',':','{','"','b','u','i','l','t','I','n','"', +':','"','S','D','K',':',':','E','n','d','p','o','i','n','t','"',',','"','r','e','q','u','i','r','e', +'d','"',':','f','a','l','s','e',',','"','d','o','c','u','m','e','n','t','a','t','i','o','n','"',':', +'"','O','v','e','r','r','i','d','e',' ','t','h','e',' ','e','n','d','p','o','i','n','t',' ','u','s', +'e','d',' ','t','o',' ','s','e','n','d',' ','t','h','i','s',' ','r','e','q','u','e','s','t','"',',', +'"','t','y','p','e','"',':','"','S','t','r','i','n','g','"','}','}',',','"','r','u','l','e','s','"', +':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','t','y','p','e','"', +':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t', +'i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l', +'"',':','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',',','"','p','r','o', +'p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[', +'{','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','R', +'e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"',',','"','s','i','g','n','i','n', +'g','N','a','m','e','"',':','"','t','e','s','t','-','s','e','r','v','i','c','e','"','}',']','}',',', +'"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d', +'p','o','i','n','t','"','}',']','}',']','}','\0' +}}; + +const char* RestXmlProtocolEndpointRules::GetRulesBlob() +{ + return RulesBlob.data(); +} + +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/RestXmlProtocolErrorMarshaller.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/RestXmlProtocolErrorMarshaller.cpp new file mode 100644 index 00000000000..5b3742fce7d --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/RestXmlProtocolErrorMarshaller.cpp @@ -0,0 +1,22 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include + +using namespace Aws::Client; +using namespace Aws::RestXmlProtocol; + +AWSError RestXmlProtocolErrorMarshaller::FindErrorByName(const char* errorName) const +{ + AWSError error = RestXmlProtocolErrorMapper::GetErrorForName(errorName); + if(error.GetErrorType() != CoreErrors::UNKNOWN) + { + return error; + } + + return AWSErrorMarshaller::FindErrorByName(errorName); +} \ No newline at end of file diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/RestXmlProtocolErrors.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/RestXmlProtocolErrors.cpp new file mode 100644 index 00000000000..f19010e83a4 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/RestXmlProtocolErrors.cpp @@ -0,0 +1,50 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Client; +using namespace Aws::Utils; +using namespace Aws::RestXmlProtocol; +using namespace Aws::RestXmlProtocol::Model; + +namespace Aws +{ +namespace RestXmlProtocol +{ +template<> AWS_RESTXMLPROTOCOL_API ComplexError RestXmlProtocolError::GetModeledError() +{ + assert(this->GetErrorType() == RestXmlProtocolErrors::COMPLEX); + return ComplexError(this->GetXmlPayload().GetRootElement()); +} + +namespace RestXmlProtocolErrorMapper +{ + +static const int COMPLEX_HASH = HashingUtils::HashString("ComplexError"); +static const int INVALID_GREETING_HASH = HashingUtils::HashString("InvalidGreeting"); + + +AWSError GetErrorForName(const char* errorName) +{ + int hashCode = HashingUtils::HashString(errorName); + + if (hashCode == COMPLEX_HASH) + { + return AWSError(static_cast(RestXmlProtocolErrors::COMPLEX), RetryableType::NOT_RETRYABLE); + } + else if (hashCode == INVALID_GREETING_HASH) + { + return AWSError(static_cast(RestXmlProtocolErrors::INVALID_GREETING), RetryableType::NOT_RETRYABLE); + } + return AWSError(CoreErrors::UNKNOWN, false); +} + +} // namespace RestXmlProtocolErrorMapper +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/RestXmlProtocolRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/RestXmlProtocolRequest.cpp new file mode 100644 index 00000000000..48251896223 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/RestXmlProtocolRequest.cpp @@ -0,0 +1,14 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + + +#include + +namespace Aws +{ +namespace RestXmlProtocol +{ +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/AllQueryStringTypesRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/AllQueryStringTypesRequest.cpp new file mode 100644 index 00000000000..ece6d07089d --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/AllQueryStringTypesRequest.cpp @@ -0,0 +1,240 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::RestXmlProtocol::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws::Http; + +AllQueryStringTypesRequest::AllQueryStringTypesRequest() : + m_queryStringHasBeenSet(false), + m_queryStringListHasBeenSet(false), + m_queryStringSetHasBeenSet(false), + m_queryByte(0), + m_queryByteHasBeenSet(false), + m_queryShort(0), + m_queryShortHasBeenSet(false), + m_queryInteger(0), + m_queryIntegerHasBeenSet(false), + m_queryIntegerListHasBeenSet(false), + m_queryIntegerSetHasBeenSet(false), + m_queryLong(0), + m_queryLongHasBeenSet(false), + m_queryFloat(0.0), + m_queryFloatHasBeenSet(false), + m_queryDouble(0.0), + m_queryDoubleHasBeenSet(false), + m_queryDoubleListHasBeenSet(false), + m_queryBoolean(false), + m_queryBooleanHasBeenSet(false), + m_queryBooleanListHasBeenSet(false), + m_queryTimestampHasBeenSet(false), + m_queryTimestampListHasBeenSet(false), + m_queryEnum(FooEnum::NOT_SET), + m_queryEnumHasBeenSet(false), + m_queryEnumListHasBeenSet(false), + m_queryIntegerEnum(0), + m_queryIntegerEnumHasBeenSet(false), + m_queryIntegerEnumListHasBeenSet(false), + m_queryParamsMapOfStringsHasBeenSet(false) +{ +} + +Aws::String AllQueryStringTypesRequest::SerializePayload() const +{ + return {}; +} + +void AllQueryStringTypesRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(m_queryStringHasBeenSet) + { + ss << m_queryString; + uri.AddQueryStringParameter("String", ss.str()); + ss.str(""); + } + + if(m_queryStringListHasBeenSet) + { + for(const auto& item : m_queryStringList) + { + ss << item; + uri.AddQueryStringParameter("StringList", ss.str()); + ss.str(""); + } + } + + if(m_queryStringSetHasBeenSet) + { + for(const auto& item : m_queryStringSet) + { + ss << item; + uri.AddQueryStringParameter("StringSet", ss.str()); + ss.str(""); + } + } + + if(m_queryByteHasBeenSet) + { + ss << m_queryByte; + uri.AddQueryStringParameter("Byte", ss.str()); + ss.str(""); + } + + if(m_queryShortHasBeenSet) + { + ss << m_queryShort; + uri.AddQueryStringParameter("Short", ss.str()); + ss.str(""); + } + + if(m_queryIntegerHasBeenSet) + { + ss << m_queryInteger; + uri.AddQueryStringParameter("Integer", ss.str()); + ss.str(""); + } + + if(m_queryIntegerListHasBeenSet) + { + for(const auto& item : m_queryIntegerList) + { + ss << item; + uri.AddQueryStringParameter("IntegerList", ss.str()); + ss.str(""); + } + } + + if(m_queryIntegerSetHasBeenSet) + { + for(const auto& item : m_queryIntegerSet) + { + ss << item; + uri.AddQueryStringParameter("IntegerSet", ss.str()); + ss.str(""); + } + } + + if(m_queryLongHasBeenSet) + { + ss << m_queryLong; + uri.AddQueryStringParameter("Long", ss.str()); + ss.str(""); + } + + if(m_queryFloatHasBeenSet) + { + ss << m_queryFloat; + uri.AddQueryStringParameter("Float", ss.str()); + ss.str(""); + } + + if(m_queryDoubleHasBeenSet) + { + ss << m_queryDouble; + uri.AddQueryStringParameter("Double", ss.str()); + ss.str(""); + } + + if(m_queryDoubleListHasBeenSet) + { + for(const auto& item : m_queryDoubleList) + { + ss << item; + uri.AddQueryStringParameter("DoubleList", ss.str()); + ss.str(""); + } + } + + if(m_queryBooleanHasBeenSet) + { + ss << m_queryBoolean; + uri.AddQueryStringParameter("Boolean", ss.str()); + ss.str(""); + } + + if(m_queryBooleanListHasBeenSet) + { + for(const auto& item : m_queryBooleanList) + { + ss << item; + uri.AddQueryStringParameter("BooleanList", ss.str()); + ss.str(""); + } + } + + if(m_queryTimestampHasBeenSet) + { + ss << m_queryTimestamp.ToGmtString(Aws::Utils::DateFormat::ISO_8601); + uri.AddQueryStringParameter("Timestamp", ss.str()); + ss.str(""); + } + + if(m_queryTimestampListHasBeenSet) + { + for(const auto& item : m_queryTimestampList) + { + ss << item.ToGmtString(Aws::Utils::DateFormat::ISO_8601); + uri.AddQueryStringParameter("TimestampList", ss.str()); + ss.str(""); + } + } + + if(m_queryEnumHasBeenSet) + { + ss << FooEnumMapper::GetNameForFooEnum(m_queryEnum); + uri.AddQueryStringParameter("Enum", ss.str()); + ss.str(""); + } + + if(m_queryEnumListHasBeenSet) + { + for(const auto& item : m_queryEnumList) + { + ss << FooEnumMapper::GetNameForFooEnum(item); + uri.AddQueryStringParameter("EnumList", ss.str()); + ss.str(""); + } + } + + if(m_queryIntegerEnumHasBeenSet) + { + ss << m_queryIntegerEnum; + uri.AddQueryStringParameter("IntegerEnum", ss.str()); + ss.str(""); + } + + if(m_queryIntegerEnumListHasBeenSet) + { + for(const auto& item : m_queryIntegerEnumList) + { + ss << item; + uri.AddQueryStringParameter("IntegerEnumList", ss.str()); + ss.str(""); + } + } + + if(m_queryParamsMapOfStringsHasBeenSet) + { + for(auto& item : m_queryParamsMapOfStrings) + { + ss << item.second; + uri.AddQueryStringParameter(item.first.c_str(), ss.str()); + ss.str(""); + } + } + +} + diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/BodyWithXmlNameRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/BodyWithXmlNameRequest.cpp new file mode 100644 index 00000000000..f15ec0d211d --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/BodyWithXmlNameRequest.cpp @@ -0,0 +1,53 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +#include + +using namespace Aws::RestXmlProtocol::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; + +BodyWithXmlNameRequest::BodyWithXmlNameRequest() : + m_nestedHasBeenSet(false), + m_requestIdHasBeenSet(false) +{ +} + +Aws::String BodyWithXmlNameRequest::SerializePayload() const +{ + XmlDocument payloadDoc = XmlDocument::CreateWithRootNode("BodyWithXmlNameRequest"); + + XmlNode parentNode = payloadDoc.GetRootElement(); + + Aws::StringStream ss; + if(m_nestedHasBeenSet) + { + XmlNode nestedNode = parentNode.CreateChildElement("nested"); + m_nested.AddToNode(nestedNode); + } + + return payloadDoc.ConvertToString(); +} + + +Aws::Http::HeaderValueCollection BodyWithXmlNameRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_requestIdHasBeenSet) + { + ss << m_requestId; + headers.emplace("x-amzn-requestid", ss.str()); + ss.str(""); + } + + return headers; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/BodyWithXmlNameResult.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/BodyWithXmlNameResult.cpp new file mode 100644 index 00000000000..6a617fb2252 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/BodyWithXmlNameResult.cpp @@ -0,0 +1,50 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +#include + +using namespace Aws::RestXmlProtocol::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws; + +BodyWithXmlNameResult::BodyWithXmlNameResult() +{ +} + +BodyWithXmlNameResult::BodyWithXmlNameResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +BodyWithXmlNameResult& BodyWithXmlNameResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode resultNode = xmlDocument.GetRootElement(); + + if(!resultNode.IsNull()) + { + XmlNode nestedNode = resultNode.FirstChild("nested"); + if(!nestedNode.IsNull()) + { + m_nested = nestedNode; + } + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + return *this; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/ComplexError.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/ComplexError.cpp new file mode 100644 index 00000000000..9991a27357a --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/ComplexError.cpp @@ -0,0 +1,79 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +#include + +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; + +namespace Aws +{ +namespace RestXmlProtocol +{ +namespace Model +{ + +ComplexError::ComplexError() : + m_headerHasBeenSet(false), + m_topLevelHasBeenSet(false), + m_nestedHasBeenSet(false) +{ +} + +ComplexError::ComplexError(const XmlNode& xmlNode) + : ComplexError() +{ + *this = xmlNode; +} + +ComplexError& ComplexError::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode topLevelNode = resultNode.FirstChild("TopLevel"); + if(!topLevelNode.IsNull()) + { + m_topLevel = Aws::Utils::Xml::DecodeEscapedXmlText(topLevelNode.GetText()); + m_topLevelHasBeenSet = true; + } + XmlNode nestedNode = resultNode.FirstChild("Nested"); + if(!nestedNode.IsNull()) + { + m_nested = nestedNode; + m_nestedHasBeenSet = true; + } + } + + return *this; +} + +void ComplexError::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + if(m_topLevelHasBeenSet) + { + XmlNode topLevelNode = parentNode.CreateChildElement("TopLevel"); + topLevelNode.SetText(m_topLevel); + } + + if(m_nestedHasBeenSet) + { + XmlNode nestedNode = parentNode.CreateChildElement("Nested"); + m_nested.AddToNode(nestedNode); + } + +} + +} // namespace Model +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/ComplexNestedErrorData.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/ComplexNestedErrorData.cpp new file mode 100644 index 00000000000..1852baeff6a --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/ComplexNestedErrorData.cpp @@ -0,0 +1,64 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; + +namespace Aws +{ +namespace RestXmlProtocol +{ +namespace Model +{ + +ComplexNestedErrorData::ComplexNestedErrorData() : + m_fooHasBeenSet(false) +{ +} + +ComplexNestedErrorData::ComplexNestedErrorData(const XmlNode& xmlNode) + : ComplexNestedErrorData() +{ + *this = xmlNode; +} + +ComplexNestedErrorData& ComplexNestedErrorData::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode fooNode = resultNode.FirstChild("Foo"); + if(!fooNode.IsNull()) + { + m_foo = Aws::Utils::Xml::DecodeEscapedXmlText(fooNode.GetText()); + m_fooHasBeenSet = true; + } + } + + return *this; +} + +void ComplexNestedErrorData::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + if(m_fooHasBeenSet) + { + XmlNode fooNode = parentNode.CreateChildElement("Foo"); + fooNode.SetText(m_foo); + } + +} + +} // namespace Model +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/ConstantAndVariableQueryStringRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/ConstantAndVariableQueryStringRequest.cpp new file mode 100644 index 00000000000..a762aeb5752 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/ConstantAndVariableQueryStringRequest.cpp @@ -0,0 +1,49 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::RestXmlProtocol::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws::Http; + +ConstantAndVariableQueryStringRequest::ConstantAndVariableQueryStringRequest() : + m_bazHasBeenSet(false), + m_maybeSetHasBeenSet(false) +{ +} + +Aws::String ConstantAndVariableQueryStringRequest::SerializePayload() const +{ + return {}; +} + +void ConstantAndVariableQueryStringRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(m_bazHasBeenSet) + { + ss << m_baz; + uri.AddQueryStringParameter("baz", ss.str()); + ss.str(""); + } + + if(m_maybeSetHasBeenSet) + { + ss << m_maybeSet; + uri.AddQueryStringParameter("maybeSet", ss.str()); + ss.str(""); + } + +} + diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/ConstantQueryStringRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/ConstantQueryStringRequest.cpp new file mode 100644 index 00000000000..ca6b300d530 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/ConstantQueryStringRequest.cpp @@ -0,0 +1,27 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::RestXmlProtocol::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; + +ConstantQueryStringRequest::ConstantQueryStringRequest() : + m_helloHasBeenSet(false) +{ +} + +Aws::String ConstantQueryStringRequest::SerializePayload() const +{ + return {}; +} + + diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/ContentTypeParametersRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/ContentTypeParametersRequest.cpp new file mode 100644 index 00000000000..f0f72f6433b --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/ContentTypeParametersRequest.cpp @@ -0,0 +1,41 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::RestXmlProtocol::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; + +ContentTypeParametersRequest::ContentTypeParametersRequest() : + m_value(0), + m_valueHasBeenSet(false) +{ +} + +Aws::String ContentTypeParametersRequest::SerializePayload() const +{ + XmlDocument payloadDoc = XmlDocument::CreateWithRootNode("ContentTypeParametersRequest"); + + XmlNode parentNode = payloadDoc.GetRootElement(); + + Aws::StringStream ss; + if(m_valueHasBeenSet) + { + XmlNode valueNode = parentNode.CreateChildElement("value"); + ss << m_value; + valueNode.SetText(ss.str()); + ss.str(""); + } + + return payloadDoc.ConvertToString(); +} + + diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/ContentTypeParametersResult.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/ContentTypeParametersResult.cpp new file mode 100644 index 00000000000..854a14ce092 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/ContentTypeParametersResult.cpp @@ -0,0 +1,45 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +#include + +using namespace Aws::RestXmlProtocol::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws; + +ContentTypeParametersResult::ContentTypeParametersResult() +{ +} + +ContentTypeParametersResult::ContentTypeParametersResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +ContentTypeParametersResult& ContentTypeParametersResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode resultNode = xmlDocument.GetRootElement(); + + if(!resultNode.IsNull()) + { + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + return *this; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/DatetimeOffsetsRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/DatetimeOffsetsRequest.cpp new file mode 100644 index 00000000000..580dd7fdb20 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/DatetimeOffsetsRequest.cpp @@ -0,0 +1,26 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::RestXmlProtocol::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; + +DatetimeOffsetsRequest::DatetimeOffsetsRequest() +{ +} + +Aws::String DatetimeOffsetsRequest::SerializePayload() const +{ + return {}; +} + + diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/DatetimeOffsetsResult.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/DatetimeOffsetsResult.cpp new file mode 100644 index 00000000000..287fc4afe1e --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/DatetimeOffsetsResult.cpp @@ -0,0 +1,50 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +#include + +using namespace Aws::RestXmlProtocol::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws; + +DatetimeOffsetsResult::DatetimeOffsetsResult() +{ +} + +DatetimeOffsetsResult::DatetimeOffsetsResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +DatetimeOffsetsResult& DatetimeOffsetsResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode resultNode = xmlDocument.GetRootElement(); + + if(!resultNode.IsNull()) + { + XmlNode datetimeNode = resultNode.FirstChild("datetime"); + if(!datetimeNode.IsNull()) + { + m_datetime = DateTime(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(datetimeNode.GetText()).c_str()).c_str(), Aws::Utils::DateFormat::ISO_8601); + } + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + return *this; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/EmptyInputAndEmptyOutputRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/EmptyInputAndEmptyOutputRequest.cpp new file mode 100644 index 00000000000..5e8920a4ed1 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/EmptyInputAndEmptyOutputRequest.cpp @@ -0,0 +1,26 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::RestXmlProtocol::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; + +EmptyInputAndEmptyOutputRequest::EmptyInputAndEmptyOutputRequest() +{ +} + +Aws::String EmptyInputAndEmptyOutputRequest::SerializePayload() const +{ + return {}; +} + + diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/EmptyInputAndEmptyOutputResult.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/EmptyInputAndEmptyOutputResult.cpp new file mode 100644 index 00000000000..a86717823cd --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/EmptyInputAndEmptyOutputResult.cpp @@ -0,0 +1,45 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +#include + +using namespace Aws::RestXmlProtocol::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws; + +EmptyInputAndEmptyOutputResult::EmptyInputAndEmptyOutputResult() +{ +} + +EmptyInputAndEmptyOutputResult::EmptyInputAndEmptyOutputResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +EmptyInputAndEmptyOutputResult& EmptyInputAndEmptyOutputResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode resultNode = xmlDocument.GetRootElement(); + + if(!resultNode.IsNull()) + { + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + return *this; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/EndpointOperationRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/EndpointOperationRequest.cpp new file mode 100644 index 00000000000..79bd5d812ee --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/EndpointOperationRequest.cpp @@ -0,0 +1,26 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::RestXmlProtocol::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; + +EndpointOperationRequest::EndpointOperationRequest() +{ +} + +Aws::String EndpointOperationRequest::SerializePayload() const +{ + return {}; +} + + diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/EndpointWithHostLabelHeaderOperationRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/EndpointWithHostLabelHeaderOperationRequest.cpp new file mode 100644 index 00000000000..eeae55c93e8 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/EndpointWithHostLabelHeaderOperationRequest.cpp @@ -0,0 +1,41 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +#include + +using namespace Aws::RestXmlProtocol::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; + +EndpointWithHostLabelHeaderOperationRequest::EndpointWithHostLabelHeaderOperationRequest() : + m_accountIdHasBeenSet(false) +{ +} + +Aws::String EndpointWithHostLabelHeaderOperationRequest::SerializePayload() const +{ + return {}; +} + + +Aws::Http::HeaderValueCollection EndpointWithHostLabelHeaderOperationRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_accountIdHasBeenSet) + { + ss << m_accountId; + headers.emplace("x-amz-account-id", ss.str()); + ss.str(""); + } + + return headers; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/EndpointWithHostLabelOperationRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/EndpointWithHostLabelOperationRequest.cpp new file mode 100644 index 00000000000..109994db75a --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/EndpointWithHostLabelOperationRequest.cpp @@ -0,0 +1,38 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::RestXmlProtocol::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; + +EndpointWithHostLabelOperationRequest::EndpointWithHostLabelOperationRequest() : + m_labelHasBeenSet(false) +{ +} + +Aws::String EndpointWithHostLabelOperationRequest::SerializePayload() const +{ + XmlDocument payloadDoc = XmlDocument::CreateWithRootNode("EndpointWithHostLabelOperationRequest"); + + XmlNode parentNode = payloadDoc.GetRootElement(); + + Aws::StringStream ss; + if(m_labelHasBeenSet) + { + XmlNode labelNode = parentNode.CreateChildElement("label"); + labelNode.SetText(m_label); + } + + return payloadDoc.ConvertToString(); +} + + diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/FlattenedXmlMapRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/FlattenedXmlMapRequest.cpp new file mode 100644 index 00000000000..4ad78561e33 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/FlattenedXmlMapRequest.cpp @@ -0,0 +1,45 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::RestXmlProtocol::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; + +FlattenedXmlMapRequest::FlattenedXmlMapRequest() : + m_myMapHasBeenSet(false) +{ +} + +Aws::String FlattenedXmlMapRequest::SerializePayload() const +{ + XmlDocument payloadDoc = XmlDocument::CreateWithRootNode("FlattenedXmlMapRequest"); + + XmlNode parentNode = payloadDoc.GetRootElement(); + + Aws::StringStream ss; + if(m_myMapHasBeenSet) + { + XmlNode myMapParentNode = parentNode.CreateChildElement("myMap"); + for(const auto& mapItem : m_myMap) + { + XmlNode myMapMapEntryNode = myMapParentNode.CreateChildElement("entry"); + XmlNode myMapKeyNode = myMapMapEntryNode.CreateChildElement("key"); + myMapKeyNode.SetText(mapItem.first); + XmlNode myMapValueNode = myMapMapEntryNode.CreateChildElement("value"); + myMapValueNode.SetText(FooEnumMapper::GetNameForFooEnum(mapItem.second)); + } + } + + return payloadDoc.ConvertToString(); +} + + diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/FlattenedXmlMapResult.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/FlattenedXmlMapResult.cpp new file mode 100644 index 00000000000..1e35bfa82e0 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/FlattenedXmlMapResult.cpp @@ -0,0 +1,60 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +#include + +using namespace Aws::RestXmlProtocol::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws; + +FlattenedXmlMapResult::FlattenedXmlMapResult() +{ +} + +FlattenedXmlMapResult::FlattenedXmlMapResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +FlattenedXmlMapResult& FlattenedXmlMapResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode resultNode = xmlDocument.GetRootElement(); + + if(!resultNode.IsNull()) + { + XmlNode myMapNode = resultNode.FirstChild("myMap"); + + if(!myMapNode.IsNull()) + { + XmlNode myMapEntry = myMapNode.FirstChild("entry"); + while(!myMapEntry.IsNull()) + { + XmlNode keyNode = myMapEntry.FirstChild("key"); + XmlNode valueNode = myMapEntry.FirstChild("value"); + m_myMap[keyNode.GetText()] = + FooEnumMapper::GetFooEnumForName(StringUtils::Trim(valueNode.GetText().c_str())); + myMapEntry = myMapEntry.NextNode("entry"); + } + + } + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + return *this; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/FlattenedXmlMapWithXmlNameRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/FlattenedXmlMapWithXmlNameRequest.cpp new file mode 100644 index 00000000000..3f72be89a46 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/FlattenedXmlMapWithXmlNameRequest.cpp @@ -0,0 +1,45 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::RestXmlProtocol::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; + +FlattenedXmlMapWithXmlNameRequest::FlattenedXmlMapWithXmlNameRequest() : + m_myMapHasBeenSet(false) +{ +} + +Aws::String FlattenedXmlMapWithXmlNameRequest::SerializePayload() const +{ + XmlDocument payloadDoc = XmlDocument::CreateWithRootNode("FlattenedXmlMapWithXmlNameRequest"); + + XmlNode parentNode = payloadDoc.GetRootElement(); + + Aws::StringStream ss; + if(m_myMapHasBeenSet) + { + XmlNode myMapParentNode = parentNode.CreateChildElement("KVP"); + for(const auto& mapItem : m_myMap) + { + XmlNode myMapMapEntryNode = myMapParentNode.CreateChildElement("KVP"); + XmlNode myMapKeyNode = myMapMapEntryNode.CreateChildElement("K"); + myMapKeyNode.SetText(mapItem.first); + XmlNode myMapValueNode = myMapMapEntryNode.CreateChildElement("V"); + myMapValueNode.SetText(mapItem.second); + } + } + + return payloadDoc.ConvertToString(); +} + + diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/FlattenedXmlMapWithXmlNameResult.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/FlattenedXmlMapWithXmlNameResult.cpp new file mode 100644 index 00000000000..8362de622dc --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/FlattenedXmlMapWithXmlNameResult.cpp @@ -0,0 +1,59 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +#include + +using namespace Aws::RestXmlProtocol::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws; + +FlattenedXmlMapWithXmlNameResult::FlattenedXmlMapWithXmlNameResult() +{ +} + +FlattenedXmlMapWithXmlNameResult::FlattenedXmlMapWithXmlNameResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +FlattenedXmlMapWithXmlNameResult& FlattenedXmlMapWithXmlNameResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode resultNode = xmlDocument.GetRootElement(); + + if(!resultNode.IsNull()) + { + XmlNode myMapNode = resultNode.FirstChild("KVP"); + if(!myMapNode.IsNull()) + { + XmlNode kVPEntry = myMapNode; + while(!kVPEntry.IsNull()) + { + XmlNode keyNode = kVPEntry.FirstChild("K"); + XmlNode valueNode = kVPEntry.FirstChild("V"); + m_myMap[keyNode.GetText()] = + valueNode.GetText(); + kVPEntry = kVPEntry.NextNode("KVP"); + } + + } + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + return *this; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/FlattenedXmlMapWithXmlNamespaceRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/FlattenedXmlMapWithXmlNamespaceRequest.cpp new file mode 100644 index 00000000000..22075d094e7 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/FlattenedXmlMapWithXmlNamespaceRequest.cpp @@ -0,0 +1,26 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::RestXmlProtocol::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; + +FlattenedXmlMapWithXmlNamespaceRequest::FlattenedXmlMapWithXmlNamespaceRequest() +{ +} + +Aws::String FlattenedXmlMapWithXmlNamespaceRequest::SerializePayload() const +{ + return {}; +} + + diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/FlattenedXmlMapWithXmlNamespaceResult.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/FlattenedXmlMapWithXmlNamespaceResult.cpp new file mode 100644 index 00000000000..aa41fba101b --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/FlattenedXmlMapWithXmlNamespaceResult.cpp @@ -0,0 +1,59 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +#include + +using namespace Aws::RestXmlProtocol::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws; + +FlattenedXmlMapWithXmlNamespaceResult::FlattenedXmlMapWithXmlNamespaceResult() +{ +} + +FlattenedXmlMapWithXmlNamespaceResult::FlattenedXmlMapWithXmlNamespaceResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +FlattenedXmlMapWithXmlNamespaceResult& FlattenedXmlMapWithXmlNamespaceResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode resultNode = xmlDocument.GetRootElement(); + + if(!resultNode.IsNull()) + { + XmlNode myMapNode = resultNode.FirstChild("KVP"); + if(!myMapNode.IsNull()) + { + XmlNode kVPEntry = myMapNode; + while(!kVPEntry.IsNull()) + { + XmlNode keyNode = kVPEntry.FirstChild("K"); + XmlNode valueNode = kVPEntry.FirstChild("V"); + m_myMap[keyNode.GetText()] = + valueNode.GetText(); + kVPEntry = kVPEntry.NextNode("KVP"); + } + + } + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + return *this; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/FooEnum.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/FooEnum.cpp new file mode 100644 index 00000000000..b367224a63d --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/FooEnum.cpp @@ -0,0 +1,93 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace RestXmlProtocol + { + namespace Model + { + namespace FooEnumMapper + { + + static const int Foo_HASH = HashingUtils::HashString("Foo"); + static const int Baz_HASH = HashingUtils::HashString("Baz"); + static const int Bar_HASH = HashingUtils::HashString("Bar"); + static const int _1_HASH = HashingUtils::HashString("1"); + static const int _0_HASH = HashingUtils::HashString("0"); + + + FooEnum GetFooEnumForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == Foo_HASH) + { + return FooEnum::Foo; + } + else if (hashCode == Baz_HASH) + { + return FooEnum::Baz; + } + else if (hashCode == Bar_HASH) + { + return FooEnum::Bar; + } + else if (hashCode == _1_HASH) + { + return FooEnum::_1; + } + else if (hashCode == _0_HASH) + { + return FooEnum::_0; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return FooEnum::NOT_SET; + } + + Aws::String GetNameForFooEnum(FooEnum enumValue) + { + switch(enumValue) + { + case FooEnum::NOT_SET: + return {}; + case FooEnum::Foo: + return "Foo"; + case FooEnum::Baz: + return "Baz"; + case FooEnum::Bar: + return "Bar"; + case FooEnum::_1: + return "1"; + case FooEnum::_0: + return "0"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace FooEnumMapper + } // namespace Model + } // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/FractionalSecondsRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/FractionalSecondsRequest.cpp new file mode 100644 index 00000000000..2b00e01d2e3 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/FractionalSecondsRequest.cpp @@ -0,0 +1,26 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::RestXmlProtocol::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; + +FractionalSecondsRequest::FractionalSecondsRequest() +{ +} + +Aws::String FractionalSecondsRequest::SerializePayload() const +{ + return {}; +} + + diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/FractionalSecondsResult.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/FractionalSecondsResult.cpp new file mode 100644 index 00000000000..5332ed80330 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/FractionalSecondsResult.cpp @@ -0,0 +1,50 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +#include + +using namespace Aws::RestXmlProtocol::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws; + +FractionalSecondsResult::FractionalSecondsResult() +{ +} + +FractionalSecondsResult::FractionalSecondsResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +FractionalSecondsResult& FractionalSecondsResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode resultNode = xmlDocument.GetRootElement(); + + if(!resultNode.IsNull()) + { + XmlNode datetimeNode = resultNode.FirstChild("datetime"); + if(!datetimeNode.IsNull()) + { + m_datetime = DateTime(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(datetimeNode.GetText()).c_str()).c_str(), Aws::Utils::DateFormat::ISO_8601); + } + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + return *this; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/GreetingStruct.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/GreetingStruct.cpp new file mode 100644 index 00000000000..f1ee3002ec7 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/GreetingStruct.cpp @@ -0,0 +1,64 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; + +namespace Aws +{ +namespace RestXmlProtocol +{ +namespace Model +{ + +GreetingStruct::GreetingStruct() : + m_hiHasBeenSet(false) +{ +} + +GreetingStruct::GreetingStruct(const XmlNode& xmlNode) + : GreetingStruct() +{ + *this = xmlNode; +} + +GreetingStruct& GreetingStruct::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode hiNode = resultNode.FirstChild("hi"); + if(!hiNode.IsNull()) + { + m_hi = Aws::Utils::Xml::DecodeEscapedXmlText(hiNode.GetText()); + m_hiHasBeenSet = true; + } + } + + return *this; +} + +void GreetingStruct::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + if(m_hiHasBeenSet) + { + XmlNode hiNode = parentNode.CreateChildElement("hi"); + hiNode.SetText(m_hi); + } + +} + +} // namespace Model +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/GreetingWithErrorsRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/GreetingWithErrorsRequest.cpp new file mode 100644 index 00000000000..173b87fd9c5 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/GreetingWithErrorsRequest.cpp @@ -0,0 +1,26 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::RestXmlProtocol::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; + +GreetingWithErrorsRequest::GreetingWithErrorsRequest() +{ +} + +Aws::String GreetingWithErrorsRequest::SerializePayload() const +{ + return {}; +} + + diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/GreetingWithErrorsResult.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/GreetingWithErrorsResult.cpp new file mode 100644 index 00000000000..2124b883d44 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/GreetingWithErrorsResult.cpp @@ -0,0 +1,51 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +#include + +using namespace Aws::RestXmlProtocol::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws; + +GreetingWithErrorsResult::GreetingWithErrorsResult() +{ +} + +GreetingWithErrorsResult::GreetingWithErrorsResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +GreetingWithErrorsResult& GreetingWithErrorsResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode resultNode = xmlDocument.GetRootElement(); + + if(!resultNode.IsNull()) + { + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& greetingIter = headers.find("x-greeting"); + if(greetingIter != headers.end()) + { + m_greeting = greetingIter->second; + } + + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + return *this; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/HttpEnumPayloadRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/HttpEnumPayloadRequest.cpp new file mode 100644 index 00000000000..3ba38927e71 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/HttpEnumPayloadRequest.cpp @@ -0,0 +1,38 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include + +#include + +using namespace Aws::RestXmlProtocol::Model; +using namespace Aws::Utils::Stream; +using namespace Aws::Utils; +using namespace Aws; + +HttpEnumPayloadRequest::HttpEnumPayloadRequest() : + m_payload(StringEnum::NOT_SET), + m_requestIdHasBeenSet(false) +{ +} + + + +Aws::Http::HeaderValueCollection HttpEnumPayloadRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_requestIdHasBeenSet) + { + ss << m_requestId; + headers.emplace("x-amzn-requestid", ss.str()); + ss.str(""); + } + + return headers; + +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/HttpEnumPayloadResult.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/HttpEnumPayloadResult.cpp new file mode 100644 index 00000000000..e205d0eefe6 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/HttpEnumPayloadResult.cpp @@ -0,0 +1,60 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::RestXmlProtocol::Model; +using namespace Aws::Utils::Stream; +using namespace Aws::Utils; +using namespace Aws; + +HttpEnumPayloadResult::HttpEnumPayloadResult() : + m_payload(StringEnum::NOT_SET) +{ +} + +HttpEnumPayloadResult::HttpEnumPayloadResult(HttpEnumPayloadResult&& toMove) : + m_payload(toMove.m_payload), + m_requestId(std::move(toMove.m_requestId)) +{ +} + +HttpEnumPayloadResult& HttpEnumPayloadResult::operator=(HttpEnumPayloadResult&& toMove) +{ + if(this == &toMove) + { + return *this; + } + + m_payload = toMove.m_payload; + m_requestId = std::move(toMove.m_requestId); + + return *this; +} + +HttpEnumPayloadResult::HttpEnumPayloadResult(Aws::AmazonWebServiceResult&& result) + : HttpEnumPayloadResult() +{ + *this = std::move(result); +} + +HttpEnumPayloadResult& HttpEnumPayloadResult::operator =(Aws::AmazonWebServiceResult&& result) +{ + m_payload = result.TakeOwnershipOfPayload(); + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + return *this; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/HttpPayloadTraitsRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/HttpPayloadTraitsRequest.cpp new file mode 100644 index 00000000000..08a15002786 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/HttpPayloadTraitsRequest.cpp @@ -0,0 +1,46 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::RestXmlProtocol::Model; +using namespace Aws::Utils::Stream; +using namespace Aws::Utils; +using namespace Aws; + +HttpPayloadTraitsRequest::HttpPayloadTraitsRequest() : + m_fooHasBeenSet(false), + m_requestIdHasBeenSet(false) +{ +} + + + +Aws::Http::HeaderValueCollection HttpPayloadTraitsRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_fooHasBeenSet) + { + ss << m_foo; + headers.emplace("x-foo", ss.str()); + ss.str(""); + } + + if(m_requestIdHasBeenSet) + { + ss << m_requestId; + headers.emplace("x-amzn-requestid", ss.str()); + ss.str(""); + } + + return headers; + +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/HttpPayloadTraitsResult.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/HttpPayloadTraitsResult.cpp new file mode 100644 index 00000000000..d2fd24a3c83 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/HttpPayloadTraitsResult.cpp @@ -0,0 +1,67 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +#include + +using namespace Aws::RestXmlProtocol::Model; +using namespace Aws::Utils::Stream; +using namespace Aws::Utils; +using namespace Aws; + +HttpPayloadTraitsResult::HttpPayloadTraitsResult() +{ +} + +HttpPayloadTraitsResult::HttpPayloadTraitsResult(HttpPayloadTraitsResult&& toMove) : + m_foo(std::move(toMove.m_foo)), + m_blob(std::move(toMove.m_blob)), + m_requestId(std::move(toMove.m_requestId)) +{ +} + +HttpPayloadTraitsResult& HttpPayloadTraitsResult::operator=(HttpPayloadTraitsResult&& toMove) +{ + if(this == &toMove) + { + return *this; + } + + m_foo = std::move(toMove.m_foo); + m_blob = std::move(toMove.m_blob); + m_requestId = std::move(toMove.m_requestId); + + return *this; +} + +HttpPayloadTraitsResult::HttpPayloadTraitsResult(Aws::AmazonWebServiceResult&& result) +{ + *this = std::move(result); +} + +HttpPayloadTraitsResult& HttpPayloadTraitsResult::operator =(Aws::AmazonWebServiceResult&& result) +{ + m_blob = result.TakeOwnershipOfPayload(); + + const auto& headers = result.GetHeaderValueCollection(); + const auto& fooIter = headers.find("x-foo"); + if(fooIter != headers.end()) + { + m_foo = fooIter->second; + } + + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + return *this; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/HttpPayloadWithMemberXmlNameRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/HttpPayloadWithMemberXmlNameRequest.cpp new file mode 100644 index 00000000000..ed22d8fed5a --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/HttpPayloadWithMemberXmlNameRequest.cpp @@ -0,0 +1,52 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +#include + +using namespace Aws::RestXmlProtocol::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; + +HttpPayloadWithMemberXmlNameRequest::HttpPayloadWithMemberXmlNameRequest() : + m_nestedHasBeenSet(false), + m_requestIdHasBeenSet(false) +{ +} + +Aws::String HttpPayloadWithMemberXmlNameRequest::SerializePayload() const +{ + XmlDocument payloadDoc = XmlDocument::CreateWithRootNode("Hola"); + + XmlNode parentNode = payloadDoc.GetRootElement(); + + m_nested.AddToNode(parentNode); + if(parentNode.HasChildren()) + { + return payloadDoc.ConvertToString(); + } + + return {}; +} + + +Aws::Http::HeaderValueCollection HttpPayloadWithMemberXmlNameRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_requestIdHasBeenSet) + { + ss << m_requestId; + headers.emplace("x-amzn-requestid", ss.str()); + ss.str(""); + } + + return headers; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/HttpPayloadWithMemberXmlNameResult.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/HttpPayloadWithMemberXmlNameResult.cpp new file mode 100644 index 00000000000..18705f0e9ae --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/HttpPayloadWithMemberXmlNameResult.cpp @@ -0,0 +1,46 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +#include + +using namespace Aws::RestXmlProtocol::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws; + +HttpPayloadWithMemberXmlNameResult::HttpPayloadWithMemberXmlNameResult() +{ +} + +HttpPayloadWithMemberXmlNameResult::HttpPayloadWithMemberXmlNameResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +HttpPayloadWithMemberXmlNameResult& HttpPayloadWithMemberXmlNameResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode resultNode = xmlDocument.GetRootElement(); + + if(!resultNode.IsNull()) + { + m_nested = resultNode; + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + return *this; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/HttpPayloadWithStructureRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/HttpPayloadWithStructureRequest.cpp new file mode 100644 index 00000000000..d768604a60c --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/HttpPayloadWithStructureRequest.cpp @@ -0,0 +1,52 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +#include + +using namespace Aws::RestXmlProtocol::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; + +HttpPayloadWithStructureRequest::HttpPayloadWithStructureRequest() : + m_nestedHasBeenSet(false), + m_requestIdHasBeenSet(false) +{ +} + +Aws::String HttpPayloadWithStructureRequest::SerializePayload() const +{ + XmlDocument payloadDoc = XmlDocument::CreateWithRootNode("NestedPayload"); + + XmlNode parentNode = payloadDoc.GetRootElement(); + + m_nested.AddToNode(parentNode); + if(parentNode.HasChildren()) + { + return payloadDoc.ConvertToString(); + } + + return {}; +} + + +Aws::Http::HeaderValueCollection HttpPayloadWithStructureRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_requestIdHasBeenSet) + { + ss << m_requestId; + headers.emplace("x-amzn-requestid", ss.str()); + ss.str(""); + } + + return headers; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/HttpPayloadWithStructureResult.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/HttpPayloadWithStructureResult.cpp new file mode 100644 index 00000000000..9ef73cbed44 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/HttpPayloadWithStructureResult.cpp @@ -0,0 +1,46 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +#include + +using namespace Aws::RestXmlProtocol::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws; + +HttpPayloadWithStructureResult::HttpPayloadWithStructureResult() +{ +} + +HttpPayloadWithStructureResult::HttpPayloadWithStructureResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +HttpPayloadWithStructureResult& HttpPayloadWithStructureResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode resultNode = xmlDocument.GetRootElement(); + + if(!resultNode.IsNull()) + { + m_nested = resultNode; + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + return *this; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/HttpPayloadWithUnionRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/HttpPayloadWithUnionRequest.cpp new file mode 100644 index 00000000000..351ea3587ac --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/HttpPayloadWithUnionRequest.cpp @@ -0,0 +1,52 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +#include + +using namespace Aws::RestXmlProtocol::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; + +HttpPayloadWithUnionRequest::HttpPayloadWithUnionRequest() : + m_nestedHasBeenSet(false), + m_requestIdHasBeenSet(false) +{ +} + +Aws::String HttpPayloadWithUnionRequest::SerializePayload() const +{ + XmlDocument payloadDoc = XmlDocument::CreateWithRootNode("nested"); + + XmlNode parentNode = payloadDoc.GetRootElement(); + + m_nested.AddToNode(parentNode); + if(parentNode.HasChildren()) + { + return payloadDoc.ConvertToString(); + } + + return {}; +} + + +Aws::Http::HeaderValueCollection HttpPayloadWithUnionRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_requestIdHasBeenSet) + { + ss << m_requestId; + headers.emplace("x-amzn-requestid", ss.str()); + ss.str(""); + } + + return headers; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/HttpPayloadWithUnionResult.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/HttpPayloadWithUnionResult.cpp new file mode 100644 index 00000000000..712afc1ea88 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/HttpPayloadWithUnionResult.cpp @@ -0,0 +1,46 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +#include + +using namespace Aws::RestXmlProtocol::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws; + +HttpPayloadWithUnionResult::HttpPayloadWithUnionResult() +{ +} + +HttpPayloadWithUnionResult::HttpPayloadWithUnionResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +HttpPayloadWithUnionResult& HttpPayloadWithUnionResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode resultNode = xmlDocument.GetRootElement(); + + if(!resultNode.IsNull()) + { + m_nested = resultNode; + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + return *this; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/HttpPayloadWithXmlNameRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/HttpPayloadWithXmlNameRequest.cpp new file mode 100644 index 00000000000..2256fc19537 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/HttpPayloadWithXmlNameRequest.cpp @@ -0,0 +1,52 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +#include + +using namespace Aws::RestXmlProtocol::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; + +HttpPayloadWithXmlNameRequest::HttpPayloadWithXmlNameRequest() : + m_nestedHasBeenSet(false), + m_requestIdHasBeenSet(false) +{ +} + +Aws::String HttpPayloadWithXmlNameRequest::SerializePayload() const +{ + XmlDocument payloadDoc = XmlDocument::CreateWithRootNode("nested"); + + XmlNode parentNode = payloadDoc.GetRootElement(); + + m_nested.AddToNode(parentNode); + if(parentNode.HasChildren()) + { + return payloadDoc.ConvertToString(); + } + + return {}; +} + + +Aws::Http::HeaderValueCollection HttpPayloadWithXmlNameRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_requestIdHasBeenSet) + { + ss << m_requestId; + headers.emplace("x-amzn-requestid", ss.str()); + ss.str(""); + } + + return headers; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/HttpPayloadWithXmlNameResult.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/HttpPayloadWithXmlNameResult.cpp new file mode 100644 index 00000000000..63694db6925 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/HttpPayloadWithXmlNameResult.cpp @@ -0,0 +1,46 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +#include + +using namespace Aws::RestXmlProtocol::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws; + +HttpPayloadWithXmlNameResult::HttpPayloadWithXmlNameResult() +{ +} + +HttpPayloadWithXmlNameResult::HttpPayloadWithXmlNameResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +HttpPayloadWithXmlNameResult& HttpPayloadWithXmlNameResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode resultNode = xmlDocument.GetRootElement(); + + if(!resultNode.IsNull()) + { + m_nested = resultNode; + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + return *this; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/HttpPayloadWithXmlNamespaceAndPrefixRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/HttpPayloadWithXmlNamespaceAndPrefixRequest.cpp new file mode 100644 index 00000000000..3d5530a9d16 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/HttpPayloadWithXmlNamespaceAndPrefixRequest.cpp @@ -0,0 +1,52 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +#include + +using namespace Aws::RestXmlProtocol::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; + +HttpPayloadWithXmlNamespaceAndPrefixRequest::HttpPayloadWithXmlNamespaceAndPrefixRequest() : + m_nestedHasBeenSet(false), + m_requestIdHasBeenSet(false) +{ +} + +Aws::String HttpPayloadWithXmlNamespaceAndPrefixRequest::SerializePayload() const +{ + XmlDocument payloadDoc = XmlDocument::CreateWithRootNode("nested"); + + XmlNode parentNode = payloadDoc.GetRootElement(); + + m_nested.AddToNode(parentNode); + if(parentNode.HasChildren()) + { + return payloadDoc.ConvertToString(); + } + + return {}; +} + + +Aws::Http::HeaderValueCollection HttpPayloadWithXmlNamespaceAndPrefixRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_requestIdHasBeenSet) + { + ss << m_requestId; + headers.emplace("x-amzn-requestid", ss.str()); + ss.str(""); + } + + return headers; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/HttpPayloadWithXmlNamespaceAndPrefixResult.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/HttpPayloadWithXmlNamespaceAndPrefixResult.cpp new file mode 100644 index 00000000000..ed1ce4c3d36 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/HttpPayloadWithXmlNamespaceAndPrefixResult.cpp @@ -0,0 +1,46 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +#include + +using namespace Aws::RestXmlProtocol::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws; + +HttpPayloadWithXmlNamespaceAndPrefixResult::HttpPayloadWithXmlNamespaceAndPrefixResult() +{ +} + +HttpPayloadWithXmlNamespaceAndPrefixResult::HttpPayloadWithXmlNamespaceAndPrefixResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +HttpPayloadWithXmlNamespaceAndPrefixResult& HttpPayloadWithXmlNamespaceAndPrefixResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode resultNode = xmlDocument.GetRootElement(); + + if(!resultNode.IsNull()) + { + m_nested = resultNode; + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + return *this; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/HttpPayloadWithXmlNamespaceRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/HttpPayloadWithXmlNamespaceRequest.cpp new file mode 100644 index 00000000000..b7f9a710881 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/HttpPayloadWithXmlNamespaceRequest.cpp @@ -0,0 +1,52 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +#include + +using namespace Aws::RestXmlProtocol::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; + +HttpPayloadWithXmlNamespaceRequest::HttpPayloadWithXmlNamespaceRequest() : + m_nestedHasBeenSet(false), + m_requestIdHasBeenSet(false) +{ +} + +Aws::String HttpPayloadWithXmlNamespaceRequest::SerializePayload() const +{ + XmlDocument payloadDoc = XmlDocument::CreateWithRootNode("nested"); + + XmlNode parentNode = payloadDoc.GetRootElement(); + + m_nested.AddToNode(parentNode); + if(parentNode.HasChildren()) + { + return payloadDoc.ConvertToString(); + } + + return {}; +} + + +Aws::Http::HeaderValueCollection HttpPayloadWithXmlNamespaceRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_requestIdHasBeenSet) + { + ss << m_requestId; + headers.emplace("x-amzn-requestid", ss.str()); + ss.str(""); + } + + return headers; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/HttpPayloadWithXmlNamespaceResult.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/HttpPayloadWithXmlNamespaceResult.cpp new file mode 100644 index 00000000000..e7006a6df0c --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/HttpPayloadWithXmlNamespaceResult.cpp @@ -0,0 +1,46 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +#include + +using namespace Aws::RestXmlProtocol::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws; + +HttpPayloadWithXmlNamespaceResult::HttpPayloadWithXmlNamespaceResult() +{ +} + +HttpPayloadWithXmlNamespaceResult::HttpPayloadWithXmlNamespaceResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +HttpPayloadWithXmlNamespaceResult& HttpPayloadWithXmlNamespaceResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode resultNode = xmlDocument.GetRootElement(); + + if(!resultNode.IsNull()) + { + m_nested = resultNode; + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + return *this; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/HttpPrefixHeadersRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/HttpPrefixHeadersRequest.cpp new file mode 100644 index 00000000000..0d787833cdd --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/HttpPrefixHeadersRequest.cpp @@ -0,0 +1,60 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +#include + +using namespace Aws::RestXmlProtocol::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; + +HttpPrefixHeadersRequest::HttpPrefixHeadersRequest() : + m_fooHasBeenSet(false), + m_fooMapHasBeenSet(false), + m_requestIdHasBeenSet(false) +{ +} + +Aws::String HttpPrefixHeadersRequest::SerializePayload() const +{ + return {}; +} + + +Aws::Http::HeaderValueCollection HttpPrefixHeadersRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_fooHasBeenSet) + { + ss << m_foo; + headers.emplace("x-foo", ss.str()); + ss.str(""); + } + + if(m_fooMapHasBeenSet) + { + for(const auto& item : m_fooMap) + { + ss << "x-foo-" << item.first; + headers.emplace(ss.str(), item.second); + ss.str(""); + } + } + + if(m_requestIdHasBeenSet) + { + ss << m_requestId; + headers.emplace("x-amzn-requestid", ss.str()); + ss.str(""); + } + + return headers; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/HttpPrefixHeadersResult.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/HttpPrefixHeadersResult.cpp new file mode 100644 index 00000000000..5a8d08d398e --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/HttpPrefixHeadersResult.cpp @@ -0,0 +1,62 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +#include + +using namespace Aws::RestXmlProtocol::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws; + +HttpPrefixHeadersResult::HttpPrefixHeadersResult() +{ +} + +HttpPrefixHeadersResult::HttpPrefixHeadersResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +HttpPrefixHeadersResult& HttpPrefixHeadersResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode resultNode = xmlDocument.GetRootElement(); + + if(!resultNode.IsNull()) + { + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& fooIter = headers.find("x-foo"); + if(fooIter != headers.end()) + { + m_foo = fooIter->second; + } + + std::size_t prefixSize = sizeof("x-foo-") - 1; //subtract the NULL terminator out + for(const auto& item : headers) + { + std::size_t foundPrefix = item.first.find("x-foo-"); + + if(foundPrefix != std::string::npos) + { + m_fooMap[item.first.substr(prefixSize)] = item.second; + } + } + + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + return *this; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/HttpRequestWithFloatLabelsRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/HttpRequestWithFloatLabelsRequest.cpp new file mode 100644 index 00000000000..67e7e2b3e22 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/HttpRequestWithFloatLabelsRequest.cpp @@ -0,0 +1,30 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::RestXmlProtocol::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; + +HttpRequestWithFloatLabelsRequest::HttpRequestWithFloatLabelsRequest() : + m_float(0.0), + m_floatHasBeenSet(false), + m_double(0.0), + m_doubleHasBeenSet(false) +{ +} + +Aws::String HttpRequestWithFloatLabelsRequest::SerializePayload() const +{ + return {}; +} + + diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/HttpRequestWithGreedyLabelInPathRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/HttpRequestWithGreedyLabelInPathRequest.cpp new file mode 100644 index 00000000000..e2dfbab9104 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/HttpRequestWithGreedyLabelInPathRequest.cpp @@ -0,0 +1,28 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::RestXmlProtocol::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; + +HttpRequestWithGreedyLabelInPathRequest::HttpRequestWithGreedyLabelInPathRequest() : + m_fooHasBeenSet(false), + m_bazHasBeenSet(false) +{ +} + +Aws::String HttpRequestWithGreedyLabelInPathRequest::SerializePayload() const +{ + return {}; +} + + diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/HttpRequestWithLabelsAndTimestampFormatRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/HttpRequestWithLabelsAndTimestampFormatRequest.cpp new file mode 100644 index 00000000000..0f7d4d1d1d2 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/HttpRequestWithLabelsAndTimestampFormatRequest.cpp @@ -0,0 +1,33 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::RestXmlProtocol::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; + +HttpRequestWithLabelsAndTimestampFormatRequest::HttpRequestWithLabelsAndTimestampFormatRequest() : + m_memberEpochSecondsHasBeenSet(false), + m_memberHttpDateHasBeenSet(false), + m_memberDateTimeHasBeenSet(false), + m_defaultFormatHasBeenSet(false), + m_targetEpochSecondsHasBeenSet(false), + m_targetHttpDateHasBeenSet(false), + m_targetDateTimeHasBeenSet(false) +{ +} + +Aws::String HttpRequestWithLabelsAndTimestampFormatRequest::SerializePayload() const +{ + return {}; +} + + diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/HttpRequestWithLabelsRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/HttpRequestWithLabelsRequest.cpp new file mode 100644 index 00000000000..69c3e4d7aae --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/HttpRequestWithLabelsRequest.cpp @@ -0,0 +1,40 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::RestXmlProtocol::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; + +HttpRequestWithLabelsRequest::HttpRequestWithLabelsRequest() : + m_stringHasBeenSet(false), + m_short(0), + m_shortHasBeenSet(false), + m_integer(0), + m_integerHasBeenSet(false), + m_long(0), + m_longHasBeenSet(false), + m_float(0.0), + m_floatHasBeenSet(false), + m_double(0.0), + m_doubleHasBeenSet(false), + m_boolean(false), + m_booleanHasBeenSet(false), + m_timestampHasBeenSet(false) +{ +} + +Aws::String HttpRequestWithLabelsRequest::SerializePayload() const +{ + return {}; +} + + diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/HttpResponseCodeRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/HttpResponseCodeRequest.cpp new file mode 100644 index 00000000000..62a56680655 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/HttpResponseCodeRequest.cpp @@ -0,0 +1,26 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::RestXmlProtocol::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; + +HttpResponseCodeRequest::HttpResponseCodeRequest() +{ +} + +Aws::String HttpResponseCodeRequest::SerializePayload() const +{ + return {}; +} + + diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/HttpResponseCodeResult.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/HttpResponseCodeResult.cpp new file mode 100644 index 00000000000..0af074f49de --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/HttpResponseCodeResult.cpp @@ -0,0 +1,49 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +#include + +using namespace Aws::RestXmlProtocol::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws; + +HttpResponseCodeResult::HttpResponseCodeResult() : + m_status(0) +{ +} + +HttpResponseCodeResult::HttpResponseCodeResult(const Aws::AmazonWebServiceResult& result) + : HttpResponseCodeResult() +{ + *this = result; +} + +HttpResponseCodeResult& HttpResponseCodeResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode resultNode = xmlDocument.GetRootElement(); + + if(!resultNode.IsNull()) + { + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + m_status = static_cast(result.GetResponseCode()); + + return *this; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/HttpStringPayloadRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/HttpStringPayloadRequest.cpp new file mode 100644 index 00000000000..1c1bd0e60f2 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/HttpStringPayloadRequest.cpp @@ -0,0 +1,37 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include + +#include + +using namespace Aws::RestXmlProtocol::Model; +using namespace Aws::Utils::Stream; +using namespace Aws::Utils; +using namespace Aws; + +HttpStringPayloadRequest::HttpStringPayloadRequest() : + m_requestIdHasBeenSet(false) +{ +} + + + +Aws::Http::HeaderValueCollection HttpStringPayloadRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_requestIdHasBeenSet) + { + ss << m_requestId; + headers.emplace("x-amzn-requestid", ss.str()); + ss.str(""); + } + + return headers; + +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/HttpStringPayloadResult.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/HttpStringPayloadResult.cpp new file mode 100644 index 00000000000..8add6fa663e --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/HttpStringPayloadResult.cpp @@ -0,0 +1,58 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::RestXmlProtocol::Model; +using namespace Aws::Utils::Stream; +using namespace Aws::Utils; +using namespace Aws; + +HttpStringPayloadResult::HttpStringPayloadResult() +{ +} + +HttpStringPayloadResult::HttpStringPayloadResult(HttpStringPayloadResult&& toMove) : + m_payload(std::move(toMove.m_payload)), + m_requestId(std::move(toMove.m_requestId)) +{ +} + +HttpStringPayloadResult& HttpStringPayloadResult::operator=(HttpStringPayloadResult&& toMove) +{ + if(this == &toMove) + { + return *this; + } + + m_payload = std::move(toMove.m_payload); + m_requestId = std::move(toMove.m_requestId); + + return *this; +} + +HttpStringPayloadResult::HttpStringPayloadResult(Aws::AmazonWebServiceResult&& result) +{ + *this = std::move(result); +} + +HttpStringPayloadResult& HttpStringPayloadResult::operator =(Aws::AmazonWebServiceResult&& result) +{ + m_payload = result.TakeOwnershipOfPayload(); + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + return *this; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/IgnoreQueryParamsInResponseRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/IgnoreQueryParamsInResponseRequest.cpp new file mode 100644 index 00000000000..591f6b55b4c --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/IgnoreQueryParamsInResponseRequest.cpp @@ -0,0 +1,26 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::RestXmlProtocol::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; + +IgnoreQueryParamsInResponseRequest::IgnoreQueryParamsInResponseRequest() +{ +} + +Aws::String IgnoreQueryParamsInResponseRequest::SerializePayload() const +{ + return {}; +} + + diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/IgnoreQueryParamsInResponseResult.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/IgnoreQueryParamsInResponseResult.cpp new file mode 100644 index 00000000000..e52feb289c3 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/IgnoreQueryParamsInResponseResult.cpp @@ -0,0 +1,45 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +#include + +using namespace Aws::RestXmlProtocol::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws; + +IgnoreQueryParamsInResponseResult::IgnoreQueryParamsInResponseResult() +{ +} + +IgnoreQueryParamsInResponseResult::IgnoreQueryParamsInResponseResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +IgnoreQueryParamsInResponseResult& IgnoreQueryParamsInResponseResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode resultNode = xmlDocument.GetRootElement(); + + if(!resultNode.IsNull()) + { + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + return *this; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/InputAndOutputWithHeadersRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/InputAndOutputWithHeadersRequest.cpp new file mode 100644 index 00000000000..93f319d02d2 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/InputAndOutputWithHeadersRequest.cpp @@ -0,0 +1,201 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +#include +#include + +using namespace Aws::RestXmlProtocol::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; + +InputAndOutputWithHeadersRequest::InputAndOutputWithHeadersRequest() : + m_headerStringHasBeenSet(false), + m_headerByte(0), + m_headerByteHasBeenSet(false), + m_headerShort(0), + m_headerShortHasBeenSet(false), + m_headerInteger(0), + m_headerIntegerHasBeenSet(false), + m_headerLong(0), + m_headerLongHasBeenSet(false), + m_headerFloat(0.0), + m_headerFloatHasBeenSet(false), + m_headerDouble(0.0), + m_headerDoubleHasBeenSet(false), + m_headerTrueBool(false), + m_headerTrueBoolHasBeenSet(false), + m_headerFalseBool(false), + m_headerFalseBoolHasBeenSet(false), + m_headerStringListHasBeenSet(false), + m_headerStringSetHasBeenSet(false), + m_headerIntegerListHasBeenSet(false), + m_headerBooleanListHasBeenSet(false), + m_headerTimestampListHasBeenSet(false), + m_headerEnum(FooEnum::NOT_SET), + m_headerEnumHasBeenSet(false), + m_headerEnumListHasBeenSet(false), + m_requestIdHasBeenSet(false) +{ +} + +Aws::String InputAndOutputWithHeadersRequest::SerializePayload() const +{ + return {}; +} + + +Aws::Http::HeaderValueCollection InputAndOutputWithHeadersRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_headerStringHasBeenSet) + { + ss << m_headerString; + headers.emplace("x-string", ss.str()); + ss.str(""); + } + + if(m_headerByteHasBeenSet) + { + ss << m_headerByte; + headers.emplace("x-byte", ss.str()); + ss.str(""); + } + + if(m_headerShortHasBeenSet) + { + ss << m_headerShort; + headers.emplace("x-short", ss.str()); + ss.str(""); + } + + if(m_headerIntegerHasBeenSet) + { + ss << m_headerInteger; + headers.emplace("x-integer", ss.str()); + ss.str(""); + } + + if(m_headerLongHasBeenSet) + { + ss << m_headerLong; + headers.emplace("x-long", ss.str()); + ss.str(""); + } + + if(m_headerFloatHasBeenSet) + { + ss << m_headerFloat; + headers.emplace("x-float", ss.str()); + ss.str(""); + } + + if(m_headerDoubleHasBeenSet) + { + ss << m_headerDouble; + headers.emplace("x-double", ss.str()); + ss.str(""); + } + + if(m_headerTrueBoolHasBeenSet) + { + ss << std::boolalpha << m_headerTrueBool; + headers.emplace("x-boolean1", ss.str()); + ss.str(""); + } + + if(m_headerFalseBoolHasBeenSet) + { + ss << std::boolalpha << m_headerFalseBool; + headers.emplace("x-boolean2", ss.str()); + ss.str(""); + } + + if(m_headerStringListHasBeenSet) + { + headers.emplace("x-stringlist", std::accumulate(std::begin(m_headerStringList), + std::end(m_headerStringList), + Aws::String{}, + [](const Aws::String &acc, const Aws::String &item) -> Aws::String { + const auto headerValue = item; + return acc.empty() ? headerValue : acc + "," + headerValue; + })); + } + + if(m_headerStringSetHasBeenSet) + { + headers.emplace("x-stringset", std::accumulate(std::begin(m_headerStringSet), + std::end(m_headerStringSet), + Aws::String{}, + [](const Aws::String &acc, const Aws::String &item) -> Aws::String { + const auto headerValue = item; + return acc.empty() ? headerValue : acc + "," + headerValue; + })); + } + + if(m_headerIntegerListHasBeenSet) + { + headers.emplace("x-integerlist", std::accumulate(std::begin(m_headerIntegerList), + std::end(m_headerIntegerList), + Aws::String{}, + [](const Aws::String &acc, const int &item) -> Aws::String { + const auto headerValue = item; + return acc.empty() ? headerValue : acc + "," + headerValue; + })); + } + + if(m_headerBooleanListHasBeenSet) + { + headers.emplace("x-booleanlist", std::accumulate(std::begin(m_headerBooleanList), + std::end(m_headerBooleanList), + Aws::String{}, + [](const Aws::String &acc, const bool &item) -> Aws::String { + const auto headerValue = item; + return acc.empty() ? headerValue : acc + "," + headerValue; + })); + } + + if(m_headerTimestampListHasBeenSet) + { + headers.emplace("x-timestamplist", std::accumulate(std::begin(m_headerTimestampList), + std::end(m_headerTimestampList), + Aws::String{}, + [](const Aws::String &acc, const Aws::Utils::DateTime &item) -> Aws::String { + const auto headerValue = item; + return acc.empty() ? headerValue : acc + "," + headerValue; + })); + } + + if(m_headerEnumHasBeenSet && m_headerEnum != FooEnum::NOT_SET) + { + headers.emplace("x-enum", FooEnumMapper::GetNameForFooEnum(m_headerEnum)); + } + + if(m_headerEnumListHasBeenSet) + { + headers.emplace("x-enumlist", std::accumulate(std::begin(m_headerEnumList), + std::end(m_headerEnumList), + Aws::String{}, + [](const Aws::String &acc, const FooEnum &item) -> Aws::String { + const auto headerValue = FooEnumMapper::GetNameForFooEnum(item); + return acc.empty() ? headerValue : acc + "," + headerValue; + })); + } + + if(m_requestIdHasBeenSet) + { + ss << m_requestId; + headers.emplace("x-amzn-requestid", ss.str()); + ss.str(""); + } + + return headers; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/InputAndOutputWithHeadersResult.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/InputAndOutputWithHeadersResult.cpp new file mode 100644 index 00000000000..9c1e6ba9277 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/InputAndOutputWithHeadersResult.cpp @@ -0,0 +1,145 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +#include + +using namespace Aws::RestXmlProtocol::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws; + +InputAndOutputWithHeadersResult::InputAndOutputWithHeadersResult() : + m_headerByte(0), + m_headerShort(0), + m_headerInteger(0), + m_headerLong(0), + m_headerFloat(0.0), + m_headerDouble(0.0), + m_headerTrueBool(false), + m_headerFalseBool(false), + m_headerEnum(FooEnum::NOT_SET) +{ +} + +InputAndOutputWithHeadersResult::InputAndOutputWithHeadersResult(const Aws::AmazonWebServiceResult& result) + : InputAndOutputWithHeadersResult() +{ + *this = result; +} + +InputAndOutputWithHeadersResult& InputAndOutputWithHeadersResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode resultNode = xmlDocument.GetRootElement(); + + if(!resultNode.IsNull()) + { + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& headerStringIter = headers.find("x-string"); + if(headerStringIter != headers.end()) + { + m_headerString = headerStringIter->second; + } + + const auto& headerByteIter = headers.find("x-byte"); + if(headerByteIter != headers.end()) + { + m_headerByte = StringUtils::ConvertToInt32(headerByteIter->second.c_str()); + } + + const auto& headerShortIter = headers.find("x-short"); + if(headerShortIter != headers.end()) + { + m_headerShort = StringUtils::ConvertToInt32(headerShortIter->second.c_str()); + } + + const auto& headerIntegerIter = headers.find("x-integer"); + if(headerIntegerIter != headers.end()) + { + m_headerInteger = StringUtils::ConvertToInt32(headerIntegerIter->second.c_str()); + } + + const auto& headerLongIter = headers.find("x-long"); + if(headerLongIter != headers.end()) + { + m_headerLong = StringUtils::ConvertToInt64(headerLongIter->second.c_str()); + } + + const auto& headerFloatIter = headers.find("x-float"); + if(headerFloatIter != headers.end()) + { + m_headerFloat = StringUtils::ConvertToDouble(headerFloatIter->second.c_str()); + } + + const auto& headerDoubleIter = headers.find("x-double"); + if(headerDoubleIter != headers.end()) + { + m_headerDouble = StringUtils::ConvertToDouble(headerDoubleIter->second.c_str()); + } + + const auto& headerTrueBoolIter = headers.find("x-boolean1"); + if(headerTrueBoolIter != headers.end()) + { + m_headerTrueBool = StringUtils::ConvertToBool(headerTrueBoolIter->second.c_str()); + } + + const auto& headerFalseBoolIter = headers.find("x-boolean2"); + if(headerFalseBoolIter != headers.end()) + { + m_headerFalseBool = StringUtils::ConvertToBool(headerFalseBoolIter->second.c_str()); + } + + const auto& headerStringListIter = headers.find("x-stringlist"); + if(headerStringListIter != headers.end()) + { + } + + const auto& headerStringSetIter = headers.find("x-stringset"); + if(headerStringSetIter != headers.end()) + { + } + + const auto& headerIntegerListIter = headers.find("x-integerlist"); + if(headerIntegerListIter != headers.end()) + { + } + + const auto& headerBooleanListIter = headers.find("x-booleanlist"); + if(headerBooleanListIter != headers.end()) + { + } + + const auto& headerTimestampListIter = headers.find("x-timestamplist"); + if(headerTimestampListIter != headers.end()) + { + } + + const auto& headerEnumIter = headers.find("x-enum"); + if(headerEnumIter != headers.end()) + { + m_headerEnum = FooEnumMapper::GetFooEnumForName(headerEnumIter->second); + } + + const auto& headerEnumListIter = headers.find("x-enumlist"); + if(headerEnumListIter != headers.end()) + { + } + + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + return *this; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/NestedPayload.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/NestedPayload.cpp new file mode 100644 index 00000000000..961536893fb --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/NestedPayload.cpp @@ -0,0 +1,77 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; + +namespace Aws +{ +namespace RestXmlProtocol +{ +namespace Model +{ + +NestedPayload::NestedPayload() : + m_greetingHasBeenSet(false), + m_nameHasBeenSet(false) +{ +} + +NestedPayload::NestedPayload(const XmlNode& xmlNode) + : NestedPayload() +{ + *this = xmlNode; +} + +NestedPayload& NestedPayload::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode greetingNode = resultNode.FirstChild("greeting"); + if(!greetingNode.IsNull()) + { + m_greeting = Aws::Utils::Xml::DecodeEscapedXmlText(greetingNode.GetText()); + m_greetingHasBeenSet = true; + } + XmlNode nameNode = resultNode.FirstChild("name"); + if(!nameNode.IsNull()) + { + m_name = Aws::Utils::Xml::DecodeEscapedXmlText(nameNode.GetText()); + m_nameHasBeenSet = true; + } + } + + return *this; +} + +void NestedPayload::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + if(m_greetingHasBeenSet) + { + XmlNode greetingNode = parentNode.CreateChildElement("greeting"); + greetingNode.SetText(m_greeting); + } + + if(m_nameHasBeenSet) + { + XmlNode nameNode = parentNode.CreateChildElement("name"); + nameNode.SetText(m_name); + } + +} + +} // namespace Model +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/NestedXmlMapWithXmlNameRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/NestedXmlMapWithXmlNameRequest.cpp new file mode 100644 index 00000000000..a070835c1a6 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/NestedXmlMapWithXmlNameRequest.cpp @@ -0,0 +1,60 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +#include + +using namespace Aws::RestXmlProtocol::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; + +NestedXmlMapWithXmlNameRequest::NestedXmlMapWithXmlNameRequest() : + m_nestedXmlMapWithXmlNameMapHasBeenSet(false), + m_requestIdHasBeenSet(false) +{ +} + +Aws::String NestedXmlMapWithXmlNameRequest::SerializePayload() const +{ + XmlDocument payloadDoc = XmlDocument::CreateWithRootNode("NestedXmlMapWithXmlNameRequest"); + + XmlNode parentNode = payloadDoc.GetRootElement(); + + Aws::StringStream ss; + if(m_nestedXmlMapWithXmlNameMapHasBeenSet) + { + XmlNode nestedXmlMapWithXmlNameMapParentNode = parentNode.CreateChildElement("nestedXmlMapWithXmlNameMap"); + for(const auto& mapItem : m_nestedXmlMapWithXmlNameMap) + { + XmlNode nestedXmlMapWithXmlNameMapMapEntryNode = nestedXmlMapWithXmlNameMapParentNode.CreateChildElement("entry"); + XmlNode nestedXmlMapWithXmlNameMapKeyNode = nestedXmlMapWithXmlNameMapMapEntryNode.CreateChildElement("OuterKey"); + nestedXmlMapWithXmlNameMapKeyNode.SetText(mapItem.first); + XmlNode nestedXmlMapWithXmlNameMapValueNode = nestedXmlMapWithXmlNameMapMapEntryNode.CreateChildElement("value"); + nestedXmlMapWithXmlNameMapValueNode.SetText(mapItem.second); + } + } + + return payloadDoc.ConvertToString(); +} + + +Aws::Http::HeaderValueCollection NestedXmlMapWithXmlNameRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_requestIdHasBeenSet) + { + ss << m_requestId; + headers.emplace("x-amzn-requestid", ss.str()); + ss.str(""); + } + + return headers; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/NestedXmlMapWithXmlNameResult.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/NestedXmlMapWithXmlNameResult.cpp new file mode 100644 index 00000000000..9ca0a66e3ce --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/NestedXmlMapWithXmlNameResult.cpp @@ -0,0 +1,59 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +#include + +using namespace Aws::RestXmlProtocol::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws; + +NestedXmlMapWithXmlNameResult::NestedXmlMapWithXmlNameResult() +{ +} + +NestedXmlMapWithXmlNameResult::NestedXmlMapWithXmlNameResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +NestedXmlMapWithXmlNameResult& NestedXmlMapWithXmlNameResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode resultNode = xmlDocument.GetRootElement(); + + if(!resultNode.IsNull()) + { + XmlNode nestedXmlMapWithXmlNameMapNode = resultNode.FirstChild("nestedXmlMapWithXmlNameMap"); + + if(!nestedXmlMapWithXmlNameMapNode.IsNull()) + { + XmlNode nestedXmlMapWithXmlNameMapEntry = nestedXmlMapWithXmlNameMapNode.FirstChild("entry"); + while(!nestedXmlMapWithXmlNameMapEntry.IsNull()) + { + XmlNode keyNode = nestedXmlMapWithXmlNameMapEntry.FirstChild("key"); + XmlNode valueNode = nestedXmlMapWithXmlNameMapEntry.FirstChild("value"); + m_nestedXmlMapWithXmlNameMap[keyNode.GetText()] = + nestedXmlMapWithXmlNameMapEntry = nestedXmlMapWithXmlNameMapEntry.NextNode("entry"); + } + + } + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + return *this; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/NestedXmlMapsRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/NestedXmlMapsRequest.cpp new file mode 100644 index 00000000000..eabb318e0c5 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/NestedXmlMapsRequest.cpp @@ -0,0 +1,59 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::RestXmlProtocol::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; + +NestedXmlMapsRequest::NestedXmlMapsRequest() : + m_nestedMapHasBeenSet(false), + m_flatNestedMapHasBeenSet(false) +{ +} + +Aws::String NestedXmlMapsRequest::SerializePayload() const +{ + XmlDocument payloadDoc = XmlDocument::CreateWithRootNode("NestedXmlMapsRequest"); + + XmlNode parentNode = payloadDoc.GetRootElement(); + + Aws::StringStream ss; + if(m_nestedMapHasBeenSet) + { + XmlNode nestedMapParentNode = parentNode.CreateChildElement("nestedMap"); + for(const auto& mapItem : m_nestedMap) + { + XmlNode nestedMapMapEntryNode = nestedMapParentNode.CreateChildElement("entry"); + XmlNode nestedMapKeyNode = nestedMapMapEntryNode.CreateChildElement("key"); + nestedMapKeyNode.SetText(mapItem.first); + XmlNode nestedMapValueNode = nestedMapMapEntryNode.CreateChildElement("value"); + nestedMapValueNode.SetText(mapItem.second); + } + } + + if(m_flatNestedMapHasBeenSet) + { + XmlNode flatNestedMapParentNode = parentNode.CreateChildElement("flatNestedMap"); + for(const auto& mapItem : m_flatNestedMap) + { + XmlNode flatNestedMapMapEntryNode = flatNestedMapParentNode.CreateChildElement("entry"); + XmlNode flatNestedMapKeyNode = flatNestedMapMapEntryNode.CreateChildElement("key"); + flatNestedMapKeyNode.SetText(mapItem.first); + XmlNode flatNestedMapValueNode = flatNestedMapMapEntryNode.CreateChildElement("value"); + flatNestedMapValueNode.SetText(mapItem.second); + } + } + + return payloadDoc.ConvertToString(); +} + + diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/NestedXmlMapsResult.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/NestedXmlMapsResult.cpp new file mode 100644 index 00000000000..57206f6f77b --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/NestedXmlMapsResult.cpp @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +#include + +using namespace Aws::RestXmlProtocol::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws; + +NestedXmlMapsResult::NestedXmlMapsResult() +{ +} + +NestedXmlMapsResult::NestedXmlMapsResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +NestedXmlMapsResult& NestedXmlMapsResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode resultNode = xmlDocument.GetRootElement(); + + if(!resultNode.IsNull()) + { + XmlNode nestedMapNode = resultNode.FirstChild("nestedMap"); + + if(!nestedMapNode.IsNull()) + { + XmlNode nestedMapEntry = nestedMapNode.FirstChild("entry"); + while(!nestedMapEntry.IsNull()) + { + XmlNode keyNode = nestedMapEntry.FirstChild("key"); + XmlNode valueNode = nestedMapEntry.FirstChild("value"); + m_nestedMap[keyNode.GetText()] = + nestedMapEntry = nestedMapEntry.NextNode("entry"); + } + + } + XmlNode flatNestedMapNode = resultNode.FirstChild("flatNestedMap"); + + if(!flatNestedMapNode.IsNull()) + { + XmlNode flatNestedMapEntry = flatNestedMapNode.FirstChild("entry"); + while(!flatNestedMapEntry.IsNull()) + { + XmlNode keyNode = flatNestedMapEntry.FirstChild("key"); + XmlNode valueNode = flatNestedMapEntry.FirstChild("value"); + m_flatNestedMap[keyNode.GetText()] = + flatNestedMapEntry = flatNestedMapEntry.NextNode("entry"); + } + + } + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + return *this; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/NoInputAndNoOutputRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/NoInputAndNoOutputRequest.cpp new file mode 100644 index 00000000000..fa81a2424c2 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/NoInputAndNoOutputRequest.cpp @@ -0,0 +1,26 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::RestXmlProtocol::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; + +NoInputAndNoOutputRequest::NoInputAndNoOutputRequest() +{ +} + +Aws::String NoInputAndNoOutputRequest::SerializePayload() const +{ + return {}; +} + + diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/NoInputAndOutputRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/NoInputAndOutputRequest.cpp new file mode 100644 index 00000000000..833970fc54c --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/NoInputAndOutputRequest.cpp @@ -0,0 +1,26 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::RestXmlProtocol::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; + +NoInputAndOutputRequest::NoInputAndOutputRequest() +{ +} + +Aws::String NoInputAndOutputRequest::SerializePayload() const +{ + return {}; +} + + diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/NoInputAndOutputResult.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/NoInputAndOutputResult.cpp new file mode 100644 index 00000000000..3ed9067c556 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/NoInputAndOutputResult.cpp @@ -0,0 +1,45 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +#include + +using namespace Aws::RestXmlProtocol::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws; + +NoInputAndOutputResult::NoInputAndOutputResult() +{ +} + +NoInputAndOutputResult::NoInputAndOutputResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +NoInputAndOutputResult& NoInputAndOutputResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode resultNode = xmlDocument.GetRootElement(); + + if(!resultNode.IsNull()) + { + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + return *this; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/NullAndEmptyHeadersClientRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/NullAndEmptyHeadersClientRequest.cpp new file mode 100644 index 00000000000..980de58d430 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/NullAndEmptyHeadersClientRequest.cpp @@ -0,0 +1,70 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +#include +#include + +using namespace Aws::RestXmlProtocol::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; + +NullAndEmptyHeadersClientRequest::NullAndEmptyHeadersClientRequest() : + m_aHasBeenSet(false), + m_bHasBeenSet(false), + m_cHasBeenSet(false), + m_requestIdHasBeenSet(false) +{ +} + +Aws::String NullAndEmptyHeadersClientRequest::SerializePayload() const +{ + return {}; +} + + +Aws::Http::HeaderValueCollection NullAndEmptyHeadersClientRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_aHasBeenSet) + { + ss << m_a; + headers.emplace("x-a", ss.str()); + ss.str(""); + } + + if(m_bHasBeenSet) + { + ss << m_b; + headers.emplace("x-b", ss.str()); + ss.str(""); + } + + if(m_cHasBeenSet) + { + headers.emplace("x-c", std::accumulate(std::begin(m_c), + std::end(m_c), + Aws::String{}, + [](const Aws::String &acc, const Aws::String &item) -> Aws::String { + const auto headerValue = item; + return acc.empty() ? headerValue : acc + "," + headerValue; + })); + } + + if(m_requestIdHasBeenSet) + { + ss << m_requestId; + headers.emplace("x-amzn-requestid", ss.str()); + ss.str(""); + } + + return headers; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/NullAndEmptyHeadersClientResult.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/NullAndEmptyHeadersClientResult.cpp new file mode 100644 index 00000000000..c6818af271e --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/NullAndEmptyHeadersClientResult.cpp @@ -0,0 +1,62 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +#include + +using namespace Aws::RestXmlProtocol::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws; + +NullAndEmptyHeadersClientResult::NullAndEmptyHeadersClientResult() +{ +} + +NullAndEmptyHeadersClientResult::NullAndEmptyHeadersClientResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +NullAndEmptyHeadersClientResult& NullAndEmptyHeadersClientResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode resultNode = xmlDocument.GetRootElement(); + + if(!resultNode.IsNull()) + { + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& aIter = headers.find("x-a"); + if(aIter != headers.end()) + { + m_a = aIter->second; + } + + const auto& bIter = headers.find("x-b"); + if(bIter != headers.end()) + { + m_b = bIter->second; + } + + const auto& cIter = headers.find("x-c"); + if(cIter != headers.end()) + { + } + + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + return *this; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/NullAndEmptyHeadersServerRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/NullAndEmptyHeadersServerRequest.cpp new file mode 100644 index 00000000000..c09695357d9 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/NullAndEmptyHeadersServerRequest.cpp @@ -0,0 +1,70 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +#include +#include + +using namespace Aws::RestXmlProtocol::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; + +NullAndEmptyHeadersServerRequest::NullAndEmptyHeadersServerRequest() : + m_aHasBeenSet(false), + m_bHasBeenSet(false), + m_cHasBeenSet(false), + m_requestIdHasBeenSet(false) +{ +} + +Aws::String NullAndEmptyHeadersServerRequest::SerializePayload() const +{ + return {}; +} + + +Aws::Http::HeaderValueCollection NullAndEmptyHeadersServerRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_aHasBeenSet) + { + ss << m_a; + headers.emplace("x-a", ss.str()); + ss.str(""); + } + + if(m_bHasBeenSet) + { + ss << m_b; + headers.emplace("x-b", ss.str()); + ss.str(""); + } + + if(m_cHasBeenSet) + { + headers.emplace("x-c", std::accumulate(std::begin(m_c), + std::end(m_c), + Aws::String{}, + [](const Aws::String &acc, const Aws::String &item) -> Aws::String { + const auto headerValue = item; + return acc.empty() ? headerValue : acc + "," + headerValue; + })); + } + + if(m_requestIdHasBeenSet) + { + ss << m_requestId; + headers.emplace("x-amzn-requestid", ss.str()); + ss.str(""); + } + + return headers; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/NullAndEmptyHeadersServerResult.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/NullAndEmptyHeadersServerResult.cpp new file mode 100644 index 00000000000..dfc254c749e --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/NullAndEmptyHeadersServerResult.cpp @@ -0,0 +1,62 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +#include + +using namespace Aws::RestXmlProtocol::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws; + +NullAndEmptyHeadersServerResult::NullAndEmptyHeadersServerResult() +{ +} + +NullAndEmptyHeadersServerResult::NullAndEmptyHeadersServerResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +NullAndEmptyHeadersServerResult& NullAndEmptyHeadersServerResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode resultNode = xmlDocument.GetRootElement(); + + if(!resultNode.IsNull()) + { + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& aIter = headers.find("x-a"); + if(aIter != headers.end()) + { + m_a = aIter->second; + } + + const auto& bIter = headers.find("x-b"); + if(bIter != headers.end()) + { + m_b = bIter->second; + } + + const auto& cIter = headers.find("x-c"); + if(cIter != headers.end()) + { + } + + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + return *this; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/OmitsNullSerializesEmptyStringRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/OmitsNullSerializesEmptyStringRequest.cpp new file mode 100644 index 00000000000..4a3ddec8a80 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/OmitsNullSerializesEmptyStringRequest.cpp @@ -0,0 +1,49 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::RestXmlProtocol::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws::Http; + +OmitsNullSerializesEmptyStringRequest::OmitsNullSerializesEmptyStringRequest() : + m_nullValueHasBeenSet(false), + m_emptyStringHasBeenSet(false) +{ +} + +Aws::String OmitsNullSerializesEmptyStringRequest::SerializePayload() const +{ + return {}; +} + +void OmitsNullSerializesEmptyStringRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(m_nullValueHasBeenSet) + { + ss << m_nullValue; + uri.AddQueryStringParameter("Null", ss.str()); + ss.str(""); + } + + if(m_emptyStringHasBeenSet) + { + ss << m_emptyString; + uri.AddQueryStringParameter("Empty", ss.str()); + ss.str(""); + } + +} + diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/PayloadWithXmlName.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/PayloadWithXmlName.cpp new file mode 100644 index 00000000000..6e34543018e --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/PayloadWithXmlName.cpp @@ -0,0 +1,64 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; + +namespace Aws +{ +namespace RestXmlProtocol +{ +namespace Model +{ + +PayloadWithXmlName::PayloadWithXmlName() : + m_nameHasBeenSet(false) +{ +} + +PayloadWithXmlName::PayloadWithXmlName(const XmlNode& xmlNode) + : PayloadWithXmlName() +{ + *this = xmlNode; +} + +PayloadWithXmlName& PayloadWithXmlName::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode nameNode = resultNode.FirstChild("name"); + if(!nameNode.IsNull()) + { + m_name = Aws::Utils::Xml::DecodeEscapedXmlText(nameNode.GetText()); + m_nameHasBeenSet = true; + } + } + + return *this; +} + +void PayloadWithXmlName::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + if(m_nameHasBeenSet) + { + XmlNode nameNode = parentNode.CreateChildElement("name"); + nameNode.SetText(m_name); + } + +} + +} // namespace Model +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/PayloadWithXmlNamespace.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/PayloadWithXmlNamespace.cpp new file mode 100644 index 00000000000..a468d38f83b --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/PayloadWithXmlNamespace.cpp @@ -0,0 +1,65 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; + +namespace Aws +{ +namespace RestXmlProtocol +{ +namespace Model +{ + +PayloadWithXmlNamespace::PayloadWithXmlNamespace() : + m_nameHasBeenSet(false) +{ +} + +PayloadWithXmlNamespace::PayloadWithXmlNamespace(const XmlNode& xmlNode) + : PayloadWithXmlNamespace() +{ + *this = xmlNode; +} + +PayloadWithXmlNamespace& PayloadWithXmlNamespace::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode nameNode = resultNode.FirstChild("name"); + if(!nameNode.IsNull()) + { + m_name = Aws::Utils::Xml::DecodeEscapedXmlText(nameNode.GetText()); + m_nameHasBeenSet = true; + } + } + + return *this; +} + +void PayloadWithXmlNamespace::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + parentNode.SetAttributeValue("xmlns", "http://foo.com"); + if(m_nameHasBeenSet) + { + XmlNode nameNode = parentNode.CreateChildElement("name"); + nameNode.SetText(m_name); + } + +} + +} // namespace Model +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/PayloadWithXmlNamespaceAndPrefix.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/PayloadWithXmlNamespaceAndPrefix.cpp new file mode 100644 index 00000000000..ae5efbfdd0e --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/PayloadWithXmlNamespaceAndPrefix.cpp @@ -0,0 +1,65 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; + +namespace Aws +{ +namespace RestXmlProtocol +{ +namespace Model +{ + +PayloadWithXmlNamespaceAndPrefix::PayloadWithXmlNamespaceAndPrefix() : + m_nameHasBeenSet(false) +{ +} + +PayloadWithXmlNamespaceAndPrefix::PayloadWithXmlNamespaceAndPrefix(const XmlNode& xmlNode) + : PayloadWithXmlNamespaceAndPrefix() +{ + *this = xmlNode; +} + +PayloadWithXmlNamespaceAndPrefix& PayloadWithXmlNamespaceAndPrefix::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode nameNode = resultNode.FirstChild("name"); + if(!nameNode.IsNull()) + { + m_name = Aws::Utils::Xml::DecodeEscapedXmlText(nameNode.GetText()); + m_nameHasBeenSet = true; + } + } + + return *this; +} + +void PayloadWithXmlNamespaceAndPrefix::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + parentNode.SetAttributeValue("xmlns:baz", "http://foo.com"); + if(m_nameHasBeenSet) + { + XmlNode nameNode = parentNode.CreateChildElement("name"); + nameNode.SetText(m_name); + } + +} + +} // namespace Model +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/PutWithContentEncodingRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/PutWithContentEncodingRequest.cpp new file mode 100644 index 00000000000..2db11ff1459 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/PutWithContentEncodingRequest.cpp @@ -0,0 +1,53 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +#include + +using namespace Aws::RestXmlProtocol::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; + +PutWithContentEncodingRequest::PutWithContentEncodingRequest() : + m_encodingHasBeenSet(false), + m_dataHasBeenSet(false) +{ +} + +Aws::String PutWithContentEncodingRequest::SerializePayload() const +{ + XmlDocument payloadDoc = XmlDocument::CreateWithRootNode("PutWithContentEncodingRequest"); + + XmlNode parentNode = payloadDoc.GetRootElement(); + + Aws::StringStream ss; + if(m_dataHasBeenSet) + { + XmlNode dataNode = parentNode.CreateChildElement("data"); + dataNode.SetText(m_data); + } + + return payloadDoc.ConvertToString(); +} + + +Aws::Http::HeaderValueCollection PutWithContentEncodingRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_encodingHasBeenSet) + { + ss << m_encoding; + headers.emplace("content-encoding", ss.str()); + ss.str(""); + } + + return headers; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/QueryIdempotencyTokenAutoFillRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/QueryIdempotencyTokenAutoFillRequest.cpp new file mode 100644 index 00000000000..e6c8b887a61 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/QueryIdempotencyTokenAutoFillRequest.cpp @@ -0,0 +1,42 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::RestXmlProtocol::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws::Http; + +QueryIdempotencyTokenAutoFillRequest::QueryIdempotencyTokenAutoFillRequest() : + m_token(Aws::Utils::UUID::PseudoRandomUUID()), + m_tokenHasBeenSet(true) +{ +} + +Aws::String QueryIdempotencyTokenAutoFillRequest::SerializePayload() const +{ + return {}; +} + +void QueryIdempotencyTokenAutoFillRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(m_tokenHasBeenSet) + { + ss << m_token; + uri.AddQueryStringParameter("token", ss.str()); + ss.str(""); + } + +} + diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/QueryParamsAsStringListMapRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/QueryParamsAsStringListMapRequest.cpp new file mode 100644 index 00000000000..dcfa7509508 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/QueryParamsAsStringListMapRequest.cpp @@ -0,0 +1,55 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::RestXmlProtocol::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws::Http; + +QueryParamsAsStringListMapRequest::QueryParamsAsStringListMapRequest() : + m_quxHasBeenSet(false), + m_fooHasBeenSet(false) +{ +} + +Aws::String QueryParamsAsStringListMapRequest::SerializePayload() const +{ + return {}; +} + +void QueryParamsAsStringListMapRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(m_quxHasBeenSet) + { + ss << m_qux; + uri.AddQueryStringParameter("corge", ss.str()); + ss.str(""); + } + + if(m_fooHasBeenSet) + { + for(auto& item : m_foo) + { + for(auto& innerItem : item.second) + { + ss << innerItem; + uri.AddQueryStringParameter(item.first.c_str(), ss.str()); + ss.str(""); + } + } + } + +} + diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/QueryPrecedenceRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/QueryPrecedenceRequest.cpp new file mode 100644 index 00000000000..84b6c728146 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/QueryPrecedenceRequest.cpp @@ -0,0 +1,52 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::RestXmlProtocol::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws::Http; + +QueryPrecedenceRequest::QueryPrecedenceRequest() : + m_fooHasBeenSet(false), + m_bazHasBeenSet(false) +{ +} + +Aws::String QueryPrecedenceRequest::SerializePayload() const +{ + return {}; +} + +void QueryPrecedenceRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(m_fooHasBeenSet) + { + ss << m_foo; + uri.AddQueryStringParameter("bar", ss.str()); + ss.str(""); + } + + if(m_bazHasBeenSet) + { + for(auto& item : m_baz) + { + ss << item.second; + uri.AddQueryStringParameter(item.first.c_str(), ss.str()); + ss.str(""); + } + } + +} + diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/RecursiveShapesInputOutputNested1.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/RecursiveShapesInputOutputNested1.cpp new file mode 100644 index 00000000000..a3746e23805 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/RecursiveShapesInputOutputNested1.cpp @@ -0,0 +1,78 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +#include + +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; + +namespace Aws +{ +namespace RestXmlProtocol +{ +namespace Model +{ + +RecursiveShapesInputOutputNested1::RecursiveShapesInputOutputNested1() : + m_fooHasBeenSet(false), + m_nestedHasBeenSet(false) +{ +} + +RecursiveShapesInputOutputNested1::RecursiveShapesInputOutputNested1(const XmlNode& xmlNode) + : RecursiveShapesInputOutputNested1() +{ + *this = xmlNode; +} + +RecursiveShapesInputOutputNested1& RecursiveShapesInputOutputNested1::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode fooNode = resultNode.FirstChild("foo"); + if(!fooNode.IsNull()) + { + m_foo = Aws::Utils::Xml::DecodeEscapedXmlText(fooNode.GetText()); + m_fooHasBeenSet = true; + } + XmlNode nestedNode = resultNode.FirstChild("nested"); + if(!nestedNode.IsNull()) + { + m_nested = nestedNode; + m_nestedHasBeenSet = true; + } + } + + return *this; +} + +void RecursiveShapesInputOutputNested1::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + if(m_fooHasBeenSet) + { + XmlNode fooNode = parentNode.CreateChildElement("foo"); + fooNode.SetText(m_foo); + } + + if(m_nestedHasBeenSet) + { + XmlNode nestedNode = parentNode.CreateChildElement("nested"); + m_nested.AddToNode(nestedNode); + } + +} + +} // namespace Model +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/RecursiveShapesInputOutputNested2.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/RecursiveShapesInputOutputNested2.cpp new file mode 100644 index 00000000000..b6df882ead7 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/RecursiveShapesInputOutputNested2.cpp @@ -0,0 +1,78 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +#include + +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; + +namespace Aws +{ +namespace RestXmlProtocol +{ +namespace Model +{ + +RecursiveShapesInputOutputNested2::RecursiveShapesInputOutputNested2() : + m_barHasBeenSet(false), + m_recursiveMemberHasBeenSet(false) +{ +} + +RecursiveShapesInputOutputNested2::RecursiveShapesInputOutputNested2(const XmlNode& xmlNode) + : RecursiveShapesInputOutputNested2() +{ + *this = xmlNode; +} + +RecursiveShapesInputOutputNested2& RecursiveShapesInputOutputNested2::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode barNode = resultNode.FirstChild("bar"); + if(!barNode.IsNull()) + { + m_bar = Aws::Utils::Xml::DecodeEscapedXmlText(barNode.GetText()); + m_barHasBeenSet = true; + } + XmlNode recursiveMemberNode = resultNode.FirstChild("recursiveMember"); + if(!recursiveMemberNode.IsNull()) + { + m_recursiveMember = recursiveMemberNode; + m_recursiveMemberHasBeenSet = true; + } + } + + return *this; +} + +void RecursiveShapesInputOutputNested2::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + if(m_barHasBeenSet) + { + XmlNode barNode = parentNode.CreateChildElement("bar"); + barNode.SetText(m_bar); + } + + if(m_recursiveMemberHasBeenSet) + { + XmlNode recursiveMemberNode = parentNode.CreateChildElement("recursiveMember"); + m_recursiveMember.AddToNode(recursiveMemberNode); + } + +} + +} // namespace Model +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/RecursiveShapesRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/RecursiveShapesRequest.cpp new file mode 100644 index 00000000000..70b9de5343f --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/RecursiveShapesRequest.cpp @@ -0,0 +1,38 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::RestXmlProtocol::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; + +RecursiveShapesRequest::RecursiveShapesRequest() : + m_nestedHasBeenSet(false) +{ +} + +Aws::String RecursiveShapesRequest::SerializePayload() const +{ + XmlDocument payloadDoc = XmlDocument::CreateWithRootNode("RecursiveShapesRequest"); + + XmlNode parentNode = payloadDoc.GetRootElement(); + + Aws::StringStream ss; + if(m_nestedHasBeenSet) + { + XmlNode nestedNode = parentNode.CreateChildElement("nested"); + m_nested.AddToNode(nestedNode); + } + + return payloadDoc.ConvertToString(); +} + + diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/RecursiveShapesResult.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/RecursiveShapesResult.cpp new file mode 100644 index 00000000000..2e3ddc6af8b --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/RecursiveShapesResult.cpp @@ -0,0 +1,50 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +#include + +using namespace Aws::RestXmlProtocol::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws; + +RecursiveShapesResult::RecursiveShapesResult() +{ +} + +RecursiveShapesResult::RecursiveShapesResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +RecursiveShapesResult& RecursiveShapesResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode resultNode = xmlDocument.GetRootElement(); + + if(!resultNode.IsNull()) + { + XmlNode nestedNode = resultNode.FirstChild("nested"); + if(!nestedNode.IsNull()) + { + m_nested = nestedNode; + } + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + return *this; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/SimpleScalarPropertiesRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/SimpleScalarPropertiesRequest.cpp new file mode 100644 index 00000000000..d1a72bde921 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/SimpleScalarPropertiesRequest.cpp @@ -0,0 +1,133 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +#include + +using namespace Aws::RestXmlProtocol::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; + +SimpleScalarPropertiesRequest::SimpleScalarPropertiesRequest() : + m_fooHasBeenSet(false), + m_stringValueHasBeenSet(false), + m_trueBooleanValue(false), + m_trueBooleanValueHasBeenSet(false), + m_falseBooleanValue(false), + m_falseBooleanValueHasBeenSet(false), + m_byteValue(0), + m_byteValueHasBeenSet(false), + m_shortValue(0), + m_shortValueHasBeenSet(false), + m_integerValue(0), + m_integerValueHasBeenSet(false), + m_longValue(0), + m_longValueHasBeenSet(false), + m_floatValue(0.0), + m_floatValueHasBeenSet(false), + m_doubleValue(0.0), + m_doubleValueHasBeenSet(false) +{ +} + +Aws::String SimpleScalarPropertiesRequest::SerializePayload() const +{ + XmlDocument payloadDoc = XmlDocument::CreateWithRootNode("SimpleScalarPropertiesRequest"); + + XmlNode parentNode = payloadDoc.GetRootElement(); + + Aws::StringStream ss; + if(m_stringValueHasBeenSet) + { + XmlNode stringValueNode = parentNode.CreateChildElement("stringValue"); + stringValueNode.SetText(m_stringValue); + } + + if(m_trueBooleanValueHasBeenSet) + { + XmlNode trueBooleanValueNode = parentNode.CreateChildElement("trueBooleanValue"); + ss << std::boolalpha << m_trueBooleanValue; + trueBooleanValueNode.SetText(ss.str()); + ss.str(""); + } + + if(m_falseBooleanValueHasBeenSet) + { + XmlNode falseBooleanValueNode = parentNode.CreateChildElement("falseBooleanValue"); + ss << std::boolalpha << m_falseBooleanValue; + falseBooleanValueNode.SetText(ss.str()); + ss.str(""); + } + + if(m_byteValueHasBeenSet) + { + XmlNode byteValueNode = parentNode.CreateChildElement("byteValue"); + ss << m_byteValue; + byteValueNode.SetText(ss.str()); + ss.str(""); + } + + if(m_shortValueHasBeenSet) + { + XmlNode shortValueNode = parentNode.CreateChildElement("shortValue"); + ss << m_shortValue; + shortValueNode.SetText(ss.str()); + ss.str(""); + } + + if(m_integerValueHasBeenSet) + { + XmlNode integerValueNode = parentNode.CreateChildElement("integerValue"); + ss << m_integerValue; + integerValueNode.SetText(ss.str()); + ss.str(""); + } + + if(m_longValueHasBeenSet) + { + XmlNode longValueNode = parentNode.CreateChildElement("longValue"); + ss << m_longValue; + longValueNode.SetText(ss.str()); + ss.str(""); + } + + if(m_floatValueHasBeenSet) + { + XmlNode floatValueNode = parentNode.CreateChildElement("floatValue"); + ss << m_floatValue; + floatValueNode.SetText(ss.str()); + ss.str(""); + } + + if(m_doubleValueHasBeenSet) + { + XmlNode doubleValueNode = parentNode.CreateChildElement("DoubleDribble"); + ss << m_doubleValue; + doubleValueNode.SetText(ss.str()); + ss.str(""); + } + + return payloadDoc.ConvertToString(); +} + + +Aws::Http::HeaderValueCollection SimpleScalarPropertiesRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_fooHasBeenSet) + { + ss << m_foo; + headers.emplace("x-foo", ss.str()); + ss.str(""); + } + + return headers; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/SimpleScalarPropertiesResult.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/SimpleScalarPropertiesResult.cpp new file mode 100644 index 00000000000..0e9bcf4acbc --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/SimpleScalarPropertiesResult.cpp @@ -0,0 +1,105 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +#include + +using namespace Aws::RestXmlProtocol::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws; + +SimpleScalarPropertiesResult::SimpleScalarPropertiesResult() : + m_trueBooleanValue(false), + m_falseBooleanValue(false), + m_byteValue(0), + m_shortValue(0), + m_integerValue(0), + m_longValue(0), + m_floatValue(0.0), + m_doubleValue(0.0) +{ +} + +SimpleScalarPropertiesResult::SimpleScalarPropertiesResult(const Aws::AmazonWebServiceResult& result) + : SimpleScalarPropertiesResult() +{ + *this = result; +} + +SimpleScalarPropertiesResult& SimpleScalarPropertiesResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode resultNode = xmlDocument.GetRootElement(); + + if(!resultNode.IsNull()) + { + XmlNode stringValueNode = resultNode.FirstChild("stringValue"); + if(!stringValueNode.IsNull()) + { + m_stringValue = Aws::Utils::Xml::DecodeEscapedXmlText(stringValueNode.GetText()); + } + XmlNode trueBooleanValueNode = resultNode.FirstChild("trueBooleanValue"); + if(!trueBooleanValueNode.IsNull()) + { + m_trueBooleanValue = StringUtils::ConvertToBool(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(trueBooleanValueNode.GetText()).c_str()).c_str()); + } + XmlNode falseBooleanValueNode = resultNode.FirstChild("falseBooleanValue"); + if(!falseBooleanValueNode.IsNull()) + { + m_falseBooleanValue = StringUtils::ConvertToBool(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(falseBooleanValueNode.GetText()).c_str()).c_str()); + } + XmlNode byteValueNode = resultNode.FirstChild("byteValue"); + if(!byteValueNode.IsNull()) + { + m_byteValue = StringUtils::ConvertToInt32(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(byteValueNode.GetText()).c_str()).c_str()); + } + XmlNode shortValueNode = resultNode.FirstChild("shortValue"); + if(!shortValueNode.IsNull()) + { + m_shortValue = StringUtils::ConvertToInt32(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(shortValueNode.GetText()).c_str()).c_str()); + } + XmlNode integerValueNode = resultNode.FirstChild("integerValue"); + if(!integerValueNode.IsNull()) + { + m_integerValue = StringUtils::ConvertToInt32(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(integerValueNode.GetText()).c_str()).c_str()); + } + XmlNode longValueNode = resultNode.FirstChild("longValue"); + if(!longValueNode.IsNull()) + { + m_longValue = StringUtils::ConvertToInt64(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(longValueNode.GetText()).c_str()).c_str()); + } + XmlNode floatValueNode = resultNode.FirstChild("floatValue"); + if(!floatValueNode.IsNull()) + { + m_floatValue = StringUtils::ConvertToDouble(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(floatValueNode.GetText()).c_str()).c_str()); + } + XmlNode doubleValueNode = resultNode.FirstChild("DoubleDribble"); + if(!doubleValueNode.IsNull()) + { + m_doubleValue = StringUtils::ConvertToDouble(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(doubleValueNode.GetText()).c_str()).c_str()); + } + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& fooIter = headers.find("x-foo"); + if(fooIter != headers.end()) + { + m_foo = fooIter->second; + } + + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + return *this; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/StringEnum.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/StringEnum.cpp new file mode 100644 index 00000000000..bac296d0ec9 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/StringEnum.cpp @@ -0,0 +1,65 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace RestXmlProtocol + { + namespace Model + { + namespace StringEnumMapper + { + + static const int enumvalue_HASH = HashingUtils::HashString("enumvalue"); + + + StringEnum GetStringEnumForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == enumvalue_HASH) + { + return StringEnum::enumvalue; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return StringEnum::NOT_SET; + } + + Aws::String GetNameForStringEnum(StringEnum enumValue) + { + switch(enumValue) + { + case StringEnum::NOT_SET: + return {}; + case StringEnum::enumvalue: + return "enumvalue"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace StringEnumMapper + } // namespace Model + } // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/StructureListMember.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/StructureListMember.cpp new file mode 100644 index 00000000000..a476b123ffe --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/StructureListMember.cpp @@ -0,0 +1,77 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; + +namespace Aws +{ +namespace RestXmlProtocol +{ +namespace Model +{ + +StructureListMember::StructureListMember() : + m_aHasBeenSet(false), + m_bHasBeenSet(false) +{ +} + +StructureListMember::StructureListMember(const XmlNode& xmlNode) + : StructureListMember() +{ + *this = xmlNode; +} + +StructureListMember& StructureListMember::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode aNode = resultNode.FirstChild("value"); + if(!aNode.IsNull()) + { + m_a = Aws::Utils::Xml::DecodeEscapedXmlText(aNode.GetText()); + m_aHasBeenSet = true; + } + XmlNode bNode = resultNode.FirstChild("other"); + if(!bNode.IsNull()) + { + m_b = Aws::Utils::Xml::DecodeEscapedXmlText(bNode.GetText()); + m_bHasBeenSet = true; + } + } + + return *this; +} + +void StructureListMember::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + if(m_aHasBeenSet) + { + XmlNode aNode = parentNode.CreateChildElement("value"); + aNode.SetText(m_a); + } + + if(m_bHasBeenSet) + { + XmlNode bNode = parentNode.CreateChildElement("other"); + bNode.SetText(m_b); + } + +} + +} // namespace Model +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/TimestampFormatHeadersRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/TimestampFormatHeadersRequest.cpp new file mode 100644 index 00000000000..4f27df882ac --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/TimestampFormatHeadersRequest.cpp @@ -0,0 +1,83 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +#include + +using namespace Aws::RestXmlProtocol::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; + +TimestampFormatHeadersRequest::TimestampFormatHeadersRequest() : + m_memberEpochSecondsHasBeenSet(false), + m_memberHttpDateHasBeenSet(false), + m_memberDateTimeHasBeenSet(false), + m_defaultFormatHasBeenSet(false), + m_targetEpochSecondsHasBeenSet(false), + m_targetHttpDateHasBeenSet(false), + m_targetDateTimeHasBeenSet(false), + m_requestIdHasBeenSet(false) +{ +} + +Aws::String TimestampFormatHeadersRequest::SerializePayload() const +{ + return {}; +} + + +Aws::Http::HeaderValueCollection TimestampFormatHeadersRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_memberEpochSecondsHasBeenSet) + { + headers.emplace("x-memberepochseconds", m_memberEpochSeconds.ToGmtString(Aws::Utils::DateFormat::$CppViewHelper.computeTimestampFormatInHeader($member.shape))); + } + + if(m_memberHttpDateHasBeenSet) + { + headers.emplace("x-memberhttpdate", m_memberHttpDate.ToGmtString(Aws::Utils::DateFormat::RFC822)); + } + + if(m_memberDateTimeHasBeenSet) + { + headers.emplace("x-memberdatetime", m_memberDateTime.ToGmtString(Aws::Utils::DateFormat::ISO_8601)); + } + + if(m_defaultFormatHasBeenSet) + { + headers.emplace("x-defaultformat", m_defaultFormat.ToGmtString(Aws::Utils::DateFormat::RFC822)); + } + + if(m_targetEpochSecondsHasBeenSet) + { + headers.emplace("x-targetepochseconds", m_targetEpochSeconds.ToGmtString(Aws::Utils::DateFormat::$CppViewHelper.computeTimestampFormatInHeader($member.shape))); + } + + if(m_targetHttpDateHasBeenSet) + { + headers.emplace("x-targethttpdate", m_targetHttpDate.ToGmtString(Aws::Utils::DateFormat::RFC822)); + } + + if(m_targetDateTimeHasBeenSet) + { + headers.emplace("x-targetdatetime", m_targetDateTime.ToGmtString(Aws::Utils::DateFormat::ISO_8601)); + } + + if(m_requestIdHasBeenSet) + { + ss << m_requestId; + headers.emplace("x-amzn-requestid", ss.str()); + ss.str(""); + } + + return headers; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/TimestampFormatHeadersResult.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/TimestampFormatHeadersResult.cpp new file mode 100644 index 00000000000..c0f04862ca9 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/TimestampFormatHeadersResult.cpp @@ -0,0 +1,115 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +#include + +using namespace Aws::RestXmlProtocol::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws; + +TimestampFormatHeadersResult::TimestampFormatHeadersResult() +{ +} + +TimestampFormatHeadersResult::TimestampFormatHeadersResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +TimestampFormatHeadersResult& TimestampFormatHeadersResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode resultNode = xmlDocument.GetRootElement(); + + if(!resultNode.IsNull()) + { + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& memberEpochSecondsIter = headers.find("x-memberepochseconds"); + if(memberEpochSecondsIter != headers.end()) + { + m_memberEpochSeconds = DateTime(memberEpochSecondsIter->second.c_str(), Aws::Utils::DateFormat::$CppViewHelper.computeTimestampFormatInHeader($memberEntry.value.shape)); + if(!m_memberEpochSeconds.WasParseSuccessful()) + { + AWS_LOGSTREAM_WARN("RestXmlProtocol::TimestampFormatHeadersResult", "Failed to parse memberEpochSeconds header as an $CppViewHelper.computeTimestampFormatInHeader($memberEntry.value.shape) timestamp: " << memberEpochSecondsIter->second.c_str()); + } + } + + const auto& memberHttpDateIter = headers.find("x-memberhttpdate"); + if(memberHttpDateIter != headers.end()) + { + m_memberHttpDate = DateTime(memberHttpDateIter->second.c_str(), Aws::Utils::DateFormat::RFC822); + if(!m_memberHttpDate.WasParseSuccessful()) + { + AWS_LOGSTREAM_WARN("RestXmlProtocol::TimestampFormatHeadersResult", "Failed to parse memberHttpDate header as an RFC822 timestamp: " << memberHttpDateIter->second.c_str()); + } + } + + const auto& memberDateTimeIter = headers.find("x-memberdatetime"); + if(memberDateTimeIter != headers.end()) + { + m_memberDateTime = DateTime(memberDateTimeIter->second.c_str(), Aws::Utils::DateFormat::ISO_8601); + if(!m_memberDateTime.WasParseSuccessful()) + { + AWS_LOGSTREAM_WARN("RestXmlProtocol::TimestampFormatHeadersResult", "Failed to parse memberDateTime header as an ISO_8601 timestamp: " << memberDateTimeIter->second.c_str()); + } + } + + const auto& defaultFormatIter = headers.find("x-defaultformat"); + if(defaultFormatIter != headers.end()) + { + m_defaultFormat = DateTime(defaultFormatIter->second.c_str(), Aws::Utils::DateFormat::RFC822); + if(!m_defaultFormat.WasParseSuccessful()) + { + AWS_LOGSTREAM_WARN("RestXmlProtocol::TimestampFormatHeadersResult", "Failed to parse defaultFormat header as an RFC822 timestamp: " << defaultFormatIter->second.c_str()); + } + } + + const auto& targetEpochSecondsIter = headers.find("x-targetepochseconds"); + if(targetEpochSecondsIter != headers.end()) + { + m_targetEpochSeconds = DateTime(targetEpochSecondsIter->second.c_str(), Aws::Utils::DateFormat::$CppViewHelper.computeTimestampFormatInHeader($memberEntry.value.shape)); + if(!m_targetEpochSeconds.WasParseSuccessful()) + { + AWS_LOGSTREAM_WARN("RestXmlProtocol::TimestampFormatHeadersResult", "Failed to parse targetEpochSeconds header as an $CppViewHelper.computeTimestampFormatInHeader($memberEntry.value.shape) timestamp: " << targetEpochSecondsIter->second.c_str()); + } + } + + const auto& targetHttpDateIter = headers.find("x-targethttpdate"); + if(targetHttpDateIter != headers.end()) + { + m_targetHttpDate = DateTime(targetHttpDateIter->second.c_str(), Aws::Utils::DateFormat::RFC822); + if(!m_targetHttpDate.WasParseSuccessful()) + { + AWS_LOGSTREAM_WARN("RestXmlProtocol::TimestampFormatHeadersResult", "Failed to parse targetHttpDate header as an RFC822 timestamp: " << targetHttpDateIter->second.c_str()); + } + } + + const auto& targetDateTimeIter = headers.find("x-targetdatetime"); + if(targetDateTimeIter != headers.end()) + { + m_targetDateTime = DateTime(targetDateTimeIter->second.c_str(), Aws::Utils::DateFormat::ISO_8601); + if(!m_targetDateTime.WasParseSuccessful()) + { + AWS_LOGSTREAM_WARN("RestXmlProtocol::TimestampFormatHeadersResult", "Failed to parse targetDateTime header as an ISO_8601 timestamp: " << targetDateTimeIter->second.c_str()); + } + } + + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + return *this; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/UnionPayload.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/UnionPayload.cpp new file mode 100644 index 00000000000..daa3a8c5449 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/UnionPayload.cpp @@ -0,0 +1,64 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; + +namespace Aws +{ +namespace RestXmlProtocol +{ +namespace Model +{ + +UnionPayload::UnionPayload() : + m_greetingHasBeenSet(false) +{ +} + +UnionPayload::UnionPayload(const XmlNode& xmlNode) + : UnionPayload() +{ + *this = xmlNode; +} + +UnionPayload& UnionPayload::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode greetingNode = resultNode.FirstChild("greeting"); + if(!greetingNode.IsNull()) + { + m_greeting = Aws::Utils::Xml::DecodeEscapedXmlText(greetingNode.GetText()); + m_greetingHasBeenSet = true; + } + } + + return *this; +} + +void UnionPayload::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + if(m_greetingHasBeenSet) + { + XmlNode greetingNode = parentNode.CreateChildElement("greeting"); + greetingNode.SetText(m_greeting); + } + +} + +} // namespace Model +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlAttributesOnPayloadRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlAttributesOnPayloadRequest.cpp new file mode 100644 index 00000000000..5020e6e640c --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlAttributesOnPayloadRequest.cpp @@ -0,0 +1,37 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::RestXmlProtocol::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; + +XmlAttributesOnPayloadRequest::XmlAttributesOnPayloadRequest() : + m_payloadHasBeenSet(false) +{ +} + +Aws::String XmlAttributesOnPayloadRequest::SerializePayload() const +{ + XmlDocument payloadDoc = XmlDocument::CreateWithRootNode("payload"); + + XmlNode parentNode = payloadDoc.GetRootElement(); + + m_payload.AddToNode(parentNode); + if(parentNode.HasChildren()) + { + return payloadDoc.ConvertToString(); + } + + return {}; +} + + diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlAttributesOnPayloadResult.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlAttributesOnPayloadResult.cpp new file mode 100644 index 00000000000..32569e243e2 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlAttributesOnPayloadResult.cpp @@ -0,0 +1,46 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +#include + +using namespace Aws::RestXmlProtocol::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws; + +XmlAttributesOnPayloadResult::XmlAttributesOnPayloadResult() +{ +} + +XmlAttributesOnPayloadResult::XmlAttributesOnPayloadResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +XmlAttributesOnPayloadResult& XmlAttributesOnPayloadResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode resultNode = xmlDocument.GetRootElement(); + + if(!resultNode.IsNull()) + { + m_payload = resultNode; + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + return *this; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlAttributesPayloadRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlAttributesPayloadRequest.cpp new file mode 100644 index 00000000000..04300480e6c --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlAttributesPayloadRequest.cpp @@ -0,0 +1,76 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; + +namespace Aws +{ +namespace RestXmlProtocol +{ +namespace Model +{ + +XmlAttributesPayloadRequest::XmlAttributesPayloadRequest() : + m_fooHasBeenSet(false), + m_attrHasBeenSet(false) +{ +} + +XmlAttributesPayloadRequest::XmlAttributesPayloadRequest(const XmlNode& xmlNode) + : XmlAttributesPayloadRequest() +{ + *this = xmlNode; +} + +XmlAttributesPayloadRequest& XmlAttributesPayloadRequest::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode fooNode = resultNode.FirstChild("foo"); + if(!fooNode.IsNull()) + { + m_foo = Aws::Utils::Xml::DecodeEscapedXmlText(fooNode.GetText()); + m_fooHasBeenSet = true; + } + auto attr = resultNode.GetAttributeValue("test"); + if(!attr.empty()) + { + m_attr = attr; + m_attrHasBeenSet = true; + } + } + + return *this; +} + +void XmlAttributesPayloadRequest::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + if(m_fooHasBeenSet) + { + XmlNode fooNode = parentNode.CreateChildElement("foo"); + fooNode.SetText(m_foo); + } + + if(m_attrHasBeenSet) + { + parentNode.SetAttributeValue("test", m_attr); + } + +} + +} // namespace Model +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlAttributesPayloadResponse.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlAttributesPayloadResponse.cpp new file mode 100644 index 00000000000..96b79a62b8a --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlAttributesPayloadResponse.cpp @@ -0,0 +1,76 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; + +namespace Aws +{ +namespace RestXmlProtocol +{ +namespace Model +{ + +XmlAttributesPayloadResponse::XmlAttributesPayloadResponse() : + m_fooHasBeenSet(false), + m_attrHasBeenSet(false) +{ +} + +XmlAttributesPayloadResponse::XmlAttributesPayloadResponse(const XmlNode& xmlNode) + : XmlAttributesPayloadResponse() +{ + *this = xmlNode; +} + +XmlAttributesPayloadResponse& XmlAttributesPayloadResponse::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode fooNode = resultNode.FirstChild("foo"); + if(!fooNode.IsNull()) + { + m_foo = Aws::Utils::Xml::DecodeEscapedXmlText(fooNode.GetText()); + m_fooHasBeenSet = true; + } + auto attr = resultNode.GetAttributeValue("test"); + if(!attr.empty()) + { + m_attr = attr; + m_attrHasBeenSet = true; + } + } + + return *this; +} + +void XmlAttributesPayloadResponse::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + if(m_fooHasBeenSet) + { + XmlNode fooNode = parentNode.CreateChildElement("foo"); + fooNode.SetText(m_foo); + } + + if(m_attrHasBeenSet) + { + parentNode.SetAttributeValue("test", m_attr); + } + +} + +} // namespace Model +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlAttributesRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlAttributesRequest.cpp new file mode 100644 index 00000000000..02022049b41 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlAttributesRequest.cpp @@ -0,0 +1,44 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::RestXmlProtocol::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; + +XmlAttributesRequest::XmlAttributesRequest() : + m_fooHasBeenSet(false), + m_attrHasBeenSet(false) +{ +} + +Aws::String XmlAttributesRequest::SerializePayload() const +{ + XmlDocument payloadDoc = XmlDocument::CreateWithRootNode("XmlAttributesRequest"); + + XmlNode parentNode = payloadDoc.GetRootElement(); + + Aws::StringStream ss; + if(m_fooHasBeenSet) + { + XmlNode fooNode = parentNode.CreateChildElement("foo"); + fooNode.SetText(m_foo); + } + + if(m_attrHasBeenSet) + { + parentNode.SetAttributeValue("test", m_attr); + } + + return payloadDoc.ConvertToString(); +} + + diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlAttributesResult.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlAttributesResult.cpp new file mode 100644 index 00000000000..43c0413892f --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlAttributesResult.cpp @@ -0,0 +1,55 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +#include + +using namespace Aws::RestXmlProtocol::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws; + +XmlAttributesResult::XmlAttributesResult() +{ +} + +XmlAttributesResult::XmlAttributesResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +XmlAttributesResult& XmlAttributesResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode resultNode = xmlDocument.GetRootElement(); + + if(!resultNode.IsNull()) + { + XmlNode fooNode = resultNode.FirstChild("foo"); + if(!fooNode.IsNull()) + { + m_foo = Aws::Utils::Xml::DecodeEscapedXmlText(fooNode.GetText()); + } + auto attr = resultNode.GetAttributeValue("test"); + if(!attr.empty()) + { + m_attr = attr; + } + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + return *this; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlBlobsRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlBlobsRequest.cpp new file mode 100644 index 00000000000..10ee4562c16 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlBlobsRequest.cpp @@ -0,0 +1,39 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +#include + +using namespace Aws::RestXmlProtocol::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; + +XmlBlobsRequest::XmlBlobsRequest() : + m_dataHasBeenSet(false) +{ +} + +Aws::String XmlBlobsRequest::SerializePayload() const +{ + XmlDocument payloadDoc = XmlDocument::CreateWithRootNode("XmlBlobsRequest"); + + XmlNode parentNode = payloadDoc.GetRootElement(); + + Aws::StringStream ss; + if(m_dataHasBeenSet) + { + XmlNode dataNode = parentNode.CreateChildElement("data"); + dataNode.SetText(HashingUtils::Base64Encode(m_data)); + } + + return payloadDoc.ConvertToString(); +} + + diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlBlobsResult.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlBlobsResult.cpp new file mode 100644 index 00000000000..5c7d918f1be --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlBlobsResult.cpp @@ -0,0 +1,51 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::RestXmlProtocol::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws; + +XmlBlobsResult::XmlBlobsResult() +{ +} + +XmlBlobsResult::XmlBlobsResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +XmlBlobsResult& XmlBlobsResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode resultNode = xmlDocument.GetRootElement(); + + if(!resultNode.IsNull()) + { + XmlNode dataNode = resultNode.FirstChild("data"); + if(!dataNode.IsNull()) + { + m_data = HashingUtils::Base64Decode(Aws::Utils::Xml::DecodeEscapedXmlText(dataNode.GetText())); + } + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + return *this; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlEmptyBlobsRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlEmptyBlobsRequest.cpp new file mode 100644 index 00000000000..32811032fb2 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlEmptyBlobsRequest.cpp @@ -0,0 +1,39 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +#include + +using namespace Aws::RestXmlProtocol::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; + +XmlEmptyBlobsRequest::XmlEmptyBlobsRequest() : + m_dataHasBeenSet(false) +{ +} + +Aws::String XmlEmptyBlobsRequest::SerializePayload() const +{ + XmlDocument payloadDoc = XmlDocument::CreateWithRootNode("XmlEmptyBlobsRequest"); + + XmlNode parentNode = payloadDoc.GetRootElement(); + + Aws::StringStream ss; + if(m_dataHasBeenSet) + { + XmlNode dataNode = parentNode.CreateChildElement("data"); + dataNode.SetText(HashingUtils::Base64Encode(m_data)); + } + + return payloadDoc.ConvertToString(); +} + + diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlEmptyBlobsResult.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlEmptyBlobsResult.cpp new file mode 100644 index 00000000000..df911cc3b61 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlEmptyBlobsResult.cpp @@ -0,0 +1,51 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::RestXmlProtocol::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws; + +XmlEmptyBlobsResult::XmlEmptyBlobsResult() +{ +} + +XmlEmptyBlobsResult::XmlEmptyBlobsResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +XmlEmptyBlobsResult& XmlEmptyBlobsResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode resultNode = xmlDocument.GetRootElement(); + + if(!resultNode.IsNull()) + { + XmlNode dataNode = resultNode.FirstChild("data"); + if(!dataNode.IsNull()) + { + m_data = HashingUtils::Base64Decode(Aws::Utils::Xml::DecodeEscapedXmlText(dataNode.GetText())); + } + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + return *this; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlEmptyListsRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlEmptyListsRequest.cpp new file mode 100644 index 00000000000..c5765ecfb5a --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlEmptyListsRequest.cpp @@ -0,0 +1,199 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::RestXmlProtocol::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; + +XmlEmptyListsRequest::XmlEmptyListsRequest() : + m_stringListHasBeenSet(false), + m_stringSetHasBeenSet(false), + m_integerListHasBeenSet(false), + m_booleanListHasBeenSet(false), + m_timestampListHasBeenSet(false), + m_enumListHasBeenSet(false), + m_intEnumListHasBeenSet(false), + m_nestedStringListHasBeenSet(false), + m_renamedListMembersHasBeenSet(false), + m_flattenedListHasBeenSet(false), + m_flattenedList2HasBeenSet(false), + m_flattenedListWithMemberNamespaceHasBeenSet(false), + m_flattenedListWithNamespaceHasBeenSet(false), + m_structureListHasBeenSet(false), + m_flattenedStructureListHasBeenSet(false) +{ +} + +Aws::String XmlEmptyListsRequest::SerializePayload() const +{ + XmlDocument payloadDoc = XmlDocument::CreateWithRootNode("XmlEmptyListsRequest"); + + XmlNode parentNode = payloadDoc.GetRootElement(); + + Aws::StringStream ss; + if(m_stringListHasBeenSet) + { + XmlNode stringListParentNode = parentNode.CreateChildElement("stringList"); + for(const auto& item : m_stringList) + { + XmlNode stringListNode = stringListParentNode.CreateChildElement("String"); + stringListNode.SetText(item); + } + } + + if(m_stringSetHasBeenSet) + { + XmlNode stringSetParentNode = parentNode.CreateChildElement("stringSet"); + for(const auto& item : m_stringSet) + { + XmlNode stringSetNode = stringSetParentNode.CreateChildElement("String"); + stringSetNode.SetText(item); + } + } + + if(m_integerListHasBeenSet) + { + XmlNode integerListParentNode = parentNode.CreateChildElement("integerList"); + for(const auto& item : m_integerList) + { + XmlNode integerListNode = integerListParentNode.CreateChildElement("Integer"); + ss << item; + integerListNode.SetText(ss.str()); + ss.str(""); + } + } + + if(m_booleanListHasBeenSet) + { + XmlNode booleanListParentNode = parentNode.CreateChildElement("booleanList"); + for(const auto& item : m_booleanList) + { + XmlNode booleanListNode = booleanListParentNode.CreateChildElement("Boolean"); + ss << std::boolalpha << item; + booleanListNode.SetText(ss.str()); + ss.str(""); + } + } + + if(m_timestampListHasBeenSet) + { + XmlNode timestampListParentNode = parentNode.CreateChildElement("timestampList"); + for(const auto& item : m_timestampList) + { + XmlNode timestampListNode = timestampListParentNode.CreateChildElement("Timestamp"); + timestampListNode.SetText(item.ToGmtString(Aws::Utils::DateFormat::ISO_8601)); + } + } + + if(m_enumListHasBeenSet) + { + XmlNode enumListParentNode = parentNode.CreateChildElement("enumList"); + for(const auto& item : m_enumList) + { + XmlNode enumListNode = enumListParentNode.CreateChildElement("FooEnum"); + enumListNode.SetText(FooEnumMapper::GetNameForFooEnum(item)); + } + } + + if(m_intEnumListHasBeenSet) + { + XmlNode intEnumListParentNode = parentNode.CreateChildElement("intEnumList"); + for(const auto& item : m_intEnumList) + { + XmlNode intEnumListNode = intEnumListParentNode.CreateChildElement("IntegerEnum"); + ss << item; + intEnumListNode.SetText(ss.str()); + ss.str(""); + } + } + + if(m_nestedStringListHasBeenSet) + { + XmlNode nestedStringListParentNode = parentNode.CreateChildElement("nestedStringList"); + for(const auto& item : m_nestedStringList) + { + XmlNode nestedStringListNode = nestedStringListParentNode.CreateChildElement("StringList"); + nestedStringListNode.SetText(item); + } + } + + if(m_renamedListMembersHasBeenSet) + { + XmlNode renamedListMembersParentNode = parentNode.CreateChildElement("renamed"); + for(const auto& item : m_renamedListMembers) + { + XmlNode renamedListMembersNode = renamedListMembersParentNode.CreateChildElement("item"); + renamedListMembersNode.SetText(item); + } + } + + if(m_flattenedListHasBeenSet) + { + for(const auto& item : m_flattenedList) + { + XmlNode flattenedListNode = parentNode.CreateChildElement("item"); + flattenedListNode.SetText(item); + } + } + + if(m_flattenedList2HasBeenSet) + { + for(const auto& item : m_flattenedList2) + { + XmlNode flattenedList2Node = parentNode.CreateChildElement("item"); + flattenedList2Node.SetText(item); + } + } + + if(m_flattenedListWithMemberNamespaceHasBeenSet) + { + XmlNode flattenedListWithMemberNamespaceParentNode = parentNode.CreateChildElement("flattenedListWithMemberNamespace"); + for(const auto& item : m_flattenedListWithMemberNamespace) + { + XmlNode flattenedListWithMemberNamespaceNode = flattenedListWithMemberNamespaceParentNode.CreateChildElement("String"); + flattenedListWithMemberNamespaceNode.SetText(item); + } + } + + if(m_flattenedListWithNamespaceHasBeenSet) + { + XmlNode flattenedListWithNamespaceParentNode = parentNode.CreateChildElement("flattenedListWithNamespace"); + for(const auto& item : m_flattenedListWithNamespace) + { + XmlNode flattenedListWithNamespaceNode = flattenedListWithNamespaceParentNode.CreateChildElement("String"); + flattenedListWithNamespaceNode.SetText(item); + } + } + + if(m_structureListHasBeenSet) + { + XmlNode structureListParentNode = parentNode.CreateChildElement("myStructureList"); + for(const auto& item : m_structureList) + { + XmlNode structureListNode = structureListParentNode.CreateChildElement("item"); + item.AddToNode(structureListNode); + } + } + + if(m_flattenedStructureListHasBeenSet) + { + for(const auto& item : m_flattenedStructureList) + { + XmlNode flattenedStructureListNode = parentNode.CreateChildElement("item"); + item.AddToNode(flattenedStructureListNode); + } + } + + return payloadDoc.ConvertToString(); +} + + diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlEmptyListsResult.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlEmptyListsResult.cpp new file mode 100644 index 00000000000..430d02b0237 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlEmptyListsResult.cpp @@ -0,0 +1,209 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +#include + +using namespace Aws::RestXmlProtocol::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws; + +XmlEmptyListsResult::XmlEmptyListsResult() +{ +} + +XmlEmptyListsResult::XmlEmptyListsResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +XmlEmptyListsResult& XmlEmptyListsResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode resultNode = xmlDocument.GetRootElement(); + + if(!resultNode.IsNull()) + { + XmlNode stringListNode = resultNode.FirstChild("stringList"); + if(!stringListNode.IsNull()) + { + XmlNode stringListMember = stringListNode.FirstChild("member"); + while(!stringListMember.IsNull()) + { + m_stringList.push_back(stringListMember.GetText()); + stringListMember = stringListMember.NextNode("member"); + } + + } + XmlNode stringSetNode = resultNode.FirstChild("stringSet"); + if(!stringSetNode.IsNull()) + { + XmlNode stringSetMember = stringSetNode.FirstChild("member"); + while(!stringSetMember.IsNull()) + { + m_stringSet.push_back(stringSetMember.GetText()); + stringSetMember = stringSetMember.NextNode("member"); + } + + } + XmlNode integerListNode = resultNode.FirstChild("integerList"); + if(!integerListNode.IsNull()) + { + XmlNode integerListMember = integerListNode.FirstChild("member"); + while(!integerListMember.IsNull()) + { + m_integerList.push_back(StringUtils::ConvertToInt32(StringUtils::Trim(integerListMember.GetText().c_str()).c_str())); + integerListMember = integerListMember.NextNode("member"); + } + + } + XmlNode booleanListNode = resultNode.FirstChild("booleanList"); + if(!booleanListNode.IsNull()) + { + XmlNode booleanListMember = booleanListNode.FirstChild("member"); + while(!booleanListMember.IsNull()) + { + m_booleanList.push_back(StringUtils::ConvertToBool(StringUtils::Trim(booleanListMember.GetText().c_str()).c_str())); + booleanListMember = booleanListMember.NextNode("member"); + } + + } + XmlNode timestampListNode = resultNode.FirstChild("timestampList"); + if(!timestampListNode.IsNull()) + { + XmlNode timestampListMember = timestampListNode.FirstChild("member"); + while(!timestampListMember.IsNull()) + { + m_timestampList.push_back(DateTime(StringUtils::Trim(timestampListMember.GetText().c_str()).c_str(), Aws::Utils::DateFormat::ISO_8601)); + timestampListMember = timestampListMember.NextNode("member"); + } + + } + XmlNode enumListNode = resultNode.FirstChild("enumList"); + if(!enumListNode.IsNull()) + { + XmlNode enumListMember = enumListNode.FirstChild("member"); + while(!enumListMember.IsNull()) + { + m_enumList.push_back(FooEnumMapper::GetFooEnumForName(StringUtils::Trim(enumListMember.GetText().c_str()))); + enumListMember = enumListMember.NextNode("member"); + } + + } + XmlNode intEnumListNode = resultNode.FirstChild("intEnumList"); + if(!intEnumListNode.IsNull()) + { + XmlNode intEnumListMember = intEnumListNode.FirstChild("member"); + while(!intEnumListMember.IsNull()) + { + m_intEnumList.push_back(StringUtils::ConvertToInt32(StringUtils::Trim(intEnumListMember.GetText().c_str()).c_str())); + intEnumListMember = intEnumListMember.NextNode("member"); + } + + } + XmlNode nestedStringListNode = resultNode.FirstChild("nestedStringList"); + if(!nestedStringListNode.IsNull()) + { + XmlNode nestedStringListMember = nestedStringListNode.FirstChild("member"); + while(!nestedStringListMember.IsNull()) + { + nestedStringListMember = nestedStringListMember.NextNode("member"); + } + + } + XmlNode renamedListMembersNode = resultNode.FirstChild("renamed"); + if(!renamedListMembersNode.IsNull()) + { + XmlNode renamedListMembersMember = renamedListMembersNode.FirstChild("item"); + while(!renamedListMembersMember.IsNull()) + { + m_renamedListMembers.push_back(renamedListMembersMember.GetText()); + renamedListMembersMember = renamedListMembersMember.NextNode("item"); + } + + } + XmlNode flattenedListNode = resultNode.FirstChild("item"); + if(!flattenedListNode.IsNull()) + { + XmlNode itemMember = flattenedListNode; + while(!itemMember.IsNull()) + { + m_flattenedList.push_back(itemMember.GetText()); + itemMember = itemMember.NextNode("item"); + } + + } + XmlNode flattenedList2Node = resultNode.FirstChild("customName"); + if(!flattenedList2Node.IsNull()) + { + XmlNode customNameMember = flattenedList2Node; + while(!customNameMember.IsNull()) + { + m_flattenedList2.push_back(customNameMember.GetText()); + customNameMember = customNameMember.NextNode("item"); + } + + } + XmlNode flattenedListWithMemberNamespaceNode = resultNode.FirstChild("flattenedListWithMemberNamespace"); + if(!flattenedListWithMemberNamespaceNode.IsNull()) + { + XmlNode flattenedListWithMemberNamespaceMember = flattenedListWithMemberNamespaceNode; + while(!flattenedListWithMemberNamespaceMember.IsNull()) + { + m_flattenedListWithMemberNamespace.push_back(flattenedListWithMemberNamespaceMember.GetText()); + flattenedListWithMemberNamespaceMember = flattenedListWithMemberNamespaceMember.NextNode("flattenedListWithMemberNamespace"); + } + + } + XmlNode flattenedListWithNamespaceNode = resultNode.FirstChild("flattenedListWithNamespace"); + if(!flattenedListWithNamespaceNode.IsNull()) + { + XmlNode flattenedListWithNamespaceMember = flattenedListWithNamespaceNode; + while(!flattenedListWithNamespaceMember.IsNull()) + { + m_flattenedListWithNamespace.push_back(flattenedListWithNamespaceMember.GetText()); + flattenedListWithNamespaceMember = flattenedListWithNamespaceMember.NextNode("flattenedListWithNamespace"); + } + + } + XmlNode structureListNode = resultNode.FirstChild("myStructureList"); + if(!structureListNode.IsNull()) + { + XmlNode structureListMember = structureListNode.FirstChild("item"); + while(!structureListMember.IsNull()) + { + m_structureList.push_back(structureListMember); + structureListMember = structureListMember.NextNode("item"); + } + + } + XmlNode flattenedStructureListNode = resultNode.FirstChild("item"); + if(!flattenedStructureListNode.IsNull()) + { + XmlNode itemMember = flattenedStructureListNode; + while(!itemMember.IsNull()) + { + m_flattenedStructureList.push_back(itemMember); + itemMember = itemMember.NextNode("item"); + } + + } + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + return *this; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlEmptyMapsRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlEmptyMapsRequest.cpp new file mode 100644 index 00000000000..f848e6c39d9 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlEmptyMapsRequest.cpp @@ -0,0 +1,45 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::RestXmlProtocol::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; + +XmlEmptyMapsRequest::XmlEmptyMapsRequest() : + m_myMapHasBeenSet(false) +{ +} + +Aws::String XmlEmptyMapsRequest::SerializePayload() const +{ + XmlDocument payloadDoc = XmlDocument::CreateWithRootNode("XmlEmptyMapsRequest"); + + XmlNode parentNode = payloadDoc.GetRootElement(); + + Aws::StringStream ss; + if(m_myMapHasBeenSet) + { + XmlNode myMapParentNode = parentNode.CreateChildElement("myMap"); + for(const auto& mapItem : m_myMap) + { + XmlNode myMapMapEntryNode = myMapParentNode.CreateChildElement("entry"); + XmlNode myMapKeyNode = myMapMapEntryNode.CreateChildElement("key"); + myMapKeyNode.SetText(mapItem.first); + XmlNode myMapValueNode = myMapMapEntryNode.CreateChildElement("value"); + mapItem.second.AddToNode(myMapValueNode); + } + } + + return payloadDoc.ConvertToString(); +} + + diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlEmptyMapsResult.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlEmptyMapsResult.cpp new file mode 100644 index 00000000000..97d2eebb83d --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlEmptyMapsResult.cpp @@ -0,0 +1,60 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +#include + +using namespace Aws::RestXmlProtocol::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws; + +XmlEmptyMapsResult::XmlEmptyMapsResult() +{ +} + +XmlEmptyMapsResult::XmlEmptyMapsResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +XmlEmptyMapsResult& XmlEmptyMapsResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode resultNode = xmlDocument.GetRootElement(); + + if(!resultNode.IsNull()) + { + XmlNode myMapNode = resultNode.FirstChild("myMap"); + + if(!myMapNode.IsNull()) + { + XmlNode myMapEntry = myMapNode.FirstChild("entry"); + while(!myMapEntry.IsNull()) + { + XmlNode keyNode = myMapEntry.FirstChild("key"); + XmlNode valueNode = myMapEntry.FirstChild("value"); + m_myMap[keyNode.GetText()] = + valueNode; + myMapEntry = myMapEntry.NextNode("entry"); + } + + } + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + return *this; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlEmptyStringsRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlEmptyStringsRequest.cpp new file mode 100644 index 00000000000..401f7a31890 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlEmptyStringsRequest.cpp @@ -0,0 +1,38 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::RestXmlProtocol::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; + +XmlEmptyStringsRequest::XmlEmptyStringsRequest() : + m_emptyStringHasBeenSet(false) +{ +} + +Aws::String XmlEmptyStringsRequest::SerializePayload() const +{ + XmlDocument payloadDoc = XmlDocument::CreateWithRootNode("XmlEmptyStringsRequest"); + + XmlNode parentNode = payloadDoc.GetRootElement(); + + Aws::StringStream ss; + if(m_emptyStringHasBeenSet) + { + XmlNode emptyStringNode = parentNode.CreateChildElement("emptyString"); + emptyStringNode.SetText(m_emptyString); + } + + return payloadDoc.ConvertToString(); +} + + diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlEmptyStringsResult.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlEmptyStringsResult.cpp new file mode 100644 index 00000000000..d8ba07b7160 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlEmptyStringsResult.cpp @@ -0,0 +1,50 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +#include + +using namespace Aws::RestXmlProtocol::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws; + +XmlEmptyStringsResult::XmlEmptyStringsResult() +{ +} + +XmlEmptyStringsResult::XmlEmptyStringsResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +XmlEmptyStringsResult& XmlEmptyStringsResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode resultNode = xmlDocument.GetRootElement(); + + if(!resultNode.IsNull()) + { + XmlNode emptyStringNode = resultNode.FirstChild("emptyString"); + if(!emptyStringNode.IsNull()) + { + m_emptyString = Aws::Utils::Xml::DecodeEscapedXmlText(emptyStringNode.GetText()); + } + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + return *this; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlEnumsRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlEnumsRequest.cpp new file mode 100644 index 00000000000..85a003fc008 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlEnumsRequest.cpp @@ -0,0 +1,91 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::RestXmlProtocol::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; + +XmlEnumsRequest::XmlEnumsRequest() : + m_fooEnum1(FooEnum::NOT_SET), + m_fooEnum1HasBeenSet(false), + m_fooEnum2(FooEnum::NOT_SET), + m_fooEnum2HasBeenSet(false), + m_fooEnum3(FooEnum::NOT_SET), + m_fooEnum3HasBeenSet(false), + m_fooEnumListHasBeenSet(false), + m_fooEnumSetHasBeenSet(false), + m_fooEnumMapHasBeenSet(false) +{ +} + +Aws::String XmlEnumsRequest::SerializePayload() const +{ + XmlDocument payloadDoc = XmlDocument::CreateWithRootNode("XmlEnumsRequest"); + + XmlNode parentNode = payloadDoc.GetRootElement(); + + Aws::StringStream ss; + if(m_fooEnum1HasBeenSet) + { + XmlNode fooEnum1Node = parentNode.CreateChildElement("fooEnum1"); + fooEnum1Node.SetText(FooEnumMapper::GetNameForFooEnum(m_fooEnum1)); + } + + if(m_fooEnum2HasBeenSet) + { + XmlNode fooEnum2Node = parentNode.CreateChildElement("fooEnum2"); + fooEnum2Node.SetText(FooEnumMapper::GetNameForFooEnum(m_fooEnum2)); + } + + if(m_fooEnum3HasBeenSet) + { + XmlNode fooEnum3Node = parentNode.CreateChildElement("fooEnum3"); + fooEnum3Node.SetText(FooEnumMapper::GetNameForFooEnum(m_fooEnum3)); + } + + if(m_fooEnumListHasBeenSet) + { + XmlNode fooEnumListParentNode = parentNode.CreateChildElement("fooEnumList"); + for(const auto& item : m_fooEnumList) + { + XmlNode fooEnumListNode = fooEnumListParentNode.CreateChildElement("FooEnum"); + fooEnumListNode.SetText(FooEnumMapper::GetNameForFooEnum(item)); + } + } + + if(m_fooEnumSetHasBeenSet) + { + XmlNode fooEnumSetParentNode = parentNode.CreateChildElement("fooEnumSet"); + for(const auto& item : m_fooEnumSet) + { + XmlNode fooEnumSetNode = fooEnumSetParentNode.CreateChildElement("FooEnum"); + fooEnumSetNode.SetText(FooEnumMapper::GetNameForFooEnum(item)); + } + } + + if(m_fooEnumMapHasBeenSet) + { + XmlNode fooEnumMapParentNode = parentNode.CreateChildElement("fooEnumMap"); + for(const auto& mapItem : m_fooEnumMap) + { + XmlNode fooEnumMapMapEntryNode = fooEnumMapParentNode.CreateChildElement("entry"); + XmlNode fooEnumMapKeyNode = fooEnumMapMapEntryNode.CreateChildElement("key"); + fooEnumMapKeyNode.SetText(mapItem.first); + XmlNode fooEnumMapValueNode = fooEnumMapMapEntryNode.CreateChildElement("value"); + fooEnumMapValueNode.SetText(FooEnumMapper::GetNameForFooEnum(mapItem.second)); + } + } + + return payloadDoc.ConvertToString(); +} + + diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlEnumsResult.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlEnumsResult.cpp new file mode 100644 index 00000000000..0b92ce62b8b --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlEnumsResult.cpp @@ -0,0 +1,101 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +#include + +using namespace Aws::RestXmlProtocol::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws; + +XmlEnumsResult::XmlEnumsResult() : + m_fooEnum1(FooEnum::NOT_SET), + m_fooEnum2(FooEnum::NOT_SET), + m_fooEnum3(FooEnum::NOT_SET) +{ +} + +XmlEnumsResult::XmlEnumsResult(const Aws::AmazonWebServiceResult& result) + : XmlEnumsResult() +{ + *this = result; +} + +XmlEnumsResult& XmlEnumsResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode resultNode = xmlDocument.GetRootElement(); + + if(!resultNode.IsNull()) + { + XmlNode fooEnum1Node = resultNode.FirstChild("fooEnum1"); + if(!fooEnum1Node.IsNull()) + { + m_fooEnum1 = FooEnumMapper::GetFooEnumForName(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(fooEnum1Node.GetText()).c_str()).c_str()); + } + XmlNode fooEnum2Node = resultNode.FirstChild("fooEnum2"); + if(!fooEnum2Node.IsNull()) + { + m_fooEnum2 = FooEnumMapper::GetFooEnumForName(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(fooEnum2Node.GetText()).c_str()).c_str()); + } + XmlNode fooEnum3Node = resultNode.FirstChild("fooEnum3"); + if(!fooEnum3Node.IsNull()) + { + m_fooEnum3 = FooEnumMapper::GetFooEnumForName(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(fooEnum3Node.GetText()).c_str()).c_str()); + } + XmlNode fooEnumListNode = resultNode.FirstChild("fooEnumList"); + if(!fooEnumListNode.IsNull()) + { + XmlNode fooEnumListMember = fooEnumListNode.FirstChild("member"); + while(!fooEnumListMember.IsNull()) + { + m_fooEnumList.push_back(FooEnumMapper::GetFooEnumForName(StringUtils::Trim(fooEnumListMember.GetText().c_str()))); + fooEnumListMember = fooEnumListMember.NextNode("member"); + } + + } + XmlNode fooEnumSetNode = resultNode.FirstChild("fooEnumSet"); + if(!fooEnumSetNode.IsNull()) + { + XmlNode fooEnumSetMember = fooEnumSetNode.FirstChild("member"); + while(!fooEnumSetMember.IsNull()) + { + m_fooEnumSet.push_back(FooEnumMapper::GetFooEnumForName(StringUtils::Trim(fooEnumSetMember.GetText().c_str()))); + fooEnumSetMember = fooEnumSetMember.NextNode("member"); + } + + } + XmlNode fooEnumMapNode = resultNode.FirstChild("fooEnumMap"); + + if(!fooEnumMapNode.IsNull()) + { + XmlNode fooEnumMapEntry = fooEnumMapNode.FirstChild("entry"); + while(!fooEnumMapEntry.IsNull()) + { + XmlNode keyNode = fooEnumMapEntry.FirstChild("key"); + XmlNode valueNode = fooEnumMapEntry.FirstChild("value"); + m_fooEnumMap[keyNode.GetText()] = + FooEnumMapper::GetFooEnumForName(StringUtils::Trim(valueNode.GetText().c_str())); + fooEnumMapEntry = fooEnumMapEntry.NextNode("entry"); + } + + } + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + return *this; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlIntEnumsRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlIntEnumsRequest.cpp new file mode 100644 index 00000000000..940edc1082b --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlIntEnumsRequest.cpp @@ -0,0 +1,103 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::RestXmlProtocol::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; + +XmlIntEnumsRequest::XmlIntEnumsRequest() : + m_intEnum1(0), + m_intEnum1HasBeenSet(false), + m_intEnum2(0), + m_intEnum2HasBeenSet(false), + m_intEnum3(0), + m_intEnum3HasBeenSet(false), + m_intEnumListHasBeenSet(false), + m_intEnumSetHasBeenSet(false), + m_intEnumMapHasBeenSet(false) +{ +} + +Aws::String XmlIntEnumsRequest::SerializePayload() const +{ + XmlDocument payloadDoc = XmlDocument::CreateWithRootNode("XmlIntEnumsRequest"); + + XmlNode parentNode = payloadDoc.GetRootElement(); + + Aws::StringStream ss; + if(m_intEnum1HasBeenSet) + { + XmlNode intEnum1Node = parentNode.CreateChildElement("intEnum1"); + ss << m_intEnum1; + intEnum1Node.SetText(ss.str()); + ss.str(""); + } + + if(m_intEnum2HasBeenSet) + { + XmlNode intEnum2Node = parentNode.CreateChildElement("intEnum2"); + ss << m_intEnum2; + intEnum2Node.SetText(ss.str()); + ss.str(""); + } + + if(m_intEnum3HasBeenSet) + { + XmlNode intEnum3Node = parentNode.CreateChildElement("intEnum3"); + ss << m_intEnum3; + intEnum3Node.SetText(ss.str()); + ss.str(""); + } + + if(m_intEnumListHasBeenSet) + { + XmlNode intEnumListParentNode = parentNode.CreateChildElement("intEnumList"); + for(const auto& item : m_intEnumList) + { + XmlNode intEnumListNode = intEnumListParentNode.CreateChildElement("IntegerEnum"); + ss << item; + intEnumListNode.SetText(ss.str()); + ss.str(""); + } + } + + if(m_intEnumSetHasBeenSet) + { + XmlNode intEnumSetParentNode = parentNode.CreateChildElement("intEnumSet"); + for(const auto& item : m_intEnumSet) + { + XmlNode intEnumSetNode = intEnumSetParentNode.CreateChildElement("IntegerEnum"); + ss << item; + intEnumSetNode.SetText(ss.str()); + ss.str(""); + } + } + + if(m_intEnumMapHasBeenSet) + { + XmlNode intEnumMapParentNode = parentNode.CreateChildElement("intEnumMap"); + for(const auto& mapItem : m_intEnumMap) + { + XmlNode intEnumMapMapEntryNode = intEnumMapParentNode.CreateChildElement("entry"); + XmlNode intEnumMapKeyNode = intEnumMapMapEntryNode.CreateChildElement("key"); + intEnumMapKeyNode.SetText(mapItem.first); + XmlNode intEnumMapValueNode = intEnumMapMapEntryNode.CreateChildElement("value"); + ss << mapItem.second; + intEnumMapValueNode.SetText(ss.str()); + ss.str(""); + } + } + + return payloadDoc.ConvertToString(); +} + + diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlIntEnumsResult.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlIntEnumsResult.cpp new file mode 100644 index 00000000000..c992153791a --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlIntEnumsResult.cpp @@ -0,0 +1,101 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +#include + +using namespace Aws::RestXmlProtocol::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws; + +XmlIntEnumsResult::XmlIntEnumsResult() : + m_intEnum1(0), + m_intEnum2(0), + m_intEnum3(0) +{ +} + +XmlIntEnumsResult::XmlIntEnumsResult(const Aws::AmazonWebServiceResult& result) + : XmlIntEnumsResult() +{ + *this = result; +} + +XmlIntEnumsResult& XmlIntEnumsResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode resultNode = xmlDocument.GetRootElement(); + + if(!resultNode.IsNull()) + { + XmlNode intEnum1Node = resultNode.FirstChild("intEnum1"); + if(!intEnum1Node.IsNull()) + { + m_intEnum1 = StringUtils::ConvertToInt32(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(intEnum1Node.GetText()).c_str()).c_str()); + } + XmlNode intEnum2Node = resultNode.FirstChild("intEnum2"); + if(!intEnum2Node.IsNull()) + { + m_intEnum2 = StringUtils::ConvertToInt32(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(intEnum2Node.GetText()).c_str()).c_str()); + } + XmlNode intEnum3Node = resultNode.FirstChild("intEnum3"); + if(!intEnum3Node.IsNull()) + { + m_intEnum3 = StringUtils::ConvertToInt32(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(intEnum3Node.GetText()).c_str()).c_str()); + } + XmlNode intEnumListNode = resultNode.FirstChild("intEnumList"); + if(!intEnumListNode.IsNull()) + { + XmlNode intEnumListMember = intEnumListNode.FirstChild("member"); + while(!intEnumListMember.IsNull()) + { + m_intEnumList.push_back(StringUtils::ConvertToInt32(StringUtils::Trim(intEnumListMember.GetText().c_str()).c_str())); + intEnumListMember = intEnumListMember.NextNode("member"); + } + + } + XmlNode intEnumSetNode = resultNode.FirstChild("intEnumSet"); + if(!intEnumSetNode.IsNull()) + { + XmlNode intEnumSetMember = intEnumSetNode.FirstChild("member"); + while(!intEnumSetMember.IsNull()) + { + m_intEnumSet.push_back(StringUtils::ConvertToInt32(StringUtils::Trim(intEnumSetMember.GetText().c_str()).c_str())); + intEnumSetMember = intEnumSetMember.NextNode("member"); + } + + } + XmlNode intEnumMapNode = resultNode.FirstChild("intEnumMap"); + + if(!intEnumMapNode.IsNull()) + { + XmlNode intEnumMapEntry = intEnumMapNode.FirstChild("entry"); + while(!intEnumMapEntry.IsNull()) + { + XmlNode keyNode = intEnumMapEntry.FirstChild("key"); + XmlNode valueNode = intEnumMapEntry.FirstChild("value"); + m_intEnumMap[keyNode.GetText()] = + StringUtils::ConvertToInt32(StringUtils::Trim(valueNode.GetText().c_str()).c_str()); + intEnumMapEntry = intEnumMapEntry.NextNode("entry"); + } + + } + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + return *this; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlListsRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlListsRequest.cpp new file mode 100644 index 00000000000..06c1ccb2ab7 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlListsRequest.cpp @@ -0,0 +1,199 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::RestXmlProtocol::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; + +XmlListsRequest::XmlListsRequest() : + m_stringListHasBeenSet(false), + m_stringSetHasBeenSet(false), + m_integerListHasBeenSet(false), + m_booleanListHasBeenSet(false), + m_timestampListHasBeenSet(false), + m_enumListHasBeenSet(false), + m_intEnumListHasBeenSet(false), + m_nestedStringListHasBeenSet(false), + m_renamedListMembersHasBeenSet(false), + m_flattenedListHasBeenSet(false), + m_flattenedList2HasBeenSet(false), + m_flattenedListWithMemberNamespaceHasBeenSet(false), + m_flattenedListWithNamespaceHasBeenSet(false), + m_structureListHasBeenSet(false), + m_flattenedStructureListHasBeenSet(false) +{ +} + +Aws::String XmlListsRequest::SerializePayload() const +{ + XmlDocument payloadDoc = XmlDocument::CreateWithRootNode("XmlListsRequest"); + + XmlNode parentNode = payloadDoc.GetRootElement(); + + Aws::StringStream ss; + if(m_stringListHasBeenSet) + { + XmlNode stringListParentNode = parentNode.CreateChildElement("stringList"); + for(const auto& item : m_stringList) + { + XmlNode stringListNode = stringListParentNode.CreateChildElement("String"); + stringListNode.SetText(item); + } + } + + if(m_stringSetHasBeenSet) + { + XmlNode stringSetParentNode = parentNode.CreateChildElement("stringSet"); + for(const auto& item : m_stringSet) + { + XmlNode stringSetNode = stringSetParentNode.CreateChildElement("String"); + stringSetNode.SetText(item); + } + } + + if(m_integerListHasBeenSet) + { + XmlNode integerListParentNode = parentNode.CreateChildElement("integerList"); + for(const auto& item : m_integerList) + { + XmlNode integerListNode = integerListParentNode.CreateChildElement("Integer"); + ss << item; + integerListNode.SetText(ss.str()); + ss.str(""); + } + } + + if(m_booleanListHasBeenSet) + { + XmlNode booleanListParentNode = parentNode.CreateChildElement("booleanList"); + for(const auto& item : m_booleanList) + { + XmlNode booleanListNode = booleanListParentNode.CreateChildElement("Boolean"); + ss << std::boolalpha << item; + booleanListNode.SetText(ss.str()); + ss.str(""); + } + } + + if(m_timestampListHasBeenSet) + { + XmlNode timestampListParentNode = parentNode.CreateChildElement("timestampList"); + for(const auto& item : m_timestampList) + { + XmlNode timestampListNode = timestampListParentNode.CreateChildElement("Timestamp"); + timestampListNode.SetText(item.ToGmtString(Aws::Utils::DateFormat::ISO_8601)); + } + } + + if(m_enumListHasBeenSet) + { + XmlNode enumListParentNode = parentNode.CreateChildElement("enumList"); + for(const auto& item : m_enumList) + { + XmlNode enumListNode = enumListParentNode.CreateChildElement("FooEnum"); + enumListNode.SetText(FooEnumMapper::GetNameForFooEnum(item)); + } + } + + if(m_intEnumListHasBeenSet) + { + XmlNode intEnumListParentNode = parentNode.CreateChildElement("intEnumList"); + for(const auto& item : m_intEnumList) + { + XmlNode intEnumListNode = intEnumListParentNode.CreateChildElement("IntegerEnum"); + ss << item; + intEnumListNode.SetText(ss.str()); + ss.str(""); + } + } + + if(m_nestedStringListHasBeenSet) + { + XmlNode nestedStringListParentNode = parentNode.CreateChildElement("nestedStringList"); + for(const auto& item : m_nestedStringList) + { + XmlNode nestedStringListNode = nestedStringListParentNode.CreateChildElement("StringList"); + nestedStringListNode.SetText(item); + } + } + + if(m_renamedListMembersHasBeenSet) + { + XmlNode renamedListMembersParentNode = parentNode.CreateChildElement("renamed"); + for(const auto& item : m_renamedListMembers) + { + XmlNode renamedListMembersNode = renamedListMembersParentNode.CreateChildElement("item"); + renamedListMembersNode.SetText(item); + } + } + + if(m_flattenedListHasBeenSet) + { + for(const auto& item : m_flattenedList) + { + XmlNode flattenedListNode = parentNode.CreateChildElement("item"); + flattenedListNode.SetText(item); + } + } + + if(m_flattenedList2HasBeenSet) + { + for(const auto& item : m_flattenedList2) + { + XmlNode flattenedList2Node = parentNode.CreateChildElement("item"); + flattenedList2Node.SetText(item); + } + } + + if(m_flattenedListWithMemberNamespaceHasBeenSet) + { + XmlNode flattenedListWithMemberNamespaceParentNode = parentNode.CreateChildElement("flattenedListWithMemberNamespace"); + for(const auto& item : m_flattenedListWithMemberNamespace) + { + XmlNode flattenedListWithMemberNamespaceNode = flattenedListWithMemberNamespaceParentNode.CreateChildElement("String"); + flattenedListWithMemberNamespaceNode.SetText(item); + } + } + + if(m_flattenedListWithNamespaceHasBeenSet) + { + XmlNode flattenedListWithNamespaceParentNode = parentNode.CreateChildElement("flattenedListWithNamespace"); + for(const auto& item : m_flattenedListWithNamespace) + { + XmlNode flattenedListWithNamespaceNode = flattenedListWithNamespaceParentNode.CreateChildElement("String"); + flattenedListWithNamespaceNode.SetText(item); + } + } + + if(m_structureListHasBeenSet) + { + XmlNode structureListParentNode = parentNode.CreateChildElement("myStructureList"); + for(const auto& item : m_structureList) + { + XmlNode structureListNode = structureListParentNode.CreateChildElement("item"); + item.AddToNode(structureListNode); + } + } + + if(m_flattenedStructureListHasBeenSet) + { + for(const auto& item : m_flattenedStructureList) + { + XmlNode flattenedStructureListNode = parentNode.CreateChildElement("item"); + item.AddToNode(flattenedStructureListNode); + } + } + + return payloadDoc.ConvertToString(); +} + + diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlListsResult.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlListsResult.cpp new file mode 100644 index 00000000000..656cf2ac887 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlListsResult.cpp @@ -0,0 +1,209 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +#include + +using namespace Aws::RestXmlProtocol::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws; + +XmlListsResult::XmlListsResult() +{ +} + +XmlListsResult::XmlListsResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +XmlListsResult& XmlListsResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode resultNode = xmlDocument.GetRootElement(); + + if(!resultNode.IsNull()) + { + XmlNode stringListNode = resultNode.FirstChild("stringList"); + if(!stringListNode.IsNull()) + { + XmlNode stringListMember = stringListNode.FirstChild("member"); + while(!stringListMember.IsNull()) + { + m_stringList.push_back(stringListMember.GetText()); + stringListMember = stringListMember.NextNode("member"); + } + + } + XmlNode stringSetNode = resultNode.FirstChild("stringSet"); + if(!stringSetNode.IsNull()) + { + XmlNode stringSetMember = stringSetNode.FirstChild("member"); + while(!stringSetMember.IsNull()) + { + m_stringSet.push_back(stringSetMember.GetText()); + stringSetMember = stringSetMember.NextNode("member"); + } + + } + XmlNode integerListNode = resultNode.FirstChild("integerList"); + if(!integerListNode.IsNull()) + { + XmlNode integerListMember = integerListNode.FirstChild("member"); + while(!integerListMember.IsNull()) + { + m_integerList.push_back(StringUtils::ConvertToInt32(StringUtils::Trim(integerListMember.GetText().c_str()).c_str())); + integerListMember = integerListMember.NextNode("member"); + } + + } + XmlNode booleanListNode = resultNode.FirstChild("booleanList"); + if(!booleanListNode.IsNull()) + { + XmlNode booleanListMember = booleanListNode.FirstChild("member"); + while(!booleanListMember.IsNull()) + { + m_booleanList.push_back(StringUtils::ConvertToBool(StringUtils::Trim(booleanListMember.GetText().c_str()).c_str())); + booleanListMember = booleanListMember.NextNode("member"); + } + + } + XmlNode timestampListNode = resultNode.FirstChild("timestampList"); + if(!timestampListNode.IsNull()) + { + XmlNode timestampListMember = timestampListNode.FirstChild("member"); + while(!timestampListMember.IsNull()) + { + m_timestampList.push_back(DateTime(StringUtils::Trim(timestampListMember.GetText().c_str()).c_str(), Aws::Utils::DateFormat::ISO_8601)); + timestampListMember = timestampListMember.NextNode("member"); + } + + } + XmlNode enumListNode = resultNode.FirstChild("enumList"); + if(!enumListNode.IsNull()) + { + XmlNode enumListMember = enumListNode.FirstChild("member"); + while(!enumListMember.IsNull()) + { + m_enumList.push_back(FooEnumMapper::GetFooEnumForName(StringUtils::Trim(enumListMember.GetText().c_str()))); + enumListMember = enumListMember.NextNode("member"); + } + + } + XmlNode intEnumListNode = resultNode.FirstChild("intEnumList"); + if(!intEnumListNode.IsNull()) + { + XmlNode intEnumListMember = intEnumListNode.FirstChild("member"); + while(!intEnumListMember.IsNull()) + { + m_intEnumList.push_back(StringUtils::ConvertToInt32(StringUtils::Trim(intEnumListMember.GetText().c_str()).c_str())); + intEnumListMember = intEnumListMember.NextNode("member"); + } + + } + XmlNode nestedStringListNode = resultNode.FirstChild("nestedStringList"); + if(!nestedStringListNode.IsNull()) + { + XmlNode nestedStringListMember = nestedStringListNode.FirstChild("member"); + while(!nestedStringListMember.IsNull()) + { + nestedStringListMember = nestedStringListMember.NextNode("member"); + } + + } + XmlNode renamedListMembersNode = resultNode.FirstChild("renamed"); + if(!renamedListMembersNode.IsNull()) + { + XmlNode renamedListMembersMember = renamedListMembersNode.FirstChild("item"); + while(!renamedListMembersMember.IsNull()) + { + m_renamedListMembers.push_back(renamedListMembersMember.GetText()); + renamedListMembersMember = renamedListMembersMember.NextNode("item"); + } + + } + XmlNode flattenedListNode = resultNode.FirstChild("item"); + if(!flattenedListNode.IsNull()) + { + XmlNode itemMember = flattenedListNode; + while(!itemMember.IsNull()) + { + m_flattenedList.push_back(itemMember.GetText()); + itemMember = itemMember.NextNode("item"); + } + + } + XmlNode flattenedList2Node = resultNode.FirstChild("customName"); + if(!flattenedList2Node.IsNull()) + { + XmlNode customNameMember = flattenedList2Node; + while(!customNameMember.IsNull()) + { + m_flattenedList2.push_back(customNameMember.GetText()); + customNameMember = customNameMember.NextNode("item"); + } + + } + XmlNode flattenedListWithMemberNamespaceNode = resultNode.FirstChild("flattenedListWithMemberNamespace"); + if(!flattenedListWithMemberNamespaceNode.IsNull()) + { + XmlNode flattenedListWithMemberNamespaceMember = flattenedListWithMemberNamespaceNode; + while(!flattenedListWithMemberNamespaceMember.IsNull()) + { + m_flattenedListWithMemberNamespace.push_back(flattenedListWithMemberNamespaceMember.GetText()); + flattenedListWithMemberNamespaceMember = flattenedListWithMemberNamespaceMember.NextNode("flattenedListWithMemberNamespace"); + } + + } + XmlNode flattenedListWithNamespaceNode = resultNode.FirstChild("flattenedListWithNamespace"); + if(!flattenedListWithNamespaceNode.IsNull()) + { + XmlNode flattenedListWithNamespaceMember = flattenedListWithNamespaceNode; + while(!flattenedListWithNamespaceMember.IsNull()) + { + m_flattenedListWithNamespace.push_back(flattenedListWithNamespaceMember.GetText()); + flattenedListWithNamespaceMember = flattenedListWithNamespaceMember.NextNode("flattenedListWithNamespace"); + } + + } + XmlNode structureListNode = resultNode.FirstChild("myStructureList"); + if(!structureListNode.IsNull()) + { + XmlNode structureListMember = structureListNode.FirstChild("item"); + while(!structureListMember.IsNull()) + { + m_structureList.push_back(structureListMember); + structureListMember = structureListMember.NextNode("item"); + } + + } + XmlNode flattenedStructureListNode = resultNode.FirstChild("item"); + if(!flattenedStructureListNode.IsNull()) + { + XmlNode itemMember = flattenedStructureListNode; + while(!itemMember.IsNull()) + { + m_flattenedStructureList.push_back(itemMember); + itemMember = itemMember.NextNode("item"); + } + + } + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + return *this; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlMapWithXmlNamespaceRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlMapWithXmlNamespaceRequest.cpp new file mode 100644 index 00000000000..a4199f4ee09 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlMapWithXmlNamespaceRequest.cpp @@ -0,0 +1,45 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::RestXmlProtocol::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; + +XmlMapWithXmlNamespaceRequest::XmlMapWithXmlNamespaceRequest() : + m_myMapHasBeenSet(false) +{ +} + +Aws::String XmlMapWithXmlNamespaceRequest::SerializePayload() const +{ + XmlDocument payloadDoc = XmlDocument::CreateWithRootNode("XmlMapWithXmlNamespaceRequest"); + + XmlNode parentNode = payloadDoc.GetRootElement(); + + Aws::StringStream ss; + if(m_myMapHasBeenSet) + { + XmlNode myMapParentNode = parentNode.CreateChildElement("KVP"); + for(const auto& mapItem : m_myMap) + { + XmlNode myMapMapEntryNode = myMapParentNode.CreateChildElement("KVP"); + XmlNode myMapKeyNode = myMapMapEntryNode.CreateChildElement("K"); + myMapKeyNode.SetText(mapItem.first); + XmlNode myMapValueNode = myMapMapEntryNode.CreateChildElement("V"); + myMapValueNode.SetText(mapItem.second); + } + } + + return payloadDoc.ConvertToString(); +} + + diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlMapWithXmlNamespaceResult.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlMapWithXmlNamespaceResult.cpp new file mode 100644 index 00000000000..689801f8d92 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlMapWithXmlNamespaceResult.cpp @@ -0,0 +1,59 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +#include + +using namespace Aws::RestXmlProtocol::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws; + +XmlMapWithXmlNamespaceResult::XmlMapWithXmlNamespaceResult() +{ +} + +XmlMapWithXmlNamespaceResult::XmlMapWithXmlNamespaceResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +XmlMapWithXmlNamespaceResult& XmlMapWithXmlNamespaceResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode resultNode = xmlDocument.GetRootElement(); + + if(!resultNode.IsNull()) + { + XmlNode myMapNode = resultNode.FirstChild("KVP"); + if(!myMapNode.IsNull()) + { + XmlNode kVPEntry = myMapNode; + while(!kVPEntry.IsNull()) + { + XmlNode keyNode = kVPEntry.FirstChild("K"); + XmlNode valueNode = kVPEntry.FirstChild("V"); + m_myMap[keyNode.GetText()] = + valueNode.GetText(); + kVPEntry = kVPEntry.NextNode("KVP"); + } + + } + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + return *this; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlMapsRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlMapsRequest.cpp new file mode 100644 index 00000000000..ce8e2410264 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlMapsRequest.cpp @@ -0,0 +1,45 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::RestXmlProtocol::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; + +XmlMapsRequest::XmlMapsRequest() : + m_myMapHasBeenSet(false) +{ +} + +Aws::String XmlMapsRequest::SerializePayload() const +{ + XmlDocument payloadDoc = XmlDocument::CreateWithRootNode("XmlMapsRequest"); + + XmlNode parentNode = payloadDoc.GetRootElement(); + + Aws::StringStream ss; + if(m_myMapHasBeenSet) + { + XmlNode myMapParentNode = parentNode.CreateChildElement("myMap"); + for(const auto& mapItem : m_myMap) + { + XmlNode myMapMapEntryNode = myMapParentNode.CreateChildElement("entry"); + XmlNode myMapKeyNode = myMapMapEntryNode.CreateChildElement("key"); + myMapKeyNode.SetText(mapItem.first); + XmlNode myMapValueNode = myMapMapEntryNode.CreateChildElement("value"); + mapItem.second.AddToNode(myMapValueNode); + } + } + + return payloadDoc.ConvertToString(); +} + + diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlMapsResult.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlMapsResult.cpp new file mode 100644 index 00000000000..ef9a833c158 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlMapsResult.cpp @@ -0,0 +1,60 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +#include + +using namespace Aws::RestXmlProtocol::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws; + +XmlMapsResult::XmlMapsResult() +{ +} + +XmlMapsResult::XmlMapsResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +XmlMapsResult& XmlMapsResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode resultNode = xmlDocument.GetRootElement(); + + if(!resultNode.IsNull()) + { + XmlNode myMapNode = resultNode.FirstChild("myMap"); + + if(!myMapNode.IsNull()) + { + XmlNode myMapEntry = myMapNode.FirstChild("entry"); + while(!myMapEntry.IsNull()) + { + XmlNode keyNode = myMapEntry.FirstChild("key"); + XmlNode valueNode = myMapEntry.FirstChild("value"); + m_myMap[keyNode.GetText()] = + valueNode; + myMapEntry = myMapEntry.NextNode("entry"); + } + + } + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + return *this; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlMapsXmlNameRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlMapsXmlNameRequest.cpp new file mode 100644 index 00000000000..1cc61334e56 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlMapsXmlNameRequest.cpp @@ -0,0 +1,45 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::RestXmlProtocol::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; + +XmlMapsXmlNameRequest::XmlMapsXmlNameRequest() : + m_myMapHasBeenSet(false) +{ +} + +Aws::String XmlMapsXmlNameRequest::SerializePayload() const +{ + XmlDocument payloadDoc = XmlDocument::CreateWithRootNode("XmlMapsXmlNameRequest"); + + XmlNode parentNode = payloadDoc.GetRootElement(); + + Aws::StringStream ss; + if(m_myMapHasBeenSet) + { + XmlNode myMapParentNode = parentNode.CreateChildElement("myMap"); + for(const auto& mapItem : m_myMap) + { + XmlNode myMapMapEntryNode = myMapParentNode.CreateChildElement("entry"); + XmlNode myMapKeyNode = myMapMapEntryNode.CreateChildElement("Attribute"); + myMapKeyNode.SetText(mapItem.first); + XmlNode myMapValueNode = myMapMapEntryNode.CreateChildElement("Setting"); + mapItem.second.AddToNode(myMapValueNode); + } + } + + return payloadDoc.ConvertToString(); +} + + diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlMapsXmlNameResult.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlMapsXmlNameResult.cpp new file mode 100644 index 00000000000..b02d0464f43 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlMapsXmlNameResult.cpp @@ -0,0 +1,60 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +#include + +using namespace Aws::RestXmlProtocol::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws; + +XmlMapsXmlNameResult::XmlMapsXmlNameResult() +{ +} + +XmlMapsXmlNameResult::XmlMapsXmlNameResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +XmlMapsXmlNameResult& XmlMapsXmlNameResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode resultNode = xmlDocument.GetRootElement(); + + if(!resultNode.IsNull()) + { + XmlNode myMapNode = resultNode.FirstChild("myMap"); + + if(!myMapNode.IsNull()) + { + XmlNode myMapEntry = myMapNode.FirstChild("entry"); + while(!myMapEntry.IsNull()) + { + XmlNode keyNode = myMapEntry.FirstChild("key"); + XmlNode valueNode = myMapEntry.FirstChild("value"); + m_myMap[keyNode.GetText()] = + valueNode; + myMapEntry = myMapEntry.NextNode("entry"); + } + + } + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + return *this; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlNamespaceNested.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlNamespaceNested.cpp new file mode 100644 index 00000000000..30c64971c47 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlNamespaceNested.cpp @@ -0,0 +1,88 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; + +namespace Aws +{ +namespace RestXmlProtocol +{ +namespace Model +{ + +XmlNamespaceNested::XmlNamespaceNested() : + m_fooHasBeenSet(false), + m_valuesHasBeenSet(false) +{ +} + +XmlNamespaceNested::XmlNamespaceNested(const XmlNode& xmlNode) + : XmlNamespaceNested() +{ + *this = xmlNode; +} + +XmlNamespaceNested& XmlNamespaceNested::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode fooNode = resultNode.FirstChild("foo"); + if(!fooNode.IsNull()) + { + m_foo = Aws::Utils::Xml::DecodeEscapedXmlText(fooNode.GetText()); + m_fooHasBeenSet = true; + } + XmlNode valuesNode = resultNode.FirstChild("values"); + if(!valuesNode.IsNull()) + { + XmlNode valuesMember = valuesNode.FirstChild("member"); + while(!valuesMember.IsNull()) + { + m_values.push_back(valuesMember.GetText()); + valuesMember = valuesMember.NextNode("member"); + } + + m_valuesHasBeenSet = true; + } + } + + return *this; +} + +void XmlNamespaceNested::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + parentNode.SetAttributeValue("xmlns", "http://foo.com"); + if(m_fooHasBeenSet) + { + XmlNode fooNode = parentNode.CreateChildElement("foo"); + fooNode.SetText(m_foo); + } + + if(m_valuesHasBeenSet) + { + XmlNode valuesParentNode = parentNode.CreateChildElement("values"); + for(const auto& item : m_values) + { + XmlNode valuesNode = valuesParentNode.CreateChildElement("String"); + valuesNode.SetText(item); + } + } + +} + +} // namespace Model +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlNamespacesRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlNamespacesRequest.cpp new file mode 100644 index 00000000000..994b8be77e3 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlNamespacesRequest.cpp @@ -0,0 +1,39 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::RestXmlProtocol::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; + +XmlNamespacesRequest::XmlNamespacesRequest() : + m_nestedHasBeenSet(false) +{ +} + +Aws::String XmlNamespacesRequest::SerializePayload() const +{ + XmlDocument payloadDoc = XmlDocument::CreateWithRootNode("XmlNamespacesRequest"); + + XmlNode parentNode = payloadDoc.GetRootElement(); + parentNode.SetAttributeValue("xmlns", "http://foo.com"); + + Aws::StringStream ss; + if(m_nestedHasBeenSet) + { + XmlNode nestedNode = parentNode.CreateChildElement("nested"); + m_nested.AddToNode(nestedNode); + } + + return payloadDoc.ConvertToString(); +} + + diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlNamespacesResult.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlNamespacesResult.cpp new file mode 100644 index 00000000000..ff97a3a6067 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlNamespacesResult.cpp @@ -0,0 +1,50 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +#include + +using namespace Aws::RestXmlProtocol::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws; + +XmlNamespacesResult::XmlNamespacesResult() +{ +} + +XmlNamespacesResult::XmlNamespacesResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +XmlNamespacesResult& XmlNamespacesResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode resultNode = xmlDocument.GetRootElement(); + + if(!resultNode.IsNull()) + { + XmlNode nestedNode = resultNode.FirstChild("nested"); + if(!nestedNode.IsNull()) + { + m_nested = nestedNode; + } + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + return *this; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlNestedUnionStruct.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlNestedUnionStruct.cpp new file mode 100644 index 00000000000..9b0e1dfd111 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlNestedUnionStruct.cpp @@ -0,0 +1,176 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; + +namespace Aws +{ +namespace RestXmlProtocol +{ +namespace Model +{ + +XmlNestedUnionStruct::XmlNestedUnionStruct() : + m_stringValueHasBeenSet(false), + m_booleanValue(false), + m_booleanValueHasBeenSet(false), + m_byteValue(0), + m_byteValueHasBeenSet(false), + m_shortValue(0), + m_shortValueHasBeenSet(false), + m_integerValue(0), + m_integerValueHasBeenSet(false), + m_longValue(0), + m_longValueHasBeenSet(false), + m_floatValue(0.0), + m_floatValueHasBeenSet(false), + m_doubleValue(0.0), + m_doubleValueHasBeenSet(false) +{ +} + +XmlNestedUnionStruct::XmlNestedUnionStruct(const XmlNode& xmlNode) + : XmlNestedUnionStruct() +{ + *this = xmlNode; +} + +XmlNestedUnionStruct& XmlNestedUnionStruct::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode stringValueNode = resultNode.FirstChild("stringValue"); + if(!stringValueNode.IsNull()) + { + m_stringValue = Aws::Utils::Xml::DecodeEscapedXmlText(stringValueNode.GetText()); + m_stringValueHasBeenSet = true; + } + XmlNode booleanValueNode = resultNode.FirstChild("booleanValue"); + if(!booleanValueNode.IsNull()) + { + m_booleanValue = StringUtils::ConvertToBool(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(booleanValueNode.GetText()).c_str()).c_str()); + m_booleanValueHasBeenSet = true; + } + XmlNode byteValueNode = resultNode.FirstChild("byteValue"); + if(!byteValueNode.IsNull()) + { + m_byteValue = StringUtils::ConvertToInt32(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(byteValueNode.GetText()).c_str()).c_str()); + m_byteValueHasBeenSet = true; + } + XmlNode shortValueNode = resultNode.FirstChild("shortValue"); + if(!shortValueNode.IsNull()) + { + m_shortValue = StringUtils::ConvertToInt32(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(shortValueNode.GetText()).c_str()).c_str()); + m_shortValueHasBeenSet = true; + } + XmlNode integerValueNode = resultNode.FirstChild("integerValue"); + if(!integerValueNode.IsNull()) + { + m_integerValue = StringUtils::ConvertToInt32(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(integerValueNode.GetText()).c_str()).c_str()); + m_integerValueHasBeenSet = true; + } + XmlNode longValueNode = resultNode.FirstChild("longValue"); + if(!longValueNode.IsNull()) + { + m_longValue = StringUtils::ConvertToInt64(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(longValueNode.GetText()).c_str()).c_str()); + m_longValueHasBeenSet = true; + } + XmlNode floatValueNode = resultNode.FirstChild("floatValue"); + if(!floatValueNode.IsNull()) + { + m_floatValue = StringUtils::ConvertToDouble(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(floatValueNode.GetText()).c_str()).c_str()); + m_floatValueHasBeenSet = true; + } + XmlNode doubleValueNode = resultNode.FirstChild("doubleValue"); + if(!doubleValueNode.IsNull()) + { + m_doubleValue = StringUtils::ConvertToDouble(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(doubleValueNode.GetText()).c_str()).c_str()); + m_doubleValueHasBeenSet = true; + } + } + + return *this; +} + +void XmlNestedUnionStruct::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + if(m_stringValueHasBeenSet) + { + XmlNode stringValueNode = parentNode.CreateChildElement("stringValue"); + stringValueNode.SetText(m_stringValue); + } + + if(m_booleanValueHasBeenSet) + { + XmlNode booleanValueNode = parentNode.CreateChildElement("booleanValue"); + ss << std::boolalpha << m_booleanValue; + booleanValueNode.SetText(ss.str()); + ss.str(""); + } + + if(m_byteValueHasBeenSet) + { + XmlNode byteValueNode = parentNode.CreateChildElement("byteValue"); + ss << m_byteValue; + byteValueNode.SetText(ss.str()); + ss.str(""); + } + + if(m_shortValueHasBeenSet) + { + XmlNode shortValueNode = parentNode.CreateChildElement("shortValue"); + ss << m_shortValue; + shortValueNode.SetText(ss.str()); + ss.str(""); + } + + if(m_integerValueHasBeenSet) + { + XmlNode integerValueNode = parentNode.CreateChildElement("integerValue"); + ss << m_integerValue; + integerValueNode.SetText(ss.str()); + ss.str(""); + } + + if(m_longValueHasBeenSet) + { + XmlNode longValueNode = parentNode.CreateChildElement("longValue"); + ss << m_longValue; + longValueNode.SetText(ss.str()); + ss.str(""); + } + + if(m_floatValueHasBeenSet) + { + XmlNode floatValueNode = parentNode.CreateChildElement("floatValue"); + ss << m_floatValue; + floatValueNode.SetText(ss.str()); + ss.str(""); + } + + if(m_doubleValueHasBeenSet) + { + XmlNode doubleValueNode = parentNode.CreateChildElement("doubleValue"); + ss << m_doubleValue; + doubleValueNode.SetText(ss.str()); + ss.str(""); + } + +} + +} // namespace Model +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlTimestampsRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlTimestampsRequest.cpp new file mode 100644 index 00000000000..5f2bc11994c --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlTimestampsRequest.cpp @@ -0,0 +1,80 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::RestXmlProtocol::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; + +XmlTimestampsRequest::XmlTimestampsRequest() : + m_normalHasBeenSet(false), + m_dateTimeHasBeenSet(false), + m_dateTimeOnTargetHasBeenSet(false), + m_epochSecondsHasBeenSet(false), + m_epochSecondsOnTargetHasBeenSet(false), + m_httpDateHasBeenSet(false), + m_httpDateOnTargetHasBeenSet(false) +{ +} + +Aws::String XmlTimestampsRequest::SerializePayload() const +{ + XmlDocument payloadDoc = XmlDocument::CreateWithRootNode("XmlTimestampsRequest"); + + XmlNode parentNode = payloadDoc.GetRootElement(); + + Aws::StringStream ss; + if(m_normalHasBeenSet) + { + XmlNode normalNode = parentNode.CreateChildElement("normal"); + normalNode.SetText(m_normal.ToGmtString(Aws::Utils::DateFormat::ISO_8601)); + } + + if(m_dateTimeHasBeenSet) + { + XmlNode dateTimeNode = parentNode.CreateChildElement("dateTime"); + dateTimeNode.SetText(m_dateTime.ToGmtString(Aws::Utils::DateFormat::ISO_8601)); + } + + if(m_dateTimeOnTargetHasBeenSet) + { + XmlNode dateTimeOnTargetNode = parentNode.CreateChildElement("dateTimeOnTarget"); + dateTimeOnTargetNode.SetText(m_dateTimeOnTarget.ToGmtString(Aws::Utils::DateFormat::ISO_8601)); + } + + if(m_epochSecondsHasBeenSet) + { + XmlNode epochSecondsNode = parentNode.CreateChildElement("epochSeconds"); + epochSecondsNode.SetText(StringUtils::to_string(m_epochSeconds.Seconds())); + } + + if(m_epochSecondsOnTargetHasBeenSet) + { + XmlNode epochSecondsOnTargetNode = parentNode.CreateChildElement("epochSecondsOnTarget"); + epochSecondsOnTargetNode.SetText(StringUtils::to_string(m_epochSecondsOnTarget.Seconds())); + } + + if(m_httpDateHasBeenSet) + { + XmlNode httpDateNode = parentNode.CreateChildElement("httpDate"); + httpDateNode.SetText(m_httpDate.ToGmtString(Aws::Utils::DateFormat::RFC822)); + } + + if(m_httpDateOnTargetHasBeenSet) + { + XmlNode httpDateOnTargetNode = parentNode.CreateChildElement("httpDateOnTarget"); + httpDateOnTargetNode.SetText(m_httpDateOnTarget.ToGmtString(Aws::Utils::DateFormat::RFC822)); + } + + return payloadDoc.ConvertToString(); +} + + diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlTimestampsResult.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlTimestampsResult.cpp new file mode 100644 index 00000000000..d7c70f9922a --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlTimestampsResult.cpp @@ -0,0 +1,80 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +#include + +using namespace Aws::RestXmlProtocol::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws; + +XmlTimestampsResult::XmlTimestampsResult() +{ +} + +XmlTimestampsResult::XmlTimestampsResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +XmlTimestampsResult& XmlTimestampsResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode resultNode = xmlDocument.GetRootElement(); + + if(!resultNode.IsNull()) + { + XmlNode normalNode = resultNode.FirstChild("normal"); + if(!normalNode.IsNull()) + { + m_normal = DateTime(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(normalNode.GetText()).c_str()).c_str(), Aws::Utils::DateFormat::ISO_8601); + } + XmlNode dateTimeNode = resultNode.FirstChild("dateTime"); + if(!dateTimeNode.IsNull()) + { + m_dateTime = DateTime(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(dateTimeNode.GetText()).c_str()).c_str(), Aws::Utils::DateFormat::ISO_8601); + } + XmlNode dateTimeOnTargetNode = resultNode.FirstChild("dateTimeOnTarget"); + if(!dateTimeOnTargetNode.IsNull()) + { + m_dateTimeOnTarget = DateTime(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(dateTimeOnTargetNode.GetText()).c_str()).c_str(), Aws::Utils::DateFormat::ISO_8601); + } + XmlNode epochSecondsNode = resultNode.FirstChild("epochSeconds"); + if(!epochSecondsNode.IsNull()) + { + m_epochSeconds = DateTime(StringUtils::ConvertToDouble(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(epochSecondsNode.GetText()).c_str()).c_str())); + } + XmlNode epochSecondsOnTargetNode = resultNode.FirstChild("epochSecondsOnTarget"); + if(!epochSecondsOnTargetNode.IsNull()) + { + m_epochSecondsOnTarget = DateTime(StringUtils::ConvertToDouble(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(epochSecondsOnTargetNode.GetText()).c_str()).c_str())); + } + XmlNode httpDateNode = resultNode.FirstChild("httpDate"); + if(!httpDateNode.IsNull()) + { + m_httpDate = DateTime(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(httpDateNode.GetText()).c_str()).c_str(), Aws::Utils::DateFormat::RFC822); + } + XmlNode httpDateOnTargetNode = resultNode.FirstChild("httpDateOnTarget"); + if(!httpDateOnTargetNode.IsNull()) + { + m_httpDateOnTarget = DateTime(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(httpDateOnTargetNode.GetText()).c_str()).c_str(), Aws::Utils::DateFormat::RFC822); + } + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + return *this; +} diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlUnionShape.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlUnionShape.cpp new file mode 100644 index 00000000000..de211528c2d --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlUnionShape.cpp @@ -0,0 +1,202 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; + +namespace Aws +{ +namespace RestXmlProtocol +{ +namespace Model +{ + +XmlUnionShape::XmlUnionShape() : + m_stringValueHasBeenSet(false), + m_booleanValue(false), + m_booleanValueHasBeenSet(false), + m_byteValue(0), + m_byteValueHasBeenSet(false), + m_shortValue(0), + m_shortValueHasBeenSet(false), + m_integerValue(0), + m_integerValueHasBeenSet(false), + m_longValue(0), + m_longValueHasBeenSet(false), + m_floatValue(0.0), + m_floatValueHasBeenSet(false), + m_doubleValue(0.0), + m_doubleValueHasBeenSet(false), + m_unionValueHasBeenSet(false), + m_structValueHasBeenSet(false) +{ +} + +XmlUnionShape::XmlUnionShape(const XmlNode& xmlNode) + : XmlUnionShape() +{ + *this = xmlNode; +} + +XmlUnionShape& XmlUnionShape::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode stringValueNode = resultNode.FirstChild("stringValue"); + if(!stringValueNode.IsNull()) + { + m_stringValue = Aws::Utils::Xml::DecodeEscapedXmlText(stringValueNode.GetText()); + m_stringValueHasBeenSet = true; + } + XmlNode booleanValueNode = resultNode.FirstChild("booleanValue"); + if(!booleanValueNode.IsNull()) + { + m_booleanValue = StringUtils::ConvertToBool(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(booleanValueNode.GetText()).c_str()).c_str()); + m_booleanValueHasBeenSet = true; + } + XmlNode byteValueNode = resultNode.FirstChild("byteValue"); + if(!byteValueNode.IsNull()) + { + m_byteValue = StringUtils::ConvertToInt32(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(byteValueNode.GetText()).c_str()).c_str()); + m_byteValueHasBeenSet = true; + } + XmlNode shortValueNode = resultNode.FirstChild("shortValue"); + if(!shortValueNode.IsNull()) + { + m_shortValue = StringUtils::ConvertToInt32(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(shortValueNode.GetText()).c_str()).c_str()); + m_shortValueHasBeenSet = true; + } + XmlNode integerValueNode = resultNode.FirstChild("integerValue"); + if(!integerValueNode.IsNull()) + { + m_integerValue = StringUtils::ConvertToInt32(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(integerValueNode.GetText()).c_str()).c_str()); + m_integerValueHasBeenSet = true; + } + XmlNode longValueNode = resultNode.FirstChild("longValue"); + if(!longValueNode.IsNull()) + { + m_longValue = StringUtils::ConvertToInt64(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(longValueNode.GetText()).c_str()).c_str()); + m_longValueHasBeenSet = true; + } + XmlNode floatValueNode = resultNode.FirstChild("floatValue"); + if(!floatValueNode.IsNull()) + { + m_floatValue = StringUtils::ConvertToDouble(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(floatValueNode.GetText()).c_str()).c_str()); + m_floatValueHasBeenSet = true; + } + XmlNode doubleValueNode = resultNode.FirstChild("doubleValue"); + if(!doubleValueNode.IsNull()) + { + m_doubleValue = StringUtils::ConvertToDouble(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(doubleValueNode.GetText()).c_str()).c_str()); + m_doubleValueHasBeenSet = true; + } + XmlNode unionValueNode = resultNode.FirstChild("unionValue"); + if(!unionValueNode.IsNull()) + { + m_unionValue = unionValueNode; + m_unionValueHasBeenSet = true; + } + XmlNode structValueNode = resultNode.FirstChild("structValue"); + if(!structValueNode.IsNull()) + { + m_structValue = structValueNode; + m_structValueHasBeenSet = true; + } + } + + return *this; +} + +void XmlUnionShape::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + if(m_stringValueHasBeenSet) + { + XmlNode stringValueNode = parentNode.CreateChildElement("stringValue"); + stringValueNode.SetText(m_stringValue); + } + + if(m_booleanValueHasBeenSet) + { + XmlNode booleanValueNode = parentNode.CreateChildElement("booleanValue"); + ss << std::boolalpha << m_booleanValue; + booleanValueNode.SetText(ss.str()); + ss.str(""); + } + + if(m_byteValueHasBeenSet) + { + XmlNode byteValueNode = parentNode.CreateChildElement("byteValue"); + ss << m_byteValue; + byteValueNode.SetText(ss.str()); + ss.str(""); + } + + if(m_shortValueHasBeenSet) + { + XmlNode shortValueNode = parentNode.CreateChildElement("shortValue"); + ss << m_shortValue; + shortValueNode.SetText(ss.str()); + ss.str(""); + } + + if(m_integerValueHasBeenSet) + { + XmlNode integerValueNode = parentNode.CreateChildElement("integerValue"); + ss << m_integerValue; + integerValueNode.SetText(ss.str()); + ss.str(""); + } + + if(m_longValueHasBeenSet) + { + XmlNode longValueNode = parentNode.CreateChildElement("longValue"); + ss << m_longValue; + longValueNode.SetText(ss.str()); + ss.str(""); + } + + if(m_floatValueHasBeenSet) + { + XmlNode floatValueNode = parentNode.CreateChildElement("floatValue"); + ss << m_floatValue; + floatValueNode.SetText(ss.str()); + ss.str(""); + } + + if(m_doubleValueHasBeenSet) + { + XmlNode doubleValueNode = parentNode.CreateChildElement("doubleValue"); + ss << m_doubleValue; + doubleValueNode.SetText(ss.str()); + ss.str(""); + } + + if(m_unionValueHasBeenSet) + { + XmlNode unionValueNode = parentNode.CreateChildElement("unionValue"); + m_unionValue.AddToNode(unionValueNode); + } + + if(m_structValueHasBeenSet) + { + XmlNode structValueNode = parentNode.CreateChildElement("structValue"); + m_structValue.AddToNode(structValueNode); + } + +} + +} // namespace Model +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlUnionsRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlUnionsRequest.cpp new file mode 100644 index 00000000000..66e52080df3 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlUnionsRequest.cpp @@ -0,0 +1,38 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::RestXmlProtocol::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; + +XmlUnionsRequest::XmlUnionsRequest() : + m_unionValueHasBeenSet(false) +{ +} + +Aws::String XmlUnionsRequest::SerializePayload() const +{ + XmlDocument payloadDoc = XmlDocument::CreateWithRootNode("XmlUnionsRequest"); + + XmlNode parentNode = payloadDoc.GetRootElement(); + + Aws::StringStream ss; + if(m_unionValueHasBeenSet) + { + XmlNode unionValueNode = parentNode.CreateChildElement("unionValue"); + m_unionValue.AddToNode(unionValueNode); + } + + return payloadDoc.ConvertToString(); +} + + diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlUnionsResult.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlUnionsResult.cpp new file mode 100644 index 00000000000..ffcfbcd8a2b --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlUnionsResult.cpp @@ -0,0 +1,50 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +#include + +using namespace Aws::RestXmlProtocol::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws; + +XmlUnionsResult::XmlUnionsResult() +{ +} + +XmlUnionsResult::XmlUnionsResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +XmlUnionsResult& XmlUnionsResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode resultNode = xmlDocument.GetRootElement(); + + if(!resultNode.IsNull()) + { + XmlNode unionValueNode = resultNode.FirstChild("unionValue"); + if(!unionValueNode.IsNull()) + { + m_unionValue = unionValueNode; + } + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + return *this; +} diff --git a/generated/protocol-tests/tests/input/ec2/CMakeLists.txt b/generated/protocol-tests/tests/input/ec2/CMakeLists.txt new file mode 100644 index 00000000000..d854c672a68 --- /dev/null +++ b/generated/protocol-tests/tests/input/ec2/CMakeLists.txt @@ -0,0 +1,42 @@ +add_project(ec2-input-protocol-tests + "Tests for the protocol ec2 of AWS C++ SDK" + testing-resources + aws-cpp-sdk-ec2-protocol + aws-cpp-sdk-core) + +file(GLOB AWS_EC2_INPUT_PROTOCOL_TESTS_SRC + "${CMAKE_CURRENT_SOURCE_DIR}/*.cpp" +) + +if(MSVC AND BUILD_SHARED_LIBS) + add_definitions(-DGTEST_LINKED_AS_SHARED_LIBRARY=1) +endif() + +if (CMAKE_CROSSCOMPILING) + set(AUTORUN_UNIT_TESTS OFF) +endif() + +if (AUTORUN_UNIT_TESTS) + enable_testing() +endif() + +if(PLATFORM_ANDROID AND BUILD_SHARED_LIBS) + add_library(${PROJECT_NAME} "${AWS_EC2_INPUT_PROTOCOL_TESTS_SRC}") +else() + add_executable(${PROJECT_NAME} "${AWS_EC2_INPUT_PROTOCOL_TESTS_SRC}") +endif() + +set_compiler_flags(${PROJECT_NAME}) +set_compiler_warnings(${PROJECT_NAME}) + +target_link_libraries(${PROJECT_NAME} ${PROJECT_LIBS}) + +if (AUTORUN_UNIT_TESTS) + ADD_CUSTOM_COMMAND( TARGET ${PROJECT_NAME} POST_BUILD + COMMAND ${CMAKE_COMMAND} -E env LD_LIBRARY_PATH=${AWS_AUTORUN_LD_LIBRARY_PATH}:$ENV{LD_LIBRARY_PATH} $ + ARGS "--gtest_brief=1") +endif() + +if(NOT CMAKE_CROSSCOMPILING) + SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES OUTPUT_NAME ${PROJECT_NAME}) +endif() \ No newline at end of file diff --git a/generated/protocol-tests/tests/input/ec2/RunTests.cpp b/generated/protocol-tests/tests/input/ec2/RunTests.cpp new file mode 100644 index 00000000000..f2f10a7c789 --- /dev/null +++ b/generated/protocol-tests/tests/input/ec2/RunTests.cpp @@ -0,0 +1,29 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +int main(int argc, char** argv) +{ + Aws::SDKOptions options; + options.loggingOptions.logLevel = Aws::Utils::Logging::LogLevel::Trace; + + AWS_BEGIN_MEMORY_TEST_EX(options, 1024, 128); + Aws::Testing::InitPlatformTest(options); + Aws::Testing::ParseArgs(argc, argv); + + Aws::InitAPI(options); + ::testing::InitGoogleTest(&argc, argv); + int exitCode = RUN_ALL_TESTS(); + Aws::ShutdownAPI(options); + + AWS_END_MEMORY_TEST_EX; + Aws::Testing::ShutdownPlatformTest(options); + return exitCode; +} diff --git a/generated/protocol-tests/tests/input/json/CMakeLists.txt b/generated/protocol-tests/tests/input/json/CMakeLists.txt new file mode 100644 index 00000000000..c3e2ee65099 --- /dev/null +++ b/generated/protocol-tests/tests/input/json/CMakeLists.txt @@ -0,0 +1,42 @@ +add_project(json-input-protocol-tests + "Tests for the protocol json of AWS C++ SDK" + testing-resources + aws-cpp-sdk-json-protocol + aws-cpp-sdk-core) + +file(GLOB AWS_JSON_INPUT_PROTOCOL_TESTS_SRC + "${CMAKE_CURRENT_SOURCE_DIR}/*.cpp" +) + +if(MSVC AND BUILD_SHARED_LIBS) + add_definitions(-DGTEST_LINKED_AS_SHARED_LIBRARY=1) +endif() + +if (CMAKE_CROSSCOMPILING) + set(AUTORUN_UNIT_TESTS OFF) +endif() + +if (AUTORUN_UNIT_TESTS) + enable_testing() +endif() + +if(PLATFORM_ANDROID AND BUILD_SHARED_LIBS) + add_library(${PROJECT_NAME} "${AWS_JSON_INPUT_PROTOCOL_TESTS_SRC}") +else() + add_executable(${PROJECT_NAME} "${AWS_JSON_INPUT_PROTOCOL_TESTS_SRC}") +endif() + +set_compiler_flags(${PROJECT_NAME}) +set_compiler_warnings(${PROJECT_NAME}) + +target_link_libraries(${PROJECT_NAME} ${PROJECT_LIBS}) + +if (AUTORUN_UNIT_TESTS) + ADD_CUSTOM_COMMAND( TARGET ${PROJECT_NAME} POST_BUILD + COMMAND ${CMAKE_COMMAND} -E env LD_LIBRARY_PATH=${AWS_AUTORUN_LD_LIBRARY_PATH}:$ENV{LD_LIBRARY_PATH} $ + ARGS "--gtest_brief=1") +endif() + +if(NOT CMAKE_CROSSCOMPILING) + SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES OUTPUT_NAME ${PROJECT_NAME}) +endif() \ No newline at end of file diff --git a/generated/protocol-tests/tests/input/json/RunTests.cpp b/generated/protocol-tests/tests/input/json/RunTests.cpp new file mode 100644 index 00000000000..f2f10a7c789 --- /dev/null +++ b/generated/protocol-tests/tests/input/json/RunTests.cpp @@ -0,0 +1,29 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +int main(int argc, char** argv) +{ + Aws::SDKOptions options; + options.loggingOptions.logLevel = Aws::Utils::Logging::LogLevel::Trace; + + AWS_BEGIN_MEMORY_TEST_EX(options, 1024, 128); + Aws::Testing::InitPlatformTest(options); + Aws::Testing::ParseArgs(argc, argv); + + Aws::InitAPI(options); + ::testing::InitGoogleTest(&argc, argv); + int exitCode = RUN_ALL_TESTS(); + Aws::ShutdownAPI(options); + + AWS_END_MEMORY_TEST_EX; + Aws::Testing::ShutdownPlatformTest(options); + return exitCode; +} diff --git a/generated/protocol-tests/tests/input/json_1_0/CMakeLists.txt b/generated/protocol-tests/tests/input/json_1_0/CMakeLists.txt new file mode 100644 index 00000000000..b7ade0374f3 --- /dev/null +++ b/generated/protocol-tests/tests/input/json_1_0/CMakeLists.txt @@ -0,0 +1,42 @@ +add_project(json_1_0-input-protocol-tests + "Tests for the protocol json of AWS C++ SDK" + testing-resources + aws-cpp-sdk-json-rpc-10 + aws-cpp-sdk-core) + +file(GLOB AWS_JSON_1_0_INPUT_PROTOCOL_TESTS_SRC + "${CMAKE_CURRENT_SOURCE_DIR}/*.cpp" +) + +if(MSVC AND BUILD_SHARED_LIBS) + add_definitions(-DGTEST_LINKED_AS_SHARED_LIBRARY=1) +endif() + +if (CMAKE_CROSSCOMPILING) + set(AUTORUN_UNIT_TESTS OFF) +endif() + +if (AUTORUN_UNIT_TESTS) + enable_testing() +endif() + +if(PLATFORM_ANDROID AND BUILD_SHARED_LIBS) + add_library(${PROJECT_NAME} "${AWS_JSON_1_0_INPUT_PROTOCOL_TESTS_SRC}") +else() + add_executable(${PROJECT_NAME} "${AWS_JSON_1_0_INPUT_PROTOCOL_TESTS_SRC}") +endif() + +set_compiler_flags(${PROJECT_NAME}) +set_compiler_warnings(${PROJECT_NAME}) + +target_link_libraries(${PROJECT_NAME} ${PROJECT_LIBS}) + +if (AUTORUN_UNIT_TESTS) + ADD_CUSTOM_COMMAND( TARGET ${PROJECT_NAME} POST_BUILD + COMMAND ${CMAKE_COMMAND} -E env LD_LIBRARY_PATH=${AWS_AUTORUN_LD_LIBRARY_PATH}:$ENV{LD_LIBRARY_PATH} $ + ARGS "--gtest_brief=1") +endif() + +if(NOT CMAKE_CROSSCOMPILING) + SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES OUTPUT_NAME ${PROJECT_NAME}) +endif() \ No newline at end of file diff --git a/generated/protocol-tests/tests/input/json_1_0/RunTests.cpp b/generated/protocol-tests/tests/input/json_1_0/RunTests.cpp new file mode 100644 index 00000000000..f2f10a7c789 --- /dev/null +++ b/generated/protocol-tests/tests/input/json_1_0/RunTests.cpp @@ -0,0 +1,29 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +int main(int argc, char** argv) +{ + Aws::SDKOptions options; + options.loggingOptions.logLevel = Aws::Utils::Logging::LogLevel::Trace; + + AWS_BEGIN_MEMORY_TEST_EX(options, 1024, 128); + Aws::Testing::InitPlatformTest(options); + Aws::Testing::ParseArgs(argc, argv); + + Aws::InitAPI(options); + ::testing::InitGoogleTest(&argc, argv); + int exitCode = RUN_ALL_TESTS(); + Aws::ShutdownAPI(options); + + AWS_END_MEMORY_TEST_EX; + Aws::Testing::ShutdownPlatformTest(options); + return exitCode; +} diff --git a/generated/protocol-tests/tests/input/query/CMakeLists.txt b/generated/protocol-tests/tests/input/query/CMakeLists.txt new file mode 100644 index 00000000000..3b044ff4509 --- /dev/null +++ b/generated/protocol-tests/tests/input/query/CMakeLists.txt @@ -0,0 +1,42 @@ +add_project(query-input-protocol-tests + "Tests for the protocol query of AWS C++ SDK" + testing-resources + aws-cpp-sdk-query-protocol + aws-cpp-sdk-core) + +file(GLOB AWS_QUERY_INPUT_PROTOCOL_TESTS_SRC + "${CMAKE_CURRENT_SOURCE_DIR}/*.cpp" +) + +if(MSVC AND BUILD_SHARED_LIBS) + add_definitions(-DGTEST_LINKED_AS_SHARED_LIBRARY=1) +endif() + +if (CMAKE_CROSSCOMPILING) + set(AUTORUN_UNIT_TESTS OFF) +endif() + +if (AUTORUN_UNIT_TESTS) + enable_testing() +endif() + +if(PLATFORM_ANDROID AND BUILD_SHARED_LIBS) + add_library(${PROJECT_NAME} "${AWS_QUERY_INPUT_PROTOCOL_TESTS_SRC}") +else() + add_executable(${PROJECT_NAME} "${AWS_QUERY_INPUT_PROTOCOL_TESTS_SRC}") +endif() + +set_compiler_flags(${PROJECT_NAME}) +set_compiler_warnings(${PROJECT_NAME}) + +target_link_libraries(${PROJECT_NAME} ${PROJECT_LIBS}) + +if (AUTORUN_UNIT_TESTS) + ADD_CUSTOM_COMMAND( TARGET ${PROJECT_NAME} POST_BUILD + COMMAND ${CMAKE_COMMAND} -E env LD_LIBRARY_PATH=${AWS_AUTORUN_LD_LIBRARY_PATH}:$ENV{LD_LIBRARY_PATH} $ + ARGS "--gtest_brief=1") +endif() + +if(NOT CMAKE_CROSSCOMPILING) + SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES OUTPUT_NAME ${PROJECT_NAME}) +endif() \ No newline at end of file diff --git a/generated/protocol-tests/tests/input/query/RunTests.cpp b/generated/protocol-tests/tests/input/query/RunTests.cpp new file mode 100644 index 00000000000..f2f10a7c789 --- /dev/null +++ b/generated/protocol-tests/tests/input/query/RunTests.cpp @@ -0,0 +1,29 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +int main(int argc, char** argv) +{ + Aws::SDKOptions options; + options.loggingOptions.logLevel = Aws::Utils::Logging::LogLevel::Trace; + + AWS_BEGIN_MEMORY_TEST_EX(options, 1024, 128); + Aws::Testing::InitPlatformTest(options); + Aws::Testing::ParseArgs(argc, argv); + + Aws::InitAPI(options); + ::testing::InitGoogleTest(&argc, argv); + int exitCode = RUN_ALL_TESTS(); + Aws::ShutdownAPI(options); + + AWS_END_MEMORY_TEST_EX; + Aws::Testing::ShutdownPlatformTest(options); + return exitCode; +} diff --git a/generated/protocol-tests/tests/input/rest-json/CMakeLists.txt b/generated/protocol-tests/tests/input/rest-json/CMakeLists.txt new file mode 100644 index 00000000000..c4f11ad9f74 --- /dev/null +++ b/generated/protocol-tests/tests/input/rest-json/CMakeLists.txt @@ -0,0 +1,42 @@ +add_project(rest-json-input-protocol-tests + "Tests for the protocol rest-json of AWS C++ SDK" + testing-resources + aws-cpp-sdk-rest-json-protocol + aws-cpp-sdk-core) + +file(GLOB AWS_REST_JSON_INPUT_PROTOCOL_TESTS_SRC + "${CMAKE_CURRENT_SOURCE_DIR}/*.cpp" +) + +if(MSVC AND BUILD_SHARED_LIBS) + add_definitions(-DGTEST_LINKED_AS_SHARED_LIBRARY=1) +endif() + +if (CMAKE_CROSSCOMPILING) + set(AUTORUN_UNIT_TESTS OFF) +endif() + +if (AUTORUN_UNIT_TESTS) + enable_testing() +endif() + +if(PLATFORM_ANDROID AND BUILD_SHARED_LIBS) + add_library(${PROJECT_NAME} "${AWS_REST_JSON_INPUT_PROTOCOL_TESTS_SRC}") +else() + add_executable(${PROJECT_NAME} "${AWS_REST_JSON_INPUT_PROTOCOL_TESTS_SRC}") +endif() + +set_compiler_flags(${PROJECT_NAME}) +set_compiler_warnings(${PROJECT_NAME}) + +target_link_libraries(${PROJECT_NAME} ${PROJECT_LIBS}) + +if (AUTORUN_UNIT_TESTS) + ADD_CUSTOM_COMMAND( TARGET ${PROJECT_NAME} POST_BUILD + COMMAND ${CMAKE_COMMAND} -E env LD_LIBRARY_PATH=${AWS_AUTORUN_LD_LIBRARY_PATH}:$ENV{LD_LIBRARY_PATH} $ + ARGS "--gtest_brief=1") +endif() + +if(NOT CMAKE_CROSSCOMPILING) + SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES OUTPUT_NAME ${PROJECT_NAME}) +endif() \ No newline at end of file diff --git a/generated/protocol-tests/tests/input/rest-json/RunTests.cpp b/generated/protocol-tests/tests/input/rest-json/RunTests.cpp new file mode 100644 index 00000000000..f2f10a7c789 --- /dev/null +++ b/generated/protocol-tests/tests/input/rest-json/RunTests.cpp @@ -0,0 +1,29 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +int main(int argc, char** argv) +{ + Aws::SDKOptions options; + options.loggingOptions.logLevel = Aws::Utils::Logging::LogLevel::Trace; + + AWS_BEGIN_MEMORY_TEST_EX(options, 1024, 128); + Aws::Testing::InitPlatformTest(options); + Aws::Testing::ParseArgs(argc, argv); + + Aws::InitAPI(options); + ::testing::InitGoogleTest(&argc, argv); + int exitCode = RUN_ALL_TESTS(); + Aws::ShutdownAPI(options); + + AWS_END_MEMORY_TEST_EX; + Aws::Testing::ShutdownPlatformTest(options); + return exitCode; +} diff --git a/generated/protocol-tests/tests/input/rest-xml-1/CMakeLists.txt b/generated/protocol-tests/tests/input/rest-xml-1/CMakeLists.txt new file mode 100644 index 00000000000..f6db3659c8c --- /dev/null +++ b/generated/protocol-tests/tests/input/rest-xml-1/CMakeLists.txt @@ -0,0 +1,42 @@ +add_project(rest-xml-1-input-protocol-tests + "Tests for the protocol rest-xml of AWS C++ SDK" + testing-resources + aws-cpp-sdk-rest-xml-protocol-namespace + aws-cpp-sdk-core) + +file(GLOB AWS_REST_XML_1_INPUT_PROTOCOL_TESTS_SRC + "${CMAKE_CURRENT_SOURCE_DIR}/*.cpp" +) + +if(MSVC AND BUILD_SHARED_LIBS) + add_definitions(-DGTEST_LINKED_AS_SHARED_LIBRARY=1) +endif() + +if (CMAKE_CROSSCOMPILING) + set(AUTORUN_UNIT_TESTS OFF) +endif() + +if (AUTORUN_UNIT_TESTS) + enable_testing() +endif() + +if(PLATFORM_ANDROID AND BUILD_SHARED_LIBS) + add_library(${PROJECT_NAME} "${AWS_REST_XML_1_INPUT_PROTOCOL_TESTS_SRC}") +else() + add_executable(${PROJECT_NAME} "${AWS_REST_XML_1_INPUT_PROTOCOL_TESTS_SRC}") +endif() + +set_compiler_flags(${PROJECT_NAME}) +set_compiler_warnings(${PROJECT_NAME}) + +target_link_libraries(${PROJECT_NAME} ${PROJECT_LIBS}) + +if (AUTORUN_UNIT_TESTS) + ADD_CUSTOM_COMMAND( TARGET ${PROJECT_NAME} POST_BUILD + COMMAND ${CMAKE_COMMAND} -E env LD_LIBRARY_PATH=${AWS_AUTORUN_LD_LIBRARY_PATH}:$ENV{LD_LIBRARY_PATH} $ + ARGS "--gtest_brief=1") +endif() + +if(NOT CMAKE_CROSSCOMPILING) + SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES OUTPUT_NAME ${PROJECT_NAME}) +endif() \ No newline at end of file diff --git a/generated/protocol-tests/tests/input/rest-xml-1/RunTests.cpp b/generated/protocol-tests/tests/input/rest-xml-1/RunTests.cpp new file mode 100644 index 00000000000..f2f10a7c789 --- /dev/null +++ b/generated/protocol-tests/tests/input/rest-xml-1/RunTests.cpp @@ -0,0 +1,29 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +int main(int argc, char** argv) +{ + Aws::SDKOptions options; + options.loggingOptions.logLevel = Aws::Utils::Logging::LogLevel::Trace; + + AWS_BEGIN_MEMORY_TEST_EX(options, 1024, 128); + Aws::Testing::InitPlatformTest(options); + Aws::Testing::ParseArgs(argc, argv); + + Aws::InitAPI(options); + ::testing::InitGoogleTest(&argc, argv); + int exitCode = RUN_ALL_TESTS(); + Aws::ShutdownAPI(options); + + AWS_END_MEMORY_TEST_EX; + Aws::Testing::ShutdownPlatformTest(options); + return exitCode; +} diff --git a/generated/protocol-tests/tests/input/rest-xml/CMakeLists.txt b/generated/protocol-tests/tests/input/rest-xml/CMakeLists.txt new file mode 100644 index 00000000000..48f1335e39c --- /dev/null +++ b/generated/protocol-tests/tests/input/rest-xml/CMakeLists.txt @@ -0,0 +1,42 @@ +add_project(rest-xml-input-protocol-tests + "Tests for the protocol rest-xml of AWS C++ SDK" + testing-resources + aws-cpp-sdk-rest-xml-protocol + aws-cpp-sdk-core) + +file(GLOB AWS_REST_XML_INPUT_PROTOCOL_TESTS_SRC + "${CMAKE_CURRENT_SOURCE_DIR}/*.cpp" +) + +if(MSVC AND BUILD_SHARED_LIBS) + add_definitions(-DGTEST_LINKED_AS_SHARED_LIBRARY=1) +endif() + +if (CMAKE_CROSSCOMPILING) + set(AUTORUN_UNIT_TESTS OFF) +endif() + +if (AUTORUN_UNIT_TESTS) + enable_testing() +endif() + +if(PLATFORM_ANDROID AND BUILD_SHARED_LIBS) + add_library(${PROJECT_NAME} "${AWS_REST_XML_INPUT_PROTOCOL_TESTS_SRC}") +else() + add_executable(${PROJECT_NAME} "${AWS_REST_XML_INPUT_PROTOCOL_TESTS_SRC}") +endif() + +set_compiler_flags(${PROJECT_NAME}) +set_compiler_warnings(${PROJECT_NAME}) + +target_link_libraries(${PROJECT_NAME} ${PROJECT_LIBS}) + +if (AUTORUN_UNIT_TESTS) + ADD_CUSTOM_COMMAND( TARGET ${PROJECT_NAME} POST_BUILD + COMMAND ${CMAKE_COMMAND} -E env LD_LIBRARY_PATH=${AWS_AUTORUN_LD_LIBRARY_PATH}:$ENV{LD_LIBRARY_PATH} $ + ARGS "--gtest_brief=1") +endif() + +if(NOT CMAKE_CROSSCOMPILING) + SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES OUTPUT_NAME ${PROJECT_NAME}) +endif() \ No newline at end of file diff --git a/generated/protocol-tests/tests/input/rest-xml/RunTests.cpp b/generated/protocol-tests/tests/input/rest-xml/RunTests.cpp new file mode 100644 index 00000000000..f2f10a7c789 --- /dev/null +++ b/generated/protocol-tests/tests/input/rest-xml/RunTests.cpp @@ -0,0 +1,29 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +int main(int argc, char** argv) +{ + Aws::SDKOptions options; + options.loggingOptions.logLevel = Aws::Utils::Logging::LogLevel::Trace; + + AWS_BEGIN_MEMORY_TEST_EX(options, 1024, 128); + Aws::Testing::InitPlatformTest(options); + Aws::Testing::ParseArgs(argc, argv); + + Aws::InitAPI(options); + ::testing::InitGoogleTest(&argc, argv); + int exitCode = RUN_ALL_TESTS(); + Aws::ShutdownAPI(options); + + AWS_END_MEMORY_TEST_EX; + Aws::Testing::ShutdownPlatformTest(options); + return exitCode; +} diff --git a/generated/protocol-tests/tests/output/ec2/CMakeLists.txt b/generated/protocol-tests/tests/output/ec2/CMakeLists.txt new file mode 100644 index 00000000000..e7c8d4f53ed --- /dev/null +++ b/generated/protocol-tests/tests/output/ec2/CMakeLists.txt @@ -0,0 +1,42 @@ +add_project(ec2-output-protocol-tests + "Tests for the protocol ec2 of AWS C++ SDK" + testing-resources + aws-cpp-sdk-ec2-protocol + aws-cpp-sdk-core) + +file(GLOB AWS_EC2_OUTPUT_PROTOCOL_TESTS_SRC + "${CMAKE_CURRENT_SOURCE_DIR}/*.cpp" +) + +if(MSVC AND BUILD_SHARED_LIBS) + add_definitions(-DGTEST_LINKED_AS_SHARED_LIBRARY=1) +endif() + +if (CMAKE_CROSSCOMPILING) + set(AUTORUN_UNIT_TESTS OFF) +endif() + +if (AUTORUN_UNIT_TESTS) + enable_testing() +endif() + +if(PLATFORM_ANDROID AND BUILD_SHARED_LIBS) + add_library(${PROJECT_NAME} "${AWS_EC2_OUTPUT_PROTOCOL_TESTS_SRC}") +else() + add_executable(${PROJECT_NAME} "${AWS_EC2_OUTPUT_PROTOCOL_TESTS_SRC}") +endif() + +set_compiler_flags(${PROJECT_NAME}) +set_compiler_warnings(${PROJECT_NAME}) + +target_link_libraries(${PROJECT_NAME} ${PROJECT_LIBS}) + +if (AUTORUN_UNIT_TESTS) + ADD_CUSTOM_COMMAND( TARGET ${PROJECT_NAME} POST_BUILD + COMMAND ${CMAKE_COMMAND} -E env LD_LIBRARY_PATH=${AWS_AUTORUN_LD_LIBRARY_PATH}:$ENV{LD_LIBRARY_PATH} $ + ARGS "--gtest_brief=1") +endif() + +if(NOT CMAKE_CROSSCOMPILING) + SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES OUTPUT_NAME ${PROJECT_NAME}) +endif() \ No newline at end of file diff --git a/generated/protocol-tests/tests/output/ec2/RunTests.cpp b/generated/protocol-tests/tests/output/ec2/RunTests.cpp new file mode 100644 index 00000000000..f2f10a7c789 --- /dev/null +++ b/generated/protocol-tests/tests/output/ec2/RunTests.cpp @@ -0,0 +1,29 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +int main(int argc, char** argv) +{ + Aws::SDKOptions options; + options.loggingOptions.logLevel = Aws::Utils::Logging::LogLevel::Trace; + + AWS_BEGIN_MEMORY_TEST_EX(options, 1024, 128); + Aws::Testing::InitPlatformTest(options); + Aws::Testing::ParseArgs(argc, argv); + + Aws::InitAPI(options); + ::testing::InitGoogleTest(&argc, argv); + int exitCode = RUN_ALL_TESTS(); + Aws::ShutdownAPI(options); + + AWS_END_MEMORY_TEST_EX; + Aws::Testing::ShutdownPlatformTest(options); + return exitCode; +} diff --git a/generated/protocol-tests/tests/output/json/CMakeLists.txt b/generated/protocol-tests/tests/output/json/CMakeLists.txt new file mode 100644 index 00000000000..187c0fdb886 --- /dev/null +++ b/generated/protocol-tests/tests/output/json/CMakeLists.txt @@ -0,0 +1,42 @@ +add_project(json-output-protocol-tests + "Tests for the protocol json of AWS C++ SDK" + testing-resources + aws-cpp-sdk-json-protocol + aws-cpp-sdk-core) + +file(GLOB AWS_JSON_OUTPUT_PROTOCOL_TESTS_SRC + "${CMAKE_CURRENT_SOURCE_DIR}/*.cpp" +) + +if(MSVC AND BUILD_SHARED_LIBS) + add_definitions(-DGTEST_LINKED_AS_SHARED_LIBRARY=1) +endif() + +if (CMAKE_CROSSCOMPILING) + set(AUTORUN_UNIT_TESTS OFF) +endif() + +if (AUTORUN_UNIT_TESTS) + enable_testing() +endif() + +if(PLATFORM_ANDROID AND BUILD_SHARED_LIBS) + add_library(${PROJECT_NAME} "${AWS_JSON_OUTPUT_PROTOCOL_TESTS_SRC}") +else() + add_executable(${PROJECT_NAME} "${AWS_JSON_OUTPUT_PROTOCOL_TESTS_SRC}") +endif() + +set_compiler_flags(${PROJECT_NAME}) +set_compiler_warnings(${PROJECT_NAME}) + +target_link_libraries(${PROJECT_NAME} ${PROJECT_LIBS}) + +if (AUTORUN_UNIT_TESTS) + ADD_CUSTOM_COMMAND( TARGET ${PROJECT_NAME} POST_BUILD + COMMAND ${CMAKE_COMMAND} -E env LD_LIBRARY_PATH=${AWS_AUTORUN_LD_LIBRARY_PATH}:$ENV{LD_LIBRARY_PATH} $ + ARGS "--gtest_brief=1") +endif() + +if(NOT CMAKE_CROSSCOMPILING) + SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES OUTPUT_NAME ${PROJECT_NAME}) +endif() \ No newline at end of file diff --git a/generated/protocol-tests/tests/output/json/RunTests.cpp b/generated/protocol-tests/tests/output/json/RunTests.cpp new file mode 100644 index 00000000000..f2f10a7c789 --- /dev/null +++ b/generated/protocol-tests/tests/output/json/RunTests.cpp @@ -0,0 +1,29 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +int main(int argc, char** argv) +{ + Aws::SDKOptions options; + options.loggingOptions.logLevel = Aws::Utils::Logging::LogLevel::Trace; + + AWS_BEGIN_MEMORY_TEST_EX(options, 1024, 128); + Aws::Testing::InitPlatformTest(options); + Aws::Testing::ParseArgs(argc, argv); + + Aws::InitAPI(options); + ::testing::InitGoogleTest(&argc, argv); + int exitCode = RUN_ALL_TESTS(); + Aws::ShutdownAPI(options); + + AWS_END_MEMORY_TEST_EX; + Aws::Testing::ShutdownPlatformTest(options); + return exitCode; +} diff --git a/generated/protocol-tests/tests/output/json_1_0/CMakeLists.txt b/generated/protocol-tests/tests/output/json_1_0/CMakeLists.txt new file mode 100644 index 00000000000..e66335f9279 --- /dev/null +++ b/generated/protocol-tests/tests/output/json_1_0/CMakeLists.txt @@ -0,0 +1,42 @@ +add_project(json_1_0-output-protocol-tests + "Tests for the protocol json of AWS C++ SDK" + testing-resources + aws-cpp-sdk-json-rpc-10 + aws-cpp-sdk-core) + +file(GLOB AWS_JSON_1_0_OUTPUT_PROTOCOL_TESTS_SRC + "${CMAKE_CURRENT_SOURCE_DIR}/*.cpp" +) + +if(MSVC AND BUILD_SHARED_LIBS) + add_definitions(-DGTEST_LINKED_AS_SHARED_LIBRARY=1) +endif() + +if (CMAKE_CROSSCOMPILING) + set(AUTORUN_UNIT_TESTS OFF) +endif() + +if (AUTORUN_UNIT_TESTS) + enable_testing() +endif() + +if(PLATFORM_ANDROID AND BUILD_SHARED_LIBS) + add_library(${PROJECT_NAME} "${AWS_JSON_1_0_OUTPUT_PROTOCOL_TESTS_SRC}") +else() + add_executable(${PROJECT_NAME} "${AWS_JSON_1_0_OUTPUT_PROTOCOL_TESTS_SRC}") +endif() + +set_compiler_flags(${PROJECT_NAME}) +set_compiler_warnings(${PROJECT_NAME}) + +target_link_libraries(${PROJECT_NAME} ${PROJECT_LIBS}) + +if (AUTORUN_UNIT_TESTS) + ADD_CUSTOM_COMMAND( TARGET ${PROJECT_NAME} POST_BUILD + COMMAND ${CMAKE_COMMAND} -E env LD_LIBRARY_PATH=${AWS_AUTORUN_LD_LIBRARY_PATH}:$ENV{LD_LIBRARY_PATH} $ + ARGS "--gtest_brief=1") +endif() + +if(NOT CMAKE_CROSSCOMPILING) + SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES OUTPUT_NAME ${PROJECT_NAME}) +endif() \ No newline at end of file diff --git a/generated/protocol-tests/tests/output/json_1_0/RunTests.cpp b/generated/protocol-tests/tests/output/json_1_0/RunTests.cpp new file mode 100644 index 00000000000..f2f10a7c789 --- /dev/null +++ b/generated/protocol-tests/tests/output/json_1_0/RunTests.cpp @@ -0,0 +1,29 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +int main(int argc, char** argv) +{ + Aws::SDKOptions options; + options.loggingOptions.logLevel = Aws::Utils::Logging::LogLevel::Trace; + + AWS_BEGIN_MEMORY_TEST_EX(options, 1024, 128); + Aws::Testing::InitPlatformTest(options); + Aws::Testing::ParseArgs(argc, argv); + + Aws::InitAPI(options); + ::testing::InitGoogleTest(&argc, argv); + int exitCode = RUN_ALL_TESTS(); + Aws::ShutdownAPI(options); + + AWS_END_MEMORY_TEST_EX; + Aws::Testing::ShutdownPlatformTest(options); + return exitCode; +} diff --git a/generated/protocol-tests/tests/output/query/CMakeLists.txt b/generated/protocol-tests/tests/output/query/CMakeLists.txt new file mode 100644 index 00000000000..204d66d0117 --- /dev/null +++ b/generated/protocol-tests/tests/output/query/CMakeLists.txt @@ -0,0 +1,42 @@ +add_project(query-output-protocol-tests + "Tests for the protocol query of AWS C++ SDK" + testing-resources + aws-cpp-sdk-query-protocol + aws-cpp-sdk-core) + +file(GLOB AWS_QUERY_OUTPUT_PROTOCOL_TESTS_SRC + "${CMAKE_CURRENT_SOURCE_DIR}/*.cpp" +) + +if(MSVC AND BUILD_SHARED_LIBS) + add_definitions(-DGTEST_LINKED_AS_SHARED_LIBRARY=1) +endif() + +if (CMAKE_CROSSCOMPILING) + set(AUTORUN_UNIT_TESTS OFF) +endif() + +if (AUTORUN_UNIT_TESTS) + enable_testing() +endif() + +if(PLATFORM_ANDROID AND BUILD_SHARED_LIBS) + add_library(${PROJECT_NAME} "${AWS_QUERY_OUTPUT_PROTOCOL_TESTS_SRC}") +else() + add_executable(${PROJECT_NAME} "${AWS_QUERY_OUTPUT_PROTOCOL_TESTS_SRC}") +endif() + +set_compiler_flags(${PROJECT_NAME}) +set_compiler_warnings(${PROJECT_NAME}) + +target_link_libraries(${PROJECT_NAME} ${PROJECT_LIBS}) + +if (AUTORUN_UNIT_TESTS) + ADD_CUSTOM_COMMAND( TARGET ${PROJECT_NAME} POST_BUILD + COMMAND ${CMAKE_COMMAND} -E env LD_LIBRARY_PATH=${AWS_AUTORUN_LD_LIBRARY_PATH}:$ENV{LD_LIBRARY_PATH} $ + ARGS "--gtest_brief=1") +endif() + +if(NOT CMAKE_CROSSCOMPILING) + SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES OUTPUT_NAME ${PROJECT_NAME}) +endif() \ No newline at end of file diff --git a/generated/protocol-tests/tests/output/query/RunTests.cpp b/generated/protocol-tests/tests/output/query/RunTests.cpp new file mode 100644 index 00000000000..f2f10a7c789 --- /dev/null +++ b/generated/protocol-tests/tests/output/query/RunTests.cpp @@ -0,0 +1,29 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +int main(int argc, char** argv) +{ + Aws::SDKOptions options; + options.loggingOptions.logLevel = Aws::Utils::Logging::LogLevel::Trace; + + AWS_BEGIN_MEMORY_TEST_EX(options, 1024, 128); + Aws::Testing::InitPlatformTest(options); + Aws::Testing::ParseArgs(argc, argv); + + Aws::InitAPI(options); + ::testing::InitGoogleTest(&argc, argv); + int exitCode = RUN_ALL_TESTS(); + Aws::ShutdownAPI(options); + + AWS_END_MEMORY_TEST_EX; + Aws::Testing::ShutdownPlatformTest(options); + return exitCode; +} diff --git a/generated/protocol-tests/tests/output/rest-json/CMakeLists.txt b/generated/protocol-tests/tests/output/rest-json/CMakeLists.txt new file mode 100644 index 00000000000..7091253e2a8 --- /dev/null +++ b/generated/protocol-tests/tests/output/rest-json/CMakeLists.txt @@ -0,0 +1,42 @@ +add_project(rest-json-output-protocol-tests + "Tests for the protocol rest-json of AWS C++ SDK" + testing-resources + aws-cpp-sdk-rest-json-protocol + aws-cpp-sdk-core) + +file(GLOB AWS_REST_JSON_OUTPUT_PROTOCOL_TESTS_SRC + "${CMAKE_CURRENT_SOURCE_DIR}/*.cpp" +) + +if(MSVC AND BUILD_SHARED_LIBS) + add_definitions(-DGTEST_LINKED_AS_SHARED_LIBRARY=1) +endif() + +if (CMAKE_CROSSCOMPILING) + set(AUTORUN_UNIT_TESTS OFF) +endif() + +if (AUTORUN_UNIT_TESTS) + enable_testing() +endif() + +if(PLATFORM_ANDROID AND BUILD_SHARED_LIBS) + add_library(${PROJECT_NAME} "${AWS_REST_JSON_OUTPUT_PROTOCOL_TESTS_SRC}") +else() + add_executable(${PROJECT_NAME} "${AWS_REST_JSON_OUTPUT_PROTOCOL_TESTS_SRC}") +endif() + +set_compiler_flags(${PROJECT_NAME}) +set_compiler_warnings(${PROJECT_NAME}) + +target_link_libraries(${PROJECT_NAME} ${PROJECT_LIBS}) + +if (AUTORUN_UNIT_TESTS) + ADD_CUSTOM_COMMAND( TARGET ${PROJECT_NAME} POST_BUILD + COMMAND ${CMAKE_COMMAND} -E env LD_LIBRARY_PATH=${AWS_AUTORUN_LD_LIBRARY_PATH}:$ENV{LD_LIBRARY_PATH} $ + ARGS "--gtest_brief=1") +endif() + +if(NOT CMAKE_CROSSCOMPILING) + SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES OUTPUT_NAME ${PROJECT_NAME}) +endif() \ No newline at end of file diff --git a/generated/protocol-tests/tests/output/rest-json/RunTests.cpp b/generated/protocol-tests/tests/output/rest-json/RunTests.cpp new file mode 100644 index 00000000000..f2f10a7c789 --- /dev/null +++ b/generated/protocol-tests/tests/output/rest-json/RunTests.cpp @@ -0,0 +1,29 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +int main(int argc, char** argv) +{ + Aws::SDKOptions options; + options.loggingOptions.logLevel = Aws::Utils::Logging::LogLevel::Trace; + + AWS_BEGIN_MEMORY_TEST_EX(options, 1024, 128); + Aws::Testing::InitPlatformTest(options); + Aws::Testing::ParseArgs(argc, argv); + + Aws::InitAPI(options); + ::testing::InitGoogleTest(&argc, argv); + int exitCode = RUN_ALL_TESTS(); + Aws::ShutdownAPI(options); + + AWS_END_MEMORY_TEST_EX; + Aws::Testing::ShutdownPlatformTest(options); + return exitCode; +} diff --git a/generated/protocol-tests/tests/output/rest-xml-1/CMakeLists.txt b/generated/protocol-tests/tests/output/rest-xml-1/CMakeLists.txt new file mode 100644 index 00000000000..5b735c7febc --- /dev/null +++ b/generated/protocol-tests/tests/output/rest-xml-1/CMakeLists.txt @@ -0,0 +1,42 @@ +add_project(rest-xml-1-output-protocol-tests + "Tests for the protocol rest-xml of AWS C++ SDK" + testing-resources + aws-cpp-sdk-rest-xml-protocol-namespace + aws-cpp-sdk-core) + +file(GLOB AWS_REST_XML_1_OUTPUT_PROTOCOL_TESTS_SRC + "${CMAKE_CURRENT_SOURCE_DIR}/*.cpp" +) + +if(MSVC AND BUILD_SHARED_LIBS) + add_definitions(-DGTEST_LINKED_AS_SHARED_LIBRARY=1) +endif() + +if (CMAKE_CROSSCOMPILING) + set(AUTORUN_UNIT_TESTS OFF) +endif() + +if (AUTORUN_UNIT_TESTS) + enable_testing() +endif() + +if(PLATFORM_ANDROID AND BUILD_SHARED_LIBS) + add_library(${PROJECT_NAME} "${AWS_REST_XML_1_OUTPUT_PROTOCOL_TESTS_SRC}") +else() + add_executable(${PROJECT_NAME} "${AWS_REST_XML_1_OUTPUT_PROTOCOL_TESTS_SRC}") +endif() + +set_compiler_flags(${PROJECT_NAME}) +set_compiler_warnings(${PROJECT_NAME}) + +target_link_libraries(${PROJECT_NAME} ${PROJECT_LIBS}) + +if (AUTORUN_UNIT_TESTS) + ADD_CUSTOM_COMMAND( TARGET ${PROJECT_NAME} POST_BUILD + COMMAND ${CMAKE_COMMAND} -E env LD_LIBRARY_PATH=${AWS_AUTORUN_LD_LIBRARY_PATH}:$ENV{LD_LIBRARY_PATH} $ + ARGS "--gtest_brief=1") +endif() + +if(NOT CMAKE_CROSSCOMPILING) + SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES OUTPUT_NAME ${PROJECT_NAME}) +endif() \ No newline at end of file diff --git a/generated/protocol-tests/tests/output/rest-xml-1/RunTests.cpp b/generated/protocol-tests/tests/output/rest-xml-1/RunTests.cpp new file mode 100644 index 00000000000..f2f10a7c789 --- /dev/null +++ b/generated/protocol-tests/tests/output/rest-xml-1/RunTests.cpp @@ -0,0 +1,29 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +int main(int argc, char** argv) +{ + Aws::SDKOptions options; + options.loggingOptions.logLevel = Aws::Utils::Logging::LogLevel::Trace; + + AWS_BEGIN_MEMORY_TEST_EX(options, 1024, 128); + Aws::Testing::InitPlatformTest(options); + Aws::Testing::ParseArgs(argc, argv); + + Aws::InitAPI(options); + ::testing::InitGoogleTest(&argc, argv); + int exitCode = RUN_ALL_TESTS(); + Aws::ShutdownAPI(options); + + AWS_END_MEMORY_TEST_EX; + Aws::Testing::ShutdownPlatformTest(options); + return exitCode; +} diff --git a/generated/protocol-tests/tests/output/rest-xml/CMakeLists.txt b/generated/protocol-tests/tests/output/rest-xml/CMakeLists.txt new file mode 100644 index 00000000000..84f229110f5 --- /dev/null +++ b/generated/protocol-tests/tests/output/rest-xml/CMakeLists.txt @@ -0,0 +1,42 @@ +add_project(rest-xml-output-protocol-tests + "Tests for the protocol rest-xml of AWS C++ SDK" + testing-resources + aws-cpp-sdk-rest-xml-protocol + aws-cpp-sdk-core) + +file(GLOB AWS_REST_XML_OUTPUT_PROTOCOL_TESTS_SRC + "${CMAKE_CURRENT_SOURCE_DIR}/*.cpp" +) + +if(MSVC AND BUILD_SHARED_LIBS) + add_definitions(-DGTEST_LINKED_AS_SHARED_LIBRARY=1) +endif() + +if (CMAKE_CROSSCOMPILING) + set(AUTORUN_UNIT_TESTS OFF) +endif() + +if (AUTORUN_UNIT_TESTS) + enable_testing() +endif() + +if(PLATFORM_ANDROID AND BUILD_SHARED_LIBS) + add_library(${PROJECT_NAME} "${AWS_REST_XML_OUTPUT_PROTOCOL_TESTS_SRC}") +else() + add_executable(${PROJECT_NAME} "${AWS_REST_XML_OUTPUT_PROTOCOL_TESTS_SRC}") +endif() + +set_compiler_flags(${PROJECT_NAME}) +set_compiler_warnings(${PROJECT_NAME}) + +target_link_libraries(${PROJECT_NAME} ${PROJECT_LIBS}) + +if (AUTORUN_UNIT_TESTS) + ADD_CUSTOM_COMMAND( TARGET ${PROJECT_NAME} POST_BUILD + COMMAND ${CMAKE_COMMAND} -E env LD_LIBRARY_PATH=${AWS_AUTORUN_LD_LIBRARY_PATH}:$ENV{LD_LIBRARY_PATH} $ + ARGS "--gtest_brief=1") +endif() + +if(NOT CMAKE_CROSSCOMPILING) + SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES OUTPUT_NAME ${PROJECT_NAME}) +endif() \ No newline at end of file diff --git a/generated/protocol-tests/tests/output/rest-xml/RunTests.cpp b/generated/protocol-tests/tests/output/rest-xml/RunTests.cpp new file mode 100644 index 00000000000..f2f10a7c789 --- /dev/null +++ b/generated/protocol-tests/tests/output/rest-xml/RunTests.cpp @@ -0,0 +1,29 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +int main(int argc, char** argv) +{ + Aws::SDKOptions options; + options.loggingOptions.logLevel = Aws::Utils::Logging::LogLevel::Trace; + + AWS_BEGIN_MEMORY_TEST_EX(options, 1024, 128); + Aws::Testing::InitPlatformTest(options); + Aws::Testing::ParseArgs(argc, argv); + + Aws::InitAPI(options); + ::testing::InitGoogleTest(&argc, argv); + int exitCode = RUN_ALL_TESTS(); + Aws::ShutdownAPI(options); + + AWS_END_MEMORY_TEST_EX; + Aws::Testing::ShutdownPlatformTest(options); + return exitCode; +} diff --git a/generated/smoke-tests/acm/ACMSmokeTests.cpp b/generated/smoke-tests/acm/ACMSmokeTests.cpp index 9f016d59682..1056a098b0c 100644 --- a/generated/smoke-tests/acm/ACMSmokeTests.cpp +++ b/generated/smoke-tests/acm/ACMSmokeTests.cpp @@ -2,22 +2,22 @@ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ -#include +#include +#include +#include #include #include -#include -#include -#include #include -#include #include +#include #include -#include +#include +#include #include #include -#include #include #include +#include namespace ACMSmokeTest{ using namespace Aws::Auth; diff --git a/generated/smoke-tests/apigateway/APIGatewaySmokeTests.cpp b/generated/smoke-tests/apigateway/APIGatewaySmokeTests.cpp index 665671059b9..aacaf63b014 100644 --- a/generated/smoke-tests/apigateway/APIGatewaySmokeTests.cpp +++ b/generated/smoke-tests/apigateway/APIGatewaySmokeTests.cpp @@ -2,21 +2,21 @@ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ -#include +#include +#include +#include #include #include -#include -#include -#include #include -#include #include +#include #include -#include +#include +#include #include #include -#include #include +#include namespace APIGatewaySmokeTest{ using namespace Aws::Auth; diff --git a/generated/smoke-tests/application-autoscaling/ApplicationAutoScalingSmokeTests.cpp b/generated/smoke-tests/application-autoscaling/ApplicationAutoScalingSmokeTests.cpp index 41ba2a58919..3c352677d19 100644 --- a/generated/smoke-tests/application-autoscaling/ApplicationAutoScalingSmokeTests.cpp +++ b/generated/smoke-tests/application-autoscaling/ApplicationAutoScalingSmokeTests.cpp @@ -2,21 +2,21 @@ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ -#include +#include +#include +#include #include #include -#include -#include -#include #include -#include #include +#include #include -#include +#include +#include #include #include -#include #include +#include namespace ApplicationAutoScalingSmokeTest{ using namespace Aws::Auth; diff --git a/generated/smoke-tests/appstream/AppStreamSmokeTests.cpp b/generated/smoke-tests/appstream/AppStreamSmokeTests.cpp index 17313df7283..5702e99bebf 100644 --- a/generated/smoke-tests/appstream/AppStreamSmokeTests.cpp +++ b/generated/smoke-tests/appstream/AppStreamSmokeTests.cpp @@ -2,17 +2,17 @@ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ -#include +#include +#include +#include #include #include -#include -#include -#include #include -#include #include +#include #include -#include +#include +#include #include #include #include diff --git a/generated/smoke-tests/athena/AthenaSmokeTests.cpp b/generated/smoke-tests/athena/AthenaSmokeTests.cpp index 83dd9204bba..704ef68c3e3 100644 --- a/generated/smoke-tests/athena/AthenaSmokeTests.cpp +++ b/generated/smoke-tests/athena/AthenaSmokeTests.cpp @@ -2,17 +2,17 @@ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ -#include +#include +#include +#include #include #include -#include -#include -#include #include -#include #include +#include #include -#include +#include +#include #include #include #include diff --git a/generated/smoke-tests/batch/BatchSmokeTests.cpp b/generated/smoke-tests/batch/BatchSmokeTests.cpp index 3249f821496..62e3b39846f 100644 --- a/generated/smoke-tests/batch/BatchSmokeTests.cpp +++ b/generated/smoke-tests/batch/BatchSmokeTests.cpp @@ -2,17 +2,17 @@ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ -#include +#include +#include +#include #include #include -#include -#include -#include #include -#include #include +#include #include -#include +#include +#include #include #include #include diff --git a/generated/smoke-tests/billing/BillingSmokeTests.cpp b/generated/smoke-tests/billing/BillingSmokeTests.cpp index c570498b9c3..6b9c86915d4 100644 --- a/generated/smoke-tests/billing/BillingSmokeTests.cpp +++ b/generated/smoke-tests/billing/BillingSmokeTests.cpp @@ -2,22 +2,22 @@ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ -#include +#include +#include +#include #include #include -#include -#include -#include #include -#include #include +#include #include -#include +#include +#include #include #include +#include #include #include -#include namespace BillingSmokeTest{ using namespace Aws::Auth; diff --git a/generated/smoke-tests/cloudhsmv2/CloudHSMV2SmokeTests.cpp b/generated/smoke-tests/cloudhsmv2/CloudHSMV2SmokeTests.cpp index ef1d8b11977..a99786daadf 100644 --- a/generated/smoke-tests/cloudhsmv2/CloudHSMV2SmokeTests.cpp +++ b/generated/smoke-tests/cloudhsmv2/CloudHSMV2SmokeTests.cpp @@ -2,17 +2,17 @@ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ -#include +#include +#include +#include #include #include -#include -#include -#include #include -#include #include +#include #include -#include +#include +#include #include #include #include diff --git a/generated/smoke-tests/cloudtrail/CloudTrailSmokeTests.cpp b/generated/smoke-tests/cloudtrail/CloudTrailSmokeTests.cpp index 00e32dfb4dc..fbc87a60f41 100644 --- a/generated/smoke-tests/cloudtrail/CloudTrailSmokeTests.cpp +++ b/generated/smoke-tests/cloudtrail/CloudTrailSmokeTests.cpp @@ -2,21 +2,21 @@ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ -#include +#include +#include +#include #include #include -#include -#include -#include #include -#include #include +#include #include -#include +#include +#include #include #include -#include #include +#include namespace CloudTrailSmokeTest{ using namespace Aws::Auth; diff --git a/generated/smoke-tests/codebuild/CodeBuildSmokeTests.cpp b/generated/smoke-tests/codebuild/CodeBuildSmokeTests.cpp index 65c7b9bdc52..c0529c6477f 100644 --- a/generated/smoke-tests/codebuild/CodeBuildSmokeTests.cpp +++ b/generated/smoke-tests/codebuild/CodeBuildSmokeTests.cpp @@ -2,17 +2,17 @@ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ -#include +#include +#include +#include #include #include -#include -#include -#include #include -#include #include +#include #include -#include +#include +#include #include #include #include diff --git a/generated/smoke-tests/codedeploy/CodeDeploySmokeTests.cpp b/generated/smoke-tests/codedeploy/CodeDeploySmokeTests.cpp index 9ae990da825..09c30ac21ac 100644 --- a/generated/smoke-tests/codedeploy/CodeDeploySmokeTests.cpp +++ b/generated/smoke-tests/codedeploy/CodeDeploySmokeTests.cpp @@ -2,17 +2,17 @@ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ -#include +#include +#include +#include #include #include -#include -#include -#include #include -#include #include +#include #include -#include +#include +#include #include #include #include diff --git a/generated/smoke-tests/codepipeline/CodePipelineSmokeTests.cpp b/generated/smoke-tests/codepipeline/CodePipelineSmokeTests.cpp index b447f8df4c8..5f5b923c784 100644 --- a/generated/smoke-tests/codepipeline/CodePipelineSmokeTests.cpp +++ b/generated/smoke-tests/codepipeline/CodePipelineSmokeTests.cpp @@ -2,17 +2,17 @@ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ -#include +#include +#include +#include #include #include -#include -#include -#include #include -#include #include +#include #include -#include +#include +#include #include #include #include diff --git a/generated/smoke-tests/cognito-identity/CognitoIdentitySmokeTests.cpp b/generated/smoke-tests/cognito-identity/CognitoIdentitySmokeTests.cpp index 2d8fe8c2f7c..84cded34cfa 100644 --- a/generated/smoke-tests/cognito-identity/CognitoIdentitySmokeTests.cpp +++ b/generated/smoke-tests/cognito-identity/CognitoIdentitySmokeTests.cpp @@ -2,21 +2,21 @@ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ -#include +#include +#include +#include #include #include -#include -#include -#include #include -#include #include +#include #include -#include +#include +#include #include #include -#include #include +#include namespace CognitoIdentitySmokeTest{ using namespace Aws::Auth; diff --git a/generated/smoke-tests/cognito-idp/CognitoIdentityProviderSmokeTests.cpp b/generated/smoke-tests/cognito-idp/CognitoIdentityProviderSmokeTests.cpp index aa4c15c0312..5cd3754dbb7 100644 --- a/generated/smoke-tests/cognito-idp/CognitoIdentityProviderSmokeTests.cpp +++ b/generated/smoke-tests/cognito-idp/CognitoIdentityProviderSmokeTests.cpp @@ -2,21 +2,21 @@ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ -#include +#include +#include +#include #include #include -#include -#include -#include #include -#include #include +#include #include -#include +#include +#include #include #include -#include #include +#include namespace CognitoIdentityProviderSmokeTest{ using namespace Aws::Auth; diff --git a/generated/smoke-tests/config/ConfigServiceSmokeTests.cpp b/generated/smoke-tests/config/ConfigServiceSmokeTests.cpp index f911d7b242a..b988906365c 100644 --- a/generated/smoke-tests/config/ConfigServiceSmokeTests.cpp +++ b/generated/smoke-tests/config/ConfigServiceSmokeTests.cpp @@ -2,17 +2,17 @@ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ -#include +#include +#include +#include #include #include -#include -#include -#include #include -#include #include +#include #include -#include +#include +#include #include #include #include diff --git a/generated/smoke-tests/cur/CostandUsageReportServiceSmokeTests.cpp b/generated/smoke-tests/cur/CostandUsageReportServiceSmokeTests.cpp index f59b39888f5..49f7fc2962d 100644 --- a/generated/smoke-tests/cur/CostandUsageReportServiceSmokeTests.cpp +++ b/generated/smoke-tests/cur/CostandUsageReportServiceSmokeTests.cpp @@ -2,17 +2,17 @@ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ -#include +#include +#include +#include #include #include -#include -#include -#include #include -#include #include +#include #include -#include +#include +#include #include #include #include diff --git a/generated/smoke-tests/directconnect/DirectConnectSmokeTests.cpp b/generated/smoke-tests/directconnect/DirectConnectSmokeTests.cpp index d9de34d1263..d5ac83259f8 100644 --- a/generated/smoke-tests/directconnect/DirectConnectSmokeTests.cpp +++ b/generated/smoke-tests/directconnect/DirectConnectSmokeTests.cpp @@ -2,22 +2,22 @@ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ -#include +#include +#include +#include #include #include -#include -#include -#include #include -#include #include +#include #include -#include +#include +#include #include #include +#include #include #include -#include namespace DirectConnectSmokeTest{ using namespace Aws::Auth; diff --git a/generated/smoke-tests/directory-service-data/DirectoryServiceDataSmokeTests.cpp b/generated/smoke-tests/directory-service-data/DirectoryServiceDataSmokeTests.cpp index e0a41d24c9e..da1d6e0cb6f 100644 --- a/generated/smoke-tests/directory-service-data/DirectoryServiceDataSmokeTests.cpp +++ b/generated/smoke-tests/directory-service-data/DirectoryServiceDataSmokeTests.cpp @@ -2,23 +2,23 @@ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ -#include +#include +#include +#include #include #include -#include -#include -#include #include -#include #include +#include #include -#include +#include +#include #include #include -#include -#include -#include #include +#include +#include +#include namespace DirectoryServiceDataSmokeTest{ using namespace Aws::Auth; @@ -32,7 +32,7 @@ class DirectoryServiceDataSmokeTestSuite : public Aws::Testing::AwsCppSdkGTestSu static const char ALLOCATION_TAG[]; }; const char DirectoryServiceDataSmokeTestSuite::ALLOCATION_TAG[] = "DirectoryServiceDataSmokeTest"; -TEST_F(DirectoryServiceDataSmokeTestSuite, DescribeUserFailure ) +TEST_F(DirectoryServiceDataSmokeTestSuite, DescribeGroupFailure ) { Aws::DirectoryServiceData::DirectoryServiceDataClientConfiguration clientConfiguration; clientConfiguration.region = "us-west-2"; @@ -41,13 +41,13 @@ TEST_F(DirectoryServiceDataSmokeTestSuite, DescribeUserFailure ) auto clientSp = Aws::MakeShared(ALLOCATION_TAG, clientConfiguration); //populate input params - DescribeUserRequest input; + DescribeGroupRequest input; input.SetDirectoryId("d-1111111111"); - input.SetSAMAccountName("test-user"); - auto outcome = clientSp->DescribeUser(input); + input.SetSAMAccountName("test-group"); + auto outcome = clientSp->DescribeGroup(input); EXPECT_FALSE( outcome.IsSuccess()); } -TEST_F(DirectoryServiceDataSmokeTestSuite, DescribeGroupFailure ) +TEST_F(DirectoryServiceDataSmokeTestSuite, DescribeUserFailure ) { Aws::DirectoryServiceData::DirectoryServiceDataClientConfiguration clientConfiguration; clientConfiguration.region = "us-west-2"; @@ -56,10 +56,10 @@ TEST_F(DirectoryServiceDataSmokeTestSuite, DescribeGroupFailure ) auto clientSp = Aws::MakeShared(ALLOCATION_TAG, clientConfiguration); //populate input params - DescribeGroupRequest input; + DescribeUserRequest input; input.SetDirectoryId("d-1111111111"); - input.SetSAMAccountName("test-group"); - auto outcome = clientSp->DescribeGroup(input); + input.SetSAMAccountName("test-user"); + auto outcome = clientSp->DescribeUser(input); EXPECT_FALSE( outcome.IsSuccess()); } } diff --git a/generated/smoke-tests/discovery/ApplicationDiscoveryServiceSmokeTests.cpp b/generated/smoke-tests/discovery/ApplicationDiscoveryServiceSmokeTests.cpp index 8dcaa34af5c..5464dbe139c 100644 --- a/generated/smoke-tests/discovery/ApplicationDiscoveryServiceSmokeTests.cpp +++ b/generated/smoke-tests/discovery/ApplicationDiscoveryServiceSmokeTests.cpp @@ -2,21 +2,21 @@ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ -#include +#include +#include +#include #include #include -#include -#include -#include #include -#include #include +#include #include -#include +#include +#include #include #include -#include #include +#include namespace ApplicationDiscoveryServiceSmokeTest{ using namespace Aws::Auth; diff --git a/generated/smoke-tests/dms/DatabaseMigrationServiceSmokeTests.cpp b/generated/smoke-tests/dms/DatabaseMigrationServiceSmokeTests.cpp index 880c5c3b27d..cdf637639de 100644 --- a/generated/smoke-tests/dms/DatabaseMigrationServiceSmokeTests.cpp +++ b/generated/smoke-tests/dms/DatabaseMigrationServiceSmokeTests.cpp @@ -2,21 +2,21 @@ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ -#include +#include +#include +#include #include #include -#include -#include -#include #include -#include #include +#include #include -#include +#include +#include #include #include -#include #include +#include namespace DatabaseMigrationServiceSmokeTest{ using namespace Aws::Auth; diff --git a/generated/smoke-tests/docdb/DocDBSmokeTests.cpp b/generated/smoke-tests/docdb/DocDBSmokeTests.cpp index 78cf5f2bae6..85ea90eb8eb 100644 --- a/generated/smoke-tests/docdb/DocDBSmokeTests.cpp +++ b/generated/smoke-tests/docdb/DocDBSmokeTests.cpp @@ -2,23 +2,23 @@ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ -#include +#include +#include +#include #include #include -#include -#include -#include #include -#include #include +#include #include -#include +#include +#include #include #include -#include -#include -#include #include +#include +#include +#include namespace DocDBSmokeTest{ using namespace Aws::Auth; diff --git a/generated/smoke-tests/ds/DirectoryServiceSmokeTests.cpp b/generated/smoke-tests/ds/DirectoryServiceSmokeTests.cpp index 14636304207..b1b356ff021 100644 --- a/generated/smoke-tests/ds/DirectoryServiceSmokeTests.cpp +++ b/generated/smoke-tests/ds/DirectoryServiceSmokeTests.cpp @@ -2,17 +2,17 @@ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ -#include +#include +#include +#include #include #include -#include -#include -#include #include -#include #include +#include #include -#include +#include +#include #include #include #include diff --git a/generated/smoke-tests/dynamodb/DynamoDBSmokeTests.cpp b/generated/smoke-tests/dynamodb/DynamoDBSmokeTests.cpp index 92dce63996e..237298ad0b2 100644 --- a/generated/smoke-tests/dynamodb/DynamoDBSmokeTests.cpp +++ b/generated/smoke-tests/dynamodb/DynamoDBSmokeTests.cpp @@ -2,17 +2,17 @@ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ -#include +#include +#include +#include #include #include -#include -#include -#include #include -#include #include +#include #include -#include +#include +#include #include #include #include diff --git a/generated/smoke-tests/ec2/EC2SmokeTests.cpp b/generated/smoke-tests/ec2/EC2SmokeTests.cpp index 61ff50a105d..f85118e6e78 100644 --- a/generated/smoke-tests/ec2/EC2SmokeTests.cpp +++ b/generated/smoke-tests/ec2/EC2SmokeTests.cpp @@ -2,23 +2,22 @@ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ -#include +#include +#include +#include #include #include -#include -#include -#include #include -#include #include +#include #include -#include +#include +#include #include #include +#include #include #include -#include -#include namespace EC2SmokeTest{ using namespace Aws::Auth; @@ -32,19 +31,6 @@ class EC2SmokeTestSuite : public Aws::Testing::AwsCppSdkGTestSuite { static const char ALLOCATION_TAG[]; }; const char EC2SmokeTestSuite::ALLOCATION_TAG[] = "EC2SmokeTest"; -TEST_F(EC2SmokeTestSuite, DescribeRegionsSuccess ) -{ - Aws::EC2::EC2ClientConfiguration clientConfiguration; - clientConfiguration.region = "us-west-2"; - clientConfiguration.useFIPS = false; - clientConfiguration.useDualStack = false; - auto clientSp = Aws::MakeShared(ALLOCATION_TAG, clientConfiguration); - //populate input params - - DescribeRegionsRequest input; - auto outcome = clientSp->DescribeRegions(input); - EXPECT_TRUE( outcome.IsSuccess()); -} TEST_F(EC2SmokeTestSuite, DescribeInstancesFailure ) { Aws::EC2::EC2ClientConfiguration clientConfiguration; @@ -68,4 +54,17 @@ TEST_F(EC2SmokeTestSuite, DescribeInstancesFailure ) auto outcome = clientSp->DescribeInstances(input); EXPECT_FALSE( outcome.IsSuccess()); } +TEST_F(EC2SmokeTestSuite, DescribeRegionsSuccess ) +{ + Aws::EC2::EC2ClientConfiguration clientConfiguration; + clientConfiguration.region = "us-west-2"; + clientConfiguration.useFIPS = false; + clientConfiguration.useDualStack = false; + auto clientSp = Aws::MakeShared(ALLOCATION_TAG, clientConfiguration); + //populate input params + + DescribeRegionsRequest input; + auto outcome = clientSp->DescribeRegions(input); + EXPECT_TRUE( outcome.IsSuccess()); +} } diff --git a/generated/smoke-tests/ecr/ECRSmokeTests.cpp b/generated/smoke-tests/ecr/ECRSmokeTests.cpp index cba4575d05e..57c20ff3954 100644 --- a/generated/smoke-tests/ecr/ECRSmokeTests.cpp +++ b/generated/smoke-tests/ecr/ECRSmokeTests.cpp @@ -2,22 +2,23 @@ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ -#include +#include +#include +#include #include #include -#include -#include -#include #include -#include #include +#include #include -#include +#include +#include #include #include -#include -#include +#include #include +#include +#include namespace ECRSmokeTest{ using namespace Aws::Auth; @@ -31,7 +32,7 @@ class ECRSmokeTestSuite : public Aws::Testing::AwsCppSdkGTestSuite { static const char ALLOCATION_TAG[]; }; const char ECRSmokeTestSuite::ALLOCATION_TAG[] = "ECRSmokeTest"; -TEST_F(ECRSmokeTestSuite, ListImagesFailure ) +TEST_F(ECRSmokeTestSuite, DescribeRepositoriesSuccess ) { Aws::ECR::ECRClientConfiguration clientConfiguration; clientConfiguration.region = "us-west-2"; @@ -40,12 +41,11 @@ TEST_F(ECRSmokeTestSuite, ListImagesFailure ) auto clientSp = Aws::MakeShared(ALLOCATION_TAG, clientConfiguration); //populate input params - ListImagesRequest input; - input.SetRepositoryName("not-a-real-repository"); - auto outcome = clientSp->ListImages(input); - EXPECT_FALSE( outcome.IsSuccess()); + DescribeRepositoriesRequest input; + auto outcome = clientSp->DescribeRepositories(input); + EXPECT_TRUE( outcome.IsSuccess()); } -TEST_F(ECRSmokeTestSuite, DescribeRepositoriesSuccess ) +TEST_F(ECRSmokeTestSuite, ListImagesFailure ) { Aws::ECR::ECRClientConfiguration clientConfiguration; clientConfiguration.region = "us-west-2"; @@ -54,8 +54,9 @@ TEST_F(ECRSmokeTestSuite, DescribeRepositoriesSuccess ) auto clientSp = Aws::MakeShared(ALLOCATION_TAG, clientConfiguration); //populate input params - DescribeRepositoriesRequest input; - auto outcome = clientSp->DescribeRepositories(input); - EXPECT_TRUE( outcome.IsSuccess()); + ListImagesRequest input; + input.SetRepositoryName("not-a-real-repository"); + auto outcome = clientSp->ListImages(input); + EXPECT_FALSE( outcome.IsSuccess()); } } diff --git a/generated/smoke-tests/ecs/ECSSmokeTests.cpp b/generated/smoke-tests/ecs/ECSSmokeTests.cpp index 65b49afa1df..54b8003e214 100644 --- a/generated/smoke-tests/ecs/ECSSmokeTests.cpp +++ b/generated/smoke-tests/ecs/ECSSmokeTests.cpp @@ -2,17 +2,17 @@ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ -#include +#include +#include +#include #include #include -#include -#include -#include #include -#include #include +#include #include -#include +#include +#include #include #include #include diff --git a/generated/smoke-tests/elasticache/ElastiCacheSmokeTests.cpp b/generated/smoke-tests/elasticache/ElastiCacheSmokeTests.cpp index 5286ba2e430..d1537d4e602 100644 --- a/generated/smoke-tests/elasticache/ElastiCacheSmokeTests.cpp +++ b/generated/smoke-tests/elasticache/ElastiCacheSmokeTests.cpp @@ -2,17 +2,17 @@ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ -#include +#include +#include +#include #include #include -#include -#include -#include #include -#include #include +#include #include -#include +#include +#include #include #include #include diff --git a/generated/smoke-tests/elasticfilesystem/EFSSmokeTests.cpp b/generated/smoke-tests/elasticfilesystem/EFSSmokeTests.cpp index 31974661674..059537d35c9 100644 --- a/generated/smoke-tests/elasticfilesystem/EFSSmokeTests.cpp +++ b/generated/smoke-tests/elasticfilesystem/EFSSmokeTests.cpp @@ -2,17 +2,17 @@ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ -#include +#include +#include +#include #include #include -#include -#include -#include #include -#include #include +#include #include -#include +#include +#include #include #include #include diff --git a/generated/smoke-tests/elasticloadbalancing/ElasticLoadBalancingSmokeTests.cpp b/generated/smoke-tests/elasticloadbalancing/ElasticLoadBalancingSmokeTests.cpp index c3603270640..022d2a5f19b 100644 --- a/generated/smoke-tests/elasticloadbalancing/ElasticLoadBalancingSmokeTests.cpp +++ b/generated/smoke-tests/elasticloadbalancing/ElasticLoadBalancingSmokeTests.cpp @@ -2,22 +2,22 @@ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ -#include +#include +#include +#include #include #include -#include -#include -#include #include -#include #include +#include #include -#include +#include +#include #include #include +#include #include #include -#include namespace ElasticLoadBalancingSmokeTest{ using namespace Aws::Auth; diff --git a/generated/smoke-tests/elasticmapreduce/EMRSmokeTests.cpp b/generated/smoke-tests/elasticmapreduce/EMRSmokeTests.cpp index efb6b6a07be..17aa349a7a5 100644 --- a/generated/smoke-tests/elasticmapreduce/EMRSmokeTests.cpp +++ b/generated/smoke-tests/elasticmapreduce/EMRSmokeTests.cpp @@ -2,23 +2,22 @@ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ -#include +#include +#include +#include #include #include -#include -#include -#include #include -#include #include +#include #include -#include +#include +#include #include #include +#include #include #include -#include -#include namespace EMRSmokeTest{ using namespace Aws::Auth; @@ -32,7 +31,7 @@ class EMRSmokeTestSuite : public Aws::Testing::AwsCppSdkGTestSuite { static const char ALLOCATION_TAG[]; }; const char EMRSmokeTestSuite::ALLOCATION_TAG[] = "EMRSmokeTest"; -TEST_F(EMRSmokeTestSuite, ListClustersSuccess ) +TEST_F(EMRSmokeTestSuite, DescribeClusterFailure ) { Aws::EMR::EMRClientConfiguration clientConfiguration; clientConfiguration.region = "us-west-2"; @@ -41,11 +40,12 @@ TEST_F(EMRSmokeTestSuite, ListClustersSuccess ) auto clientSp = Aws::MakeShared(ALLOCATION_TAG, clientConfiguration); //populate input params - ListClustersRequest input; - auto outcome = clientSp->ListClusters(input); - EXPECT_TRUE( outcome.IsSuccess()); + DescribeClusterRequest input; + input.SetClusterId("fake_cluster"); + auto outcome = clientSp->DescribeCluster(input); + EXPECT_FALSE( outcome.IsSuccess()); } -TEST_F(EMRSmokeTestSuite, DescribeClusterFailure ) +TEST_F(EMRSmokeTestSuite, ListClustersSuccess ) { Aws::EMR::EMRClientConfiguration clientConfiguration; clientConfiguration.region = "us-west-2"; @@ -54,9 +54,8 @@ TEST_F(EMRSmokeTestSuite, DescribeClusterFailure ) auto clientSp = Aws::MakeShared(ALLOCATION_TAG, clientConfiguration); //populate input params - DescribeClusterRequest input; - input.SetClusterId("fake_cluster"); - auto outcome = clientSp->DescribeCluster(input); - EXPECT_FALSE( outcome.IsSuccess()); + ListClustersRequest input; + auto outcome = clientSp->ListClusters(input); + EXPECT_TRUE( outcome.IsSuccess()); } } diff --git a/generated/smoke-tests/elasticsearch-service/ElasticsearchServiceSmokeTests.cpp b/generated/smoke-tests/elasticsearch-service/ElasticsearchServiceSmokeTests.cpp index 23cfac6fda5..418d2c9e0e5 100644 --- a/generated/smoke-tests/elasticsearch-service/ElasticsearchServiceSmokeTests.cpp +++ b/generated/smoke-tests/elasticsearch-service/ElasticsearchServiceSmokeTests.cpp @@ -2,17 +2,17 @@ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ -#include +#include +#include +#include #include #include -#include -#include -#include #include -#include #include +#include #include -#include +#include +#include #include #include #include diff --git a/generated/smoke-tests/elastictranscoder/ElasticTranscoderSmokeTests.cpp b/generated/smoke-tests/elastictranscoder/ElasticTranscoderSmokeTests.cpp index f071cb6fc94..6cf73fe7db3 100644 --- a/generated/smoke-tests/elastictranscoder/ElasticTranscoderSmokeTests.cpp +++ b/generated/smoke-tests/elastictranscoder/ElasticTranscoderSmokeTests.cpp @@ -2,21 +2,21 @@ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ -#include +#include +#include +#include #include #include -#include -#include -#include #include -#include #include +#include #include -#include +#include +#include #include #include -#include #include +#include namespace ElasticTranscoderSmokeTest{ using namespace Aws::Auth; diff --git a/generated/smoke-tests/email/SESSmokeTests.cpp b/generated/smoke-tests/email/SESSmokeTests.cpp index b450c1611f6..0a4fd6d85ce 100644 --- a/generated/smoke-tests/email/SESSmokeTests.cpp +++ b/generated/smoke-tests/email/SESSmokeTests.cpp @@ -2,17 +2,17 @@ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ -#include +#include +#include +#include #include #include -#include -#include -#include #include -#include #include +#include #include -#include +#include +#include #include #include #include diff --git a/generated/smoke-tests/eventbridge/EventBridgeSmokeTests.cpp b/generated/smoke-tests/eventbridge/EventBridgeSmokeTests.cpp index fa7bae0a813..40d6faf0018 100644 --- a/generated/smoke-tests/eventbridge/EventBridgeSmokeTests.cpp +++ b/generated/smoke-tests/eventbridge/EventBridgeSmokeTests.cpp @@ -2,22 +2,22 @@ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ -#include +#include +#include +#include #include #include -#include -#include -#include #include -#include #include +#include #include -#include +#include +#include #include #include #include -#include #include +#include namespace EventBridgeSmokeTest{ using namespace Aws::Auth; diff --git a/generated/smoke-tests/gamelift/GameLiftSmokeTests.cpp b/generated/smoke-tests/gamelift/GameLiftSmokeTests.cpp index 3c6073d91e7..c87b5181f5d 100644 --- a/generated/smoke-tests/gamelift/GameLiftSmokeTests.cpp +++ b/generated/smoke-tests/gamelift/GameLiftSmokeTests.cpp @@ -2,21 +2,21 @@ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ -#include +#include +#include +#include #include #include -#include -#include -#include #include -#include #include +#include #include -#include +#include +#include #include #include -#include #include +#include namespace GameLiftSmokeTest{ using namespace Aws::Auth; diff --git a/generated/smoke-tests/glue/GlueSmokeTests.cpp b/generated/smoke-tests/glue/GlueSmokeTests.cpp index 9e6b1ec59c3..d90f99cb45c 100644 --- a/generated/smoke-tests/glue/GlueSmokeTests.cpp +++ b/generated/smoke-tests/glue/GlueSmokeTests.cpp @@ -2,17 +2,17 @@ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ -#include +#include +#include +#include #include #include -#include -#include -#include #include -#include #include +#include #include -#include +#include +#include #include #include #include diff --git a/generated/smoke-tests/iam/IAMSmokeTests.cpp b/generated/smoke-tests/iam/IAMSmokeTests.cpp index f9734d88b06..13ec3352d23 100644 --- a/generated/smoke-tests/iam/IAMSmokeTests.cpp +++ b/generated/smoke-tests/iam/IAMSmokeTests.cpp @@ -2,23 +2,22 @@ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ -#include +#include +#include +#include #include #include -#include -#include -#include #include -#include #include +#include #include -#include +#include +#include #include #include -#include #include +#include #include -#include namespace IAMSmokeTest{ using namespace Aws::Auth; @@ -32,7 +31,7 @@ class IAMSmokeTestSuite : public Aws::Testing::AwsCppSdkGTestSuite { static const char ALLOCATION_TAG[]; }; const char IAMSmokeTestSuite::ALLOCATION_TAG[] = "IAMSmokeTest"; -TEST_F(IAMSmokeTestSuite, ListUsersSuccess ) +TEST_F(IAMSmokeTestSuite, GetUserFailure ) { Aws::IAM::IAMClientConfiguration clientConfiguration; clientConfiguration.region = "us-east-1"; @@ -41,11 +40,12 @@ TEST_F(IAMSmokeTestSuite, ListUsersSuccess ) auto clientSp = Aws::MakeShared(ALLOCATION_TAG, clientConfiguration); //populate input params - ListUsersRequest input; - auto outcome = clientSp->ListUsers(input); - EXPECT_TRUE( outcome.IsSuccess()); + GetUserRequest input; + input.SetUserName("fake_user"); + auto outcome = clientSp->GetUser(input); + EXPECT_FALSE( outcome.IsSuccess()); } -TEST_F(IAMSmokeTestSuite, GetUserFailure ) +TEST_F(IAMSmokeTestSuite, ListUsersSuccess ) { Aws::IAM::IAMClientConfiguration clientConfiguration; clientConfiguration.region = "us-east-1"; @@ -54,9 +54,8 @@ TEST_F(IAMSmokeTestSuite, GetUserFailure ) auto clientSp = Aws::MakeShared(ALLOCATION_TAG, clientConfiguration); //populate input params - GetUserRequest input; - input.SetUserName("fake_user"); - auto outcome = clientSp->GetUser(input); - EXPECT_FALSE( outcome.IsSuccess()); + ListUsersRequest input; + auto outcome = clientSp->ListUsers(input); + EXPECT_TRUE( outcome.IsSuccess()); } } diff --git a/generated/smoke-tests/invoicing/InvoicingSmokeTests.cpp b/generated/smoke-tests/invoicing/InvoicingSmokeTests.cpp index f8a20d429f3..12a81862de9 100644 --- a/generated/smoke-tests/invoicing/InvoicingSmokeTests.cpp +++ b/generated/smoke-tests/invoicing/InvoicingSmokeTests.cpp @@ -2,17 +2,17 @@ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ -#include +#include +#include +#include #include #include -#include -#include -#include #include -#include #include +#include #include -#include +#include +#include #include #include #include diff --git a/generated/smoke-tests/iot-data/IoTDataPlaneSmokeTests.cpp b/generated/smoke-tests/iot-data/IoTDataPlaneSmokeTests.cpp index 1937f07514b..204a9c0fcdc 100644 --- a/generated/smoke-tests/iot-data/IoTDataPlaneSmokeTests.cpp +++ b/generated/smoke-tests/iot-data/IoTDataPlaneSmokeTests.cpp @@ -2,22 +2,22 @@ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ -#include +#include +#include +#include #include #include -#include -#include -#include #include -#include #include +#include #include -#include +#include +#include #include #include +#include #include #include -#include namespace IoTDataPlaneSmokeTest{ using namespace Aws::Auth; diff --git a/generated/smoke-tests/kinesis/KinesisSmokeTests.cpp b/generated/smoke-tests/kinesis/KinesisSmokeTests.cpp index 99cd620a151..5d63c7e2f6a 100644 --- a/generated/smoke-tests/kinesis/KinesisSmokeTests.cpp +++ b/generated/smoke-tests/kinesis/KinesisSmokeTests.cpp @@ -2,22 +2,22 @@ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ -#include +#include +#include +#include #include #include -#include -#include -#include #include -#include #include +#include #include -#include +#include +#include #include #include #include -#include #include +#include namespace KinesisSmokeTest{ using namespace Aws::Auth; diff --git a/generated/smoke-tests/lightsail/LightsailSmokeTests.cpp b/generated/smoke-tests/lightsail/LightsailSmokeTests.cpp index 3db3c5ce581..17326d2eae2 100644 --- a/generated/smoke-tests/lightsail/LightsailSmokeTests.cpp +++ b/generated/smoke-tests/lightsail/LightsailSmokeTests.cpp @@ -2,17 +2,17 @@ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ -#include +#include +#include +#include #include #include -#include -#include -#include #include -#include #include +#include #include -#include +#include +#include #include #include #include diff --git a/generated/smoke-tests/logs/CloudWatchLogsSmokeTests.cpp b/generated/smoke-tests/logs/CloudWatchLogsSmokeTests.cpp index 73e1604fc81..99ee589349c 100644 --- a/generated/smoke-tests/logs/CloudWatchLogsSmokeTests.cpp +++ b/generated/smoke-tests/logs/CloudWatchLogsSmokeTests.cpp @@ -2,23 +2,23 @@ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ -#include +#include +#include +#include #include #include -#include -#include -#include #include -#include #include +#include #include -#include +#include +#include #include #include +#include +#include #include #include -#include -#include namespace CloudWatchLogsSmokeTest{ using namespace Aws::Auth; diff --git a/generated/smoke-tests/monitoring/CloudWatchSmokeTests.cpp b/generated/smoke-tests/monitoring/CloudWatchSmokeTests.cpp index 8397a86e128..232418f2bfd 100644 --- a/generated/smoke-tests/monitoring/CloudWatchSmokeTests.cpp +++ b/generated/smoke-tests/monitoring/CloudWatchSmokeTests.cpp @@ -2,22 +2,22 @@ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ -#include +#include +#include +#include #include #include -#include -#include -#include #include -#include #include +#include #include -#include +#include +#include #include #include -#include -#include #include +#include +#include namespace CloudWatchSmokeTest{ using namespace Aws::Auth; diff --git a/generated/smoke-tests/neptune/NeptuneSmokeTests.cpp b/generated/smoke-tests/neptune/NeptuneSmokeTests.cpp index b1cdf517458..3b8cea223fc 100644 --- a/generated/smoke-tests/neptune/NeptuneSmokeTests.cpp +++ b/generated/smoke-tests/neptune/NeptuneSmokeTests.cpp @@ -2,23 +2,23 @@ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ -#include +#include +#include +#include #include #include -#include -#include -#include #include -#include #include +#include #include -#include +#include +#include #include #include +#include #include -#include #include -#include +#include namespace NeptuneSmokeTest{ using namespace Aws::Auth; diff --git a/generated/smoke-tests/pinpoint/PinpointSmokeTests.cpp b/generated/smoke-tests/pinpoint/PinpointSmokeTests.cpp index c05aea52936..2af1749a4b8 100644 --- a/generated/smoke-tests/pinpoint/PinpointSmokeTests.cpp +++ b/generated/smoke-tests/pinpoint/PinpointSmokeTests.cpp @@ -2,22 +2,22 @@ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ -#include +#include +#include +#include #include #include -#include -#include -#include #include -#include #include +#include #include -#include +#include +#include #include #include #include -#include #include +#include namespace PinpointSmokeTest{ using namespace Aws::Auth; diff --git a/generated/smoke-tests/polly/PollySmokeTests.cpp b/generated/smoke-tests/polly/PollySmokeTests.cpp index 398705e0c66..f672db49bc7 100644 --- a/generated/smoke-tests/polly/PollySmokeTests.cpp +++ b/generated/smoke-tests/polly/PollySmokeTests.cpp @@ -2,21 +2,21 @@ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ -#include +#include +#include +#include #include #include -#include -#include -#include #include -#include #include +#include #include -#include +#include +#include #include #include -#include #include +#include namespace PollySmokeTest{ using namespace Aws::Auth; diff --git a/generated/smoke-tests/rds/RDSSmokeTests.cpp b/generated/smoke-tests/rds/RDSSmokeTests.cpp index 0da11b71595..57e2b54629d 100644 --- a/generated/smoke-tests/rds/RDSSmokeTests.cpp +++ b/generated/smoke-tests/rds/RDSSmokeTests.cpp @@ -2,23 +2,23 @@ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ -#include +#include +#include +#include #include #include -#include -#include -#include #include -#include #include +#include #include -#include +#include +#include #include #include +#include +#include #include #include -#include -#include namespace RDSSmokeTest{ using namespace Aws::Auth; diff --git a/generated/smoke-tests/rekognition/RekognitionSmokeTests.cpp b/generated/smoke-tests/rekognition/RekognitionSmokeTests.cpp index b3da8ba57fc..cc7b7b75365 100644 --- a/generated/smoke-tests/rekognition/RekognitionSmokeTests.cpp +++ b/generated/smoke-tests/rekognition/RekognitionSmokeTests.cpp @@ -2,21 +2,21 @@ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ -#include +#include +#include +#include #include #include -#include -#include -#include #include -#include #include +#include #include -#include +#include +#include #include #include -#include #include +#include namespace RekognitionSmokeTest{ using namespace Aws::Auth; diff --git a/generated/smoke-tests/route53/Route53SmokeTests.cpp b/generated/smoke-tests/route53/Route53SmokeTests.cpp index 1bdd4ecb39c..917338f66ba 100644 --- a/generated/smoke-tests/route53/Route53SmokeTests.cpp +++ b/generated/smoke-tests/route53/Route53SmokeTests.cpp @@ -2,23 +2,22 @@ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ -#include +#include +#include +#include #include #include -#include -#include -#include #include -#include #include +#include #include -#include +#include +#include #include #include #include #include #include -#include namespace Route53SmokeTest{ using namespace Aws::Auth; @@ -32,7 +31,7 @@ class Route53SmokeTestSuite : public Aws::Testing::AwsCppSdkGTestSuite { static const char ALLOCATION_TAG[]; }; const char Route53SmokeTestSuite::ALLOCATION_TAG[] = "Route53SmokeTest"; -TEST_F(Route53SmokeTestSuite, ListHostedZonesSuccess ) +TEST_F(Route53SmokeTestSuite, GetHostedZoneFailure ) { Aws::Route53::Route53ClientConfiguration clientConfiguration; clientConfiguration.region = "us-east-1"; @@ -41,11 +40,12 @@ TEST_F(Route53SmokeTestSuite, ListHostedZonesSuccess ) auto clientSp = Aws::MakeShared(ALLOCATION_TAG, clientConfiguration); //populate input params - ListHostedZonesRequest input; - auto outcome = clientSp->ListHostedZones(input); - EXPECT_TRUE( outcome.IsSuccess()); + GetHostedZoneRequest input; + input.SetId("fake-zone"); + auto outcome = clientSp->GetHostedZone(input); + EXPECT_FALSE( outcome.IsSuccess()); } -TEST_F(Route53SmokeTestSuite, GetHostedZoneFailure ) +TEST_F(Route53SmokeTestSuite, ListHostedZonesSuccess ) { Aws::Route53::Route53ClientConfiguration clientConfiguration; clientConfiguration.region = "us-east-1"; @@ -54,9 +54,8 @@ TEST_F(Route53SmokeTestSuite, GetHostedZoneFailure ) auto clientSp = Aws::MakeShared(ALLOCATION_TAG, clientConfiguration); //populate input params - GetHostedZoneRequest input; - input.SetId("fake-zone"); - auto outcome = clientSp->GetHostedZone(input); - EXPECT_FALSE( outcome.IsSuccess()); + ListHostedZonesRequest input; + auto outcome = clientSp->ListHostedZones(input); + EXPECT_TRUE( outcome.IsSuccess()); } } diff --git a/generated/smoke-tests/route53domains/Route53DomainsSmokeTests.cpp b/generated/smoke-tests/route53domains/Route53DomainsSmokeTests.cpp index 5ae06ac511d..3b8bd91876b 100644 --- a/generated/smoke-tests/route53domains/Route53DomainsSmokeTests.cpp +++ b/generated/smoke-tests/route53domains/Route53DomainsSmokeTests.cpp @@ -2,21 +2,21 @@ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ -#include +#include +#include +#include #include #include -#include -#include -#include #include -#include #include +#include #include -#include +#include +#include #include #include -#include #include +#include #include namespace Route53DomainsSmokeTest{ diff --git a/generated/smoke-tests/route53resolver/Route53ResolverSmokeTests.cpp b/generated/smoke-tests/route53resolver/Route53ResolverSmokeTests.cpp index 4d52f61d7f4..3afdc442e6e 100644 --- a/generated/smoke-tests/route53resolver/Route53ResolverSmokeTests.cpp +++ b/generated/smoke-tests/route53resolver/Route53ResolverSmokeTests.cpp @@ -2,17 +2,17 @@ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ -#include +#include +#include +#include #include #include -#include -#include -#include #include -#include #include +#include #include -#include +#include +#include #include #include #include diff --git a/generated/smoke-tests/secretsmanager/SecretsManagerSmokeTests.cpp b/generated/smoke-tests/secretsmanager/SecretsManagerSmokeTests.cpp index 109df5d055f..4a9820a5472 100644 --- a/generated/smoke-tests/secretsmanager/SecretsManagerSmokeTests.cpp +++ b/generated/smoke-tests/secretsmanager/SecretsManagerSmokeTests.cpp @@ -2,22 +2,22 @@ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ -#include +#include +#include +#include #include #include -#include -#include -#include #include -#include #include +#include #include -#include +#include +#include #include #include -#include -#include #include +#include +#include namespace SecretsManagerSmokeTest{ using namespace Aws::Auth; diff --git a/generated/smoke-tests/shield/ShieldSmokeTests.cpp b/generated/smoke-tests/shield/ShieldSmokeTests.cpp index 2357a6e0dbe..5a307e0f35e 100644 --- a/generated/smoke-tests/shield/ShieldSmokeTests.cpp +++ b/generated/smoke-tests/shield/ShieldSmokeTests.cpp @@ -2,21 +2,21 @@ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ -#include +#include +#include +#include #include #include -#include -#include -#include #include -#include #include +#include #include -#include +#include +#include #include #include -#include #include +#include namespace ShieldSmokeTest{ using namespace Aws::Auth; diff --git a/generated/smoke-tests/snowball/SnowballSmokeTests.cpp b/generated/smoke-tests/snowball/SnowballSmokeTests.cpp index 699e02ebfef..8c39d2a7eb2 100644 --- a/generated/smoke-tests/snowball/SnowballSmokeTests.cpp +++ b/generated/smoke-tests/snowball/SnowballSmokeTests.cpp @@ -2,21 +2,21 @@ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ -#include +#include +#include +#include #include #include -#include -#include -#include #include -#include #include +#include #include -#include +#include +#include #include #include -#include #include +#include namespace SnowballSmokeTest{ using namespace Aws::Auth; diff --git a/generated/smoke-tests/sns/SNSSmokeTests.cpp b/generated/smoke-tests/sns/SNSSmokeTests.cpp index 7cdcd4dc4c2..b632f8417a0 100644 --- a/generated/smoke-tests/sns/SNSSmokeTests.cpp +++ b/generated/smoke-tests/sns/SNSSmokeTests.cpp @@ -2,21 +2,21 @@ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ -#include +#include +#include +#include #include #include -#include -#include -#include #include -#include #include +#include #include -#include +#include +#include #include #include -#include #include +#include namespace SNSSmokeTest{ using namespace Aws::Auth; diff --git a/generated/smoke-tests/socialmessaging/SocialMessagingSmokeTests.cpp b/generated/smoke-tests/socialmessaging/SocialMessagingSmokeTests.cpp index dd4e07e09ab..ee7abf6f354 100644 --- a/generated/smoke-tests/socialmessaging/SocialMessagingSmokeTests.cpp +++ b/generated/smoke-tests/socialmessaging/SocialMessagingSmokeTests.cpp @@ -2,22 +2,22 @@ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ -#include +#include +#include +#include #include #include -#include -#include -#include #include -#include #include +#include #include -#include +#include +#include #include #include +#include #include #include -#include namespace SocialMessagingSmokeTest{ using namespace Aws::Auth; diff --git a/generated/smoke-tests/ssm-quicksetup/SSMQuickSetupSmokeTests.cpp b/generated/smoke-tests/ssm-quicksetup/SSMQuickSetupSmokeTests.cpp index 8998325e041..abe94cc9496 100644 --- a/generated/smoke-tests/ssm-quicksetup/SSMQuickSetupSmokeTests.cpp +++ b/generated/smoke-tests/ssm-quicksetup/SSMQuickSetupSmokeTests.cpp @@ -2,23 +2,22 @@ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ -#include +#include +#include +#include #include #include -#include -#include -#include #include -#include #include +#include #include -#include +#include +#include #include #include -#include -#include #include -#include +#include +#include namespace SSMQuickSetupSmokeTest{ using namespace Aws::Auth; @@ -32,7 +31,7 @@ class SSMQuickSetupSmokeTestSuite : public Aws::Testing::AwsCppSdkGTestSuite { static const char ALLOCATION_TAG[]; }; const char SSMQuickSetupSmokeTestSuite::ALLOCATION_TAG[] = "SSMQuickSetupSmokeTest"; -TEST_F(SSMQuickSetupSmokeTestSuite, ListConfigurationManagersSuccess ) +TEST_F(SSMQuickSetupSmokeTestSuite, GetConfigurationManagerFailure ) { Aws::SSMQuickSetup::SSMQuickSetupClientConfiguration clientConfiguration; clientConfiguration.region = "us-east-1"; @@ -41,11 +40,12 @@ TEST_F(SSMQuickSetupSmokeTestSuite, ListConfigurationManagersSuccess ) auto clientSp = Aws::MakeShared(ALLOCATION_TAG, clientConfiguration); //populate input params - ListConfigurationManagersRequest input; - auto outcome = clientSp->ListConfigurationManagers(input); - EXPECT_TRUE( outcome.IsSuccess()); + GetConfigurationManagerRequest input; + input.SetManagerArn("arn:aws:ssm-quicksetup:us-east-1:602768233532:configuration-manager/7cac1a1b-64a9-4c9a-97e8-8c68928b8f13"); + auto outcome = clientSp->GetConfigurationManager(input); + EXPECT_FALSE( outcome.IsSuccess()); } -TEST_F(SSMQuickSetupSmokeTestSuite, GetConfigurationManagerFailure ) +TEST_F(SSMQuickSetupSmokeTestSuite, ListConfigurationManagersSuccess ) { Aws::SSMQuickSetup::SSMQuickSetupClientConfiguration clientConfiguration; clientConfiguration.region = "us-east-1"; @@ -54,9 +54,8 @@ TEST_F(SSMQuickSetupSmokeTestSuite, GetConfigurationManagerFailure ) auto clientSp = Aws::MakeShared(ALLOCATION_TAG, clientConfiguration); //populate input params - GetConfigurationManagerRequest input; - input.SetManagerArn("arn:aws:ssm-quicksetup:us-east-1:602768233532:configuration-manager/7cac1a1b-64a9-4c9a-97e8-8c68928b8f13"); - auto outcome = clientSp->GetConfigurationManager(input); - EXPECT_FALSE( outcome.IsSuccess()); + ListConfigurationManagersRequest input; + auto outcome = clientSp->ListConfigurationManagers(input); + EXPECT_TRUE( outcome.IsSuccess()); } } diff --git a/generated/smoke-tests/ssm/SSMSmokeTests.cpp b/generated/smoke-tests/ssm/SSMSmokeTests.cpp index dbaabee328e..dc209f96a93 100644 --- a/generated/smoke-tests/ssm/SSMSmokeTests.cpp +++ b/generated/smoke-tests/ssm/SSMSmokeTests.cpp @@ -2,17 +2,17 @@ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ -#include +#include +#include +#include #include #include -#include -#include -#include #include -#include #include +#include #include -#include +#include +#include #include #include #include diff --git a/generated/smoke-tests/states/SFNSmokeTests.cpp b/generated/smoke-tests/states/SFNSmokeTests.cpp index 542992c5f21..1534382d53b 100644 --- a/generated/smoke-tests/states/SFNSmokeTests.cpp +++ b/generated/smoke-tests/states/SFNSmokeTests.cpp @@ -2,21 +2,21 @@ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ -#include +#include +#include +#include #include #include -#include -#include -#include #include -#include #include +#include #include -#include +#include +#include #include #include -#include #include +#include namespace SFNSmokeTest{ using namespace Aws::Auth; diff --git a/generated/smoke-tests/swf/SWFSmokeTests.cpp b/generated/smoke-tests/swf/SWFSmokeTests.cpp index 3bdd99a15f5..5dbcb1389a3 100644 --- a/generated/smoke-tests/swf/SWFSmokeTests.cpp +++ b/generated/smoke-tests/swf/SWFSmokeTests.cpp @@ -2,21 +2,21 @@ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ -#include +#include +#include +#include #include #include -#include -#include -#include #include -#include #include +#include #include -#include +#include +#include #include #include -#include #include +#include namespace SWFSmokeTest{ using namespace Aws::Auth; diff --git a/generated/smoke-tests/waf-regional/WAFRegionalSmokeTests.cpp b/generated/smoke-tests/waf-regional/WAFRegionalSmokeTests.cpp index 95dd2270041..7b704552a92 100644 --- a/generated/smoke-tests/waf-regional/WAFRegionalSmokeTests.cpp +++ b/generated/smoke-tests/waf-regional/WAFRegionalSmokeTests.cpp @@ -2,21 +2,21 @@ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ -#include +#include +#include +#include #include #include -#include -#include -#include #include -#include #include +#include #include -#include +#include +#include #include #include -#include #include +#include namespace WAFRegionalSmokeTest{ using namespace Aws::Auth; diff --git a/generated/smoke-tests/waf/WAFSmokeTests.cpp b/generated/smoke-tests/waf/WAFSmokeTests.cpp index 77b65f9d59d..9f365062083 100644 --- a/generated/smoke-tests/waf/WAFSmokeTests.cpp +++ b/generated/smoke-tests/waf/WAFSmokeTests.cpp @@ -2,21 +2,21 @@ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ -#include +#include +#include +#include #include #include -#include -#include -#include #include -#include #include +#include #include -#include +#include +#include #include #include -#include #include +#include namespace WAFSmokeTest{ using namespace Aws::Auth; diff --git a/generated/smoke-tests/wafv2/WAFV2SmokeTests.cpp b/generated/smoke-tests/wafv2/WAFV2SmokeTests.cpp index 19116433406..342ba9b7bf5 100644 --- a/generated/smoke-tests/wafv2/WAFV2SmokeTests.cpp +++ b/generated/smoke-tests/wafv2/WAFV2SmokeTests.cpp @@ -2,21 +2,21 @@ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ -#include +#include +#include +#include #include #include -#include -#include -#include #include -#include #include +#include #include -#include +#include +#include #include #include -#include #include +#include namespace WAFV2SmokeTest{ using namespace Aws::Auth; diff --git a/generated/smoke-tests/workspaces/WorkSpacesSmokeTests.cpp b/generated/smoke-tests/workspaces/WorkSpacesSmokeTests.cpp index 2c71b430738..aee0ec7c7da 100644 --- a/generated/smoke-tests/workspaces/WorkSpacesSmokeTests.cpp +++ b/generated/smoke-tests/workspaces/WorkSpacesSmokeTests.cpp @@ -2,21 +2,21 @@ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ -#include +#include +#include +#include #include #include -#include -#include -#include #include -#include #include +#include #include -#include +#include +#include #include #include -#include #include +#include namespace WorkSpacesSmokeTest{ using namespace Aws::Auth; diff --git a/generated/src/aws-cpp-sdk-appstream/include/aws/appstream/model/StorageConnector.h b/generated/src/aws-cpp-sdk-appstream/include/aws/appstream/model/StorageConnector.h index 44bb2a8dc46..2039bbb43c9 100644 --- a/generated/src/aws-cpp-sdk-appstream/include/aws/appstream/model/StorageConnector.h +++ b/generated/src/aws-cpp-sdk-appstream/include/aws/appstream/model/StorageConnector.h @@ -80,6 +80,23 @@ namespace Model inline StorageConnector& AddDomains(Aws::String&& value) { m_domainsHasBeenSet = true; m_domains.push_back(std::move(value)); return *this; } inline StorageConnector& AddDomains(const char* value) { m_domainsHasBeenSet = true; m_domains.push_back(value); return *this; } ///@} + + ///@{ + /** + *

The OneDrive for Business domains where you require admin consent when users + * try to link their OneDrive account to AppStream 2.0. The attribute can only be + * specified when ConnectorType=ONE_DRIVE.

+ */ + inline const Aws::Vector& GetDomainsRequireAdminConsent() const{ return m_domainsRequireAdminConsent; } + inline bool DomainsRequireAdminConsentHasBeenSet() const { return m_domainsRequireAdminConsentHasBeenSet; } + inline void SetDomainsRequireAdminConsent(const Aws::Vector& value) { m_domainsRequireAdminConsentHasBeenSet = true; m_domainsRequireAdminConsent = value; } + inline void SetDomainsRequireAdminConsent(Aws::Vector&& value) { m_domainsRequireAdminConsentHasBeenSet = true; m_domainsRequireAdminConsent = std::move(value); } + inline StorageConnector& WithDomainsRequireAdminConsent(const Aws::Vector& value) { SetDomainsRequireAdminConsent(value); return *this;} + inline StorageConnector& WithDomainsRequireAdminConsent(Aws::Vector&& value) { SetDomainsRequireAdminConsent(std::move(value)); return *this;} + inline StorageConnector& AddDomainsRequireAdminConsent(const Aws::String& value) { m_domainsRequireAdminConsentHasBeenSet = true; m_domainsRequireAdminConsent.push_back(value); return *this; } + inline StorageConnector& AddDomainsRequireAdminConsent(Aws::String&& value) { m_domainsRequireAdminConsentHasBeenSet = true; m_domainsRequireAdminConsent.push_back(std::move(value)); return *this; } + inline StorageConnector& AddDomainsRequireAdminConsent(const char* value) { m_domainsRequireAdminConsentHasBeenSet = true; m_domainsRequireAdminConsent.push_back(value); return *this; } + ///@} private: StorageConnectorType m_connectorType; @@ -90,6 +107,9 @@ namespace Model Aws::Vector m_domains; bool m_domainsHasBeenSet = false; + + Aws::Vector m_domainsRequireAdminConsent; + bool m_domainsRequireAdminConsentHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-appstream/source/model/StorageConnector.cpp b/generated/src/aws-cpp-sdk-appstream/source/model/StorageConnector.cpp index e217e1a254f..fd82647e6e6 100644 --- a/generated/src/aws-cpp-sdk-appstream/source/model/StorageConnector.cpp +++ b/generated/src/aws-cpp-sdk-appstream/source/model/StorageConnector.cpp @@ -22,7 +22,8 @@ StorageConnector::StorageConnector() : m_connectorType(StorageConnectorType::NOT_SET), m_connectorTypeHasBeenSet(false), m_resourceIdentifierHasBeenSet(false), - m_domainsHasBeenSet(false) + m_domainsHasBeenSet(false), + m_domainsRequireAdminConsentHasBeenSet(false) { } @@ -58,6 +59,16 @@ StorageConnector& StorageConnector::operator =(JsonView jsonValue) m_domainsHasBeenSet = true; } + if(jsonValue.ValueExists("DomainsRequireAdminConsent")) + { + Aws::Utils::Array domainsRequireAdminConsentJsonList = jsonValue.GetArray("DomainsRequireAdminConsent"); + for(unsigned domainsRequireAdminConsentIndex = 0; domainsRequireAdminConsentIndex < domainsRequireAdminConsentJsonList.GetLength(); ++domainsRequireAdminConsentIndex) + { + m_domainsRequireAdminConsent.push_back(domainsRequireAdminConsentJsonList[domainsRequireAdminConsentIndex].AsString()); + } + m_domainsRequireAdminConsentHasBeenSet = true; + } + return *this; } @@ -87,6 +98,17 @@ JsonValue StorageConnector::Jsonize() const } + if(m_domainsRequireAdminConsentHasBeenSet) + { + Aws::Utils::Array domainsRequireAdminConsentJsonList(m_domainsRequireAdminConsent.size()); + for(unsigned domainsRequireAdminConsentIndex = 0; domainsRequireAdminConsentIndex < domainsRequireAdminConsentJsonList.GetLength(); ++domainsRequireAdminConsentIndex) + { + domainsRequireAdminConsentJsonList[domainsRequireAdminConsentIndex].AsString(m_domainsRequireAdminConsent[domainsRequireAdminConsentIndex]); + } + payload.WithArray("DomainsRequireAdminConsent", std::move(domainsRequireAdminConsentJsonList)); + + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-appsync/include/aws/appsync/model/EvaluateCodeResult.h b/generated/src/aws-cpp-sdk-appsync/include/aws/appsync/model/EvaluateCodeResult.h index 1d03701dd34..2fc2de0b23c 100644 --- a/generated/src/aws-cpp-sdk-appsync/include/aws/appsync/model/EvaluateCodeResult.h +++ b/generated/src/aws-cpp-sdk-appsync/include/aws/appsync/model/EvaluateCodeResult.h @@ -73,6 +73,36 @@ namespace Model inline EvaluateCodeResult& AddLogs(const char* value) { m_logs.push_back(value); return *this; } ///@} + ///@{ + /** + *

An object available inside each resolver and function handler. A single + * stash object lives through a single resolver run. Therefore, you + * can use the stash to pass arbitrary data across request and response handlers + * and across functions in a pipeline resolver.

+ */ + inline const Aws::String& GetStash() const{ return m_stash; } + inline void SetStash(const Aws::String& value) { m_stash = value; } + inline void SetStash(Aws::String&& value) { m_stash = std::move(value); } + inline void SetStash(const char* value) { m_stash.assign(value); } + inline EvaluateCodeResult& WithStash(const Aws::String& value) { SetStash(value); return *this;} + inline EvaluateCodeResult& WithStash(Aws::String&& value) { SetStash(std::move(value)); return *this;} + inline EvaluateCodeResult& WithStash(const char* value) { SetStash(value); return *this;} + ///@} + + ///@{ + /** + *

The list of runtime errors that are added to the GraphQL operation + * response.

+ */ + inline const Aws::String& GetOutErrors() const{ return m_outErrors; } + inline void SetOutErrors(const Aws::String& value) { m_outErrors = value; } + inline void SetOutErrors(Aws::String&& value) { m_outErrors = std::move(value); } + inline void SetOutErrors(const char* value) { m_outErrors.assign(value); } + inline EvaluateCodeResult& WithOutErrors(const Aws::String& value) { SetOutErrors(value); return *this;} + inline EvaluateCodeResult& WithOutErrors(Aws::String&& value) { SetOutErrors(std::move(value)); return *this;} + inline EvaluateCodeResult& WithOutErrors(const char* value) { SetOutErrors(value); return *this;} + ///@} + ///@{ inline const Aws::String& GetRequestId() const{ return m_requestId; } @@ -91,6 +121,10 @@ namespace Model Aws::Vector m_logs; + Aws::String m_stash; + + Aws::String m_outErrors; + Aws::String m_requestId; }; diff --git a/generated/src/aws-cpp-sdk-appsync/include/aws/appsync/model/EvaluateMappingTemplateResult.h b/generated/src/aws-cpp-sdk-appsync/include/aws/appsync/model/EvaluateMappingTemplateResult.h index 7045673328d..24b0d34efb9 100644 --- a/generated/src/aws-cpp-sdk-appsync/include/aws/appsync/model/EvaluateMappingTemplateResult.h +++ b/generated/src/aws-cpp-sdk-appsync/include/aws/appsync/model/EvaluateMappingTemplateResult.h @@ -73,6 +73,36 @@ namespace Model inline EvaluateMappingTemplateResult& AddLogs(const char* value) { m_logs.push_back(value); return *this; } ///@} + ///@{ + /** + *

An object available inside each resolver and function handler. A single + * stash object lives through a single resolver run. Therefore, you + * can use the stash to pass arbitrary data across request and response handlers + * and across functions in a pipeline resolver.

+ */ + inline const Aws::String& GetStash() const{ return m_stash; } + inline void SetStash(const Aws::String& value) { m_stash = value; } + inline void SetStash(Aws::String&& value) { m_stash = std::move(value); } + inline void SetStash(const char* value) { m_stash.assign(value); } + inline EvaluateMappingTemplateResult& WithStash(const Aws::String& value) { SetStash(value); return *this;} + inline EvaluateMappingTemplateResult& WithStash(Aws::String&& value) { SetStash(std::move(value)); return *this;} + inline EvaluateMappingTemplateResult& WithStash(const char* value) { SetStash(value); return *this;} + ///@} + + ///@{ + /** + *

The list of runtime errors that are added to the GraphQL operation + * response.

+ */ + inline const Aws::String& GetOutErrors() const{ return m_outErrors; } + inline void SetOutErrors(const Aws::String& value) { m_outErrors = value; } + inline void SetOutErrors(Aws::String&& value) { m_outErrors = std::move(value); } + inline void SetOutErrors(const char* value) { m_outErrors.assign(value); } + inline EvaluateMappingTemplateResult& WithOutErrors(const Aws::String& value) { SetOutErrors(value); return *this;} + inline EvaluateMappingTemplateResult& WithOutErrors(Aws::String&& value) { SetOutErrors(std::move(value)); return *this;} + inline EvaluateMappingTemplateResult& WithOutErrors(const char* value) { SetOutErrors(value); return *this;} + ///@} + ///@{ inline const Aws::String& GetRequestId() const{ return m_requestId; } @@ -91,6 +121,10 @@ namespace Model Aws::Vector m_logs; + Aws::String m_stash; + + Aws::String m_outErrors; + Aws::String m_requestId; }; diff --git a/generated/src/aws-cpp-sdk-appsync/source/model/EvaluateCodeResult.cpp b/generated/src/aws-cpp-sdk-appsync/source/model/EvaluateCodeResult.cpp index 404fa72ecf8..3216e1d7bec 100644 --- a/generated/src/aws-cpp-sdk-appsync/source/model/EvaluateCodeResult.cpp +++ b/generated/src/aws-cpp-sdk-appsync/source/model/EvaluateCodeResult.cpp @@ -50,6 +50,18 @@ EvaluateCodeResult& EvaluateCodeResult::operator =(const Aws::AmazonWebServiceRe } } + if(jsonValue.ValueExists("stash")) + { + m_stash = jsonValue.GetString("stash"); + + } + + if(jsonValue.ValueExists("outErrors")) + { + m_outErrors = jsonValue.GetString("outErrors"); + + } + const auto& headers = result.GetHeaderValueCollection(); const auto& requestIdIter = headers.find("x-amzn-requestid"); diff --git a/generated/src/aws-cpp-sdk-appsync/source/model/EvaluateMappingTemplateResult.cpp b/generated/src/aws-cpp-sdk-appsync/source/model/EvaluateMappingTemplateResult.cpp index 3ec524d99be..0049fcb4beb 100644 --- a/generated/src/aws-cpp-sdk-appsync/source/model/EvaluateMappingTemplateResult.cpp +++ b/generated/src/aws-cpp-sdk-appsync/source/model/EvaluateMappingTemplateResult.cpp @@ -50,6 +50,18 @@ EvaluateMappingTemplateResult& EvaluateMappingTemplateResult::operator =(const A } } + if(jsonValue.ValueExists("stash")) + { + m_stash = jsonValue.GetString("stash"); + + } + + if(jsonValue.ValueExists("outErrors")) + { + m_outErrors = jsonValue.GetString("outErrors"); + + } + const auto& headers = result.GetHeaderValueCollection(); const auto& requestIdIter = headers.find("x-amzn-requestid"); diff --git a/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/TransferClient.h b/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/TransferClient.h index 7fce92c2cdf..b48e5e3255d 100644 --- a/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/TransferClient.h +++ b/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/TransferClient.h @@ -136,8 +136,10 @@ namespace Transfer * and the AS2 process. To define an agreement, Transfer Family combines a server, * local profile, partner profile, certificate, and other attributes.

The * partner is identified with the PartnerProfileId, and the AS2 - * process is identified with the LocalProfileId.

See - * Also:

LocalProfileId.

+ *

Specify either BaseDirectory or + * CustomDirectories, but not both. Specifying both causes the command + * to fail.

See Also:

AWS * API Reference

*/ @@ -1821,8 +1823,13 @@ namespace Transfer /** *

Updates some of the parameters for an existing agreement. Provide the * AgreementId and the ServerId for the agreement that - * you want to update, along with the new values for the parameters to - * update.

See Also:

+ *

Specify either BaseDirectory or + * CustomDirectories, but not both. Specifying both causes the command + * to fail.

If you update an agreement from using base directory to custom + * directories, the base directory is no longer used. Similarly, if you change from + * custom directories to a base directory, the custom directories are no longer + * used.

See Also:

AWS * API Reference

*/ diff --git a/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/CreateAgreementRequest.h b/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/CreateAgreementRequest.h index e95882e757c..7af24701b6a 100644 --- a/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/CreateAgreementRequest.h +++ b/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/CreateAgreementRequest.h @@ -11,6 +11,7 @@ #include #include #include +#include #include #include @@ -210,6 +211,22 @@ namespace Model inline CreateAgreementRequest& WithEnforceMessageSigning(const EnforceMessageSigningType& value) { SetEnforceMessageSigning(value); return *this;} inline CreateAgreementRequest& WithEnforceMessageSigning(EnforceMessageSigningType&& value) { SetEnforceMessageSigning(std::move(value)); return *this;} ///@} + + ///@{ + /** + *

A CustomDirectoriesType structure. This structure specifies + * custom directories for storing various AS2 message files. You can specify + * directories for the following types of files.

  • Failed files

    + *
  • MDN files

  • Payload files

  • Status + * files

  • Temporary files

+ */ + inline const CustomDirectoriesType& GetCustomDirectories() const{ return m_customDirectories; } + inline bool CustomDirectoriesHasBeenSet() const { return m_customDirectoriesHasBeenSet; } + inline void SetCustomDirectories(const CustomDirectoriesType& value) { m_customDirectoriesHasBeenSet = true; m_customDirectories = value; } + inline void SetCustomDirectories(CustomDirectoriesType&& value) { m_customDirectoriesHasBeenSet = true; m_customDirectories = std::move(value); } + inline CreateAgreementRequest& WithCustomDirectories(const CustomDirectoriesType& value) { SetCustomDirectories(value); return *this;} + inline CreateAgreementRequest& WithCustomDirectories(CustomDirectoriesType&& value) { SetCustomDirectories(std::move(value)); return *this;} + ///@} private: Aws::String m_description; @@ -241,6 +258,9 @@ namespace Model EnforceMessageSigningType m_enforceMessageSigning; bool m_enforceMessageSigningHasBeenSet = false; + + CustomDirectoriesType m_customDirectories; + bool m_customDirectoriesHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/CustomDirectoriesType.h b/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/CustomDirectoriesType.h new file mode 100644 index 00000000000..a65a254842a --- /dev/null +++ b/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/CustomDirectoriesType.h @@ -0,0 +1,130 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace Transfer +{ +namespace Model +{ + + /** + *

Contains Amazon S3 locations for storing specific types of AS2 message + * files.

See Also:

AWS + * API Reference

+ */ + class CustomDirectoriesType + { + public: + AWS_TRANSFER_API CustomDirectoriesType(); + AWS_TRANSFER_API CustomDirectoriesType(Aws::Utils::Json::JsonView jsonValue); + AWS_TRANSFER_API CustomDirectoriesType& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_TRANSFER_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

Specifies a location to store failed AS2 message files.

+ */ + inline const Aws::String& GetFailedFilesDirectory() const{ return m_failedFilesDirectory; } + inline bool FailedFilesDirectoryHasBeenSet() const { return m_failedFilesDirectoryHasBeenSet; } + inline void SetFailedFilesDirectory(const Aws::String& value) { m_failedFilesDirectoryHasBeenSet = true; m_failedFilesDirectory = value; } + inline void SetFailedFilesDirectory(Aws::String&& value) { m_failedFilesDirectoryHasBeenSet = true; m_failedFilesDirectory = std::move(value); } + inline void SetFailedFilesDirectory(const char* value) { m_failedFilesDirectoryHasBeenSet = true; m_failedFilesDirectory.assign(value); } + inline CustomDirectoriesType& WithFailedFilesDirectory(const Aws::String& value) { SetFailedFilesDirectory(value); return *this;} + inline CustomDirectoriesType& WithFailedFilesDirectory(Aws::String&& value) { SetFailedFilesDirectory(std::move(value)); return *this;} + inline CustomDirectoriesType& WithFailedFilesDirectory(const char* value) { SetFailedFilesDirectory(value); return *this;} + ///@} + + ///@{ + /** + *

Specifies a location to store MDN files.

+ */ + inline const Aws::String& GetMdnFilesDirectory() const{ return m_mdnFilesDirectory; } + inline bool MdnFilesDirectoryHasBeenSet() const { return m_mdnFilesDirectoryHasBeenSet; } + inline void SetMdnFilesDirectory(const Aws::String& value) { m_mdnFilesDirectoryHasBeenSet = true; m_mdnFilesDirectory = value; } + inline void SetMdnFilesDirectory(Aws::String&& value) { m_mdnFilesDirectoryHasBeenSet = true; m_mdnFilesDirectory = std::move(value); } + inline void SetMdnFilesDirectory(const char* value) { m_mdnFilesDirectoryHasBeenSet = true; m_mdnFilesDirectory.assign(value); } + inline CustomDirectoriesType& WithMdnFilesDirectory(const Aws::String& value) { SetMdnFilesDirectory(value); return *this;} + inline CustomDirectoriesType& WithMdnFilesDirectory(Aws::String&& value) { SetMdnFilesDirectory(std::move(value)); return *this;} + inline CustomDirectoriesType& WithMdnFilesDirectory(const char* value) { SetMdnFilesDirectory(value); return *this;} + ///@} + + ///@{ + /** + *

Specifies a location to store the payload for AS2 message files.

+ */ + inline const Aws::String& GetPayloadFilesDirectory() const{ return m_payloadFilesDirectory; } + inline bool PayloadFilesDirectoryHasBeenSet() const { return m_payloadFilesDirectoryHasBeenSet; } + inline void SetPayloadFilesDirectory(const Aws::String& value) { m_payloadFilesDirectoryHasBeenSet = true; m_payloadFilesDirectory = value; } + inline void SetPayloadFilesDirectory(Aws::String&& value) { m_payloadFilesDirectoryHasBeenSet = true; m_payloadFilesDirectory = std::move(value); } + inline void SetPayloadFilesDirectory(const char* value) { m_payloadFilesDirectoryHasBeenSet = true; m_payloadFilesDirectory.assign(value); } + inline CustomDirectoriesType& WithPayloadFilesDirectory(const Aws::String& value) { SetPayloadFilesDirectory(value); return *this;} + inline CustomDirectoriesType& WithPayloadFilesDirectory(Aws::String&& value) { SetPayloadFilesDirectory(std::move(value)); return *this;} + inline CustomDirectoriesType& WithPayloadFilesDirectory(const char* value) { SetPayloadFilesDirectory(value); return *this;} + ///@} + + ///@{ + /** + *

Specifies a location to store AS2 status messages.

+ */ + inline const Aws::String& GetStatusFilesDirectory() const{ return m_statusFilesDirectory; } + inline bool StatusFilesDirectoryHasBeenSet() const { return m_statusFilesDirectoryHasBeenSet; } + inline void SetStatusFilesDirectory(const Aws::String& value) { m_statusFilesDirectoryHasBeenSet = true; m_statusFilesDirectory = value; } + inline void SetStatusFilesDirectory(Aws::String&& value) { m_statusFilesDirectoryHasBeenSet = true; m_statusFilesDirectory = std::move(value); } + inline void SetStatusFilesDirectory(const char* value) { m_statusFilesDirectoryHasBeenSet = true; m_statusFilesDirectory.assign(value); } + inline CustomDirectoriesType& WithStatusFilesDirectory(const Aws::String& value) { SetStatusFilesDirectory(value); return *this;} + inline CustomDirectoriesType& WithStatusFilesDirectory(Aws::String&& value) { SetStatusFilesDirectory(std::move(value)); return *this;} + inline CustomDirectoriesType& WithStatusFilesDirectory(const char* value) { SetStatusFilesDirectory(value); return *this;} + ///@} + + ///@{ + /** + *

Specifies a location to store temporary AS2 message files.

+ */ + inline const Aws::String& GetTemporaryFilesDirectory() const{ return m_temporaryFilesDirectory; } + inline bool TemporaryFilesDirectoryHasBeenSet() const { return m_temporaryFilesDirectoryHasBeenSet; } + inline void SetTemporaryFilesDirectory(const Aws::String& value) { m_temporaryFilesDirectoryHasBeenSet = true; m_temporaryFilesDirectory = value; } + inline void SetTemporaryFilesDirectory(Aws::String&& value) { m_temporaryFilesDirectoryHasBeenSet = true; m_temporaryFilesDirectory = std::move(value); } + inline void SetTemporaryFilesDirectory(const char* value) { m_temporaryFilesDirectoryHasBeenSet = true; m_temporaryFilesDirectory.assign(value); } + inline CustomDirectoriesType& WithTemporaryFilesDirectory(const Aws::String& value) { SetTemporaryFilesDirectory(value); return *this;} + inline CustomDirectoriesType& WithTemporaryFilesDirectory(Aws::String&& value) { SetTemporaryFilesDirectory(std::move(value)); return *this;} + inline CustomDirectoriesType& WithTemporaryFilesDirectory(const char* value) { SetTemporaryFilesDirectory(value); return *this;} + ///@} + private: + + Aws::String m_failedFilesDirectory; + bool m_failedFilesDirectoryHasBeenSet = false; + + Aws::String m_mdnFilesDirectory; + bool m_mdnFilesDirectoryHasBeenSet = false; + + Aws::String m_payloadFilesDirectory; + bool m_payloadFilesDirectoryHasBeenSet = false; + + Aws::String m_statusFilesDirectory; + bool m_statusFilesDirectoryHasBeenSet = false; + + Aws::String m_temporaryFilesDirectory; + bool m_temporaryFilesDirectoryHasBeenSet = false; + }; + +} // namespace Model +} // namespace Transfer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/DescribedAgreement.h b/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/DescribedAgreement.h index 3efa675c79b..9ac331df30a 100644 --- a/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/DescribedAgreement.h +++ b/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/DescribedAgreement.h @@ -10,6 +10,7 @@ #include #include #include +#include #include #include @@ -241,6 +242,22 @@ namespace Model inline DescribedAgreement& WithEnforceMessageSigning(const EnforceMessageSigningType& value) { SetEnforceMessageSigning(value); return *this;} inline DescribedAgreement& WithEnforceMessageSigning(EnforceMessageSigningType&& value) { SetEnforceMessageSigning(std::move(value)); return *this;} ///@} + + ///@{ + /** + *

A CustomDirectoriesType structure. This structure specifies + * custom directories for storing various AS2 message files. You can specify + * directories for the following types of files.

  • Failed files

    + *
  • MDN files

  • Payload files

  • Status + * files

  • Temporary files

+ */ + inline const CustomDirectoriesType& GetCustomDirectories() const{ return m_customDirectories; } + inline bool CustomDirectoriesHasBeenSet() const { return m_customDirectoriesHasBeenSet; } + inline void SetCustomDirectories(const CustomDirectoriesType& value) { m_customDirectoriesHasBeenSet = true; m_customDirectories = value; } + inline void SetCustomDirectories(CustomDirectoriesType&& value) { m_customDirectoriesHasBeenSet = true; m_customDirectories = std::move(value); } + inline DescribedAgreement& WithCustomDirectories(const CustomDirectoriesType& value) { SetCustomDirectories(value); return *this;} + inline DescribedAgreement& WithCustomDirectories(CustomDirectoriesType&& value) { SetCustomDirectories(std::move(value)); return *this;} + ///@} private: Aws::String m_arn; @@ -278,6 +295,9 @@ namespace Model EnforceMessageSigningType m_enforceMessageSigning; bool m_enforceMessageSigningHasBeenSet = false; + + CustomDirectoriesType m_customDirectories; + bool m_customDirectoriesHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/UpdateAgreementRequest.h b/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/UpdateAgreementRequest.h index 2fc6a749b2a..9a7aef6ceba 100644 --- a/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/UpdateAgreementRequest.h +++ b/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/model/UpdateAgreementRequest.h @@ -10,6 +10,7 @@ #include #include #include +#include #include namespace Aws @@ -212,6 +213,22 @@ namespace Model inline UpdateAgreementRequest& WithEnforceMessageSigning(const EnforceMessageSigningType& value) { SetEnforceMessageSigning(value); return *this;} inline UpdateAgreementRequest& WithEnforceMessageSigning(EnforceMessageSigningType&& value) { SetEnforceMessageSigning(std::move(value)); return *this;} ///@} + + ///@{ + /** + *

A CustomDirectoriesType structure. This structure specifies + * custom directories for storing various AS2 message files. You can specify + * directories for the following types of files.

  • Failed files

    + *
  • MDN files

  • Payload files

  • Status + * files

  • Temporary files

+ */ + inline const CustomDirectoriesType& GetCustomDirectories() const{ return m_customDirectories; } + inline bool CustomDirectoriesHasBeenSet() const { return m_customDirectoriesHasBeenSet; } + inline void SetCustomDirectories(const CustomDirectoriesType& value) { m_customDirectoriesHasBeenSet = true; m_customDirectories = value; } + inline void SetCustomDirectories(CustomDirectoriesType&& value) { m_customDirectoriesHasBeenSet = true; m_customDirectories = std::move(value); } + inline UpdateAgreementRequest& WithCustomDirectories(const CustomDirectoriesType& value) { SetCustomDirectories(value); return *this;} + inline UpdateAgreementRequest& WithCustomDirectories(CustomDirectoriesType&& value) { SetCustomDirectories(std::move(value)); return *this;} + ///@} private: Aws::String m_agreementId; @@ -243,6 +260,9 @@ namespace Model EnforceMessageSigningType m_enforceMessageSigning; bool m_enforceMessageSigningHasBeenSet = false; + + CustomDirectoriesType m_customDirectories; + bool m_customDirectoriesHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-awstransfer/source/model/CreateAgreementRequest.cpp b/generated/src/aws-cpp-sdk-awstransfer/source/model/CreateAgreementRequest.cpp index fb6790738b7..37b1bb0415e 100644 --- a/generated/src/aws-cpp-sdk-awstransfer/source/model/CreateAgreementRequest.cpp +++ b/generated/src/aws-cpp-sdk-awstransfer/source/model/CreateAgreementRequest.cpp @@ -25,7 +25,8 @@ CreateAgreementRequest::CreateAgreementRequest() : m_preserveFilename(PreserveFilenameType::NOT_SET), m_preserveFilenameHasBeenSet(false), m_enforceMessageSigning(EnforceMessageSigningType::NOT_SET), - m_enforceMessageSigningHasBeenSet(false) + m_enforceMessageSigningHasBeenSet(false), + m_customDirectoriesHasBeenSet(false) { } @@ -95,6 +96,12 @@ Aws::String CreateAgreementRequest::SerializePayload() const payload.WithString("EnforceMessageSigning", EnforceMessageSigningTypeMapper::GetNameForEnforceMessageSigningType(m_enforceMessageSigning)); } + if(m_customDirectoriesHasBeenSet) + { + payload.WithObject("CustomDirectories", m_customDirectories.Jsonize()); + + } + return payload.View().WriteReadable(); } diff --git a/generated/src/aws-cpp-sdk-awstransfer/source/model/CustomDirectoriesType.cpp b/generated/src/aws-cpp-sdk-awstransfer/source/model/CustomDirectoriesType.cpp new file mode 100644 index 00000000000..192322e7b02 --- /dev/null +++ b/generated/src/aws-cpp-sdk-awstransfer/source/model/CustomDirectoriesType.cpp @@ -0,0 +1,115 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace Transfer +{ +namespace Model +{ + +CustomDirectoriesType::CustomDirectoriesType() : + m_failedFilesDirectoryHasBeenSet(false), + m_mdnFilesDirectoryHasBeenSet(false), + m_payloadFilesDirectoryHasBeenSet(false), + m_statusFilesDirectoryHasBeenSet(false), + m_temporaryFilesDirectoryHasBeenSet(false) +{ +} + +CustomDirectoriesType::CustomDirectoriesType(JsonView jsonValue) + : CustomDirectoriesType() +{ + *this = jsonValue; +} + +CustomDirectoriesType& CustomDirectoriesType::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("FailedFilesDirectory")) + { + m_failedFilesDirectory = jsonValue.GetString("FailedFilesDirectory"); + + m_failedFilesDirectoryHasBeenSet = true; + } + + if(jsonValue.ValueExists("MdnFilesDirectory")) + { + m_mdnFilesDirectory = jsonValue.GetString("MdnFilesDirectory"); + + m_mdnFilesDirectoryHasBeenSet = true; + } + + if(jsonValue.ValueExists("PayloadFilesDirectory")) + { + m_payloadFilesDirectory = jsonValue.GetString("PayloadFilesDirectory"); + + m_payloadFilesDirectoryHasBeenSet = true; + } + + if(jsonValue.ValueExists("StatusFilesDirectory")) + { + m_statusFilesDirectory = jsonValue.GetString("StatusFilesDirectory"); + + m_statusFilesDirectoryHasBeenSet = true; + } + + if(jsonValue.ValueExists("TemporaryFilesDirectory")) + { + m_temporaryFilesDirectory = jsonValue.GetString("TemporaryFilesDirectory"); + + m_temporaryFilesDirectoryHasBeenSet = true; + } + + return *this; +} + +JsonValue CustomDirectoriesType::Jsonize() const +{ + JsonValue payload; + + if(m_failedFilesDirectoryHasBeenSet) + { + payload.WithString("FailedFilesDirectory", m_failedFilesDirectory); + + } + + if(m_mdnFilesDirectoryHasBeenSet) + { + payload.WithString("MdnFilesDirectory", m_mdnFilesDirectory); + + } + + if(m_payloadFilesDirectoryHasBeenSet) + { + payload.WithString("PayloadFilesDirectory", m_payloadFilesDirectory); + + } + + if(m_statusFilesDirectoryHasBeenSet) + { + payload.WithString("StatusFilesDirectory", m_statusFilesDirectory); + + } + + if(m_temporaryFilesDirectoryHasBeenSet) + { + payload.WithString("TemporaryFilesDirectory", m_temporaryFilesDirectory); + + } + + return payload; +} + +} // namespace Model +} // namespace Transfer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-awstransfer/source/model/DescribedAgreement.cpp b/generated/src/aws-cpp-sdk-awstransfer/source/model/DescribedAgreement.cpp index 276a7b26d83..d10938ae98c 100644 --- a/generated/src/aws-cpp-sdk-awstransfer/source/model/DescribedAgreement.cpp +++ b/generated/src/aws-cpp-sdk-awstransfer/source/model/DescribedAgreement.cpp @@ -33,7 +33,8 @@ DescribedAgreement::DescribedAgreement() : m_preserveFilename(PreserveFilenameType::NOT_SET), m_preserveFilenameHasBeenSet(false), m_enforceMessageSigning(EnforceMessageSigningType::NOT_SET), - m_enforceMessageSigningHasBeenSet(false) + m_enforceMessageSigningHasBeenSet(false), + m_customDirectoriesHasBeenSet(false) { } @@ -132,6 +133,13 @@ DescribedAgreement& DescribedAgreement::operator =(JsonView jsonValue) m_enforceMessageSigningHasBeenSet = true; } + if(jsonValue.ValueExists("CustomDirectories")) + { + m_customDirectories = jsonValue.GetObject("CustomDirectories"); + + m_customDirectoriesHasBeenSet = true; + } + return *this; } @@ -213,6 +221,12 @@ JsonValue DescribedAgreement::Jsonize() const payload.WithString("EnforceMessageSigning", EnforceMessageSigningTypeMapper::GetNameForEnforceMessageSigningType(m_enforceMessageSigning)); } + if(m_customDirectoriesHasBeenSet) + { + payload.WithObject("CustomDirectories", m_customDirectories.Jsonize()); + + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-awstransfer/source/model/UpdateAgreementRequest.cpp b/generated/src/aws-cpp-sdk-awstransfer/source/model/UpdateAgreementRequest.cpp index 786b707db12..1c103745dc8 100644 --- a/generated/src/aws-cpp-sdk-awstransfer/source/model/UpdateAgreementRequest.cpp +++ b/generated/src/aws-cpp-sdk-awstransfer/source/model/UpdateAgreementRequest.cpp @@ -25,7 +25,8 @@ UpdateAgreementRequest::UpdateAgreementRequest() : m_preserveFilename(PreserveFilenameType::NOT_SET), m_preserveFilenameHasBeenSet(false), m_enforceMessageSigning(EnforceMessageSigningType::NOT_SET), - m_enforceMessageSigningHasBeenSet(false) + m_enforceMessageSigningHasBeenSet(false), + m_customDirectoriesHasBeenSet(false) { } @@ -90,6 +91,12 @@ Aws::String UpdateAgreementRequest::SerializePayload() const payload.WithString("EnforceMessageSigning", EnforceMessageSigningTypeMapper::GetNameForEnforceMessageSigningType(m_enforceMessageSigning)); } + if(m_customDirectoriesHasBeenSet) + { + payload.WithObject("CustomDirectories", m_customDirectories.Jsonize()); + + } + return payload.View().WriteReadable(); } diff --git a/generated/src/aws-cpp-sdk-bcm-pricing-calculator/include/aws/bcm-pricing-calculator/BCMPricingCalculatorClient.h b/generated/src/aws-cpp-sdk-bcm-pricing-calculator/include/aws/bcm-pricing-calculator/BCMPricingCalculatorClient.h index 6fbc7c5f284..88f6eae3414 100644 --- a/generated/src/aws-cpp-sdk-bcm-pricing-calculator/include/aws/bcm-pricing-calculator/BCMPricingCalculatorClient.h +++ b/generated/src/aws-cpp-sdk-bcm-pricing-calculator/include/aws/bcm-pricing-calculator/BCMPricingCalculatorClient.h @@ -95,8 +95,12 @@ namespace BCMPricingCalculator /** *

Create Compute Savings Plans, EC2 Instance Savings Plans, or EC2 Reserved - * Instances commitments that you want to model in a Bill Scenario.

See - * Also:

+ *

The BatchCreateBillScenarioCommitmentModification operation + * doesn't have its own IAM permission. To authorize this operation for Amazon Web + * Services principals, include the permission + * bcm-pricing-calculator:CreateBillScenarioCommitmentModification in + * your policies.

See Also:

AWS * API Reference

*/ @@ -122,7 +126,12 @@ namespace BCMPricingCalculator /** *

Create Amazon Web Services service usage that you want to model in a Bill - * Scenario.

See Also:

The + * BatchCreateBillScenarioUsageModification operation doesn't have its + * own IAM permission. To authorize this operation for Amazon Web Services + * principals, include the permission + * bcm-pricing-calculator:CreateBillScenarioUsageModification in your + * policies.

See Also:

AWS * API Reference

*/ @@ -148,7 +157,12 @@ namespace BCMPricingCalculator /** *

Create Amazon Web Services service usage that you want to model in a - * Workload Estimate.

See Also:

The + * BatchCreateWorkloadEstimateUsage operation doesn't have its own IAM + * permission. To authorize this operation for Amazon Web Services principals, + * include the permission + * bcm-pricing-calculator:CreateWorkloadEstimateUsage in your + * policies.

See Also:

AWS * API Reference

*/ @@ -180,8 +194,12 @@ namespace BCMPricingCalculator * href="https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_AWSBCMPricingCalculator_BillScenarioCommitmentModificationAction.html"> * BillScenarioCommitmentModificationAction of - * BatchCreateBillScenarioCommitmentModification operation.

See - * Also:

operation.

The + * BatchDeleteBillScenarioCommitmentModification operation doesn't + * have its own IAM permission. To authorize this operation for Amazon Web Services + * principals, include the permission + * bcm-pricing-calculator:DeleteBillScenarioCommitmentModification in + * your policies.

See Also:

AWS * API Reference

*/ @@ -210,7 +228,12 @@ namespace BCMPricingCalculator * usage that you had added and cannot model deletion (or removal) of a existing * usage. If you want model removal of an existing usage, see - * BatchUpdateBillScenarioUsageModification.

See Also:

.

The + * BatchDeleteBillScenarioUsageModification operation doesn't have its + * own IAM permission. To authorize this operation for Amazon Web Services + * principals, include the permission + * bcm-pricing-calculator:DeleteBillScenarioUsageModification in your + * policies.

See Also:

AWS * API Reference

*/ @@ -239,7 +262,12 @@ namespace BCMPricingCalculator * delete usage that you had added and cannot model deletion (or removal) of a * existing usage. If you want model removal of an existing usage, see - * BatchUpdateWorkloadEstimateUsage.

See Also:

.

The + * BatchDeleteWorkloadEstimateUsage operation doesn't have its own IAM + * permission. To authorize this operation for Amazon Web Services principals, + * include the permission + * bcm-pricing-calculator:DeleteWorkloadEstimateUsage in your + * policies.

See Also:

AWS * API Reference

*/ @@ -265,8 +293,12 @@ namespace BCMPricingCalculator /** *

Update a newly added or existing commitment. You can update the commitment - * group based on a commitment ID and a Bill scenario ID.

See Also:

- *

The + * BatchUpdateBillScenarioCommitmentModification operation doesn't + * have its own IAM permission. To authorize this operation for Amazon Web Services + * principals, include the permission + * bcm-pricing-calculator:UpdateBillScenarioCommitmentModification in + * your policies.

See Also:

AWS * API Reference

*/ @@ -293,7 +325,11 @@ namespace BCMPricingCalculator /** *

Update a newly added or existing usage lines. You can update the usage * amounts, usage hour, and usage group based on a usage ID and a Bill scenario ID. - *

See Also:

The BatchUpdateBillScenarioUsageModification + * operation doesn't have its own IAM permission. To authorize this operation for + * Amazon Web Services principals, include the permission + * bcm-pricing-calculator:UpdateBillScenarioUsageModification in your + * policies.

See Also:

AWS * API Reference

*/ @@ -319,8 +355,12 @@ namespace BCMPricingCalculator /** *

Update a newly added or existing usage lines. You can update the usage - * amounts and usage group based on a usage ID and a Workload estimate ID. - *

See Also:

+ *

The BatchUpdateWorkloadEstimateUsage operation doesn't + * have its own IAM permission. To authorize this operation for Amazon Web Services + * principals, include the permission + * bcm-pricing-calculator:UpdateWorkloadEstimateUsage in your + * policies.

See Also:

AWS * API Reference

*/ diff --git a/generated/src/aws-cpp-sdk-bcm-pricing-calculator/include/aws/bcm-pricing-calculator/model/ListBillEstimatesRequest.h b/generated/src/aws-cpp-sdk-bcm-pricing-calculator/include/aws/bcm-pricing-calculator/model/ListBillEstimatesRequest.h index 5f6faa90e35..6b16ad09439 100644 --- a/generated/src/aws-cpp-sdk-bcm-pricing-calculator/include/aws/bcm-pricing-calculator/model/ListBillEstimatesRequest.h +++ b/generated/src/aws-cpp-sdk-bcm-pricing-calculator/include/aws/bcm-pricing-calculator/model/ListBillEstimatesRequest.h @@ -53,7 +53,7 @@ namespace Model ///@{ /** - *

Filter bill estimates based on their creation date.

+ *

Filter bill estimates based on the creation date.

*/ inline const FilterTimestamp& GetCreatedAtFilter() const{ return m_createdAtFilter; } inline bool CreatedAtFilterHasBeenSet() const { return m_createdAtFilterHasBeenSet; } @@ -65,7 +65,7 @@ namespace Model ///@{ /** - *

Filter bill estimates based on their expiration date.

+ *

Filter bill estimates based on the expiration date.

*/ inline const FilterTimestamp& GetExpiresAtFilter() const{ return m_expiresAtFilter; } inline bool ExpiresAtFilterHasBeenSet() const { return m_expiresAtFilterHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-bcm-pricing-calculator/include/aws/bcm-pricing-calculator/model/ListBillScenariosRequest.h b/generated/src/aws-cpp-sdk-bcm-pricing-calculator/include/aws/bcm-pricing-calculator/model/ListBillScenariosRequest.h index c18f9ccc7ff..f62d83249c6 100644 --- a/generated/src/aws-cpp-sdk-bcm-pricing-calculator/include/aws/bcm-pricing-calculator/model/ListBillScenariosRequest.h +++ b/generated/src/aws-cpp-sdk-bcm-pricing-calculator/include/aws/bcm-pricing-calculator/model/ListBillScenariosRequest.h @@ -53,7 +53,7 @@ namespace Model ///@{ /** - *

Filter bill scenarios based on their creation date.

+ *

Filter bill scenarios based on the creation date.

*/ inline const FilterTimestamp& GetCreatedAtFilter() const{ return m_createdAtFilter; } inline bool CreatedAtFilterHasBeenSet() const { return m_createdAtFilterHasBeenSet; } @@ -65,7 +65,7 @@ namespace Model ///@{ /** - *

Filter bill scenarios based on their expiration date.

+ *

Filter bill scenarios based on the expiration date.

*/ inline const FilterTimestamp& GetExpiresAtFilter() const{ return m_expiresAtFilter; } inline bool ExpiresAtFilterHasBeenSet() const { return m_expiresAtFilterHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-bcm-pricing-calculator/include/aws/bcm-pricing-calculator/model/ListWorkloadEstimatesRequest.h b/generated/src/aws-cpp-sdk-bcm-pricing-calculator/include/aws/bcm-pricing-calculator/model/ListWorkloadEstimatesRequest.h index 98b61aac6d6..eac46db2f36 100644 --- a/generated/src/aws-cpp-sdk-bcm-pricing-calculator/include/aws/bcm-pricing-calculator/model/ListWorkloadEstimatesRequest.h +++ b/generated/src/aws-cpp-sdk-bcm-pricing-calculator/include/aws/bcm-pricing-calculator/model/ListWorkloadEstimatesRequest.h @@ -39,7 +39,7 @@ namespace Model ///@{ /** - *

Filter workload estimates based on their creation date.

+ *

Filter workload estimates based on the creation date.

*/ inline const FilterTimestamp& GetCreatedAtFilter() const{ return m_createdAtFilter; } inline bool CreatedAtFilterHasBeenSet() const { return m_createdAtFilterHasBeenSet; } @@ -51,7 +51,7 @@ namespace Model ///@{ /** - *

Filter workload estimates based on their expiration date.

+ *

Filter workload estimates based on the expiration date.

*/ inline const FilterTimestamp& GetExpiresAtFilter() const{ return m_expiresAtFilter; } inline bool ExpiresAtFilterHasBeenSet() const { return m_expiresAtFilterHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/BedrockAgentRuntimeClient.h b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/BedrockAgentRuntimeClient.h index e6bca4bf58d..a6e124195b7 100644 --- a/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/BedrockAgentRuntimeClient.h +++ b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/BedrockAgentRuntimeClient.h @@ -413,8 +413,9 @@ namespace BedrockAgentRuntime *

Queries a knowledge base and generates responses based on the retrieved * results, with output in streaming format.

The CLI doesn't support * streaming operations in Amazon Bedrock, including - * InvokeModelWithResponseStream.

See Also:

- * InvokeModelWithResponseStream.

This operation + * requires permission for the bedrock:RetrieveAndGenerate + * action.

See Also:

AWS * API Reference

*/ diff --git a/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/InternalServerException.h b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/InternalServerException.h new file mode 100644 index 00000000000..85bae7b839a --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/InternalServerException.h @@ -0,0 +1,79 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace BedrockAgentRuntime +{ +namespace Model +{ + + /** + *

An internal server error occurred. Retry your request.

See + * Also:

AWS + * API Reference

+ */ + class InternalServerException + { + public: + AWS_BEDROCKAGENTRUNTIME_API InternalServerException(); + AWS_BEDROCKAGENTRUNTIME_API InternalServerException(Aws::Utils::Json::JsonView jsonValue); + AWS_BEDROCKAGENTRUNTIME_API InternalServerException& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_BEDROCKAGENTRUNTIME_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + + inline const Aws::String& GetMessage() const{ return m_message; } + inline bool MessageHasBeenSet() const { return m_messageHasBeenSet; } + inline void SetMessage(const Aws::String& value) { m_messageHasBeenSet = true; m_message = value; } + inline void SetMessage(Aws::String&& value) { m_messageHasBeenSet = true; m_message = std::move(value); } + inline void SetMessage(const char* value) { m_messageHasBeenSet = true; m_message.assign(value); } + inline InternalServerException& WithMessage(const Aws::String& value) { SetMessage(value); return *this;} + inline InternalServerException& WithMessage(Aws::String&& value) { SetMessage(std::move(value)); return *this;} + inline InternalServerException& WithMessage(const char* value) { SetMessage(value); return *this;} + ///@} + + ///@{ + /** + *

The reason for the exception. If the reason is + * BEDROCK_MODEL_INVOCATION_SERVICE_UNAVAILABLE, the model invocation + * service is unavailable. Retry your request.

+ */ + inline const Aws::String& GetReason() const{ return m_reason; } + inline bool ReasonHasBeenSet() const { return m_reasonHasBeenSet; } + inline void SetReason(const Aws::String& value) { m_reasonHasBeenSet = true; m_reason = value; } + inline void SetReason(Aws::String&& value) { m_reasonHasBeenSet = true; m_reason = std::move(value); } + inline void SetReason(const char* value) { m_reasonHasBeenSet = true; m_reason.assign(value); } + inline InternalServerException& WithReason(const Aws::String& value) { SetReason(value); return *this;} + inline InternalServerException& WithReason(Aws::String&& value) { SetReason(std::move(value)); return *this;} + inline InternalServerException& WithReason(const char* value) { SetReason(value); return *this;} + ///@} + private: + + Aws::String m_message; + bool m_messageHasBeenSet = false; + + Aws::String m_reason; + bool m_reasonHasBeenSet = false; + }; + +} // namespace Model +} // namespace BedrockAgentRuntime +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/RetrieveAndGenerateConfiguration.h b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/RetrieveAndGenerateConfiguration.h index e8988666d83..65288a482ec 100644 --- a/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/RetrieveAndGenerateConfiguration.h +++ b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/model/RetrieveAndGenerateConfiguration.h @@ -29,7 +29,7 @@ namespace Model *

Contains details about the resource being queried.

This data type is * used in the following API operations:

See Also:

AWS * API Reference

diff --git a/generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/BedrockAgentRuntimeErrors.cpp b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/BedrockAgentRuntimeErrors.cpp index 5add004a6c0..e7220c24697 100644 --- a/generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/BedrockAgentRuntimeErrors.cpp +++ b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/BedrockAgentRuntimeErrors.cpp @@ -7,6 +7,7 @@ #include #include #include +#include #include using namespace Aws::Client; @@ -24,6 +25,12 @@ template<> AWS_BEDROCKAGENTRUNTIME_API BadGatewayException BedrockAgentRuntimeEr return BadGatewayException(this->GetJsonPayload().View()); } +template<> AWS_BEDROCKAGENTRUNTIME_API InternalServerException BedrockAgentRuntimeError::GetModeledError() +{ + assert(this->GetErrorType() == BedrockAgentRuntimeErrors::INTERNAL_SERVER); + return InternalServerException(this->GetJsonPayload().View()); +} + template<> AWS_BEDROCKAGENTRUNTIME_API DependencyFailedException BedrockAgentRuntimeError::GetModeledError() { assert(this->GetErrorType() == BedrockAgentRuntimeErrors::DEPENDENCY_FAILED); diff --git a/generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/InternalServerException.cpp b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/InternalServerException.cpp new file mode 100644 index 00000000000..3e91150203a --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/model/InternalServerException.cpp @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace BedrockAgentRuntime +{ +namespace Model +{ + +InternalServerException::InternalServerException() : + m_messageHasBeenSet(false), + m_reasonHasBeenSet(false) +{ +} + +InternalServerException::InternalServerException(JsonView jsonValue) + : InternalServerException() +{ + *this = jsonValue; +} + +InternalServerException& InternalServerException::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("message")) + { + m_message = jsonValue.GetString("message"); + + m_messageHasBeenSet = true; + } + + if(jsonValue.ValueExists("reason")) + { + m_reason = jsonValue.GetString("reason"); + + m_reasonHasBeenSet = true; + } + + return *this; +} + +JsonValue InternalServerException::Jsonize() const +{ + JsonValue payload; + + if(m_messageHasBeenSet) + { + payload.WithString("message", m_message); + + } + + if(m_reasonHasBeenSet) + { + payload.WithString("reason", m_reason); + + } + + return payload; +} + +} // namespace Model +} // namespace BedrockAgentRuntime +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/AgentAlias.h b/generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/AgentAlias.h index 8097cdafb4a..2c1d80b04d9 100644 --- a/generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/AgentAlias.h +++ b/generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/AgentAlias.h @@ -106,7 +106,8 @@ namespace Model * created or updated and is ready to be invoked.

  • FAILED – The * agent alias API operation failed.

  • UPDATING – The agent alias * is being updated.

  • DELETING – The agent alias is being - * deleted.

  • + * deleted.

  • DISSOCIATED - The agent alias has no version + * associated with it.

  • */ inline const AgentAliasStatus& GetAgentAliasStatus() const{ return m_agentAliasStatus; } inline bool AgentAliasStatusHasBeenSet() const { return m_agentAliasStatusHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/AgentAliasStatus.h b/generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/AgentAliasStatus.h index 9e0f7cd79ab..be30daf3106 100644 --- a/generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/AgentAliasStatus.h +++ b/generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/AgentAliasStatus.h @@ -20,7 +20,8 @@ namespace Model PREPARED, FAILED, UPDATING, - DELETING + DELETING, + DISSOCIATED }; namespace AgentAliasStatusMapper diff --git a/generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/CachePointBlock.h b/generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/CachePointBlock.h new file mode 100644 index 00000000000..2841b52f0e4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/CachePointBlock.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace BedrockAgent +{ +namespace Model +{ + + /** + *

    Indicates where a cache checkpoint is located. All information before this + * checkpoint is cached to be accessed on subsequent requests.

    See + * Also:

    AWS + * API Reference

    + */ + class CachePointBlock + { + public: + AWS_BEDROCKAGENT_API CachePointBlock(); + AWS_BEDROCKAGENT_API CachePointBlock(Aws::Utils::Json::JsonView jsonValue); + AWS_BEDROCKAGENT_API CachePointBlock& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_BEDROCKAGENT_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

    Indicates that the CachePointBlock is of the default type

    + */ + inline const CachePointType& GetType() const{ return m_type; } + inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } + inline void SetType(const CachePointType& value) { m_typeHasBeenSet = true; m_type = value; } + inline void SetType(CachePointType&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } + inline CachePointBlock& WithType(const CachePointType& value) { SetType(value); return *this;} + inline CachePointBlock& WithType(CachePointType&& value) { SetType(std::move(value)); return *this;} + ///@} + private: + + CachePointType m_type; + bool m_typeHasBeenSet = false; + }; + +} // namespace Model +} // namespace BedrockAgent +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/CachePointType.h b/generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/CachePointType.h new file mode 100644 index 00000000000..6aef9542c28 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/CachePointType.h @@ -0,0 +1,30 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace BedrockAgent +{ +namespace Model +{ + enum class CachePointType + { + NOT_SET, + default_ + }; + +namespace CachePointTypeMapper +{ +AWS_BEDROCKAGENT_API CachePointType GetCachePointTypeForName(const Aws::String& name); + +AWS_BEDROCKAGENT_API Aws::String GetNameForCachePointType(CachePointType value); +} // namespace CachePointTypeMapper +} // namespace Model +} // namespace BedrockAgent +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/ContentBlock.h b/generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/ContentBlock.h index 8da53dfd1a6..168be7f32c2 100644 --- a/generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/ContentBlock.h +++ b/generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/ContentBlock.h @@ -5,6 +5,7 @@ #pragma once #include +#include #include #include @@ -40,6 +41,18 @@ namespace Model AWS_BEDROCKAGENT_API Aws::Utils::Json::JsonValue Jsonize() const; + ///@{ + /** + *

    Creates a cache checkpoint within a message.

    + */ + inline const CachePointBlock& GetCachePoint() const{ return m_cachePoint; } + inline bool CachePointHasBeenSet() const { return m_cachePointHasBeenSet; } + inline void SetCachePoint(const CachePointBlock& value) { m_cachePointHasBeenSet = true; m_cachePoint = value; } + inline void SetCachePoint(CachePointBlock&& value) { m_cachePointHasBeenSet = true; m_cachePoint = std::move(value); } + inline ContentBlock& WithCachePoint(const CachePointBlock& value) { SetCachePoint(value); return *this;} + inline ContentBlock& WithCachePoint(CachePointBlock&& value) { SetCachePoint(std::move(value)); return *this;} + ///@} + ///@{ /** *

    The text in the message.

    @@ -55,6 +68,9 @@ namespace Model ///@} private: + CachePointBlock m_cachePoint; + bool m_cachePointHasBeenSet = false; + Aws::String m_text; bool m_textHasBeenSet = false; }; diff --git a/generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/FlowValidationDetails.h b/generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/FlowValidationDetails.h index 8aaa7f16431..cfab0a7936d 100644 --- a/generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/FlowValidationDetails.h +++ b/generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/FlowValidationDetails.h @@ -27,6 +27,8 @@ #include #include #include +#include +#include #include #include #include @@ -326,6 +328,30 @@ namespace Model inline FlowValidationDetails& WithUnknownConnectionTargetInput(UnknownConnectionTargetInputFlowValidationDetails&& value) { SetUnknownConnectionTargetInput(std::move(value)); return *this;} ///@} + ///@{ + /** + *

    Details about an unknown input for a node.

    + */ + inline const UnknownNodeInputFlowValidationDetails& GetUnknownNodeInput() const{ return m_unknownNodeInput; } + inline bool UnknownNodeInputHasBeenSet() const { return m_unknownNodeInputHasBeenSet; } + inline void SetUnknownNodeInput(const UnknownNodeInputFlowValidationDetails& value) { m_unknownNodeInputHasBeenSet = true; m_unknownNodeInput = value; } + inline void SetUnknownNodeInput(UnknownNodeInputFlowValidationDetails&& value) { m_unknownNodeInputHasBeenSet = true; m_unknownNodeInput = std::move(value); } + inline FlowValidationDetails& WithUnknownNodeInput(const UnknownNodeInputFlowValidationDetails& value) { SetUnknownNodeInput(value); return *this;} + inline FlowValidationDetails& WithUnknownNodeInput(UnknownNodeInputFlowValidationDetails&& value) { SetUnknownNodeInput(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

    Details about an unknown output for a node.

    + */ + inline const UnknownNodeOutputFlowValidationDetails& GetUnknownNodeOutput() const{ return m_unknownNodeOutput; } + inline bool UnknownNodeOutputHasBeenSet() const { return m_unknownNodeOutputHasBeenSet; } + inline void SetUnknownNodeOutput(const UnknownNodeOutputFlowValidationDetails& value) { m_unknownNodeOutputHasBeenSet = true; m_unknownNodeOutput = value; } + inline void SetUnknownNodeOutput(UnknownNodeOutputFlowValidationDetails&& value) { m_unknownNodeOutputHasBeenSet = true; m_unknownNodeOutput = std::move(value); } + inline FlowValidationDetails& WithUnknownNodeOutput(const UnknownNodeOutputFlowValidationDetails& value) { SetUnknownNodeOutput(value); return *this;} + inline FlowValidationDetails& WithUnknownNodeOutput(UnknownNodeOutputFlowValidationDetails&& value) { SetUnknownNodeOutput(std::move(value)); return *this;} + ///@} + ///@{ /** *

    Details about an unreachable node in the flow.

    @@ -429,6 +455,12 @@ namespace Model UnknownConnectionTargetInputFlowValidationDetails m_unknownConnectionTargetInput; bool m_unknownConnectionTargetInputHasBeenSet = false; + UnknownNodeInputFlowValidationDetails m_unknownNodeInput; + bool m_unknownNodeInputHasBeenSet = false; + + UnknownNodeOutputFlowValidationDetails m_unknownNodeOutput; + bool m_unknownNodeOutputHasBeenSet = false; + UnreachableNodeFlowValidationDetails m_unreachableNode; bool m_unreachableNodeHasBeenSet = false; diff --git a/generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/FlowValidationType.h b/generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/FlowValidationType.h index 8bb14dfbdb1..98a6b2a3d21 100644 --- a/generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/FlowValidationType.h +++ b/generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/FlowValidationType.h @@ -40,7 +40,9 @@ namespace Model MultipleNodeInputConnections, UnfulfilledNodeInput, UnsatisfiedConnectionConditions, - Unspecified + Unspecified, + UnknownNodeInput, + UnknownNodeOutput }; namespace FlowValidationTypeMapper diff --git a/generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/SystemContentBlock.h b/generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/SystemContentBlock.h index fd185137c11..5f37a5d3619 100644 --- a/generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/SystemContentBlock.h +++ b/generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/SystemContentBlock.h @@ -5,6 +5,7 @@ #pragma once #include +#include #include #include @@ -40,6 +41,18 @@ namespace Model AWS_BEDROCKAGENT_API Aws::Utils::Json::JsonValue Jsonize() const; + ///@{ + /** + *

    Creates a cache checkpoint within a tool designation

    + */ + inline const CachePointBlock& GetCachePoint() const{ return m_cachePoint; } + inline bool CachePointHasBeenSet() const { return m_cachePointHasBeenSet; } + inline void SetCachePoint(const CachePointBlock& value) { m_cachePointHasBeenSet = true; m_cachePoint = value; } + inline void SetCachePoint(CachePointBlock&& value) { m_cachePointHasBeenSet = true; m_cachePoint = std::move(value); } + inline SystemContentBlock& WithCachePoint(const CachePointBlock& value) { SetCachePoint(value); return *this;} + inline SystemContentBlock& WithCachePoint(CachePointBlock&& value) { SetCachePoint(std::move(value)); return *this;} + ///@} + ///@{ /** *

    The text in the system prompt.

    @@ -55,6 +68,9 @@ namespace Model ///@} private: + CachePointBlock m_cachePoint; + bool m_cachePointHasBeenSet = false; + Aws::String m_text; bool m_textHasBeenSet = false; }; diff --git a/generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/TextPromptTemplateConfiguration.h b/generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/TextPromptTemplateConfiguration.h index 523135ca553..e1e9bc877a4 100644 --- a/generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/TextPromptTemplateConfiguration.h +++ b/generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/TextPromptTemplateConfiguration.h @@ -5,6 +5,7 @@ #pragma once #include +#include #include #include #include @@ -41,6 +42,18 @@ namespace Model AWS_BEDROCKAGENT_API Aws::Utils::Json::JsonValue Jsonize() const; + ///@{ + /** + *

    A cache checkpoint within a template configuration.

    + */ + inline const CachePointBlock& GetCachePoint() const{ return m_cachePoint; } + inline bool CachePointHasBeenSet() const { return m_cachePointHasBeenSet; } + inline void SetCachePoint(const CachePointBlock& value) { m_cachePointHasBeenSet = true; m_cachePoint = value; } + inline void SetCachePoint(CachePointBlock&& value) { m_cachePointHasBeenSet = true; m_cachePoint = std::move(value); } + inline TextPromptTemplateConfiguration& WithCachePoint(const CachePointBlock& value) { SetCachePoint(value); return *this;} + inline TextPromptTemplateConfiguration& WithCachePoint(CachePointBlock&& value) { SetCachePoint(std::move(value)); return *this;} + ///@} + ///@{ /** *

    An array of the variables in the prompt template.

    @@ -70,6 +83,9 @@ namespace Model ///@} private: + CachePointBlock m_cachePoint; + bool m_cachePointHasBeenSet = false; + Aws::Vector m_inputVariables; bool m_inputVariablesHasBeenSet = false; diff --git a/generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/Tool.h b/generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/Tool.h index 8df58cbec2c..f81eba2a94b 100644 --- a/generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/Tool.h +++ b/generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/Tool.h @@ -5,6 +5,7 @@ #pragma once #include +#include #include #include @@ -41,6 +42,18 @@ namespace Model AWS_BEDROCKAGENT_API Aws::Utils::Json::JsonValue Jsonize() const; + ///@{ + /** + *

    Creates a cache checkpoint within a tool designation

    + */ + inline const CachePointBlock& GetCachePoint() const{ return m_cachePoint; } + inline bool CachePointHasBeenSet() const { return m_cachePointHasBeenSet; } + inline void SetCachePoint(const CachePointBlock& value) { m_cachePointHasBeenSet = true; m_cachePoint = value; } + inline void SetCachePoint(CachePointBlock&& value) { m_cachePointHasBeenSet = true; m_cachePoint = std::move(value); } + inline Tool& WithCachePoint(const CachePointBlock& value) { SetCachePoint(value); return *this;} + inline Tool& WithCachePoint(CachePointBlock&& value) { SetCachePoint(std::move(value)); return *this;} + ///@} + ///@{ /** *

    The specification for the tool.

    @@ -54,6 +67,9 @@ namespace Model ///@} private: + CachePointBlock m_cachePoint; + bool m_cachePointHasBeenSet = false; + ToolSpecification m_toolSpec; bool m_toolSpecHasBeenSet = false; }; diff --git a/generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/UnknownNodeInputFlowValidationDetails.h b/generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/UnknownNodeInputFlowValidationDetails.h new file mode 100644 index 00000000000..4e8dfbd72db --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/UnknownNodeInputFlowValidationDetails.h @@ -0,0 +1,78 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace BedrockAgent +{ +namespace Model +{ + + /** + *

    Details about an unknown input for a node.

    See Also:

    AWS + * API Reference

    + */ + class UnknownNodeInputFlowValidationDetails + { + public: + AWS_BEDROCKAGENT_API UnknownNodeInputFlowValidationDetails(); + AWS_BEDROCKAGENT_API UnknownNodeInputFlowValidationDetails(Aws::Utils::Json::JsonView jsonValue); + AWS_BEDROCKAGENT_API UnknownNodeInputFlowValidationDetails& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_BEDROCKAGENT_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

    The name of the node with the unknown input.

    + */ + inline const Aws::String& GetInput() const{ return m_input; } + inline bool InputHasBeenSet() const { return m_inputHasBeenSet; } + inline void SetInput(const Aws::String& value) { m_inputHasBeenSet = true; m_input = value; } + inline void SetInput(Aws::String&& value) { m_inputHasBeenSet = true; m_input = std::move(value); } + inline void SetInput(const char* value) { m_inputHasBeenSet = true; m_input.assign(value); } + inline UnknownNodeInputFlowValidationDetails& WithInput(const Aws::String& value) { SetInput(value); return *this;} + inline UnknownNodeInputFlowValidationDetails& WithInput(Aws::String&& value) { SetInput(std::move(value)); return *this;} + inline UnknownNodeInputFlowValidationDetails& WithInput(const char* value) { SetInput(value); return *this;} + ///@} + + ///@{ + /** + *

    The name of the unknown input.

    + */ + inline const Aws::String& GetNode() const{ return m_node; } + inline bool NodeHasBeenSet() const { return m_nodeHasBeenSet; } + inline void SetNode(const Aws::String& value) { m_nodeHasBeenSet = true; m_node = value; } + inline void SetNode(Aws::String&& value) { m_nodeHasBeenSet = true; m_node = std::move(value); } + inline void SetNode(const char* value) { m_nodeHasBeenSet = true; m_node.assign(value); } + inline UnknownNodeInputFlowValidationDetails& WithNode(const Aws::String& value) { SetNode(value); return *this;} + inline UnknownNodeInputFlowValidationDetails& WithNode(Aws::String&& value) { SetNode(std::move(value)); return *this;} + inline UnknownNodeInputFlowValidationDetails& WithNode(const char* value) { SetNode(value); return *this;} + ///@} + private: + + Aws::String m_input; + bool m_inputHasBeenSet = false; + + Aws::String m_node; + bool m_nodeHasBeenSet = false; + }; + +} // namespace Model +} // namespace BedrockAgent +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/UnknownNodeOutputFlowValidationDetails.h b/generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/UnknownNodeOutputFlowValidationDetails.h new file mode 100644 index 00000000000..6d0129b71f8 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/model/UnknownNodeOutputFlowValidationDetails.h @@ -0,0 +1,78 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace BedrockAgent +{ +namespace Model +{ + + /** + *

    Details about an unknown output for a node.

    See Also:

    AWS + * API Reference

    + */ + class UnknownNodeOutputFlowValidationDetails + { + public: + AWS_BEDROCKAGENT_API UnknownNodeOutputFlowValidationDetails(); + AWS_BEDROCKAGENT_API UnknownNodeOutputFlowValidationDetails(Aws::Utils::Json::JsonView jsonValue); + AWS_BEDROCKAGENT_API UnknownNodeOutputFlowValidationDetails& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_BEDROCKAGENT_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

    The name of the node with the unknown output.

    + */ + inline const Aws::String& GetNode() const{ return m_node; } + inline bool NodeHasBeenSet() const { return m_nodeHasBeenSet; } + inline void SetNode(const Aws::String& value) { m_nodeHasBeenSet = true; m_node = value; } + inline void SetNode(Aws::String&& value) { m_nodeHasBeenSet = true; m_node = std::move(value); } + inline void SetNode(const char* value) { m_nodeHasBeenSet = true; m_node.assign(value); } + inline UnknownNodeOutputFlowValidationDetails& WithNode(const Aws::String& value) { SetNode(value); return *this;} + inline UnknownNodeOutputFlowValidationDetails& WithNode(Aws::String&& value) { SetNode(std::move(value)); return *this;} + inline UnknownNodeOutputFlowValidationDetails& WithNode(const char* value) { SetNode(value); return *this;} + ///@} + + ///@{ + /** + *

    The name of the unknown output.

    + */ + inline const Aws::String& GetOutput() const{ return m_output; } + inline bool OutputHasBeenSet() const { return m_outputHasBeenSet; } + inline void SetOutput(const Aws::String& value) { m_outputHasBeenSet = true; m_output = value; } + inline void SetOutput(Aws::String&& value) { m_outputHasBeenSet = true; m_output = std::move(value); } + inline void SetOutput(const char* value) { m_outputHasBeenSet = true; m_output.assign(value); } + inline UnknownNodeOutputFlowValidationDetails& WithOutput(const Aws::String& value) { SetOutput(value); return *this;} + inline UnknownNodeOutputFlowValidationDetails& WithOutput(Aws::String&& value) { SetOutput(std::move(value)); return *this;} + inline UnknownNodeOutputFlowValidationDetails& WithOutput(const char* value) { SetOutput(value); return *this;} + ///@} + private: + + Aws::String m_node; + bool m_nodeHasBeenSet = false; + + Aws::String m_output; + bool m_outputHasBeenSet = false; + }; + +} // namespace Model +} // namespace BedrockAgent +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock-agent/source/model/AgentAliasStatus.cpp b/generated/src/aws-cpp-sdk-bedrock-agent/source/model/AgentAliasStatus.cpp index 93ae96f95d6..14927071d62 100644 --- a/generated/src/aws-cpp-sdk-bedrock-agent/source/model/AgentAliasStatus.cpp +++ b/generated/src/aws-cpp-sdk-bedrock-agent/source/model/AgentAliasStatus.cpp @@ -25,6 +25,7 @@ namespace Aws static const int FAILED_HASH = HashingUtils::HashString("FAILED"); static const int UPDATING_HASH = HashingUtils::HashString("UPDATING"); static const int DELETING_HASH = HashingUtils::HashString("DELETING"); + static const int DISSOCIATED_HASH = HashingUtils::HashString("DISSOCIATED"); AgentAliasStatus GetAgentAliasStatusForName(const Aws::String& name) @@ -50,6 +51,10 @@ namespace Aws { return AgentAliasStatus::DELETING; } + else if (hashCode == DISSOCIATED_HASH) + { + return AgentAliasStatus::DISSOCIATED; + } EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) { @@ -76,6 +81,8 @@ namespace Aws return "UPDATING"; case AgentAliasStatus::DELETING: return "DELETING"; + case AgentAliasStatus::DISSOCIATED: + return "DISSOCIATED"; default: EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) diff --git a/generated/src/aws-cpp-sdk-bedrock-agent/source/model/CachePointBlock.cpp b/generated/src/aws-cpp-sdk-bedrock-agent/source/model/CachePointBlock.cpp new file mode 100644 index 00000000000..657f23474ec --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock-agent/source/model/CachePointBlock.cpp @@ -0,0 +1,59 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace BedrockAgent +{ +namespace Model +{ + +CachePointBlock::CachePointBlock() : + m_type(CachePointType::NOT_SET), + m_typeHasBeenSet(false) +{ +} + +CachePointBlock::CachePointBlock(JsonView jsonValue) + : CachePointBlock() +{ + *this = jsonValue; +} + +CachePointBlock& CachePointBlock::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("type")) + { + m_type = CachePointTypeMapper::GetCachePointTypeForName(jsonValue.GetString("type")); + + m_typeHasBeenSet = true; + } + + return *this; +} + +JsonValue CachePointBlock::Jsonize() const +{ + JsonValue payload; + + if(m_typeHasBeenSet) + { + payload.WithString("type", CachePointTypeMapper::GetNameForCachePointType(m_type)); + } + + return payload; +} + +} // namespace Model +} // namespace BedrockAgent +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock-agent/source/model/CachePointType.cpp b/generated/src/aws-cpp-sdk-bedrock-agent/source/model/CachePointType.cpp new file mode 100644 index 00000000000..b82e444c23c --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock-agent/source/model/CachePointType.cpp @@ -0,0 +1,65 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace BedrockAgent + { + namespace Model + { + namespace CachePointTypeMapper + { + + static const int default__HASH = HashingUtils::HashString("default"); + + + CachePointType GetCachePointTypeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == default__HASH) + { + return CachePointType::default_; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return CachePointType::NOT_SET; + } + + Aws::String GetNameForCachePointType(CachePointType enumValue) + { + switch(enumValue) + { + case CachePointType::NOT_SET: + return {}; + case CachePointType::default_: + return "default"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace CachePointTypeMapper + } // namespace Model + } // namespace BedrockAgent +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock-agent/source/model/ContentBlock.cpp b/generated/src/aws-cpp-sdk-bedrock-agent/source/model/ContentBlock.cpp index 5ef71220477..f836764165c 100644 --- a/generated/src/aws-cpp-sdk-bedrock-agent/source/model/ContentBlock.cpp +++ b/generated/src/aws-cpp-sdk-bedrock-agent/source/model/ContentBlock.cpp @@ -19,6 +19,7 @@ namespace Model { ContentBlock::ContentBlock() : + m_cachePointHasBeenSet(false), m_textHasBeenSet(false) { } @@ -31,6 +32,13 @@ ContentBlock::ContentBlock(JsonView jsonValue) ContentBlock& ContentBlock::operator =(JsonView jsonValue) { + if(jsonValue.ValueExists("cachePoint")) + { + m_cachePoint = jsonValue.GetObject("cachePoint"); + + m_cachePointHasBeenSet = true; + } + if(jsonValue.ValueExists("text")) { m_text = jsonValue.GetString("text"); @@ -45,6 +53,12 @@ JsonValue ContentBlock::Jsonize() const { JsonValue payload; + if(m_cachePointHasBeenSet) + { + payload.WithObject("cachePoint", m_cachePoint.Jsonize()); + + } + if(m_textHasBeenSet) { payload.WithString("text", m_text); diff --git a/generated/src/aws-cpp-sdk-bedrock-agent/source/model/FlowValidationDetails.cpp b/generated/src/aws-cpp-sdk-bedrock-agent/source/model/FlowValidationDetails.cpp index 0cb852beceb..3834a63cdb0 100644 --- a/generated/src/aws-cpp-sdk-bedrock-agent/source/model/FlowValidationDetails.cpp +++ b/generated/src/aws-cpp-sdk-bedrock-agent/source/model/FlowValidationDetails.cpp @@ -41,6 +41,8 @@ FlowValidationDetails::FlowValidationDetails() : m_unknownConnectionSourceOutputHasBeenSet(false), m_unknownConnectionTargetHasBeenSet(false), m_unknownConnectionTargetInputHasBeenSet(false), + m_unknownNodeInputHasBeenSet(false), + m_unknownNodeOutputHasBeenSet(false), m_unreachableNodeHasBeenSet(false), m_unsatisfiedConnectionConditionsHasBeenSet(false), m_unspecifiedHasBeenSet(false) @@ -209,6 +211,20 @@ FlowValidationDetails& FlowValidationDetails::operator =(JsonView jsonValue) m_unknownConnectionTargetInputHasBeenSet = true; } + if(jsonValue.ValueExists("unknownNodeInput")) + { + m_unknownNodeInput = jsonValue.GetObject("unknownNodeInput"); + + m_unknownNodeInputHasBeenSet = true; + } + + if(jsonValue.ValueExists("unknownNodeOutput")) + { + m_unknownNodeOutput = jsonValue.GetObject("unknownNodeOutput"); + + m_unknownNodeOutputHasBeenSet = true; + } + if(jsonValue.ValueExists("unreachableNode")) { m_unreachableNode = jsonValue.GetObject("unreachableNode"); @@ -369,6 +385,18 @@ JsonValue FlowValidationDetails::Jsonize() const } + if(m_unknownNodeInputHasBeenSet) + { + payload.WithObject("unknownNodeInput", m_unknownNodeInput.Jsonize()); + + } + + if(m_unknownNodeOutputHasBeenSet) + { + payload.WithObject("unknownNodeOutput", m_unknownNodeOutput.Jsonize()); + + } + if(m_unreachableNodeHasBeenSet) { payload.WithObject("unreachableNode", m_unreachableNode.Jsonize()); diff --git a/generated/src/aws-cpp-sdk-bedrock-agent/source/model/FlowValidationType.cpp b/generated/src/aws-cpp-sdk-bedrock-agent/source/model/FlowValidationType.cpp index d46024a1c2f..daa6009ae7e 100644 --- a/generated/src/aws-cpp-sdk-bedrock-agent/source/model/FlowValidationType.cpp +++ b/generated/src/aws-cpp-sdk-bedrock-agent/source/model/FlowValidationType.cpp @@ -45,6 +45,8 @@ namespace Aws static const int UnfulfilledNodeInput_HASH = HashingUtils::HashString("UnfulfilledNodeInput"); static const int UnsatisfiedConnectionConditions_HASH = HashingUtils::HashString("UnsatisfiedConnectionConditions"); static const int Unspecified_HASH = HashingUtils::HashString("Unspecified"); + static const int UnknownNodeInput_HASH = HashingUtils::HashString("UnknownNodeInput"); + static const int UnknownNodeOutput_HASH = HashingUtils::HashString("UnknownNodeOutput"); FlowValidationType GetFlowValidationTypeForName(const Aws::String& name) @@ -150,6 +152,14 @@ namespace Aws { return FlowValidationType::Unspecified; } + else if (hashCode == UnknownNodeInput_HASH) + { + return FlowValidationType::UnknownNodeInput; + } + else if (hashCode == UnknownNodeOutput_HASH) + { + return FlowValidationType::UnknownNodeOutput; + } EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) { @@ -216,6 +226,10 @@ namespace Aws return "UnsatisfiedConnectionConditions"; case FlowValidationType::Unspecified: return "Unspecified"; + case FlowValidationType::UnknownNodeInput: + return "UnknownNodeInput"; + case FlowValidationType::UnknownNodeOutput: + return "UnknownNodeOutput"; default: EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) diff --git a/generated/src/aws-cpp-sdk-bedrock-agent/source/model/SystemContentBlock.cpp b/generated/src/aws-cpp-sdk-bedrock-agent/source/model/SystemContentBlock.cpp index 4a7ca0e5341..2f1e202dd80 100644 --- a/generated/src/aws-cpp-sdk-bedrock-agent/source/model/SystemContentBlock.cpp +++ b/generated/src/aws-cpp-sdk-bedrock-agent/source/model/SystemContentBlock.cpp @@ -19,6 +19,7 @@ namespace Model { SystemContentBlock::SystemContentBlock() : + m_cachePointHasBeenSet(false), m_textHasBeenSet(false) { } @@ -31,6 +32,13 @@ SystemContentBlock::SystemContentBlock(JsonView jsonValue) SystemContentBlock& SystemContentBlock::operator =(JsonView jsonValue) { + if(jsonValue.ValueExists("cachePoint")) + { + m_cachePoint = jsonValue.GetObject("cachePoint"); + + m_cachePointHasBeenSet = true; + } + if(jsonValue.ValueExists("text")) { m_text = jsonValue.GetString("text"); @@ -45,6 +53,12 @@ JsonValue SystemContentBlock::Jsonize() const { JsonValue payload; + if(m_cachePointHasBeenSet) + { + payload.WithObject("cachePoint", m_cachePoint.Jsonize()); + + } + if(m_textHasBeenSet) { payload.WithString("text", m_text); diff --git a/generated/src/aws-cpp-sdk-bedrock-agent/source/model/TextPromptTemplateConfiguration.cpp b/generated/src/aws-cpp-sdk-bedrock-agent/source/model/TextPromptTemplateConfiguration.cpp index f6409016c95..158a4547950 100644 --- a/generated/src/aws-cpp-sdk-bedrock-agent/source/model/TextPromptTemplateConfiguration.cpp +++ b/generated/src/aws-cpp-sdk-bedrock-agent/source/model/TextPromptTemplateConfiguration.cpp @@ -19,6 +19,7 @@ namespace Model { TextPromptTemplateConfiguration::TextPromptTemplateConfiguration() : + m_cachePointHasBeenSet(false), m_inputVariablesHasBeenSet(false), m_textHasBeenSet(false) { @@ -32,6 +33,13 @@ TextPromptTemplateConfiguration::TextPromptTemplateConfiguration(JsonView jsonVa TextPromptTemplateConfiguration& TextPromptTemplateConfiguration::operator =(JsonView jsonValue) { + if(jsonValue.ValueExists("cachePoint")) + { + m_cachePoint = jsonValue.GetObject("cachePoint"); + + m_cachePointHasBeenSet = true; + } + if(jsonValue.ValueExists("inputVariables")) { Aws::Utils::Array inputVariablesJsonList = jsonValue.GetArray("inputVariables"); @@ -56,6 +64,12 @@ JsonValue TextPromptTemplateConfiguration::Jsonize() const { JsonValue payload; + if(m_cachePointHasBeenSet) + { + payload.WithObject("cachePoint", m_cachePoint.Jsonize()); + + } + if(m_inputVariablesHasBeenSet) { Aws::Utils::Array inputVariablesJsonList(m_inputVariables.size()); diff --git a/generated/src/aws-cpp-sdk-bedrock-agent/source/model/Tool.cpp b/generated/src/aws-cpp-sdk-bedrock-agent/source/model/Tool.cpp index f48839533a6..7a94a318608 100644 --- a/generated/src/aws-cpp-sdk-bedrock-agent/source/model/Tool.cpp +++ b/generated/src/aws-cpp-sdk-bedrock-agent/source/model/Tool.cpp @@ -19,6 +19,7 @@ namespace Model { Tool::Tool() : + m_cachePointHasBeenSet(false), m_toolSpecHasBeenSet(false) { } @@ -31,6 +32,13 @@ Tool::Tool(JsonView jsonValue) Tool& Tool::operator =(JsonView jsonValue) { + if(jsonValue.ValueExists("cachePoint")) + { + m_cachePoint = jsonValue.GetObject("cachePoint"); + + m_cachePointHasBeenSet = true; + } + if(jsonValue.ValueExists("toolSpec")) { m_toolSpec = jsonValue.GetObject("toolSpec"); @@ -45,6 +53,12 @@ JsonValue Tool::Jsonize() const { JsonValue payload; + if(m_cachePointHasBeenSet) + { + payload.WithObject("cachePoint", m_cachePoint.Jsonize()); + + } + if(m_toolSpecHasBeenSet) { payload.WithObject("toolSpec", m_toolSpec.Jsonize()); diff --git a/generated/src/aws-cpp-sdk-bedrock-agent/source/model/UnknownNodeInputFlowValidationDetails.cpp b/generated/src/aws-cpp-sdk-bedrock-agent/source/model/UnknownNodeInputFlowValidationDetails.cpp new file mode 100644 index 00000000000..dc5e02d1e4f --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock-agent/source/model/UnknownNodeInputFlowValidationDetails.cpp @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace BedrockAgent +{ +namespace Model +{ + +UnknownNodeInputFlowValidationDetails::UnknownNodeInputFlowValidationDetails() : + m_inputHasBeenSet(false), + m_nodeHasBeenSet(false) +{ +} + +UnknownNodeInputFlowValidationDetails::UnknownNodeInputFlowValidationDetails(JsonView jsonValue) + : UnknownNodeInputFlowValidationDetails() +{ + *this = jsonValue; +} + +UnknownNodeInputFlowValidationDetails& UnknownNodeInputFlowValidationDetails::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("input")) + { + m_input = jsonValue.GetString("input"); + + m_inputHasBeenSet = true; + } + + if(jsonValue.ValueExists("node")) + { + m_node = jsonValue.GetString("node"); + + m_nodeHasBeenSet = true; + } + + return *this; +} + +JsonValue UnknownNodeInputFlowValidationDetails::Jsonize() const +{ + JsonValue payload; + + if(m_inputHasBeenSet) + { + payload.WithString("input", m_input); + + } + + if(m_nodeHasBeenSet) + { + payload.WithString("node", m_node); + + } + + return payload; +} + +} // namespace Model +} // namespace BedrockAgent +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock-agent/source/model/UnknownNodeOutputFlowValidationDetails.cpp b/generated/src/aws-cpp-sdk-bedrock-agent/source/model/UnknownNodeOutputFlowValidationDetails.cpp new file mode 100644 index 00000000000..410454fe57e --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock-agent/source/model/UnknownNodeOutputFlowValidationDetails.cpp @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace BedrockAgent +{ +namespace Model +{ + +UnknownNodeOutputFlowValidationDetails::UnknownNodeOutputFlowValidationDetails() : + m_nodeHasBeenSet(false), + m_outputHasBeenSet(false) +{ +} + +UnknownNodeOutputFlowValidationDetails::UnknownNodeOutputFlowValidationDetails(JsonView jsonValue) + : UnknownNodeOutputFlowValidationDetails() +{ + *this = jsonValue; +} + +UnknownNodeOutputFlowValidationDetails& UnknownNodeOutputFlowValidationDetails::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("node")) + { + m_node = jsonValue.GetString("node"); + + m_nodeHasBeenSet = true; + } + + if(jsonValue.ValueExists("output")) + { + m_output = jsonValue.GetString("output"); + + m_outputHasBeenSet = true; + } + + return *this; +} + +JsonValue UnknownNodeOutputFlowValidationDetails::Jsonize() const +{ + JsonValue payload; + + if(m_nodeHasBeenSet) + { + payload.WithString("node", m_node); + + } + + if(m_outputHasBeenSet) + { + payload.WithString("output", m_output); + + } + + return payload; +} + +} // namespace Model +} // namespace BedrockAgent +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cloudtrail/include/aws/cloudtrail/CloudTrailClient.h b/generated/src/aws-cpp-sdk-cloudtrail/include/aws/cloudtrail/CloudTrailClient.h index dea05e18199..c986c4bcc43 100644 --- a/generated/src/aws-cpp-sdk-cloudtrail/include/aws/cloudtrail/CloudTrailClient.h +++ b/generated/src/aws-cpp-sdk-cloudtrail/include/aws/cloudtrail/CloudTrailClient.h @@ -791,9 +791,9 @@ namespace CloudTrail * event data store, or the TrailName parameter to the get Insights * event selectors for a trail. You cannot specify these parameters together.

    *

    For more information, see Logging - * CloudTrail Insights events in the CloudTrail User - * Guide.

    See Also:

    Working + * with CloudTrail Insights in the CloudTrail User Guide.

    See + * Also:

    AWS * API Reference

    */ @@ -1270,10 +1270,10 @@ namespace CloudTrail * your trail to log Insights events, be sure the event selector or advanced event * selector enables logging of the Insights event types you want configured for * your trail. For more information about logging Insights events, see Logging - * Insights events in the CloudTrail User Guide. By default, trails - * created without specific event selectors are configured to log all read and - * write management events, and no data events or network activity events.

    + * href="https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-insights-events-with-cloudtrail.html">Working + * with CloudTrail Insights in the CloudTrail User Guide. By default, + * trails created without specific event selectors are configured to log all read + * and write management events, and no data events or network activity events.

    *

    When an event occurs in your account, CloudTrail evaluates the event * selectors or advanced event selectors in all trails. For each trail, if the * event matches any event selector, the trail processes and logs the event. If the @@ -1348,9 +1348,9 @@ namespace CloudTrail * management events. You can call GetEventDataStore on an event data * store to check whether the event data store logs management events.

    For * more information, see Logging - * CloudTrail Insights events in the CloudTrail User - * Guide.

    See Also:

    Working + * with CloudTrail Insights in the CloudTrail User Guide.

    See + * Also:

    AWS * API Reference

    */ @@ -1486,6 +1486,33 @@ namespace CloudTrail return SubmitAsync(&CloudTrailClient::RestoreEventDataStore, request, handler, context); } + /** + *

    Searches sample queries and returns a list of sample queries that are sorted + * by relevance. To search for sample queries, provide a natural language + * SearchPhrase in English.

    See Also:

    AWS + * API Reference

    + */ + virtual Model::SearchSampleQueriesOutcome SearchSampleQueries(const Model::SearchSampleQueriesRequest& request) const; + + /** + * A Callable wrapper for SearchSampleQueries that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::SearchSampleQueriesOutcomeCallable SearchSampleQueriesCallable(const SearchSampleQueriesRequestT& request) const + { + return SubmitCallable(&CloudTrailClient::SearchSampleQueries, request); + } + + /** + * An Async wrapper for SearchSampleQueries that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void SearchSampleQueriesAsync(const SearchSampleQueriesRequestT& request, const SearchSampleQueriesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&CloudTrailClient::SearchSampleQueries, request, handler, context); + } + /** *

    Starts a refresh of the specified dashboard.

    Each time a dashboard * is refreshed, CloudTrail runs queries to populate the dashboard's widgets. diff --git a/generated/src/aws-cpp-sdk-cloudtrail/include/aws/cloudtrail/CloudTrailServiceClientModel.h b/generated/src/aws-cpp-sdk-cloudtrail/include/aws/cloudtrail/CloudTrailServiceClientModel.h index c43150bd50f..943c7ad81ab 100644 --- a/generated/src/aws-cpp-sdk-cloudtrail/include/aws/cloudtrail/CloudTrailServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-cloudtrail/include/aws/cloudtrail/CloudTrailServiceClientModel.h @@ -62,6 +62,7 @@ #include #include #include +#include #include #include #include @@ -170,6 +171,7 @@ namespace Aws class RegisterOrganizationDelegatedAdminRequest; class RemoveTagsRequest; class RestoreEventDataStoreRequest; + class SearchSampleQueriesRequest; class StartDashboardRefreshRequest; class StartEventDataStoreIngestionRequest; class StartImportRequest; @@ -229,6 +231,7 @@ namespace Aws typedef Aws::Utils::Outcome RegisterOrganizationDelegatedAdminOutcome; typedef Aws::Utils::Outcome RemoveTagsOutcome; typedef Aws::Utils::Outcome RestoreEventDataStoreOutcome; + typedef Aws::Utils::Outcome SearchSampleQueriesOutcome; typedef Aws::Utils::Outcome StartDashboardRefreshOutcome; typedef Aws::Utils::Outcome StartEventDataStoreIngestionOutcome; typedef Aws::Utils::Outcome StartImportOutcome; @@ -288,6 +291,7 @@ namespace Aws typedef std::future RegisterOrganizationDelegatedAdminOutcomeCallable; typedef std::future RemoveTagsOutcomeCallable; typedef std::future RestoreEventDataStoreOutcomeCallable; + typedef std::future SearchSampleQueriesOutcomeCallable; typedef std::future StartDashboardRefreshOutcomeCallable; typedef std::future StartEventDataStoreIngestionOutcomeCallable; typedef std::future StartImportOutcomeCallable; @@ -350,6 +354,7 @@ namespace Aws typedef std::function&) > RegisterOrganizationDelegatedAdminResponseReceivedHandler; typedef std::function&) > RemoveTagsResponseReceivedHandler; typedef std::function&) > RestoreEventDataStoreResponseReceivedHandler; + typedef std::function&) > SearchSampleQueriesResponseReceivedHandler; typedef std::function&) > StartDashboardRefreshResponseReceivedHandler; typedef std::function&) > StartEventDataStoreIngestionResponseReceivedHandler; typedef std::function&) > StartImportResponseReceivedHandler; diff --git a/generated/src/aws-cpp-sdk-cloudtrail/include/aws/cloudtrail/model/AdvancedEventSelector.h b/generated/src/aws-cpp-sdk-cloudtrail/include/aws/cloudtrail/model/AdvancedEventSelector.h index 2b6f8c9dff7..1a9873a7054 100644 --- a/generated/src/aws-cpp-sdk-cloudtrail/include/aws/cloudtrail/model/AdvancedEventSelector.h +++ b/generated/src/aws-cpp-sdk-cloudtrail/include/aws/cloudtrail/model/AdvancedEventSelector.h @@ -39,7 +39,7 @@ namespace Model * cannot apply both event selectors and advanced event selectors to a trail.

    *

    For information about configurable advanced event selector fields, see AdvancedEventSelector - * in the CloudTrailUser Guide.

    See Also:

    CloudTrail API Reference.

    See Also:

    AWS * API Reference

    */ diff --git a/generated/src/aws-cpp-sdk-cloudtrail/include/aws/cloudtrail/model/AdvancedFieldSelector.h b/generated/src/aws-cpp-sdk-cloudtrail/include/aws/cloudtrail/model/AdvancedFieldSelector.h index 46784860a51..0730894c260 100644 --- a/generated/src/aws-cpp-sdk-cloudtrail/include/aws/cloudtrail/model/AdvancedFieldSelector.h +++ b/generated/src/aws-cpp-sdk-cloudtrail/include/aws/cloudtrail/model/AdvancedFieldSelector.h @@ -47,7 +47,11 @@ namespace Model * field is used only for selecting events as filtering is not supported.

    *

    For more information, see AdvancedFieldSelector - * in the CloudTrailUser Guide.

    + * in the CloudTrail API Reference.

    Selectors don't support + * the use of wildcards like * . To match multiple values with a + * single condition, you may use StartsWith, EndsWith, + * NotStartsWith, or NotEndsWith to explicitly match the + * beginning or end of the event field.

    */ inline const Aws::String& GetField() const{ return m_field; } inline bool FieldHasBeenSet() const { return m_fieldHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-cloudtrail/include/aws/cloudtrail/model/SearchSampleQueriesRequest.h b/generated/src/aws-cpp-sdk-cloudtrail/include/aws/cloudtrail/model/SearchSampleQueriesRequest.h new file mode 100644 index 00000000000..09dc438a6dc --- /dev/null +++ b/generated/src/aws-cpp-sdk-cloudtrail/include/aws/cloudtrail/model/SearchSampleQueriesRequest.h @@ -0,0 +1,91 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace CloudTrail +{ +namespace Model +{ + + /** + */ + class SearchSampleQueriesRequest : public CloudTrailRequest + { + public: + AWS_CLOUDTRAIL_API SearchSampleQueriesRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "SearchSampleQueries"; } + + AWS_CLOUDTRAIL_API Aws::String SerializePayload() const override; + + AWS_CLOUDTRAIL_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + /** + *

    The natural language phrase to use for the semantic search. The phrase must + * be in English. The length constraint is in characters, not words.

    + */ + inline const Aws::String& GetSearchPhrase() const{ return m_searchPhrase; } + inline bool SearchPhraseHasBeenSet() const { return m_searchPhraseHasBeenSet; } + inline void SetSearchPhrase(const Aws::String& value) { m_searchPhraseHasBeenSet = true; m_searchPhrase = value; } + inline void SetSearchPhrase(Aws::String&& value) { m_searchPhraseHasBeenSet = true; m_searchPhrase = std::move(value); } + inline void SetSearchPhrase(const char* value) { m_searchPhraseHasBeenSet = true; m_searchPhrase.assign(value); } + inline SearchSampleQueriesRequest& WithSearchPhrase(const Aws::String& value) { SetSearchPhrase(value); return *this;} + inline SearchSampleQueriesRequest& WithSearchPhrase(Aws::String&& value) { SetSearchPhrase(std::move(value)); return *this;} + inline SearchSampleQueriesRequest& WithSearchPhrase(const char* value) { SetSearchPhrase(value); return *this;} + ///@} + + ///@{ + /** + *

    The maximum number of results to return on a single page. The default value + * is 10.

    + */ + inline int GetMaxResults() const{ return m_maxResults; } + inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; } + inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; } + inline SearchSampleQueriesRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;} + ///@} + + ///@{ + /** + *

    A token you can use to get the next page of results. The length constraint + * is in characters, not words.

    + */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; } + inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; } + inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); } + inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); } + inline SearchSampleQueriesRequest& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + inline SearchSampleQueriesRequest& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + inline SearchSampleQueriesRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;} + ///@} + private: + + Aws::String m_searchPhrase; + bool m_searchPhraseHasBeenSet = false; + + int m_maxResults; + bool m_maxResultsHasBeenSet = false; + + Aws::String m_nextToken; + bool m_nextTokenHasBeenSet = false; + }; + +} // namespace Model +} // namespace CloudTrail +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cloudtrail/include/aws/cloudtrail/model/SearchSampleQueriesResult.h b/generated/src/aws-cpp-sdk-cloudtrail/include/aws/cloudtrail/model/SearchSampleQueriesResult.h new file mode 100644 index 00000000000..177c7ca7ad3 --- /dev/null +++ b/generated/src/aws-cpp-sdk-cloudtrail/include/aws/cloudtrail/model/SearchSampleQueriesResult.h @@ -0,0 +1,85 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace CloudTrail +{ +namespace Model +{ + class SearchSampleQueriesResult + { + public: + AWS_CLOUDTRAIL_API SearchSampleQueriesResult(); + AWS_CLOUDTRAIL_API SearchSampleQueriesResult(const Aws::AmazonWebServiceResult& result); + AWS_CLOUDTRAIL_API SearchSampleQueriesResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

    A list of objects containing the search results ordered from most relevant + * to least relevant.

    + */ + inline const Aws::Vector& GetSearchResults() const{ return m_searchResults; } + inline void SetSearchResults(const Aws::Vector& value) { m_searchResults = value; } + inline void SetSearchResults(Aws::Vector&& value) { m_searchResults = std::move(value); } + inline SearchSampleQueriesResult& WithSearchResults(const Aws::Vector& value) { SetSearchResults(value); return *this;} + inline SearchSampleQueriesResult& WithSearchResults(Aws::Vector&& value) { SetSearchResults(std::move(value)); return *this;} + inline SearchSampleQueriesResult& AddSearchResults(const SearchSampleQueriesSearchResult& value) { m_searchResults.push_back(value); return *this; } + inline SearchSampleQueriesResult& AddSearchResults(SearchSampleQueriesSearchResult&& value) { m_searchResults.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

    A token you can use to get the next page of results.

    + */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + inline void SetNextToken(const Aws::String& value) { m_nextToken = value; } + inline void SetNextToken(Aws::String&& value) { m_nextToken = std::move(value); } + inline void SetNextToken(const char* value) { m_nextToken.assign(value); } + inline SearchSampleQueriesResult& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + inline SearchSampleQueriesResult& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + inline SearchSampleQueriesResult& WithNextToken(const char* value) { SetNextToken(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline SearchSampleQueriesResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline SearchSampleQueriesResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline SearchSampleQueriesResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::Vector m_searchResults; + + Aws::String m_nextToken; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace CloudTrail +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cloudtrail/include/aws/cloudtrail/model/SearchSampleQueriesSearchResult.h b/generated/src/aws-cpp-sdk-cloudtrail/include/aws/cloudtrail/model/SearchSampleQueriesSearchResult.h new file mode 100644 index 00000000000..21542a02203 --- /dev/null +++ b/generated/src/aws-cpp-sdk-cloudtrail/include/aws/cloudtrail/model/SearchSampleQueriesSearchResult.h @@ -0,0 +1,110 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace CloudTrail +{ +namespace Model +{ + + /** + *

    A search result returned by the SearchSampleQueries operation. + *

    See Also:

    AWS + * API Reference

    + */ + class SearchSampleQueriesSearchResult + { + public: + AWS_CLOUDTRAIL_API SearchSampleQueriesSearchResult(); + AWS_CLOUDTRAIL_API SearchSampleQueriesSearchResult(Aws::Utils::Json::JsonView jsonValue); + AWS_CLOUDTRAIL_API SearchSampleQueriesSearchResult& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_CLOUDTRAIL_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

    The name of a sample query.

    + */ + inline const Aws::String& GetName() const{ return m_name; } + inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } + inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } + inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } + inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } + inline SearchSampleQueriesSearchResult& WithName(const Aws::String& value) { SetName(value); return *this;} + inline SearchSampleQueriesSearchResult& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} + inline SearchSampleQueriesSearchResult& WithName(const char* value) { SetName(value); return *this;} + ///@} + + ///@{ + /** + *

    A longer description of a sample query.

    + */ + inline const Aws::String& GetDescription() const{ return m_description; } + inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } + inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } + inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } + inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } + inline SearchSampleQueriesSearchResult& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} + inline SearchSampleQueriesSearchResult& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} + inline SearchSampleQueriesSearchResult& WithDescription(const char* value) { SetDescription(value); return *this;} + ///@} + + ///@{ + /** + *

    The SQL code of the sample query.

    + */ + inline const Aws::String& GetSQL() const{ return m_sQL; } + inline bool SQLHasBeenSet() const { return m_sQLHasBeenSet; } + inline void SetSQL(const Aws::String& value) { m_sQLHasBeenSet = true; m_sQL = value; } + inline void SetSQL(Aws::String&& value) { m_sQLHasBeenSet = true; m_sQL = std::move(value); } + inline void SetSQL(const char* value) { m_sQLHasBeenSet = true; m_sQL.assign(value); } + inline SearchSampleQueriesSearchResult& WithSQL(const Aws::String& value) { SetSQL(value); return *this;} + inline SearchSampleQueriesSearchResult& WithSQL(Aws::String&& value) { SetSQL(std::move(value)); return *this;} + inline SearchSampleQueriesSearchResult& WithSQL(const char* value) { SetSQL(value); return *this;} + ///@} + + ///@{ + /** + *

    A value between 0 and 1 indicating the similarity between the search phrase + * and result.

    + */ + inline double GetRelevance() const{ return m_relevance; } + inline bool RelevanceHasBeenSet() const { return m_relevanceHasBeenSet; } + inline void SetRelevance(double value) { m_relevanceHasBeenSet = true; m_relevance = value; } + inline SearchSampleQueriesSearchResult& WithRelevance(double value) { SetRelevance(value); return *this;} + ///@} + private: + + Aws::String m_name; + bool m_nameHasBeenSet = false; + + Aws::String m_description; + bool m_descriptionHasBeenSet = false; + + Aws::String m_sQL; + bool m_sQLHasBeenSet = false; + + double m_relevance; + bool m_relevanceHasBeenSet = false; + }; + +} // namespace Model +} // namespace CloudTrail +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cloudtrail/source/CloudTrailClient.cpp b/generated/src/aws-cpp-sdk-cloudtrail/source/CloudTrailClient.cpp index c0142e21ea4..637ae3f152a 100644 --- a/generated/src/aws-cpp-sdk-cloudtrail/source/CloudTrailClient.cpp +++ b/generated/src/aws-cpp-sdk-cloudtrail/source/CloudTrailClient.cpp @@ -63,6 +63,7 @@ #include #include #include +#include #include #include #include @@ -1173,6 +1174,28 @@ RestoreEventDataStoreOutcome CloudTrailClient::RestoreEventDataStore(const Resto {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +SearchSampleQueriesOutcome CloudTrailClient::SearchSampleQueries(const SearchSampleQueriesRequest& request) const +{ + AWS_OPERATION_GUARD(SearchSampleQueries); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, SearchSampleQueries, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_clientConfiguration.telemetryProvider, SearchSampleQueries, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_clientConfiguration.telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_clientConfiguration.telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, SearchSampleQueries, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".SearchSampleQueries", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> SearchSampleQueriesOutcome { + return SearchSampleQueriesOutcome(MakeRequestDeserialize(&request, request.GetServiceRequestName(), Aws::Http::HttpMethod::HTTP_POST, [&](Aws::Endpoint::AWSEndpoint& resolvedEndpoint) -> void { + AWS_UNREFERENCED_PARAM(resolvedEndpoint); + })); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + StartDashboardRefreshOutcome CloudTrailClient::StartDashboardRefresh(const StartDashboardRefreshRequest& request) const { AWS_OPERATION_GUARD(StartDashboardRefresh); diff --git a/generated/src/aws-cpp-sdk-cloudtrail/source/model/SearchSampleQueriesRequest.cpp b/generated/src/aws-cpp-sdk-cloudtrail/source/model/SearchSampleQueriesRequest.cpp new file mode 100644 index 00000000000..d40a3d4e8b4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-cloudtrail/source/model/SearchSampleQueriesRequest.cpp @@ -0,0 +1,58 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::CloudTrail::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +SearchSampleQueriesRequest::SearchSampleQueriesRequest() : + m_searchPhraseHasBeenSet(false), + m_maxResults(0), + m_maxResultsHasBeenSet(false), + m_nextTokenHasBeenSet(false) +{ +} + +Aws::String SearchSampleQueriesRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_searchPhraseHasBeenSet) + { + payload.WithString("SearchPhrase", m_searchPhrase); + + } + + if(m_maxResultsHasBeenSet) + { + payload.WithInteger("MaxResults", m_maxResults); + + } + + if(m_nextTokenHasBeenSet) + { + payload.WithString("NextToken", m_nextToken); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection SearchSampleQueriesRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "com.amazonaws.cloudtrail.v20131101.CloudTrail_20131101.SearchSampleQueries")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-cloudtrail/source/model/SearchSampleQueriesResult.cpp b/generated/src/aws-cpp-sdk-cloudtrail/source/model/SearchSampleQueriesResult.cpp new file mode 100644 index 00000000000..0021fd09146 --- /dev/null +++ b/generated/src/aws-cpp-sdk-cloudtrail/source/model/SearchSampleQueriesResult.cpp @@ -0,0 +1,57 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::CloudTrail::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +SearchSampleQueriesResult::SearchSampleQueriesResult() +{ +} + +SearchSampleQueriesResult::SearchSampleQueriesResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +SearchSampleQueriesResult& SearchSampleQueriesResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("SearchResults")) + { + Aws::Utils::Array searchResultsJsonList = jsonValue.GetArray("SearchResults"); + for(unsigned searchResultsIndex = 0; searchResultsIndex < searchResultsJsonList.GetLength(); ++searchResultsIndex) + { + m_searchResults.push_back(searchResultsJsonList[searchResultsIndex].AsObject()); + } + } + + if(jsonValue.ValueExists("NextToken")) + { + m_nextToken = jsonValue.GetString("NextToken"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-cloudtrail/source/model/SearchSampleQueriesSearchResult.cpp b/generated/src/aws-cpp-sdk-cloudtrail/source/model/SearchSampleQueriesSearchResult.cpp new file mode 100644 index 00000000000..8a6764f60ee --- /dev/null +++ b/generated/src/aws-cpp-sdk-cloudtrail/source/model/SearchSampleQueriesSearchResult.cpp @@ -0,0 +1,102 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace CloudTrail +{ +namespace Model +{ + +SearchSampleQueriesSearchResult::SearchSampleQueriesSearchResult() : + m_nameHasBeenSet(false), + m_descriptionHasBeenSet(false), + m_sQLHasBeenSet(false), + m_relevance(0.0), + m_relevanceHasBeenSet(false) +{ +} + +SearchSampleQueriesSearchResult::SearchSampleQueriesSearchResult(JsonView jsonValue) + : SearchSampleQueriesSearchResult() +{ + *this = jsonValue; +} + +SearchSampleQueriesSearchResult& SearchSampleQueriesSearchResult::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Name")) + { + m_name = jsonValue.GetString("Name"); + + m_nameHasBeenSet = true; + } + + if(jsonValue.ValueExists("Description")) + { + m_description = jsonValue.GetString("Description"); + + m_descriptionHasBeenSet = true; + } + + if(jsonValue.ValueExists("SQL")) + { + m_sQL = jsonValue.GetString("SQL"); + + m_sQLHasBeenSet = true; + } + + if(jsonValue.ValueExists("Relevance")) + { + m_relevance = jsonValue.GetDouble("Relevance"); + + m_relevanceHasBeenSet = true; + } + + return *this; +} + +JsonValue SearchSampleQueriesSearchResult::Jsonize() const +{ + JsonValue payload; + + if(m_nameHasBeenSet) + { + payload.WithString("Name", m_name); + + } + + if(m_descriptionHasBeenSet) + { + payload.WithString("Description", m_description); + + } + + if(m_sQLHasBeenSet) + { + payload.WithString("SQL", m_sQL); + + } + + if(m_relevanceHasBeenSet) + { + payload.WithDouble("Relevance", m_relevance); + + } + + return payload; +} + +} // namespace Model +} // namespace CloudTrail +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-datasync/include/aws/datasync/DataSyncClient.h b/generated/src/aws-cpp-sdk-datasync/include/aws/datasync/DataSyncClient.h index faf25fe965a..3ba4d4d647e 100644 --- a/generated/src/aws-cpp-sdk-datasync/include/aws/datasync/DataSyncClient.h +++ b/generated/src/aws-cpp-sdk-datasync/include/aws/datasync/DataSyncClient.h @@ -495,9 +495,9 @@ namespace DataSync *

    Creates a transfer location for a Server Message Block (SMB) file * server. DataSync can use this location as a source or destination for * transferring data.

    Before you begin, make sure that you understand how - * DataSync accesses - * SMB file servers.

    See Also:

    Providing + * DataSync access to SMB file servers.

    See Also:

    AWS * API Reference

    */ diff --git a/generated/src/aws-cpp-sdk-datasync/include/aws/datasync/model/CreateLocationSmbRequest.h b/generated/src/aws-cpp-sdk-datasync/include/aws/datasync/model/CreateLocationSmbRequest.h index 7d1cc453463..a49f2e5347b 100644 --- a/generated/src/aws-cpp-sdk-datasync/include/aws/datasync/model/CreateLocationSmbRequest.h +++ b/generated/src/aws-cpp-sdk-datasync/include/aws/datasync/model/CreateLocationSmbRequest.h @@ -9,6 +9,8 @@ #include #include #include +#include +#include #include #include @@ -48,8 +50,8 @@ namespace Model * clients in your network can also mount this path.

    To copy all data in the * subdirectory, DataSync must be able to mount the SMB share and access all of its * data. For more information, see required - * permissions for SMB locations.

    + * href="https://docs.aws.amazon.com/datasync/latest/userguide/create-smb-location.html#configuring-smb-permissions">Providing + * DataSync access to SMB file servers.

    */ inline const Aws::String& GetSubdirectory() const{ return m_subdirectory; } inline bool SubdirectoryHasBeenSet() const { return m_subdirectoryHasBeenSet; } @@ -63,9 +65,11 @@ namespace Model ///@{ /** - *

    Specifies the Domain Name Service (DNS) name or IP address of the SMB file - * server that your DataSync agent will mount.

    You can't specify an - * IP version 6 (IPv6) address.

    + *

    Specifies the domain name or IP address of the SMB file server that your + * DataSync agent will mount.

    Remember the following when configuring this + * parameter:

    • You can't specify an IP version 6 (IPv6) + * address.

    • If you're using Kerberos authentication, you must + * specify a domain name.

    */ inline const Aws::String& GetServerHostname() const{ return m_serverHostname; } inline bool ServerHostnameHasBeenSet() const { return m_serverHostnameHasBeenSet; } @@ -80,10 +84,12 @@ namespace Model ///@{ /** *

    Specifies the user that can mount and access the files, folders, and file - * metadata in your SMB file server.

    For information about choosing a user - * with the right level of access for your transfer, see required - * permissions for SMB locations.

    + * metadata in your SMB file server. This parameter applies only if + * AuthenticationType is set to NTLM.

    For + * information about choosing a user with the right level of access for your + * transfer, see Providing + * DataSync access to SMB file servers.

    */ inline const Aws::String& GetUser() const{ return m_user; } inline bool UserHasBeenSet() const { return m_userHasBeenSet; } @@ -97,10 +103,11 @@ namespace Model ///@{ /** - *

    Specifies the name of the Active Directory domain that your SMB file server - * belongs to.

    If you have multiple Active Directory domains in your - * environment, configuring this parameter makes sure that DataSync connects to the - * right file server.

    + *

    Specifies the Windows domain name that your SMB file server belongs to. This + * parameter applies only if AuthenticationType is set to + * NTLM.

    If you have multiple domains in your environment, + * configuring this parameter makes sure that DataSync connects to the right file + * server.

    */ inline const Aws::String& GetDomain() const{ return m_domain; } inline bool DomainHasBeenSet() const { return m_domainHasBeenSet; } @@ -115,10 +122,9 @@ namespace Model ///@{ /** *

    Specifies the password of the user who can mount your SMB file server and has - * permission to access the files and folders involved in your transfer.

    For - * more information, see required - * permissions for SMB locations.

    + * permission to access the files and folders involved in your transfer. This + * parameter applies only if AuthenticationType is set to + * NTLM.

    */ inline const Aws::String& GetPassword() const{ return m_password; } inline bool PasswordHasBeenSet() const { return m_passwordHasBeenSet; } @@ -174,6 +180,97 @@ namespace Model inline CreateLocationSmbRequest& AddTags(const TagListEntry& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; } inline CreateLocationSmbRequest& AddTags(TagListEntry&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; } ///@} + + ///@{ + /** + *

    Specifies the authentication protocol that DataSync uses to connect to your + * SMB file server. DataSync supports NTLM (default) and + * KERBEROS authentication.

    + */ + inline const SmbAuthenticationType& GetAuthenticationType() const{ return m_authenticationType; } + inline bool AuthenticationTypeHasBeenSet() const { return m_authenticationTypeHasBeenSet; } + inline void SetAuthenticationType(const SmbAuthenticationType& value) { m_authenticationTypeHasBeenSet = true; m_authenticationType = value; } + inline void SetAuthenticationType(SmbAuthenticationType&& value) { m_authenticationTypeHasBeenSet = true; m_authenticationType = std::move(value); } + inline CreateLocationSmbRequest& WithAuthenticationType(const SmbAuthenticationType& value) { SetAuthenticationType(value); return *this;} + inline CreateLocationSmbRequest& WithAuthenticationType(SmbAuthenticationType&& value) { SetAuthenticationType(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

    Specifies the IPv4 addresses for the DNS servers that your SMB file server + * belongs to. This parameter applies only if AuthenticationType is + * set to KERBEROS.

    If you have multiple domains in your + * environment, configuring this parameter makes sure that DataSync connects to the + * right SMB file server.

    + */ + inline const Aws::Vector& GetDnsIpAddresses() const{ return m_dnsIpAddresses; } + inline bool DnsIpAddressesHasBeenSet() const { return m_dnsIpAddressesHasBeenSet; } + inline void SetDnsIpAddresses(const Aws::Vector& value) { m_dnsIpAddressesHasBeenSet = true; m_dnsIpAddresses = value; } + inline void SetDnsIpAddresses(Aws::Vector&& value) { m_dnsIpAddressesHasBeenSet = true; m_dnsIpAddresses = std::move(value); } + inline CreateLocationSmbRequest& WithDnsIpAddresses(const Aws::Vector& value) { SetDnsIpAddresses(value); return *this;} + inline CreateLocationSmbRequest& WithDnsIpAddresses(Aws::Vector&& value) { SetDnsIpAddresses(std::move(value)); return *this;} + inline CreateLocationSmbRequest& AddDnsIpAddresses(const Aws::String& value) { m_dnsIpAddressesHasBeenSet = true; m_dnsIpAddresses.push_back(value); return *this; } + inline CreateLocationSmbRequest& AddDnsIpAddresses(Aws::String&& value) { m_dnsIpAddressesHasBeenSet = true; m_dnsIpAddresses.push_back(std::move(value)); return *this; } + inline CreateLocationSmbRequest& AddDnsIpAddresses(const char* value) { m_dnsIpAddressesHasBeenSet = true; m_dnsIpAddresses.push_back(value); return *this; } + ///@} + + ///@{ + /** + *

    Specifies a service principal name (SPN), which is an identity in your + * Kerberos realm that has permission to access the files, folders, and file + * metadata in your SMB file server.

    SPNs are case sensitive and must + * include a prepended cifs/. For example, an SPN might look like + * cifs/kerberosuser@EXAMPLE.COM.

    Your task execution will fail + * if the SPN that you provide for this parameter doesn’t match what’s exactly in + * your keytab or krb5.conf files.

    + */ + inline const Aws::String& GetKerberosPrincipal() const{ return m_kerberosPrincipal; } + inline bool KerberosPrincipalHasBeenSet() const { return m_kerberosPrincipalHasBeenSet; } + inline void SetKerberosPrincipal(const Aws::String& value) { m_kerberosPrincipalHasBeenSet = true; m_kerberosPrincipal = value; } + inline void SetKerberosPrincipal(Aws::String&& value) { m_kerberosPrincipalHasBeenSet = true; m_kerberosPrincipal = std::move(value); } + inline void SetKerberosPrincipal(const char* value) { m_kerberosPrincipalHasBeenSet = true; m_kerberosPrincipal.assign(value); } + inline CreateLocationSmbRequest& WithKerberosPrincipal(const Aws::String& value) { SetKerberosPrincipal(value); return *this;} + inline CreateLocationSmbRequest& WithKerberosPrincipal(Aws::String&& value) { SetKerberosPrincipal(std::move(value)); return *this;} + inline CreateLocationSmbRequest& WithKerberosPrincipal(const char* value) { SetKerberosPrincipal(value); return *this;} + ///@} + + ///@{ + /** + *

    Specifies your Kerberos key table (keytab) file, which includes mappings + * between your service principal name (SPN) and encryption keys.

    You can + * specify the keytab using a file path (for example, + * file://path/to/file.keytab). The file must be base64 encoded. If + * you're using the CLI, the encoding is done for you.

    To avoid task + * execution errors, make sure that the SPN in the keytab file matches exactly what + * you specify for KerberosPrincipal and in your + * krb5.conf file.

    + */ + inline const Aws::Utils::ByteBuffer& GetKerberosKeytab() const{ return m_kerberosKeytab; } + inline bool KerberosKeytabHasBeenSet() const { return m_kerberosKeytabHasBeenSet; } + inline void SetKerberosKeytab(const Aws::Utils::ByteBuffer& value) { m_kerberosKeytabHasBeenSet = true; m_kerberosKeytab = value; } + inline void SetKerberosKeytab(Aws::Utils::ByteBuffer&& value) { m_kerberosKeytabHasBeenSet = true; m_kerberosKeytab = std::move(value); } + inline CreateLocationSmbRequest& WithKerberosKeytab(const Aws::Utils::ByteBuffer& value) { SetKerberosKeytab(value); return *this;} + inline CreateLocationSmbRequest& WithKerberosKeytab(Aws::Utils::ByteBuffer&& value) { SetKerberosKeytab(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

    Specifies a Kerberos configuration file (krb5.conf) that defines + * your Kerberos realm configuration.

    You can specify the + * krb5.conf using a file path (for example, + * file://path/to/krb5.conf). The file must be base64 encoded. If + * you're using the CLI, the encoding is done for you.

    To avoid task + * execution errors, make sure that the service principal name (SPN) in the + * krb5.conf file matches exactly what you specify for + * KerberosPrincipal and in your keytab file.

    + */ + inline const Aws::Utils::ByteBuffer& GetKerberosKrb5Conf() const{ return m_kerberosKrb5Conf; } + inline bool KerberosKrb5ConfHasBeenSet() const { return m_kerberosKrb5ConfHasBeenSet; } + inline void SetKerberosKrb5Conf(const Aws::Utils::ByteBuffer& value) { m_kerberosKrb5ConfHasBeenSet = true; m_kerberosKrb5Conf = value; } + inline void SetKerberosKrb5Conf(Aws::Utils::ByteBuffer&& value) { m_kerberosKrb5ConfHasBeenSet = true; m_kerberosKrb5Conf = std::move(value); } + inline CreateLocationSmbRequest& WithKerberosKrb5Conf(const Aws::Utils::ByteBuffer& value) { SetKerberosKrb5Conf(value); return *this;} + inline CreateLocationSmbRequest& WithKerberosKrb5Conf(Aws::Utils::ByteBuffer&& value) { SetKerberosKrb5Conf(std::move(value)); return *this;} + ///@} private: Aws::String m_subdirectory; @@ -199,6 +296,21 @@ namespace Model Aws::Vector m_tags; bool m_tagsHasBeenSet = false; + + SmbAuthenticationType m_authenticationType; + bool m_authenticationTypeHasBeenSet = false; + + Aws::Vector m_dnsIpAddresses; + bool m_dnsIpAddressesHasBeenSet = false; + + Aws::String m_kerberosPrincipal; + bool m_kerberosPrincipalHasBeenSet = false; + + Aws::Utils::ByteBuffer m_kerberosKeytab; + bool m_kerberosKeytabHasBeenSet = false; + + Aws::Utils::ByteBuffer m_kerberosKrb5Conf; + bool m_kerberosKrb5ConfHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-datasync/include/aws/datasync/model/DescribeLocationSmbResult.h b/generated/src/aws-cpp-sdk-datasync/include/aws/datasync/model/DescribeLocationSmbResult.h index d6f038b2b5e..fbcfd1fd56e 100644 --- a/generated/src/aws-cpp-sdk-datasync/include/aws/datasync/model/DescribeLocationSmbResult.h +++ b/generated/src/aws-cpp-sdk-datasync/include/aws/datasync/model/DescribeLocationSmbResult.h @@ -9,6 +9,7 @@ #include #include #include +#include #include namespace Aws @@ -84,7 +85,8 @@ namespace Model ///@{ /** *

    The user that can mount and access the files, folders, and file metadata in - * your SMB file server.

    + * your SMB file server. This element applies only if + * AuthenticationType is set to NTLM.

    */ inline const Aws::String& GetUser() const{ return m_user; } inline void SetUser(const Aws::String& value) { m_user = value; } @@ -97,8 +99,9 @@ namespace Model ///@{ /** - *

    The name of the Microsoft Active Directory domain that the SMB file server - * belongs to.

    + *

    The name of the Windows domain that the SMB file server belongs to. This + * element applies only if AuthenticationType is set to + * NTLM.

    */ inline const Aws::String& GetDomain() const{ return m_domain; } inline void SetDomain(const Aws::String& value) { m_domain = value; } @@ -111,7 +114,8 @@ namespace Model ///@{ /** - *

    The protocol that DataSync use to access your SMB file.

    + *

    The SMB protocol version that DataSync uses to access your SMB file + * server.

    */ inline const SmbMountOptions& GetMountOptions() const{ return m_mountOptions; } inline void SetMountOptions(const SmbMountOptions& value) { m_mountOptions = value; } @@ -131,6 +135,48 @@ namespace Model inline DescribeLocationSmbResult& WithCreationTime(Aws::Utils::DateTime&& value) { SetCreationTime(std::move(value)); return *this;} ///@} + ///@{ + /** + *

    The IPv4 addresses for the DNS servers that your SMB file server belongs to. + * This element applies only if AuthenticationType is set to + * KERBEROS.

    + */ + inline const Aws::Vector& GetDnsIpAddresses() const{ return m_dnsIpAddresses; } + inline void SetDnsIpAddresses(const Aws::Vector& value) { m_dnsIpAddresses = value; } + inline void SetDnsIpAddresses(Aws::Vector&& value) { m_dnsIpAddresses = std::move(value); } + inline DescribeLocationSmbResult& WithDnsIpAddresses(const Aws::Vector& value) { SetDnsIpAddresses(value); return *this;} + inline DescribeLocationSmbResult& WithDnsIpAddresses(Aws::Vector&& value) { SetDnsIpAddresses(std::move(value)); return *this;} + inline DescribeLocationSmbResult& AddDnsIpAddresses(const Aws::String& value) { m_dnsIpAddresses.push_back(value); return *this; } + inline DescribeLocationSmbResult& AddDnsIpAddresses(Aws::String&& value) { m_dnsIpAddresses.push_back(std::move(value)); return *this; } + inline DescribeLocationSmbResult& AddDnsIpAddresses(const char* value) { m_dnsIpAddresses.push_back(value); return *this; } + ///@} + + ///@{ + /** + *

    The Kerberos service principal name (SPN) that has permission to access the + * files, folders, and file metadata in your SMB file server.

    + */ + inline const Aws::String& GetKerberosPrincipal() const{ return m_kerberosPrincipal; } + inline void SetKerberosPrincipal(const Aws::String& value) { m_kerberosPrincipal = value; } + inline void SetKerberosPrincipal(Aws::String&& value) { m_kerberosPrincipal = std::move(value); } + inline void SetKerberosPrincipal(const char* value) { m_kerberosPrincipal.assign(value); } + inline DescribeLocationSmbResult& WithKerberosPrincipal(const Aws::String& value) { SetKerberosPrincipal(value); return *this;} + inline DescribeLocationSmbResult& WithKerberosPrincipal(Aws::String&& value) { SetKerberosPrincipal(std::move(value)); return *this;} + inline DescribeLocationSmbResult& WithKerberosPrincipal(const char* value) { SetKerberosPrincipal(value); return *this;} + ///@} + + ///@{ + /** + *

    The authentication protocol that DataSync uses to connect to your SMB file + * server.

    + */ + inline const SmbAuthenticationType& GetAuthenticationType() const{ return m_authenticationType; } + inline void SetAuthenticationType(const SmbAuthenticationType& value) { m_authenticationType = value; } + inline void SetAuthenticationType(SmbAuthenticationType&& value) { m_authenticationType = std::move(value); } + inline DescribeLocationSmbResult& WithAuthenticationType(const SmbAuthenticationType& value) { SetAuthenticationType(value); return *this;} + inline DescribeLocationSmbResult& WithAuthenticationType(SmbAuthenticationType&& value) { SetAuthenticationType(std::move(value)); return *this;} + ///@} + ///@{ inline const Aws::String& GetRequestId() const{ return m_requestId; } @@ -157,6 +203,12 @@ namespace Model Aws::Utils::DateTime m_creationTime; + Aws::Vector m_dnsIpAddresses; + + Aws::String m_kerberosPrincipal; + + SmbAuthenticationType m_authenticationType; + Aws::String m_requestId; }; diff --git a/generated/src/aws-cpp-sdk-datasync/include/aws/datasync/model/SmbAuthenticationType.h b/generated/src/aws-cpp-sdk-datasync/include/aws/datasync/model/SmbAuthenticationType.h new file mode 100644 index 00000000000..09f9f71f976 --- /dev/null +++ b/generated/src/aws-cpp-sdk-datasync/include/aws/datasync/model/SmbAuthenticationType.h @@ -0,0 +1,31 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace DataSync +{ +namespace Model +{ + enum class SmbAuthenticationType + { + NOT_SET, + NTLM, + KERBEROS + }; + +namespace SmbAuthenticationTypeMapper +{ +AWS_DATASYNC_API SmbAuthenticationType GetSmbAuthenticationTypeForName(const Aws::String& name); + +AWS_DATASYNC_API Aws::String GetNameForSmbAuthenticationType(SmbAuthenticationType value); +} // namespace SmbAuthenticationTypeMapper +} // namespace Model +} // namespace DataSync +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-datasync/include/aws/datasync/model/UpdateLocationSmbRequest.h b/generated/src/aws-cpp-sdk-datasync/include/aws/datasync/model/UpdateLocationSmbRequest.h index b0869d02be0..cce80f2ae41 100644 --- a/generated/src/aws-cpp-sdk-datasync/include/aws/datasync/model/UpdateLocationSmbRequest.h +++ b/generated/src/aws-cpp-sdk-datasync/include/aws/datasync/model/UpdateLocationSmbRequest.h @@ -9,6 +9,8 @@ #include #include #include +#include +#include #include namespace Aws @@ -58,8 +60,8 @@ namespace Model * clients in your network can also mount this path.

    To copy all data in the * specified subdirectory, DataSync must be able to mount the SMB share and access * all of its data. For more information, see required - * permissions for SMB locations.

    + * href="https://docs.aws.amazon.com/datasync/latest/userguide/create-smb-location.html#configuring-smb-permissions">Providing + * DataSync access to SMB file servers.

    */ inline const Aws::String& GetSubdirectory() const{ return m_subdirectory; } inline bool SubdirectoryHasBeenSet() const { return m_subdirectoryHasBeenSet; } @@ -74,11 +76,12 @@ namespace Model ///@{ /** *

    Specifies the user name that can mount your SMB file server and has - * permission to access the files and folders involved in your transfer.

    For - * information about choosing a user with the right level of access for your - * transfer, see required - * permissions for SMB locations.

    + * permission to access the files and folders involved in your transfer. This + * parameter applies only if AuthenticationType is set to + * NTLM.

    For information about choosing a user with the right + * level of access for your transfer, see Providing + * DataSync access to SMB file servers.

    */ inline const Aws::String& GetUser() const{ return m_user; } inline bool UserHasBeenSet() const { return m_userHasBeenSet; } @@ -92,12 +95,11 @@ namespace Model ///@{ /** - *

    Specifies the Windows domain name that your SMB file server belongs to.

    - *

    If you have multiple domains in your environment, configuring this parameter - * makes sure that DataSync connects to the right file server.

    For more - * information, see required - * permissions for SMB locations.

    + *

    Specifies the Windows domain name that your SMB file server belongs to. This + * parameter applies only if AuthenticationType is set to + * NTLM.

    If you have multiple domains in your environment, + * configuring this parameter makes sure that DataSync connects to the right file + * server.

    */ inline const Aws::String& GetDomain() const{ return m_domain; } inline bool DomainHasBeenSet() const { return m_domainHasBeenSet; } @@ -112,10 +114,9 @@ namespace Model ///@{ /** *

    Specifies the password of the user who can mount your SMB file server and has - * permission to access the files and folders involved in your transfer.

    For - * more information, see required - * permissions for SMB locations.

    + * permission to access the files and folders involved in your transfer. This + * parameter applies only if AuthenticationType is set to + * NTLM.

    */ inline const Aws::String& GetPassword() const{ return m_password; } inline bool PasswordHasBeenSet() const { return m_passwordHasBeenSet; } @@ -152,6 +153,97 @@ namespace Model inline UpdateLocationSmbRequest& WithMountOptions(const SmbMountOptions& value) { SetMountOptions(value); return *this;} inline UpdateLocationSmbRequest& WithMountOptions(SmbMountOptions&& value) { SetMountOptions(std::move(value)); return *this;} ///@} + + ///@{ + /** + *

    Specifies the authentication protocol that DataSync uses to connect to your + * SMB file server. DataSync supports NTLM (default) and + * KERBEROS authentication.

    + */ + inline const SmbAuthenticationType& GetAuthenticationType() const{ return m_authenticationType; } + inline bool AuthenticationTypeHasBeenSet() const { return m_authenticationTypeHasBeenSet; } + inline void SetAuthenticationType(const SmbAuthenticationType& value) { m_authenticationTypeHasBeenSet = true; m_authenticationType = value; } + inline void SetAuthenticationType(SmbAuthenticationType&& value) { m_authenticationTypeHasBeenSet = true; m_authenticationType = std::move(value); } + inline UpdateLocationSmbRequest& WithAuthenticationType(const SmbAuthenticationType& value) { SetAuthenticationType(value); return *this;} + inline UpdateLocationSmbRequest& WithAuthenticationType(SmbAuthenticationType&& value) { SetAuthenticationType(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

    Specifies the IPv4 addresses for the DNS servers that your SMB file server + * belongs to. This parameter applies only if AuthenticationType is + * set to KERBEROS.

    If you have multiple domains in your + * environment, configuring this parameter makes sure that DataSync connects to the + * right SMB file server.

    + */ + inline const Aws::Vector& GetDnsIpAddresses() const{ return m_dnsIpAddresses; } + inline bool DnsIpAddressesHasBeenSet() const { return m_dnsIpAddressesHasBeenSet; } + inline void SetDnsIpAddresses(const Aws::Vector& value) { m_dnsIpAddressesHasBeenSet = true; m_dnsIpAddresses = value; } + inline void SetDnsIpAddresses(Aws::Vector&& value) { m_dnsIpAddressesHasBeenSet = true; m_dnsIpAddresses = std::move(value); } + inline UpdateLocationSmbRequest& WithDnsIpAddresses(const Aws::Vector& value) { SetDnsIpAddresses(value); return *this;} + inline UpdateLocationSmbRequest& WithDnsIpAddresses(Aws::Vector&& value) { SetDnsIpAddresses(std::move(value)); return *this;} + inline UpdateLocationSmbRequest& AddDnsIpAddresses(const Aws::String& value) { m_dnsIpAddressesHasBeenSet = true; m_dnsIpAddresses.push_back(value); return *this; } + inline UpdateLocationSmbRequest& AddDnsIpAddresses(Aws::String&& value) { m_dnsIpAddressesHasBeenSet = true; m_dnsIpAddresses.push_back(std::move(value)); return *this; } + inline UpdateLocationSmbRequest& AddDnsIpAddresses(const char* value) { m_dnsIpAddressesHasBeenSet = true; m_dnsIpAddresses.push_back(value); return *this; } + ///@} + + ///@{ + /** + *

    Specifies a service principal name (SPN), which is an identity in your + * Kerberos realm that has permission to access the files, folders, and file + * metadata in your SMB file server.

    SPNs are case sensitive and must + * include a prepended cifs/. For example, an SPN might look like + * cifs/kerberosuser@EXAMPLE.COM.

    Your task execution will fail + * if the SPN that you provide for this parameter doesn’t match what’s exactly in + * your keytab or krb5.conf files.

    + */ + inline const Aws::String& GetKerberosPrincipal() const{ return m_kerberosPrincipal; } + inline bool KerberosPrincipalHasBeenSet() const { return m_kerberosPrincipalHasBeenSet; } + inline void SetKerberosPrincipal(const Aws::String& value) { m_kerberosPrincipalHasBeenSet = true; m_kerberosPrincipal = value; } + inline void SetKerberosPrincipal(Aws::String&& value) { m_kerberosPrincipalHasBeenSet = true; m_kerberosPrincipal = std::move(value); } + inline void SetKerberosPrincipal(const char* value) { m_kerberosPrincipalHasBeenSet = true; m_kerberosPrincipal.assign(value); } + inline UpdateLocationSmbRequest& WithKerberosPrincipal(const Aws::String& value) { SetKerberosPrincipal(value); return *this;} + inline UpdateLocationSmbRequest& WithKerberosPrincipal(Aws::String&& value) { SetKerberosPrincipal(std::move(value)); return *this;} + inline UpdateLocationSmbRequest& WithKerberosPrincipal(const char* value) { SetKerberosPrincipal(value); return *this;} + ///@} + + ///@{ + /** + *

    Specifies your Kerberos key table (keytab) file, which includes mappings + * between your service principal name (SPN) and encryption keys.

    You can + * specify the keytab using a file path (for example, + * file://path/to/file.keytab). The file must be base64 encoded. If + * you're using the CLI, the encoding is done for you.

    To avoid task + * execution errors, make sure that the SPN in the keytab file matches exactly what + * you specify for KerberosPrincipal and in your + * krb5.conf file.

    + */ + inline const Aws::Utils::ByteBuffer& GetKerberosKeytab() const{ return m_kerberosKeytab; } + inline bool KerberosKeytabHasBeenSet() const { return m_kerberosKeytabHasBeenSet; } + inline void SetKerberosKeytab(const Aws::Utils::ByteBuffer& value) { m_kerberosKeytabHasBeenSet = true; m_kerberosKeytab = value; } + inline void SetKerberosKeytab(Aws::Utils::ByteBuffer&& value) { m_kerberosKeytabHasBeenSet = true; m_kerberosKeytab = std::move(value); } + inline UpdateLocationSmbRequest& WithKerberosKeytab(const Aws::Utils::ByteBuffer& value) { SetKerberosKeytab(value); return *this;} + inline UpdateLocationSmbRequest& WithKerberosKeytab(Aws::Utils::ByteBuffer&& value) { SetKerberosKeytab(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

    Specifies a Kerberos configuration file (krb5.conf) that defines + * your Kerberos realm configuration.

    You can specify the + * krb5.conf using a file path (for example, + * file://path/to/krb5.conf). The file must be base64 encoded. If + * you're using the CLI, the encoding is done for you.

    To avoid task + * execution errors, make sure that the service principal name (SPN) in the + * krb5.conf file matches exactly what you specify for + * KerberosPrincipal and in your keytab file.

    + */ + inline const Aws::Utils::ByteBuffer& GetKerberosKrb5Conf() const{ return m_kerberosKrb5Conf; } + inline bool KerberosKrb5ConfHasBeenSet() const { return m_kerberosKrb5ConfHasBeenSet; } + inline void SetKerberosKrb5Conf(const Aws::Utils::ByteBuffer& value) { m_kerberosKrb5ConfHasBeenSet = true; m_kerberosKrb5Conf = value; } + inline void SetKerberosKrb5Conf(Aws::Utils::ByteBuffer&& value) { m_kerberosKrb5ConfHasBeenSet = true; m_kerberosKrb5Conf = std::move(value); } + inline UpdateLocationSmbRequest& WithKerberosKrb5Conf(const Aws::Utils::ByteBuffer& value) { SetKerberosKrb5Conf(value); return *this;} + inline UpdateLocationSmbRequest& WithKerberosKrb5Conf(Aws::Utils::ByteBuffer&& value) { SetKerberosKrb5Conf(std::move(value)); return *this;} + ///@} private: Aws::String m_locationArn; @@ -174,6 +266,21 @@ namespace Model SmbMountOptions m_mountOptions; bool m_mountOptionsHasBeenSet = false; + + SmbAuthenticationType m_authenticationType; + bool m_authenticationTypeHasBeenSet = false; + + Aws::Vector m_dnsIpAddresses; + bool m_dnsIpAddressesHasBeenSet = false; + + Aws::String m_kerberosPrincipal; + bool m_kerberosPrincipalHasBeenSet = false; + + Aws::Utils::ByteBuffer m_kerberosKeytab; + bool m_kerberosKeytabHasBeenSet = false; + + Aws::Utils::ByteBuffer m_kerberosKrb5Conf; + bool m_kerberosKrb5ConfHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-datasync/source/model/CreateLocationSmbRequest.cpp b/generated/src/aws-cpp-sdk-datasync/source/model/CreateLocationSmbRequest.cpp index 7143bdad156..7162f4cd2cd 100644 --- a/generated/src/aws-cpp-sdk-datasync/source/model/CreateLocationSmbRequest.cpp +++ b/generated/src/aws-cpp-sdk-datasync/source/model/CreateLocationSmbRequest.cpp @@ -5,6 +5,7 @@ #include #include +#include #include @@ -20,7 +21,13 @@ CreateLocationSmbRequest::CreateLocationSmbRequest() : m_passwordHasBeenSet(false), m_agentArnsHasBeenSet(false), m_mountOptionsHasBeenSet(false), - m_tagsHasBeenSet(false) + m_tagsHasBeenSet(false), + m_authenticationType(SmbAuthenticationType::NOT_SET), + m_authenticationTypeHasBeenSet(false), + m_dnsIpAddressesHasBeenSet(false), + m_kerberosPrincipalHasBeenSet(false), + m_kerberosKeytabHasBeenSet(false), + m_kerberosKrb5ConfHasBeenSet(false) { } @@ -86,6 +93,38 @@ Aws::String CreateLocationSmbRequest::SerializePayload() const } + if(m_authenticationTypeHasBeenSet) + { + payload.WithString("AuthenticationType", SmbAuthenticationTypeMapper::GetNameForSmbAuthenticationType(m_authenticationType)); + } + + if(m_dnsIpAddressesHasBeenSet) + { + Aws::Utils::Array dnsIpAddressesJsonList(m_dnsIpAddresses.size()); + for(unsigned dnsIpAddressesIndex = 0; dnsIpAddressesIndex < dnsIpAddressesJsonList.GetLength(); ++dnsIpAddressesIndex) + { + dnsIpAddressesJsonList[dnsIpAddressesIndex].AsString(m_dnsIpAddresses[dnsIpAddressesIndex]); + } + payload.WithArray("DnsIpAddresses", std::move(dnsIpAddressesJsonList)); + + } + + if(m_kerberosPrincipalHasBeenSet) + { + payload.WithString("KerberosPrincipal", m_kerberosPrincipal); + + } + + if(m_kerberosKeytabHasBeenSet) + { + payload.WithString("KerberosKeytab", HashingUtils::Base64Encode(m_kerberosKeytab)); + } + + if(m_kerberosKrb5ConfHasBeenSet) + { + payload.WithString("KerberosKrb5Conf", HashingUtils::Base64Encode(m_kerberosKrb5Conf)); + } + return payload.View().WriteReadable(); } diff --git a/generated/src/aws-cpp-sdk-datasync/source/model/DescribeLocationSmbResult.cpp b/generated/src/aws-cpp-sdk-datasync/source/model/DescribeLocationSmbResult.cpp index 8eabb511fd5..6c6859cdebd 100644 --- a/generated/src/aws-cpp-sdk-datasync/source/model/DescribeLocationSmbResult.cpp +++ b/generated/src/aws-cpp-sdk-datasync/source/model/DescribeLocationSmbResult.cpp @@ -17,11 +17,13 @@ using namespace Aws::Utils::Json; using namespace Aws::Utils; using namespace Aws; -DescribeLocationSmbResult::DescribeLocationSmbResult() +DescribeLocationSmbResult::DescribeLocationSmbResult() : + m_authenticationType(SmbAuthenticationType::NOT_SET) { } DescribeLocationSmbResult::DescribeLocationSmbResult(const Aws::AmazonWebServiceResult& result) + : DescribeLocationSmbResult() { *this = result; } @@ -74,6 +76,27 @@ DescribeLocationSmbResult& DescribeLocationSmbResult::operator =(const Aws::Amaz } + if(jsonValue.ValueExists("DnsIpAddresses")) + { + Aws::Utils::Array dnsIpAddressesJsonList = jsonValue.GetArray("DnsIpAddresses"); + for(unsigned dnsIpAddressesIndex = 0; dnsIpAddressesIndex < dnsIpAddressesJsonList.GetLength(); ++dnsIpAddressesIndex) + { + m_dnsIpAddresses.push_back(dnsIpAddressesJsonList[dnsIpAddressesIndex].AsString()); + } + } + + if(jsonValue.ValueExists("KerberosPrincipal")) + { + m_kerberosPrincipal = jsonValue.GetString("KerberosPrincipal"); + + } + + if(jsonValue.ValueExists("AuthenticationType")) + { + m_authenticationType = SmbAuthenticationTypeMapper::GetSmbAuthenticationTypeForName(jsonValue.GetString("AuthenticationType")); + + } + const auto& headers = result.GetHeaderValueCollection(); const auto& requestIdIter = headers.find("x-amzn-requestid"); diff --git a/generated/src/aws-cpp-sdk-datasync/source/model/SmbAuthenticationType.cpp b/generated/src/aws-cpp-sdk-datasync/source/model/SmbAuthenticationType.cpp new file mode 100644 index 00000000000..ae200632b7f --- /dev/null +++ b/generated/src/aws-cpp-sdk-datasync/source/model/SmbAuthenticationType.cpp @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace DataSync + { + namespace Model + { + namespace SmbAuthenticationTypeMapper + { + + static const int NTLM_HASH = HashingUtils::HashString("NTLM"); + static const int KERBEROS_HASH = HashingUtils::HashString("KERBEROS"); + + + SmbAuthenticationType GetSmbAuthenticationTypeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == NTLM_HASH) + { + return SmbAuthenticationType::NTLM; + } + else if (hashCode == KERBEROS_HASH) + { + return SmbAuthenticationType::KERBEROS; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return SmbAuthenticationType::NOT_SET; + } + + Aws::String GetNameForSmbAuthenticationType(SmbAuthenticationType enumValue) + { + switch(enumValue) + { + case SmbAuthenticationType::NOT_SET: + return {}; + case SmbAuthenticationType::NTLM: + return "NTLM"; + case SmbAuthenticationType::KERBEROS: + return "KERBEROS"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace SmbAuthenticationTypeMapper + } // namespace Model + } // namespace DataSync +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-datasync/source/model/UpdateLocationSmbRequest.cpp b/generated/src/aws-cpp-sdk-datasync/source/model/UpdateLocationSmbRequest.cpp index 393d736fc14..a3edb82f9fa 100644 --- a/generated/src/aws-cpp-sdk-datasync/source/model/UpdateLocationSmbRequest.cpp +++ b/generated/src/aws-cpp-sdk-datasync/source/model/UpdateLocationSmbRequest.cpp @@ -5,6 +5,7 @@ #include #include +#include #include @@ -19,7 +20,13 @@ UpdateLocationSmbRequest::UpdateLocationSmbRequest() : m_domainHasBeenSet(false), m_passwordHasBeenSet(false), m_agentArnsHasBeenSet(false), - m_mountOptionsHasBeenSet(false) + m_mountOptionsHasBeenSet(false), + m_authenticationType(SmbAuthenticationType::NOT_SET), + m_authenticationTypeHasBeenSet(false), + m_dnsIpAddressesHasBeenSet(false), + m_kerberosPrincipalHasBeenSet(false), + m_kerberosKeytabHasBeenSet(false), + m_kerberosKrb5ConfHasBeenSet(false) { } @@ -74,6 +81,38 @@ Aws::String UpdateLocationSmbRequest::SerializePayload() const } + if(m_authenticationTypeHasBeenSet) + { + payload.WithString("AuthenticationType", SmbAuthenticationTypeMapper::GetNameForSmbAuthenticationType(m_authenticationType)); + } + + if(m_dnsIpAddressesHasBeenSet) + { + Aws::Utils::Array dnsIpAddressesJsonList(m_dnsIpAddresses.size()); + for(unsigned dnsIpAddressesIndex = 0; dnsIpAddressesIndex < dnsIpAddressesJsonList.GetLength(); ++dnsIpAddressesIndex) + { + dnsIpAddressesJsonList[dnsIpAddressesIndex].AsString(m_dnsIpAddresses[dnsIpAddressesIndex]); + } + payload.WithArray("DnsIpAddresses", std::move(dnsIpAddressesJsonList)); + + } + + if(m_kerberosPrincipalHasBeenSet) + { + payload.WithString("KerberosPrincipal", m_kerberosPrincipal); + + } + + if(m_kerberosKeytabHasBeenSet) + { + payload.WithString("KerberosKeytab", HashingUtils::Base64Encode(m_kerberosKeytab)); + } + + if(m_kerberosKrb5ConfHasBeenSet) + { + payload.WithString("KerberosKrb5Conf", HashingUtils::Base64Encode(m_kerberosKrb5Conf)); + } + return payload.View().WriteReadable(); } diff --git a/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/DeadlineClient.h b/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/DeadlineClient.h index 31d4ccb052b..4e911bb611d 100644 --- a/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/DeadlineClient.h +++ b/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/DeadlineClient.h @@ -458,7 +458,7 @@ namespace deadline } /** - *

    Creates a job. A job is a set of instructions that AWS Deadline Cloud uses to + *

    Creates a job. A job is a set of instructions that Deadline Cloud uses to * schedule and run work on available workers. For more information, see Deadline * Cloud jobs.

    See Also:

    Creates a limit that manages the distribution of shared resources, such as + * floating licenses. A limit can throttle work assignments, help manage workloads, + * and track current usage. Before you use a limit, you must associate the limit + * with one or more queues.

    You must add the + * amountRequirementName to a step in a job template to declare the + * limit requirement.

    See Also:

    AWS + * API Reference

    + */ + virtual Model::CreateLimitOutcome CreateLimit(const Model::CreateLimitRequest& request) const; + + /** + * A Callable wrapper for CreateLimit that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::CreateLimitOutcomeCallable CreateLimitCallable(const CreateLimitRequestT& request) const + { + return SubmitCallable(&DeadlineClient::CreateLimit, request); + } + + /** + * An Async wrapper for CreateLimit that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void CreateLimitAsync(const CreateLimitRequestT& request, const CreateLimitResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&DeadlineClient::CreateLimit, request, handler, context); + } + /** *

    Creates an Amazon Web Services Deadline Cloud monitor that you can use to * view your farms, queues, and fleets. After you submit a job, you can track the @@ -618,6 +648,35 @@ namespace deadline return SubmitAsync(&DeadlineClient::CreateQueueFleetAssociation, request, handler, context); } + /** + *

    Associates a limit with a particular queue. After the limit is associated, + * all workers for jobs that specify the limit associated with the queue are + * subject to the limit. You can't associate two limits with the same + * amountRequirementName to the same queue.

    See Also:

    + * AWS + * API Reference

    + */ + virtual Model::CreateQueueLimitAssociationOutcome CreateQueueLimitAssociation(const Model::CreateQueueLimitAssociationRequest& request) const; + + /** + * A Callable wrapper for CreateQueueLimitAssociation that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::CreateQueueLimitAssociationOutcomeCallable CreateQueueLimitAssociationCallable(const CreateQueueLimitAssociationRequestT& request) const + { + return SubmitCallable(&DeadlineClient::CreateQueueLimitAssociation, request); + } + + /** + * An Async wrapper for CreateQueueLimitAssociation that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void CreateQueueLimitAssociationAsync(const CreateQueueLimitAssociationRequestT& request, const CreateQueueLimitAssociationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&DeadlineClient::CreateQueueLimitAssociation, request, handler, context); + } + /** *

    Creates a storage profile that specifies the operating system, file type, and * file location of resources used on a farm.

    See Also:

    Removes a limit from the specified farm. Before you delete a limit you must + * use the DeleteQueueLimitAssociation operation to remove the + * association with any queues.

    See Also:

    AWS + * API Reference

    + */ + virtual Model::DeleteLimitOutcome DeleteLimit(const Model::DeleteLimitRequest& request) const; + + /** + * A Callable wrapper for DeleteLimit that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::DeleteLimitOutcomeCallable DeleteLimitCallable(const DeleteLimitRequestT& request) const + { + return SubmitCallable(&DeadlineClient::DeleteLimit, request); + } + + /** + * An Async wrapper for DeleteLimit that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void DeleteLimitAsync(const DeleteLimitRequestT& request, const DeleteLimitResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&DeadlineClient::DeleteLimit, request, handler, context); + } + /** *

    Deletes a metered product.

    See Also:

    AWS @@ -900,6 +986,37 @@ namespace deadline return SubmitAsync(&DeadlineClient::DeleteQueueFleetAssociation, request, handler, context); } + /** + *

    Removes the association between a queue and a limit. You must use the + * UpdateQueueLimitAssociation operation to set the status to + * STOP_LIMIT_USAGE_AND_COMPLETE_TASKS or + * STOP_LIMIT_USAGE_AND_CANCEL_TASKS. The status does not change + * immediately. Use the GetQueueLimitAssociation operation to see if + * the status changed to STOPPED before deleting the + * association.

    See Also:

    AWS + * API Reference

    + */ + virtual Model::DeleteQueueLimitAssociationOutcome DeleteQueueLimitAssociation(const Model::DeleteQueueLimitAssociationRequest& request) const; + + /** + * A Callable wrapper for DeleteQueueLimitAssociation that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::DeleteQueueLimitAssociationOutcomeCallable DeleteQueueLimitAssociationCallable(const DeleteQueueLimitAssociationRequestT& request) const + { + return SubmitCallable(&DeadlineClient::DeleteQueueLimitAssociation, request); + } + + /** + * An Async wrapper for DeleteQueueLimitAssociation that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void DeleteQueueLimitAssociationAsync(const DeleteQueueLimitAssociationRequestT& request, const DeleteQueueLimitAssociationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&DeadlineClient::DeleteQueueLimitAssociation, request, handler, context); + } + /** *

    Deletes a storage profile.

    See Also:

    AWS @@ -1175,6 +1292,31 @@ namespace deadline return SubmitAsync(&DeadlineClient::GetLicenseEndpoint, request, handler, context); } + /** + *

    Gets information about a specific limit.

    See Also:

    AWS + * API Reference

    + */ + virtual Model::GetLimitOutcome GetLimit(const Model::GetLimitRequest& request) const; + + /** + * A Callable wrapper for GetLimit that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::GetLimitOutcomeCallable GetLimitCallable(const GetLimitRequestT& request) const + { + return SubmitCallable(&DeadlineClient::GetLimit, request); + } + + /** + * An Async wrapper for GetLimit that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void GetLimitAsync(const GetLimitRequestT& request, const GetLimitResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&DeadlineClient::GetLimit, request, handler, context); + } + /** *

    Gets information about the specified monitor.

    See Also:

    AWS @@ -1275,6 +1417,32 @@ namespace deadline return SubmitAsync(&DeadlineClient::GetQueueFleetAssociation, request, handler, context); } + /** + *

    Gets information about a specific association between a queue and a + * limit.

    See Also:

    AWS + * API Reference

    + */ + virtual Model::GetQueueLimitAssociationOutcome GetQueueLimitAssociation(const Model::GetQueueLimitAssociationRequest& request) const; + + /** + * A Callable wrapper for GetQueueLimitAssociation that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::GetQueueLimitAssociationOutcomeCallable GetQueueLimitAssociationCallable(const GetQueueLimitAssociationRequestT& request) const + { + return SubmitCallable(&DeadlineClient::GetQueueLimitAssociation, request); + } + + /** + * An Async wrapper for GetQueueLimitAssociation that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void GetQueueLimitAssociationAsync(const GetQueueLimitAssociationRequestT& request, const GetQueueLimitAssociationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&DeadlineClient::GetQueueLimitAssociation, request, handler, context); + } + /** *

    Gets a session.

    See Also:

    AWS @@ -1730,6 +1898,32 @@ namespace deadline return SubmitAsync(&DeadlineClient::ListLicenseEndpoints, request, handler, context); } + /** + *

    Gets a list of limits defined in the specified farm.

    See Also:

    + *
    AWS + * API Reference

    + */ + virtual Model::ListLimitsOutcome ListLimits(const Model::ListLimitsRequest& request) const; + + /** + * A Callable wrapper for ListLimits that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::ListLimitsOutcomeCallable ListLimitsCallable(const ListLimitsRequestT& request) const + { + return SubmitCallable(&DeadlineClient::ListLimits, request); + } + + /** + * An Async wrapper for ListLimits that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void ListLimitsAsync(const ListLimitsRequestT& request, const ListLimitsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&DeadlineClient::ListLimits, request, handler, context); + } + /** *

    Lists metered products.

    See Also:

    AWS @@ -1830,6 +2024,32 @@ namespace deadline return SubmitAsync(&DeadlineClient::ListQueueFleetAssociations, request, handler, context); } + /** + *

    Gets a list of the associations between queues and limits defined in a + * farm.

    See Also:

    AWS + * API Reference

    + */ + virtual Model::ListQueueLimitAssociationsOutcome ListQueueLimitAssociations(const Model::ListQueueLimitAssociationsRequest& request) const; + + /** + * A Callable wrapper for ListQueueLimitAssociations that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::ListQueueLimitAssociationsOutcomeCallable ListQueueLimitAssociationsCallable(const ListQueueLimitAssociationsRequestT& request) const + { + return SubmitCallable(&DeadlineClient::ListQueueLimitAssociations, request); + } + + /** + * An Async wrapper for ListQueueLimitAssociations that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void ListQueueLimitAssociationsAsync(const ListQueueLimitAssociationsRequestT& request, const ListQueueLimitAssociationsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&DeadlineClient::ListQueueLimitAssociations, request, handler, context); + } + /** *

    Lists the members in a queue.

    See Also:

    AWS @@ -2469,6 +2689,31 @@ namespace deadline return SubmitAsync(&DeadlineClient::UpdateJob, request, handler, context); } + /** + *

    Updates the properties of the specified limit.

    See Also:

    AWS + * API Reference

    + */ + virtual Model::UpdateLimitOutcome UpdateLimit(const Model::UpdateLimitRequest& request) const; + + /** + * A Callable wrapper for UpdateLimit that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::UpdateLimitOutcomeCallable UpdateLimitCallable(const UpdateLimitRequestT& request) const + { + return SubmitCallable(&DeadlineClient::UpdateLimit, request); + } + + /** + * An Async wrapper for UpdateLimit that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void UpdateLimitAsync(const UpdateLimitRequestT& request, const UpdateLimitResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&DeadlineClient::UpdateLimit, request, handler, context); + } + /** *

    Modifies the settings for a Deadline Cloud monitor. You can modify one or all * of the settings when you call UpdateMonitor.

    See @@ -2571,6 +2816,33 @@ namespace deadline return SubmitAsync(&DeadlineClient::UpdateQueueFleetAssociation, request, handler, context); } + /** + *

    Updates the status of the queue. If you set the status to one of the + * STOP_LIMIT_USAGE* values, there will be a delay before the status + * transitions to the STOPPED state.

    See Also:

    AWS + * API Reference

    + */ + virtual Model::UpdateQueueLimitAssociationOutcome UpdateQueueLimitAssociation(const Model::UpdateQueueLimitAssociationRequest& request) const; + + /** + * A Callable wrapper for UpdateQueueLimitAssociation that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::UpdateQueueLimitAssociationOutcomeCallable UpdateQueueLimitAssociationCallable(const UpdateQueueLimitAssociationRequestT& request) const + { + return SubmitCallable(&DeadlineClient::UpdateQueueLimitAssociation, request); + } + + /** + * An Async wrapper for UpdateQueueLimitAssociation that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void UpdateQueueLimitAssociationAsync(const UpdateQueueLimitAssociationRequestT& request, const UpdateQueueLimitAssociationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&DeadlineClient::UpdateQueueLimitAssociation, request, handler, context); + } + /** *

    Updates a session.

    See Also:

    AWS diff --git a/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/DeadlineServiceClientModel.h b/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/DeadlineServiceClientModel.h index 348d2c9a3c0..b91f3788f02 100644 --- a/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/DeadlineServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/DeadlineServiceClientModel.h @@ -34,21 +34,25 @@ #include #include #include +#include #include #include #include #include +#include #include #include #include #include #include #include +#include #include #include #include #include #include +#include #include #include #include @@ -60,10 +64,12 @@ #include #include #include +#include #include #include #include #include +#include #include #include #include @@ -82,10 +88,12 @@ #include #include #include +#include #include #include #include #include +#include #include #include #include @@ -111,10 +119,12 @@ #include #include #include +#include #include #include #include #include +#include #include #include #include @@ -181,21 +191,25 @@ namespace Aws class CreateFleetRequest; class CreateJobRequest; class CreateLicenseEndpointRequest; + class CreateLimitRequest; class CreateMonitorRequest; class CreateQueueRequest; class CreateQueueEnvironmentRequest; class CreateQueueFleetAssociationRequest; + class CreateQueueLimitAssociationRequest; class CreateStorageProfileRequest; class CreateWorkerRequest; class DeleteBudgetRequest; class DeleteFarmRequest; class DeleteFleetRequest; class DeleteLicenseEndpointRequest; + class DeleteLimitRequest; class DeleteMeteredProductRequest; class DeleteMonitorRequest; class DeleteQueueRequest; class DeleteQueueEnvironmentRequest; class DeleteQueueFleetAssociationRequest; + class DeleteQueueLimitAssociationRequest; class DeleteStorageProfileRequest; class DeleteWorkerRequest; class DisassociateMemberFromFarmRequest; @@ -207,10 +221,12 @@ namespace Aws class GetFleetRequest; class GetJobRequest; class GetLicenseEndpointRequest; + class GetLimitRequest; class GetMonitorRequest; class GetQueueRequest; class GetQueueEnvironmentRequest; class GetQueueFleetAssociationRequest; + class GetQueueLimitAssociationRequest; class GetSessionRequest; class GetSessionActionRequest; class GetSessionsStatisticsAggregationRequest; @@ -229,10 +245,12 @@ namespace Aws class ListJobParameterDefinitionsRequest; class ListJobsRequest; class ListLicenseEndpointsRequest; + class ListLimitsRequest; class ListMeteredProductsRequest; class ListMonitorsRequest; class ListQueueEnvironmentsRequest; class ListQueueFleetAssociationsRequest; + class ListQueueLimitAssociationsRequest; class ListQueueMembersRequest; class ListQueuesRequest; class ListSessionActionsRequest; @@ -258,10 +276,12 @@ namespace Aws class UpdateFarmRequest; class UpdateFleetRequest; class UpdateJobRequest; + class UpdateLimitRequest; class UpdateMonitorRequest; class UpdateQueueRequest; class UpdateQueueEnvironmentRequest; class UpdateQueueFleetAssociationRequest; + class UpdateQueueLimitAssociationRequest; class UpdateSessionRequest; class UpdateStepRequest; class UpdateStorageProfileRequest; @@ -287,21 +307,25 @@ namespace Aws typedef Aws::Utils::Outcome CreateFleetOutcome; typedef Aws::Utils::Outcome CreateJobOutcome; typedef Aws::Utils::Outcome CreateLicenseEndpointOutcome; + typedef Aws::Utils::Outcome CreateLimitOutcome; typedef Aws::Utils::Outcome CreateMonitorOutcome; typedef Aws::Utils::Outcome CreateQueueOutcome; typedef Aws::Utils::Outcome CreateQueueEnvironmentOutcome; typedef Aws::Utils::Outcome CreateQueueFleetAssociationOutcome; + typedef Aws::Utils::Outcome CreateQueueLimitAssociationOutcome; typedef Aws::Utils::Outcome CreateStorageProfileOutcome; typedef Aws::Utils::Outcome CreateWorkerOutcome; typedef Aws::Utils::Outcome DeleteBudgetOutcome; typedef Aws::Utils::Outcome DeleteFarmOutcome; typedef Aws::Utils::Outcome DeleteFleetOutcome; typedef Aws::Utils::Outcome DeleteLicenseEndpointOutcome; + typedef Aws::Utils::Outcome DeleteLimitOutcome; typedef Aws::Utils::Outcome DeleteMeteredProductOutcome; typedef Aws::Utils::Outcome DeleteMonitorOutcome; typedef Aws::Utils::Outcome DeleteQueueOutcome; typedef Aws::Utils::Outcome DeleteQueueEnvironmentOutcome; typedef Aws::Utils::Outcome DeleteQueueFleetAssociationOutcome; + typedef Aws::Utils::Outcome DeleteQueueLimitAssociationOutcome; typedef Aws::Utils::Outcome DeleteStorageProfileOutcome; typedef Aws::Utils::Outcome DeleteWorkerOutcome; typedef Aws::Utils::Outcome DisassociateMemberFromFarmOutcome; @@ -313,10 +337,12 @@ namespace Aws typedef Aws::Utils::Outcome GetFleetOutcome; typedef Aws::Utils::Outcome GetJobOutcome; typedef Aws::Utils::Outcome GetLicenseEndpointOutcome; + typedef Aws::Utils::Outcome GetLimitOutcome; typedef Aws::Utils::Outcome GetMonitorOutcome; typedef Aws::Utils::Outcome GetQueueOutcome; typedef Aws::Utils::Outcome GetQueueEnvironmentOutcome; typedef Aws::Utils::Outcome GetQueueFleetAssociationOutcome; + typedef Aws::Utils::Outcome GetQueueLimitAssociationOutcome; typedef Aws::Utils::Outcome GetSessionOutcome; typedef Aws::Utils::Outcome GetSessionActionOutcome; typedef Aws::Utils::Outcome GetSessionsStatisticsAggregationOutcome; @@ -335,10 +361,12 @@ namespace Aws typedef Aws::Utils::Outcome ListJobParameterDefinitionsOutcome; typedef Aws::Utils::Outcome ListJobsOutcome; typedef Aws::Utils::Outcome ListLicenseEndpointsOutcome; + typedef Aws::Utils::Outcome ListLimitsOutcome; typedef Aws::Utils::Outcome ListMeteredProductsOutcome; typedef Aws::Utils::Outcome ListMonitorsOutcome; typedef Aws::Utils::Outcome ListQueueEnvironmentsOutcome; typedef Aws::Utils::Outcome ListQueueFleetAssociationsOutcome; + typedef Aws::Utils::Outcome ListQueueLimitAssociationsOutcome; typedef Aws::Utils::Outcome ListQueueMembersOutcome; typedef Aws::Utils::Outcome ListQueuesOutcome; typedef Aws::Utils::Outcome ListSessionActionsOutcome; @@ -364,10 +392,12 @@ namespace Aws typedef Aws::Utils::Outcome UpdateFarmOutcome; typedef Aws::Utils::Outcome UpdateFleetOutcome; typedef Aws::Utils::Outcome UpdateJobOutcome; + typedef Aws::Utils::Outcome UpdateLimitOutcome; typedef Aws::Utils::Outcome UpdateMonitorOutcome; typedef Aws::Utils::Outcome UpdateQueueOutcome; typedef Aws::Utils::Outcome UpdateQueueEnvironmentOutcome; typedef Aws::Utils::Outcome UpdateQueueFleetAssociationOutcome; + typedef Aws::Utils::Outcome UpdateQueueLimitAssociationOutcome; typedef Aws::Utils::Outcome UpdateSessionOutcome; typedef Aws::Utils::Outcome UpdateStepOutcome; typedef Aws::Utils::Outcome UpdateStorageProfileOutcome; @@ -393,21 +423,25 @@ namespace Aws typedef std::future CreateFleetOutcomeCallable; typedef std::future CreateJobOutcomeCallable; typedef std::future CreateLicenseEndpointOutcomeCallable; + typedef std::future CreateLimitOutcomeCallable; typedef std::future CreateMonitorOutcomeCallable; typedef std::future CreateQueueOutcomeCallable; typedef std::future CreateQueueEnvironmentOutcomeCallable; typedef std::future CreateQueueFleetAssociationOutcomeCallable; + typedef std::future CreateQueueLimitAssociationOutcomeCallable; typedef std::future CreateStorageProfileOutcomeCallable; typedef std::future CreateWorkerOutcomeCallable; typedef std::future DeleteBudgetOutcomeCallable; typedef std::future DeleteFarmOutcomeCallable; typedef std::future DeleteFleetOutcomeCallable; typedef std::future DeleteLicenseEndpointOutcomeCallable; + typedef std::future DeleteLimitOutcomeCallable; typedef std::future DeleteMeteredProductOutcomeCallable; typedef std::future DeleteMonitorOutcomeCallable; typedef std::future DeleteQueueOutcomeCallable; typedef std::future DeleteQueueEnvironmentOutcomeCallable; typedef std::future DeleteQueueFleetAssociationOutcomeCallable; + typedef std::future DeleteQueueLimitAssociationOutcomeCallable; typedef std::future DeleteStorageProfileOutcomeCallable; typedef std::future DeleteWorkerOutcomeCallable; typedef std::future DisassociateMemberFromFarmOutcomeCallable; @@ -419,10 +453,12 @@ namespace Aws typedef std::future GetFleetOutcomeCallable; typedef std::future GetJobOutcomeCallable; typedef std::future GetLicenseEndpointOutcomeCallable; + typedef std::future GetLimitOutcomeCallable; typedef std::future GetMonitorOutcomeCallable; typedef std::future GetQueueOutcomeCallable; typedef std::future GetQueueEnvironmentOutcomeCallable; typedef std::future GetQueueFleetAssociationOutcomeCallable; + typedef std::future GetQueueLimitAssociationOutcomeCallable; typedef std::future GetSessionOutcomeCallable; typedef std::future GetSessionActionOutcomeCallable; typedef std::future GetSessionsStatisticsAggregationOutcomeCallable; @@ -441,10 +477,12 @@ namespace Aws typedef std::future ListJobParameterDefinitionsOutcomeCallable; typedef std::future ListJobsOutcomeCallable; typedef std::future ListLicenseEndpointsOutcomeCallable; + typedef std::future ListLimitsOutcomeCallable; typedef std::future ListMeteredProductsOutcomeCallable; typedef std::future ListMonitorsOutcomeCallable; typedef std::future ListQueueEnvironmentsOutcomeCallable; typedef std::future ListQueueFleetAssociationsOutcomeCallable; + typedef std::future ListQueueLimitAssociationsOutcomeCallable; typedef std::future ListQueueMembersOutcomeCallable; typedef std::future ListQueuesOutcomeCallable; typedef std::future ListSessionActionsOutcomeCallable; @@ -470,10 +508,12 @@ namespace Aws typedef std::future UpdateFarmOutcomeCallable; typedef std::future UpdateFleetOutcomeCallable; typedef std::future UpdateJobOutcomeCallable; + typedef std::future UpdateLimitOutcomeCallable; typedef std::future UpdateMonitorOutcomeCallable; typedef std::future UpdateQueueOutcomeCallable; typedef std::future UpdateQueueEnvironmentOutcomeCallable; typedef std::future UpdateQueueFleetAssociationOutcomeCallable; + typedef std::future UpdateQueueLimitAssociationOutcomeCallable; typedef std::future UpdateSessionOutcomeCallable; typedef std::future UpdateStepOutcomeCallable; typedef std::future UpdateStorageProfileOutcomeCallable; @@ -502,21 +542,25 @@ namespace Aws typedef std::function&) > CreateFleetResponseReceivedHandler; typedef std::function&) > CreateJobResponseReceivedHandler; typedef std::function&) > CreateLicenseEndpointResponseReceivedHandler; + typedef std::function&) > CreateLimitResponseReceivedHandler; typedef std::function&) > CreateMonitorResponseReceivedHandler; typedef std::function&) > CreateQueueResponseReceivedHandler; typedef std::function&) > CreateQueueEnvironmentResponseReceivedHandler; typedef std::function&) > CreateQueueFleetAssociationResponseReceivedHandler; + typedef std::function&) > CreateQueueLimitAssociationResponseReceivedHandler; typedef std::function&) > CreateStorageProfileResponseReceivedHandler; typedef std::function&) > CreateWorkerResponseReceivedHandler; typedef std::function&) > DeleteBudgetResponseReceivedHandler; typedef std::function&) > DeleteFarmResponseReceivedHandler; typedef std::function&) > DeleteFleetResponseReceivedHandler; typedef std::function&) > DeleteLicenseEndpointResponseReceivedHandler; + typedef std::function&) > DeleteLimitResponseReceivedHandler; typedef std::function&) > DeleteMeteredProductResponseReceivedHandler; typedef std::function&) > DeleteMonitorResponseReceivedHandler; typedef std::function&) > DeleteQueueResponseReceivedHandler; typedef std::function&) > DeleteQueueEnvironmentResponseReceivedHandler; typedef std::function&) > DeleteQueueFleetAssociationResponseReceivedHandler; + typedef std::function&) > DeleteQueueLimitAssociationResponseReceivedHandler; typedef std::function&) > DeleteStorageProfileResponseReceivedHandler; typedef std::function&) > DeleteWorkerResponseReceivedHandler; typedef std::function&) > DisassociateMemberFromFarmResponseReceivedHandler; @@ -528,10 +572,12 @@ namespace Aws typedef std::function&) > GetFleetResponseReceivedHandler; typedef std::function&) > GetJobResponseReceivedHandler; typedef std::function&) > GetLicenseEndpointResponseReceivedHandler; + typedef std::function&) > GetLimitResponseReceivedHandler; typedef std::function&) > GetMonitorResponseReceivedHandler; typedef std::function&) > GetQueueResponseReceivedHandler; typedef std::function&) > GetQueueEnvironmentResponseReceivedHandler; typedef std::function&) > GetQueueFleetAssociationResponseReceivedHandler; + typedef std::function&) > GetQueueLimitAssociationResponseReceivedHandler; typedef std::function&) > GetSessionResponseReceivedHandler; typedef std::function&) > GetSessionActionResponseReceivedHandler; typedef std::function&) > GetSessionsStatisticsAggregationResponseReceivedHandler; @@ -550,10 +596,12 @@ namespace Aws typedef std::function&) > ListJobParameterDefinitionsResponseReceivedHandler; typedef std::function&) > ListJobsResponseReceivedHandler; typedef std::function&) > ListLicenseEndpointsResponseReceivedHandler; + typedef std::function&) > ListLimitsResponseReceivedHandler; typedef std::function&) > ListMeteredProductsResponseReceivedHandler; typedef std::function&) > ListMonitorsResponseReceivedHandler; typedef std::function&) > ListQueueEnvironmentsResponseReceivedHandler; typedef std::function&) > ListQueueFleetAssociationsResponseReceivedHandler; + typedef std::function&) > ListQueueLimitAssociationsResponseReceivedHandler; typedef std::function&) > ListQueueMembersResponseReceivedHandler; typedef std::function&) > ListQueuesResponseReceivedHandler; typedef std::function&) > ListSessionActionsResponseReceivedHandler; @@ -579,10 +627,12 @@ namespace Aws typedef std::function&) > UpdateFarmResponseReceivedHandler; typedef std::function&) > UpdateFleetResponseReceivedHandler; typedef std::function&) > UpdateJobResponseReceivedHandler; + typedef std::function&) > UpdateLimitResponseReceivedHandler; typedef std::function&) > UpdateMonitorResponseReceivedHandler; typedef std::function&) > UpdateQueueResponseReceivedHandler; typedef std::function&) > UpdateQueueEnvironmentResponseReceivedHandler; typedef std::function&) > UpdateQueueFleetAssociationResponseReceivedHandler; + typedef std::function&) > UpdateQueueLimitAssociationResponseReceivedHandler; typedef std::function&) > UpdateSessionResponseReceivedHandler; typedef std::function&) > UpdateStepResponseReceivedHandler; typedef std::function&) > UpdateStorageProfileResponseReceivedHandler; diff --git a/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/model/AcceleratorCapabilities.h b/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/model/AcceleratorCapabilities.h index acf11131d26..1116d8ba42c 100644 --- a/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/model/AcceleratorCapabilities.h +++ b/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/model/AcceleratorCapabilities.h @@ -26,12 +26,8 @@ namespace Model { /** - *

    Provides information about the GPU accelerators and drivers for the instance - * types in a fleet. If you include the acceleratorCapabilities - * property in the ServiceManagedEc2InstanceCapabilities - * object, all of the Amazon EC2 instances will have at least one accelerator. - *

    See Also:

    Provides information about the GPU accelerators used for jobs processed by a + * fleet.

    See Also:

    AWS * API Reference

    */ @@ -46,8 +42,10 @@ namespace Model ///@{ /** - *

    A list of objects that contain the GPU name of the accelerator and driver for - * the instance types that support the accelerator.

    + *

    A list of accelerator capabilities requested for this fleet. Only Amazon + * Elastic Compute Cloud instances that provide these capabilities will be used. + * For example, if you specify both L4 and T4 chips, Deadline Cloud will use Amazon + * EC2 instances that have either the L4 or the T4 chip installed.

    */ inline const Aws::Vector& GetSelections() const{ return m_selections; } inline bool SelectionsHasBeenSet() const { return m_selectionsHasBeenSet; } @@ -61,7 +59,7 @@ namespace Model ///@{ /** - *

    The number of GPUs on each worker. The default is 1.

    + *

    The number of GPU accelerators specified for worker hosts in this fleet.

    */ inline const AcceleratorCountRange& GetCount() const{ return m_count; } inline bool CountHasBeenSet() const { return m_countHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/model/AcceleratorCountRange.h b/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/model/AcceleratorCountRange.h index 509af1aa93a..21415caef9e 100644 --- a/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/model/AcceleratorCountRange.h +++ b/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/model/AcceleratorCountRange.h @@ -22,7 +22,8 @@ namespace Model { /** - *

    The range for the GPU fleet acceleration.

    See Also:

    Defines the maximum and minimum number of GPU accelerators required for a + * worker instance..

    See Also:

    AWS * API Reference

    */ @@ -37,8 +38,7 @@ namespace Model ///@{ /** - *

    The minimum number of GPUs for the accelerator. If you set the value to 0, a - * worker will still have 1 GPU.

    + *

    The minimum number of GPU accelerators in the worker host.

    */ inline int GetMin() const{ return m_min; } inline bool MinHasBeenSet() const { return m_minHasBeenSet; } @@ -48,7 +48,7 @@ namespace Model ///@{ /** - *

    The maximum number of GPUs for the accelerator.

    + *

    The maximum number of GPU accelerators in the worker host.

    */ inline int GetMax() const{ return m_max; } inline bool MaxHasBeenSet() const { return m_maxHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/model/AcceleratorSelection.h b/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/model/AcceleratorSelection.h index a0d5ac8914c..e3a223e9467 100644 --- a/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/model/AcceleratorSelection.h +++ b/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/model/AcceleratorSelection.h @@ -25,8 +25,8 @@ namespace Model { /** - *

    Values that you can use to select a particular Amazon EC2 instance type. - *

    See Also:

    Describes a specific GPU accelerator required for an Amazon Elastic Compute + * Cloud worker host.

    See Also:

    AWS * API Reference

    */ @@ -41,7 +41,13 @@ namespace Model ///@{ /** - *

    The name of the GPU accelerator.

    + *

    The name of the chip used by the GPU accelerator.

    If you specify + * l4 as the name of the accelerator, you must specify + * latest or grid:r550 as the runtime.

    The + * available GPU accelerators are:

    • t4 - NVIDIA T4 + * Tensor Core GPU

    • a10g - NVIDIA A10G Tensor Core + * GPU

    • l4 - NVIDIA L4 Tensor Core GPU

    • + *
    • l40s - NVIDIA L40S Tensor Core GPU

    */ inline const AcceleratorName& GetName() const{ return m_name; } inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } @@ -53,7 +59,19 @@ namespace Model ///@{ /** - *

    The driver version that the GPU accelerator uses.

    + *

    Specifies the runtime driver to use for the GPU accelerator. You must use the + * same runtime for all GPUs.

    You can choose from the following + * runtimes:

    • latest - Use the latest runtime + * available for the chip. If you specify latest and a new version of + * the runtime is released, the new version of the runtime is used.

    • + *

      grid:r550 - NVIDIA vGPU software 17 + *

    • grid:r535 - NVIDIA vGPU software 16 + *

    If you don't specify a runtime, Deadline Cloud uses + * latest as the default. However, if you have multiple accelerators + * and specify latest for some and leave others blank, Deadline Cloud + * raises an exception.

    */ inline const Aws::String& GetRuntime() const{ return m_runtime; } inline bool RuntimeHasBeenSet() const { return m_runtimeHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/model/AcceleratorTotalMemoryMiBRange.h b/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/model/AcceleratorTotalMemoryMiBRange.h index 77a1b2ede56..25bc7106fad 100644 --- a/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/model/AcceleratorTotalMemoryMiBRange.h +++ b/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/model/AcceleratorTotalMemoryMiBRange.h @@ -22,8 +22,8 @@ namespace Model { /** - *

    The range for memory, in MiB, to use for the accelerator.

    See - * Also:

    Defines the maximum and minimum amount of memory, in MiB, to use for the + * accelerator.

    See Also:

    AWS * API Reference

    */ diff --git a/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/model/AcquiredLimit.h b/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/model/AcquiredLimit.h new file mode 100644 index 00000000000..6b2bf9dacb0 --- /dev/null +++ b/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/model/AcquiredLimit.h @@ -0,0 +1,75 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace deadline +{ +namespace Model +{ + + /** + *

    Provides information about the number of resources used.

    See + * Also:

    AWS + * API Reference

    + */ + class AcquiredLimit + { + public: + AWS_DEADLINE_API AcquiredLimit(); + AWS_DEADLINE_API AcquiredLimit(Aws::Utils::Json::JsonView jsonValue); + AWS_DEADLINE_API AcquiredLimit& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_DEADLINE_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

    The unique identifier of the limit.

    + */ + inline const Aws::String& GetLimitId() const{ return m_limitId; } + inline bool LimitIdHasBeenSet() const { return m_limitIdHasBeenSet; } + inline void SetLimitId(const Aws::String& value) { m_limitIdHasBeenSet = true; m_limitId = value; } + inline void SetLimitId(Aws::String&& value) { m_limitIdHasBeenSet = true; m_limitId = std::move(value); } + inline void SetLimitId(const char* value) { m_limitIdHasBeenSet = true; m_limitId.assign(value); } + inline AcquiredLimit& WithLimitId(const Aws::String& value) { SetLimitId(value); return *this;} + inline AcquiredLimit& WithLimitId(Aws::String&& value) { SetLimitId(std::move(value)); return *this;} + inline AcquiredLimit& WithLimitId(const char* value) { SetLimitId(value); return *this;} + ///@} + + ///@{ + /** + *

    The number of limit resources used.

    + */ + inline int GetCount() const{ return m_count; } + inline bool CountHasBeenSet() const { return m_countHasBeenSet; } + inline void SetCount(int value) { m_countHasBeenSet = true; m_count = value; } + inline AcquiredLimit& WithCount(int value) { SetCount(value); return *this;} + ///@} + private: + + Aws::String m_limitId; + bool m_limitIdHasBeenSet = false; + + int m_count; + bool m_countHasBeenSet = false; + }; + +} // namespace Model +} // namespace deadline +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/model/CreateJobRequest.h b/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/model/CreateJobRequest.h index bc40c1b249a..cdab8878d4c 100644 --- a/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/model/CreateJobRequest.h +++ b/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/model/CreateJobRequest.h @@ -200,6 +200,22 @@ namespace Model inline CreateJobRequest& WithMaxRetriesPerTask(int value) { SetMaxRetriesPerTask(value); return *this;} ///@} + ///@{ + /** + *

    The maximum number of worker hosts that can concurrently process a job. When + * the maxWorkerCount is reached, no more workers will be assigned to + * process the job, even if the fleets assigned to the job's queue has available + * workers.

    You can't set the maxWorkerCount to 0. If you set + * it to -1, there is no maximum number of workers.

    If you don't specify the + * maxWorkerCount, Deadline Cloud won't throttle the number of workers + * used to process the job.

    + */ + inline int GetMaxWorkerCount() const{ return m_maxWorkerCount; } + inline bool MaxWorkerCountHasBeenSet() const { return m_maxWorkerCountHasBeenSet; } + inline void SetMaxWorkerCount(int value) { m_maxWorkerCountHasBeenSet = true; m_maxWorkerCount = value; } + inline CreateJobRequest& WithMaxWorkerCount(int value) { SetMaxWorkerCount(value); return *this;} + ///@} + ///@{ /** *

    The job ID for the source job.

    @@ -251,6 +267,9 @@ namespace Model int m_maxRetriesPerTask; bool m_maxRetriesPerTaskHasBeenSet = false; + int m_maxWorkerCount; + bool m_maxWorkerCountHasBeenSet = false; + Aws::String m_sourceJobId; bool m_sourceJobIdHasBeenSet = false; }; diff --git a/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/model/CreateLimitRequest.h b/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/model/CreateLimitRequest.h new file mode 100644 index 00000000000..0454c58bb21 --- /dev/null +++ b/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/model/CreateLimitRequest.h @@ -0,0 +1,152 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace deadline +{ +namespace Model +{ + + /** + */ + class CreateLimitRequest : public DeadlineRequest + { + public: + AWS_DEADLINE_API CreateLimitRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "CreateLimit"; } + + AWS_DEADLINE_API Aws::String SerializePayload() const override; + + AWS_DEADLINE_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + /** + *

    The unique token which the server uses to recognize retries of the same + * request.

    + */ + inline const Aws::String& GetClientToken() const{ return m_clientToken; } + inline bool ClientTokenHasBeenSet() const { return m_clientTokenHasBeenSet; } + inline void SetClientToken(const Aws::String& value) { m_clientTokenHasBeenSet = true; m_clientToken = value; } + inline void SetClientToken(Aws::String&& value) { m_clientTokenHasBeenSet = true; m_clientToken = std::move(value); } + inline void SetClientToken(const char* value) { m_clientTokenHasBeenSet = true; m_clientToken.assign(value); } + inline CreateLimitRequest& WithClientToken(const Aws::String& value) { SetClientToken(value); return *this;} + inline CreateLimitRequest& WithClientToken(Aws::String&& value) { SetClientToken(std::move(value)); return *this;} + inline CreateLimitRequest& WithClientToken(const char* value) { SetClientToken(value); return *this;} + ///@} + + ///@{ + /** + *

    The display name of the limit.

    This field can store any + * content. Escape or encode this content before displaying it on a webpage or any + * other system that might interpret the content of this field.

    + */ + inline const Aws::String& GetDisplayName() const{ return m_displayName; } + inline bool DisplayNameHasBeenSet() const { return m_displayNameHasBeenSet; } + inline void SetDisplayName(const Aws::String& value) { m_displayNameHasBeenSet = true; m_displayName = value; } + inline void SetDisplayName(Aws::String&& value) { m_displayNameHasBeenSet = true; m_displayName = std::move(value); } + inline void SetDisplayName(const char* value) { m_displayNameHasBeenSet = true; m_displayName.assign(value); } + inline CreateLimitRequest& WithDisplayName(const Aws::String& value) { SetDisplayName(value); return *this;} + inline CreateLimitRequest& WithDisplayName(Aws::String&& value) { SetDisplayName(std::move(value)); return *this;} + inline CreateLimitRequest& WithDisplayName(const char* value) { SetDisplayName(value); return *this;} + ///@} + + ///@{ + /** + *

    The value that you specify as the name in the + * amounts field of the hostRequirements in a step of a + * job template to declare the limit requirement.

    + */ + inline const Aws::String& GetAmountRequirementName() const{ return m_amountRequirementName; } + inline bool AmountRequirementNameHasBeenSet() const { return m_amountRequirementNameHasBeenSet; } + inline void SetAmountRequirementName(const Aws::String& value) { m_amountRequirementNameHasBeenSet = true; m_amountRequirementName = value; } + inline void SetAmountRequirementName(Aws::String&& value) { m_amountRequirementNameHasBeenSet = true; m_amountRequirementName = std::move(value); } + inline void SetAmountRequirementName(const char* value) { m_amountRequirementNameHasBeenSet = true; m_amountRequirementName.assign(value); } + inline CreateLimitRequest& WithAmountRequirementName(const Aws::String& value) { SetAmountRequirementName(value); return *this;} + inline CreateLimitRequest& WithAmountRequirementName(Aws::String&& value) { SetAmountRequirementName(std::move(value)); return *this;} + inline CreateLimitRequest& WithAmountRequirementName(const char* value) { SetAmountRequirementName(value); return *this;} + ///@} + + ///@{ + /** + *

    The maximum number of resources constrained by this limit. When all of the + * resources are in use, steps that require the limit won't be scheduled until the + * resource is available.

    The maxCount must not be 0. If the + * value is -1, there is no restriction on the number of resources that can be + * acquired for this limit.

    + */ + inline int GetMaxCount() const{ return m_maxCount; } + inline bool MaxCountHasBeenSet() const { return m_maxCountHasBeenSet; } + inline void SetMaxCount(int value) { m_maxCountHasBeenSet = true; m_maxCount = value; } + inline CreateLimitRequest& WithMaxCount(int value) { SetMaxCount(value); return *this;} + ///@} + + ///@{ + /** + *

    The farm ID of the farm that contains the limit.

    + */ + inline const Aws::String& GetFarmId() const{ return m_farmId; } + inline bool FarmIdHasBeenSet() const { return m_farmIdHasBeenSet; } + inline void SetFarmId(const Aws::String& value) { m_farmIdHasBeenSet = true; m_farmId = value; } + inline void SetFarmId(Aws::String&& value) { m_farmIdHasBeenSet = true; m_farmId = std::move(value); } + inline void SetFarmId(const char* value) { m_farmIdHasBeenSet = true; m_farmId.assign(value); } + inline CreateLimitRequest& WithFarmId(const Aws::String& value) { SetFarmId(value); return *this;} + inline CreateLimitRequest& WithFarmId(Aws::String&& value) { SetFarmId(std::move(value)); return *this;} + inline CreateLimitRequest& WithFarmId(const char* value) { SetFarmId(value); return *this;} + ///@} + + ///@{ + /** + *

    A description of the limit. A description helps you identify the purpose of + * the limit.

    This field can store any content. Escape or encode + * this content before displaying it on a webpage or any other system that might + * interpret the content of this field.

    + */ + inline const Aws::String& GetDescription() const{ return m_description; } + inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } + inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } + inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } + inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } + inline CreateLimitRequest& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} + inline CreateLimitRequest& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} + inline CreateLimitRequest& WithDescription(const char* value) { SetDescription(value); return *this;} + ///@} + private: + + Aws::String m_clientToken; + bool m_clientTokenHasBeenSet = false; + + Aws::String m_displayName; + bool m_displayNameHasBeenSet = false; + + Aws::String m_amountRequirementName; + bool m_amountRequirementNameHasBeenSet = false; + + int m_maxCount; + bool m_maxCountHasBeenSet = false; + + Aws::String m_farmId; + bool m_farmIdHasBeenSet = false; + + Aws::String m_description; + bool m_descriptionHasBeenSet = false; + }; + +} // namespace Model +} // namespace deadline +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/model/CreateLimitResult.h b/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/model/CreateLimitResult.h new file mode 100644 index 00000000000..41b9c5b4b5b --- /dev/null +++ b/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/model/CreateLimitResult.h @@ -0,0 +1,69 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace deadline +{ +namespace Model +{ + class CreateLimitResult + { + public: + AWS_DEADLINE_API CreateLimitResult(); + AWS_DEADLINE_API CreateLimitResult(const Aws::AmazonWebServiceResult& result); + AWS_DEADLINE_API CreateLimitResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

    A unique identifier for the limit. Use this identifier in other operations, + * such as CreateQueueLimitAssociation and + * DeleteLimit.

    + */ + inline const Aws::String& GetLimitId() const{ return m_limitId; } + inline void SetLimitId(const Aws::String& value) { m_limitId = value; } + inline void SetLimitId(Aws::String&& value) { m_limitId = std::move(value); } + inline void SetLimitId(const char* value) { m_limitId.assign(value); } + inline CreateLimitResult& WithLimitId(const Aws::String& value) { SetLimitId(value); return *this;} + inline CreateLimitResult& WithLimitId(Aws::String&& value) { SetLimitId(std::move(value)); return *this;} + inline CreateLimitResult& WithLimitId(const char* value) { SetLimitId(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline CreateLimitResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline CreateLimitResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline CreateLimitResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_limitId; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace deadline +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/model/CreateQueueLimitAssociationRequest.h b/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/model/CreateQueueLimitAssociationRequest.h new file mode 100644 index 00000000000..dcd9c8f1639 --- /dev/null +++ b/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/model/CreateQueueLimitAssociationRequest.h @@ -0,0 +1,91 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace deadline +{ +namespace Model +{ + + /** + */ + class CreateQueueLimitAssociationRequest : public DeadlineRequest + { + public: + AWS_DEADLINE_API CreateQueueLimitAssociationRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "CreateQueueLimitAssociation"; } + + AWS_DEADLINE_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

    The unique identifier of the farm that contains the queue and limit to + * associate.

    + */ + inline const Aws::String& GetFarmId() const{ return m_farmId; } + inline bool FarmIdHasBeenSet() const { return m_farmIdHasBeenSet; } + inline void SetFarmId(const Aws::String& value) { m_farmIdHasBeenSet = true; m_farmId = value; } + inline void SetFarmId(Aws::String&& value) { m_farmIdHasBeenSet = true; m_farmId = std::move(value); } + inline void SetFarmId(const char* value) { m_farmIdHasBeenSet = true; m_farmId.assign(value); } + inline CreateQueueLimitAssociationRequest& WithFarmId(const Aws::String& value) { SetFarmId(value); return *this;} + inline CreateQueueLimitAssociationRequest& WithFarmId(Aws::String&& value) { SetFarmId(std::move(value)); return *this;} + inline CreateQueueLimitAssociationRequest& WithFarmId(const char* value) { SetFarmId(value); return *this;} + ///@} + + ///@{ + /** + *

    The unique identifier of the queue to associate with the limit.

    + */ + inline const Aws::String& GetQueueId() const{ return m_queueId; } + inline bool QueueIdHasBeenSet() const { return m_queueIdHasBeenSet; } + inline void SetQueueId(const Aws::String& value) { m_queueIdHasBeenSet = true; m_queueId = value; } + inline void SetQueueId(Aws::String&& value) { m_queueIdHasBeenSet = true; m_queueId = std::move(value); } + inline void SetQueueId(const char* value) { m_queueIdHasBeenSet = true; m_queueId.assign(value); } + inline CreateQueueLimitAssociationRequest& WithQueueId(const Aws::String& value) { SetQueueId(value); return *this;} + inline CreateQueueLimitAssociationRequest& WithQueueId(Aws::String&& value) { SetQueueId(std::move(value)); return *this;} + inline CreateQueueLimitAssociationRequest& WithQueueId(const char* value) { SetQueueId(value); return *this;} + ///@} + + ///@{ + /** + *

    The unique identifier of the limit to associate with the queue.

    + */ + inline const Aws::String& GetLimitId() const{ return m_limitId; } + inline bool LimitIdHasBeenSet() const { return m_limitIdHasBeenSet; } + inline void SetLimitId(const Aws::String& value) { m_limitIdHasBeenSet = true; m_limitId = value; } + inline void SetLimitId(Aws::String&& value) { m_limitIdHasBeenSet = true; m_limitId = std::move(value); } + inline void SetLimitId(const char* value) { m_limitIdHasBeenSet = true; m_limitId.assign(value); } + inline CreateQueueLimitAssociationRequest& WithLimitId(const Aws::String& value) { SetLimitId(value); return *this;} + inline CreateQueueLimitAssociationRequest& WithLimitId(Aws::String&& value) { SetLimitId(std::move(value)); return *this;} + inline CreateQueueLimitAssociationRequest& WithLimitId(const char* value) { SetLimitId(value); return *this;} + ///@} + private: + + Aws::String m_farmId; + bool m_farmIdHasBeenSet = false; + + Aws::String m_queueId; + bool m_queueIdHasBeenSet = false; + + Aws::String m_limitId; + bool m_limitIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace deadline +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/model/CreateQueueLimitAssociationResult.h b/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/model/CreateQueueLimitAssociationResult.h new file mode 100644 index 00000000000..e9754ed7180 --- /dev/null +++ b/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/model/CreateQueueLimitAssociationResult.h @@ -0,0 +1,52 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace deadline +{ +namespace Model +{ + class CreateQueueLimitAssociationResult + { + public: + AWS_DEADLINE_API CreateQueueLimitAssociationResult(); + AWS_DEADLINE_API CreateQueueLimitAssociationResult(const Aws::AmazonWebServiceResult& result); + AWS_DEADLINE_API CreateQueueLimitAssociationResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline CreateQueueLimitAssociationResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline CreateQueueLimitAssociationResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline CreateQueueLimitAssociationResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace deadline +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/model/DeleteLimitRequest.h b/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/model/DeleteLimitRequest.h new file mode 100644 index 00000000000..e0ecdd3be3e --- /dev/null +++ b/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/model/DeleteLimitRequest.h @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace deadline +{ +namespace Model +{ + + /** + */ + class DeleteLimitRequest : public DeadlineRequest + { + public: + AWS_DEADLINE_API DeleteLimitRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "DeleteLimit"; } + + AWS_DEADLINE_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

    The unique identifier of the farm that contains the limit to delete.

    + */ + inline const Aws::String& GetFarmId() const{ return m_farmId; } + inline bool FarmIdHasBeenSet() const { return m_farmIdHasBeenSet; } + inline void SetFarmId(const Aws::String& value) { m_farmIdHasBeenSet = true; m_farmId = value; } + inline void SetFarmId(Aws::String&& value) { m_farmIdHasBeenSet = true; m_farmId = std::move(value); } + inline void SetFarmId(const char* value) { m_farmIdHasBeenSet = true; m_farmId.assign(value); } + inline DeleteLimitRequest& WithFarmId(const Aws::String& value) { SetFarmId(value); return *this;} + inline DeleteLimitRequest& WithFarmId(Aws::String&& value) { SetFarmId(std::move(value)); return *this;} + inline DeleteLimitRequest& WithFarmId(const char* value) { SetFarmId(value); return *this;} + ///@} + + ///@{ + /** + *

    The unique identifier of the limit to delete.

    + */ + inline const Aws::String& GetLimitId() const{ return m_limitId; } + inline bool LimitIdHasBeenSet() const { return m_limitIdHasBeenSet; } + inline void SetLimitId(const Aws::String& value) { m_limitIdHasBeenSet = true; m_limitId = value; } + inline void SetLimitId(Aws::String&& value) { m_limitIdHasBeenSet = true; m_limitId = std::move(value); } + inline void SetLimitId(const char* value) { m_limitIdHasBeenSet = true; m_limitId.assign(value); } + inline DeleteLimitRequest& WithLimitId(const Aws::String& value) { SetLimitId(value); return *this;} + inline DeleteLimitRequest& WithLimitId(Aws::String&& value) { SetLimitId(std::move(value)); return *this;} + inline DeleteLimitRequest& WithLimitId(const char* value) { SetLimitId(value); return *this;} + ///@} + private: + + Aws::String m_farmId; + bool m_farmIdHasBeenSet = false; + + Aws::String m_limitId; + bool m_limitIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace deadline +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/model/DeleteLimitResult.h b/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/model/DeleteLimitResult.h new file mode 100644 index 00000000000..2ce039d6e71 --- /dev/null +++ b/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/model/DeleteLimitResult.h @@ -0,0 +1,52 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace deadline +{ +namespace Model +{ + class DeleteLimitResult + { + public: + AWS_DEADLINE_API DeleteLimitResult(); + AWS_DEADLINE_API DeleteLimitResult(const Aws::AmazonWebServiceResult& result); + AWS_DEADLINE_API DeleteLimitResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline DeleteLimitResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline DeleteLimitResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline DeleteLimitResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace deadline +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/model/DeleteQueueLimitAssociationRequest.h b/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/model/DeleteQueueLimitAssociationRequest.h new file mode 100644 index 00000000000..b6c23311f22 --- /dev/null +++ b/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/model/DeleteQueueLimitAssociationRequest.h @@ -0,0 +1,91 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace deadline +{ +namespace Model +{ + + /** + */ + class DeleteQueueLimitAssociationRequest : public DeadlineRequest + { + public: + AWS_DEADLINE_API DeleteQueueLimitAssociationRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "DeleteQueueLimitAssociation"; } + + AWS_DEADLINE_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

    The unique identifier of the farm that contains the queue and limit to + * disassociate.

    + */ + inline const Aws::String& GetFarmId() const{ return m_farmId; } + inline bool FarmIdHasBeenSet() const { return m_farmIdHasBeenSet; } + inline void SetFarmId(const Aws::String& value) { m_farmIdHasBeenSet = true; m_farmId = value; } + inline void SetFarmId(Aws::String&& value) { m_farmIdHasBeenSet = true; m_farmId = std::move(value); } + inline void SetFarmId(const char* value) { m_farmIdHasBeenSet = true; m_farmId.assign(value); } + inline DeleteQueueLimitAssociationRequest& WithFarmId(const Aws::String& value) { SetFarmId(value); return *this;} + inline DeleteQueueLimitAssociationRequest& WithFarmId(Aws::String&& value) { SetFarmId(std::move(value)); return *this;} + inline DeleteQueueLimitAssociationRequest& WithFarmId(const char* value) { SetFarmId(value); return *this;} + ///@} + + ///@{ + /** + *

    The unique identifier of the queue to disassociate.

    + */ + inline const Aws::String& GetQueueId() const{ return m_queueId; } + inline bool QueueIdHasBeenSet() const { return m_queueIdHasBeenSet; } + inline void SetQueueId(const Aws::String& value) { m_queueIdHasBeenSet = true; m_queueId = value; } + inline void SetQueueId(Aws::String&& value) { m_queueIdHasBeenSet = true; m_queueId = std::move(value); } + inline void SetQueueId(const char* value) { m_queueIdHasBeenSet = true; m_queueId.assign(value); } + inline DeleteQueueLimitAssociationRequest& WithQueueId(const Aws::String& value) { SetQueueId(value); return *this;} + inline DeleteQueueLimitAssociationRequest& WithQueueId(Aws::String&& value) { SetQueueId(std::move(value)); return *this;} + inline DeleteQueueLimitAssociationRequest& WithQueueId(const char* value) { SetQueueId(value); return *this;} + ///@} + + ///@{ + /** + *

    The unique identifier of the limit to disassociate.

    + */ + inline const Aws::String& GetLimitId() const{ return m_limitId; } + inline bool LimitIdHasBeenSet() const { return m_limitIdHasBeenSet; } + inline void SetLimitId(const Aws::String& value) { m_limitIdHasBeenSet = true; m_limitId = value; } + inline void SetLimitId(Aws::String&& value) { m_limitIdHasBeenSet = true; m_limitId = std::move(value); } + inline void SetLimitId(const char* value) { m_limitIdHasBeenSet = true; m_limitId.assign(value); } + inline DeleteQueueLimitAssociationRequest& WithLimitId(const Aws::String& value) { SetLimitId(value); return *this;} + inline DeleteQueueLimitAssociationRequest& WithLimitId(Aws::String&& value) { SetLimitId(std::move(value)); return *this;} + inline DeleteQueueLimitAssociationRequest& WithLimitId(const char* value) { SetLimitId(value); return *this;} + ///@} + private: + + Aws::String m_farmId; + bool m_farmIdHasBeenSet = false; + + Aws::String m_queueId; + bool m_queueIdHasBeenSet = false; + + Aws::String m_limitId; + bool m_limitIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace deadline +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/model/DeleteQueueLimitAssociationResult.h b/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/model/DeleteQueueLimitAssociationResult.h new file mode 100644 index 00000000000..4c5568929d4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/model/DeleteQueueLimitAssociationResult.h @@ -0,0 +1,52 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace deadline +{ +namespace Model +{ + class DeleteQueueLimitAssociationResult + { + public: + AWS_DEADLINE_API DeleteQueueLimitAssociationResult(); + AWS_DEADLINE_API DeleteQueueLimitAssociationResult(const Aws::AmazonWebServiceResult& result); + AWS_DEADLINE_API DeleteQueueLimitAssociationResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline DeleteQueueLimitAssociationResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline DeleteQueueLimitAssociationResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline DeleteQueueLimitAssociationResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace deadline +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/model/GetJobRequest.h b/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/model/GetJobRequest.h index cdcfb74cba1..ad9e8e2e98c 100644 --- a/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/model/GetJobRequest.h +++ b/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/model/GetJobRequest.h @@ -46,20 +46,6 @@ namespace Model inline GetJobRequest& WithFarmId(const char* value) { SetFarmId(value); return *this;} ///@} - ///@{ - /** - *

    The job ID.

    - */ - inline const Aws::String& GetJobId() const{ return m_jobId; } - inline bool JobIdHasBeenSet() const { return m_jobIdHasBeenSet; } - inline void SetJobId(const Aws::String& value) { m_jobIdHasBeenSet = true; m_jobId = value; } - inline void SetJobId(Aws::String&& value) { m_jobIdHasBeenSet = true; m_jobId = std::move(value); } - inline void SetJobId(const char* value) { m_jobIdHasBeenSet = true; m_jobId.assign(value); } - inline GetJobRequest& WithJobId(const Aws::String& value) { SetJobId(value); return *this;} - inline GetJobRequest& WithJobId(Aws::String&& value) { SetJobId(std::move(value)); return *this;} - inline GetJobRequest& WithJobId(const char* value) { SetJobId(value); return *this;} - ///@} - ///@{ /** *

    The queue ID associated with the job.

    @@ -73,16 +59,30 @@ namespace Model inline GetJobRequest& WithQueueId(Aws::String&& value) { SetQueueId(std::move(value)); return *this;} inline GetJobRequest& WithQueueId(const char* value) { SetQueueId(value); return *this;} ///@} + + ///@{ + /** + *

    The job ID.

    + */ + inline const Aws::String& GetJobId() const{ return m_jobId; } + inline bool JobIdHasBeenSet() const { return m_jobIdHasBeenSet; } + inline void SetJobId(const Aws::String& value) { m_jobIdHasBeenSet = true; m_jobId = value; } + inline void SetJobId(Aws::String&& value) { m_jobIdHasBeenSet = true; m_jobId = std::move(value); } + inline void SetJobId(const char* value) { m_jobIdHasBeenSet = true; m_jobId.assign(value); } + inline GetJobRequest& WithJobId(const Aws::String& value) { SetJobId(value); return *this;} + inline GetJobRequest& WithJobId(Aws::String&& value) { SetJobId(std::move(value)); return *this;} + inline GetJobRequest& WithJobId(const char* value) { SetJobId(value); return *this;} + ///@} private: Aws::String m_farmId; bool m_farmIdHasBeenSet = false; - Aws::String m_jobId; - bool m_jobIdHasBeenSet = false; - Aws::String m_queueId; bool m_queueIdHasBeenSet = false; + + Aws::String m_jobId; + bool m_jobIdHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/model/GetJobResult.h b/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/model/GetJobResult.h index 13e675c8a47..7436492196d 100644 --- a/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/model/GetJobResult.h +++ b/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/model/GetJobResult.h @@ -278,6 +278,19 @@ namespace Model inline GetJobResult& WithDescription(const char* value) { SetDescription(value); return *this;} ///@} + ///@{ + /** + *

    The maximum number of worker hosts that can concurrently process a job. When + * the maxWorkerCount is reached, no more workers will be assigned to + * process the job, even if the fleets assigned to the job's queue has available + * workers.

    If you don't set the maxWorkerCount when you create + * a job, this value is not returned in the response.

    + */ + inline int GetMaxWorkerCount() const{ return m_maxWorkerCount; } + inline void SetMaxWorkerCount(int value) { m_maxWorkerCount = value; } + inline GetJobResult& WithMaxWorkerCount(int value) { SetMaxWorkerCount(value); return *this;} + ///@} + ///@{ /** *

    The job ID for the source job.

    @@ -343,6 +356,8 @@ namespace Model Aws::String m_description; + int m_maxWorkerCount; + Aws::String m_sourceJobId; Aws::String m_requestId; diff --git a/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/model/GetLimitRequest.h b/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/model/GetLimitRequest.h new file mode 100644 index 00000000000..019b9e7b24a --- /dev/null +++ b/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/model/GetLimitRequest.h @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace deadline +{ +namespace Model +{ + + /** + */ + class GetLimitRequest : public DeadlineRequest + { + public: + AWS_DEADLINE_API GetLimitRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "GetLimit"; } + + AWS_DEADLINE_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

    The unique identifier of the farm that contains the limit.

    + */ + inline const Aws::String& GetFarmId() const{ return m_farmId; } + inline bool FarmIdHasBeenSet() const { return m_farmIdHasBeenSet; } + inline void SetFarmId(const Aws::String& value) { m_farmIdHasBeenSet = true; m_farmId = value; } + inline void SetFarmId(Aws::String&& value) { m_farmIdHasBeenSet = true; m_farmId = std::move(value); } + inline void SetFarmId(const char* value) { m_farmIdHasBeenSet = true; m_farmId.assign(value); } + inline GetLimitRequest& WithFarmId(const Aws::String& value) { SetFarmId(value); return *this;} + inline GetLimitRequest& WithFarmId(Aws::String&& value) { SetFarmId(std::move(value)); return *this;} + inline GetLimitRequest& WithFarmId(const char* value) { SetFarmId(value); return *this;} + ///@} + + ///@{ + /** + *

    The unique identifier of the limit to return.

    + */ + inline const Aws::String& GetLimitId() const{ return m_limitId; } + inline bool LimitIdHasBeenSet() const { return m_limitIdHasBeenSet; } + inline void SetLimitId(const Aws::String& value) { m_limitIdHasBeenSet = true; m_limitId = value; } + inline void SetLimitId(Aws::String&& value) { m_limitIdHasBeenSet = true; m_limitId = std::move(value); } + inline void SetLimitId(const char* value) { m_limitIdHasBeenSet = true; m_limitId.assign(value); } + inline GetLimitRequest& WithLimitId(const Aws::String& value) { SetLimitId(value); return *this;} + inline GetLimitRequest& WithLimitId(Aws::String&& value) { SetLimitId(std::move(value)); return *this;} + inline GetLimitRequest& WithLimitId(const char* value) { SetLimitId(value); return *this;} + ///@} + private: + + Aws::String m_farmId; + bool m_farmIdHasBeenSet = false; + + Aws::String m_limitId; + bool m_limitIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace deadline +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/model/GetLimitResult.h b/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/model/GetLimitResult.h new file mode 100644 index 00000000000..a1f4c71c1ac --- /dev/null +++ b/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/model/GetLimitResult.h @@ -0,0 +1,219 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace deadline +{ +namespace Model +{ + class GetLimitResult + { + public: + AWS_DEADLINE_API GetLimitResult(); + AWS_DEADLINE_API GetLimitResult(const Aws::AmazonWebServiceResult& result); + AWS_DEADLINE_API GetLimitResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

    The display name of the limit.

    This field can store any + * content. Escape or encode this content before displaying it on a webpage or any + * other system that might interpret the content of this field.

    + */ + inline const Aws::String& GetDisplayName() const{ return m_displayName; } + inline void SetDisplayName(const Aws::String& value) { m_displayName = value; } + inline void SetDisplayName(Aws::String&& value) { m_displayName = std::move(value); } + inline void SetDisplayName(const char* value) { m_displayName.assign(value); } + inline GetLimitResult& WithDisplayName(const Aws::String& value) { SetDisplayName(value); return *this;} + inline GetLimitResult& WithDisplayName(Aws::String&& value) { SetDisplayName(std::move(value)); return *this;} + inline GetLimitResult& WithDisplayName(const char* value) { SetDisplayName(value); return *this;} + ///@} + + ///@{ + /** + *

    The value that you specify as the name in the + * amounts field of the hostRequirements in a step of a + * job template to declare the limit requirement.

    + */ + inline const Aws::String& GetAmountRequirementName() const{ return m_amountRequirementName; } + inline void SetAmountRequirementName(const Aws::String& value) { m_amountRequirementName = value; } + inline void SetAmountRequirementName(Aws::String&& value) { m_amountRequirementName = std::move(value); } + inline void SetAmountRequirementName(const char* value) { m_amountRequirementName.assign(value); } + inline GetLimitResult& WithAmountRequirementName(const Aws::String& value) { SetAmountRequirementName(value); return *this;} + inline GetLimitResult& WithAmountRequirementName(Aws::String&& value) { SetAmountRequirementName(std::move(value)); return *this;} + inline GetLimitResult& WithAmountRequirementName(const char* value) { SetAmountRequirementName(value); return *this;} + ///@} + + ///@{ + /** + *

    The maximum number of resources constrained by this limit. When all of the + * resources are in use, steps that require the limit won't be scheduled until the + * resource is available.

    The maxValue must not be 0. If the + * value is -1, there is no restriction on the number of resources that can be + * acquired for this limit.

    + */ + inline int GetMaxCount() const{ return m_maxCount; } + inline void SetMaxCount(int value) { m_maxCount = value; } + inline GetLimitResult& WithMaxCount(int value) { SetMaxCount(value); return *this;} + ///@} + + ///@{ + /** + *

    The Unix timestamp of the date and time that the limit was created.

    + */ + inline const Aws::Utils::DateTime& GetCreatedAt() const{ return m_createdAt; } + inline void SetCreatedAt(const Aws::Utils::DateTime& value) { m_createdAt = value; } + inline void SetCreatedAt(Aws::Utils::DateTime&& value) { m_createdAt = std::move(value); } + inline GetLimitResult& WithCreatedAt(const Aws::Utils::DateTime& value) { SetCreatedAt(value); return *this;} + inline GetLimitResult& WithCreatedAt(Aws::Utils::DateTime&& value) { SetCreatedAt(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

    The user identifier of the person that created the limit.

    + */ + inline const Aws::String& GetCreatedBy() const{ return m_createdBy; } + inline void SetCreatedBy(const Aws::String& value) { m_createdBy = value; } + inline void SetCreatedBy(Aws::String&& value) { m_createdBy = std::move(value); } + inline void SetCreatedBy(const char* value) { m_createdBy.assign(value); } + inline GetLimitResult& WithCreatedBy(const Aws::String& value) { SetCreatedBy(value); return *this;} + inline GetLimitResult& WithCreatedBy(Aws::String&& value) { SetCreatedBy(std::move(value)); return *this;} + inline GetLimitResult& WithCreatedBy(const char* value) { SetCreatedBy(value); return *this;} + ///@} + + ///@{ + /** + *

    The Unix timestamp of the date and time that the limit was last updated.

    + */ + inline const Aws::Utils::DateTime& GetUpdatedAt() const{ return m_updatedAt; } + inline void SetUpdatedAt(const Aws::Utils::DateTime& value) { m_updatedAt = value; } + inline void SetUpdatedAt(Aws::Utils::DateTime&& value) { m_updatedAt = std::move(value); } + inline GetLimitResult& WithUpdatedAt(const Aws::Utils::DateTime& value) { SetUpdatedAt(value); return *this;} + inline GetLimitResult& WithUpdatedAt(Aws::Utils::DateTime&& value) { SetUpdatedAt(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

    The user identifier of the person that last updated the limit.

    + */ + inline const Aws::String& GetUpdatedBy() const{ return m_updatedBy; } + inline void SetUpdatedBy(const Aws::String& value) { m_updatedBy = value; } + inline void SetUpdatedBy(Aws::String&& value) { m_updatedBy = std::move(value); } + inline void SetUpdatedBy(const char* value) { m_updatedBy.assign(value); } + inline GetLimitResult& WithUpdatedBy(const Aws::String& value) { SetUpdatedBy(value); return *this;} + inline GetLimitResult& WithUpdatedBy(Aws::String&& value) { SetUpdatedBy(std::move(value)); return *this;} + inline GetLimitResult& WithUpdatedBy(const char* value) { SetUpdatedBy(value); return *this;} + ///@} + + ///@{ + /** + *

    The unique identifier of the farm that contains the limit.

    + */ + inline const Aws::String& GetFarmId() const{ return m_farmId; } + inline void SetFarmId(const Aws::String& value) { m_farmId = value; } + inline void SetFarmId(Aws::String&& value) { m_farmId = std::move(value); } + inline void SetFarmId(const char* value) { m_farmId.assign(value); } + inline GetLimitResult& WithFarmId(const Aws::String& value) { SetFarmId(value); return *this;} + inline GetLimitResult& WithFarmId(Aws::String&& value) { SetFarmId(std::move(value)); return *this;} + inline GetLimitResult& WithFarmId(const char* value) { SetFarmId(value); return *this;} + ///@} + + ///@{ + /** + *

    The unique identifier of the limit.

    + */ + inline const Aws::String& GetLimitId() const{ return m_limitId; } + inline void SetLimitId(const Aws::String& value) { m_limitId = value; } + inline void SetLimitId(Aws::String&& value) { m_limitId = std::move(value); } + inline void SetLimitId(const char* value) { m_limitId.assign(value); } + inline GetLimitResult& WithLimitId(const Aws::String& value) { SetLimitId(value); return *this;} + inline GetLimitResult& WithLimitId(Aws::String&& value) { SetLimitId(std::move(value)); return *this;} + inline GetLimitResult& WithLimitId(const char* value) { SetLimitId(value); return *this;} + ///@} + + ///@{ + /** + *

    The number of resources from the limit that are being used by jobs. The + * result is delayed and may not be the count at the time that you called the + * operation.

    + */ + inline int GetCurrentCount() const{ return m_currentCount; } + inline void SetCurrentCount(int value) { m_currentCount = value; } + inline GetLimitResult& WithCurrentCount(int value) { SetCurrentCount(value); return *this;} + ///@} + + ///@{ + /** + *

    The description of the limit that helps identify what the limit is used + * for.

    This field can store any content. Escape or encode this + * content before displaying it on a webpage or any other system that might + * interpret the content of this field.

    + */ + inline const Aws::String& GetDescription() const{ return m_description; } + inline void SetDescription(const Aws::String& value) { m_description = value; } + inline void SetDescription(Aws::String&& value) { m_description = std::move(value); } + inline void SetDescription(const char* value) { m_description.assign(value); } + inline GetLimitResult& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} + inline GetLimitResult& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} + inline GetLimitResult& WithDescription(const char* value) { SetDescription(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline GetLimitResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline GetLimitResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline GetLimitResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_displayName; + + Aws::String m_amountRequirementName; + + int m_maxCount; + + Aws::Utils::DateTime m_createdAt; + + Aws::String m_createdBy; + + Aws::Utils::DateTime m_updatedAt; + + Aws::String m_updatedBy; + + Aws::String m_farmId; + + Aws::String m_limitId; + + int m_currentCount; + + Aws::String m_description; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace deadline +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/model/GetQueueLimitAssociationRequest.h b/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/model/GetQueueLimitAssociationRequest.h new file mode 100644 index 00000000000..3f966cf114d --- /dev/null +++ b/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/model/GetQueueLimitAssociationRequest.h @@ -0,0 +1,91 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace deadline +{ +namespace Model +{ + + /** + */ + class GetQueueLimitAssociationRequest : public DeadlineRequest + { + public: + AWS_DEADLINE_API GetQueueLimitAssociationRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "GetQueueLimitAssociation"; } + + AWS_DEADLINE_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

    The unique identifier of the farm that contains the associated queue and + * limit.

    + */ + inline const Aws::String& GetFarmId() const{ return m_farmId; } + inline bool FarmIdHasBeenSet() const { return m_farmIdHasBeenSet; } + inline void SetFarmId(const Aws::String& value) { m_farmIdHasBeenSet = true; m_farmId = value; } + inline void SetFarmId(Aws::String&& value) { m_farmIdHasBeenSet = true; m_farmId = std::move(value); } + inline void SetFarmId(const char* value) { m_farmIdHasBeenSet = true; m_farmId.assign(value); } + inline GetQueueLimitAssociationRequest& WithFarmId(const Aws::String& value) { SetFarmId(value); return *this;} + inline GetQueueLimitAssociationRequest& WithFarmId(Aws::String&& value) { SetFarmId(std::move(value)); return *this;} + inline GetQueueLimitAssociationRequest& WithFarmId(const char* value) { SetFarmId(value); return *this;} + ///@} + + ///@{ + /** + *

    The unique identifier of the queue associated with the limit.

    + */ + inline const Aws::String& GetQueueId() const{ return m_queueId; } + inline bool QueueIdHasBeenSet() const { return m_queueIdHasBeenSet; } + inline void SetQueueId(const Aws::String& value) { m_queueIdHasBeenSet = true; m_queueId = value; } + inline void SetQueueId(Aws::String&& value) { m_queueIdHasBeenSet = true; m_queueId = std::move(value); } + inline void SetQueueId(const char* value) { m_queueIdHasBeenSet = true; m_queueId.assign(value); } + inline GetQueueLimitAssociationRequest& WithQueueId(const Aws::String& value) { SetQueueId(value); return *this;} + inline GetQueueLimitAssociationRequest& WithQueueId(Aws::String&& value) { SetQueueId(std::move(value)); return *this;} + inline GetQueueLimitAssociationRequest& WithQueueId(const char* value) { SetQueueId(value); return *this;} + ///@} + + ///@{ + /** + *

    The unique identifier of the limit associated with the queue.

    + */ + inline const Aws::String& GetLimitId() const{ return m_limitId; } + inline bool LimitIdHasBeenSet() const { return m_limitIdHasBeenSet; } + inline void SetLimitId(const Aws::String& value) { m_limitIdHasBeenSet = true; m_limitId = value; } + inline void SetLimitId(Aws::String&& value) { m_limitIdHasBeenSet = true; m_limitId = std::move(value); } + inline void SetLimitId(const char* value) { m_limitIdHasBeenSet = true; m_limitId.assign(value); } + inline GetQueueLimitAssociationRequest& WithLimitId(const Aws::String& value) { SetLimitId(value); return *this;} + inline GetQueueLimitAssociationRequest& WithLimitId(Aws::String&& value) { SetLimitId(std::move(value)); return *this;} + inline GetQueueLimitAssociationRequest& WithLimitId(const char* value) { SetLimitId(value); return *this;} + ///@} + private: + + Aws::String m_farmId; + bool m_farmIdHasBeenSet = false; + + Aws::String m_queueId; + bool m_queueIdHasBeenSet = false; + + Aws::String m_limitId; + bool m_limitIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace deadline +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/model/GetQueueLimitAssociationResult.h b/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/model/GetQueueLimitAssociationResult.h new file mode 100644 index 00000000000..15ce9d9e8b9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/model/GetQueueLimitAssociationResult.h @@ -0,0 +1,154 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace deadline +{ +namespace Model +{ + class GetQueueLimitAssociationResult + { + public: + AWS_DEADLINE_API GetQueueLimitAssociationResult(); + AWS_DEADLINE_API GetQueueLimitAssociationResult(const Aws::AmazonWebServiceResult& result); + AWS_DEADLINE_API GetQueueLimitAssociationResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

    The Unix timestamp of the date and time that the association was created.

    + */ + inline const Aws::Utils::DateTime& GetCreatedAt() const{ return m_createdAt; } + inline void SetCreatedAt(const Aws::Utils::DateTime& value) { m_createdAt = value; } + inline void SetCreatedAt(Aws::Utils::DateTime&& value) { m_createdAt = std::move(value); } + inline GetQueueLimitAssociationResult& WithCreatedAt(const Aws::Utils::DateTime& value) { SetCreatedAt(value); return *this;} + inline GetQueueLimitAssociationResult& WithCreatedAt(Aws::Utils::DateTime&& value) { SetCreatedAt(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

    The user identifier of the person that created the association.

    + */ + inline const Aws::String& GetCreatedBy() const{ return m_createdBy; } + inline void SetCreatedBy(const Aws::String& value) { m_createdBy = value; } + inline void SetCreatedBy(Aws::String&& value) { m_createdBy = std::move(value); } + inline void SetCreatedBy(const char* value) { m_createdBy.assign(value); } + inline GetQueueLimitAssociationResult& WithCreatedBy(const Aws::String& value) { SetCreatedBy(value); return *this;} + inline GetQueueLimitAssociationResult& WithCreatedBy(Aws::String&& value) { SetCreatedBy(std::move(value)); return *this;} + inline GetQueueLimitAssociationResult& WithCreatedBy(const char* value) { SetCreatedBy(value); return *this;} + ///@} + + ///@{ + /** + *

    The Unix timestamp of the date and time that the association was last + * updated.

    + */ + inline const Aws::Utils::DateTime& GetUpdatedAt() const{ return m_updatedAt; } + inline void SetUpdatedAt(const Aws::Utils::DateTime& value) { m_updatedAt = value; } + inline void SetUpdatedAt(Aws::Utils::DateTime&& value) { m_updatedAt = std::move(value); } + inline GetQueueLimitAssociationResult& WithUpdatedAt(const Aws::Utils::DateTime& value) { SetUpdatedAt(value); return *this;} + inline GetQueueLimitAssociationResult& WithUpdatedAt(Aws::Utils::DateTime&& value) { SetUpdatedAt(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

    The user identifier of the person that last updated the association.

    + */ + inline const Aws::String& GetUpdatedBy() const{ return m_updatedBy; } + inline void SetUpdatedBy(const Aws::String& value) { m_updatedBy = value; } + inline void SetUpdatedBy(Aws::String&& value) { m_updatedBy = std::move(value); } + inline void SetUpdatedBy(const char* value) { m_updatedBy.assign(value); } + inline GetQueueLimitAssociationResult& WithUpdatedBy(const Aws::String& value) { SetUpdatedBy(value); return *this;} + inline GetQueueLimitAssociationResult& WithUpdatedBy(Aws::String&& value) { SetUpdatedBy(std::move(value)); return *this;} + inline GetQueueLimitAssociationResult& WithUpdatedBy(const char* value) { SetUpdatedBy(value); return *this;} + ///@} + + ///@{ + /** + *

    The unique identifier of the queue associated with the limit.

    + */ + inline const Aws::String& GetQueueId() const{ return m_queueId; } + inline void SetQueueId(const Aws::String& value) { m_queueId = value; } + inline void SetQueueId(Aws::String&& value) { m_queueId = std::move(value); } + inline void SetQueueId(const char* value) { m_queueId.assign(value); } + inline GetQueueLimitAssociationResult& WithQueueId(const Aws::String& value) { SetQueueId(value); return *this;} + inline GetQueueLimitAssociationResult& WithQueueId(Aws::String&& value) { SetQueueId(std::move(value)); return *this;} + inline GetQueueLimitAssociationResult& WithQueueId(const char* value) { SetQueueId(value); return *this;} + ///@} + + ///@{ + /** + *

    The unique identifier of the limit associated with the queue.

    + */ + inline const Aws::String& GetLimitId() const{ return m_limitId; } + inline void SetLimitId(const Aws::String& value) { m_limitId = value; } + inline void SetLimitId(Aws::String&& value) { m_limitId = std::move(value); } + inline void SetLimitId(const char* value) { m_limitId.assign(value); } + inline GetQueueLimitAssociationResult& WithLimitId(const Aws::String& value) { SetLimitId(value); return *this;} + inline GetQueueLimitAssociationResult& WithLimitId(Aws::String&& value) { SetLimitId(std::move(value)); return *this;} + inline GetQueueLimitAssociationResult& WithLimitId(const char* value) { SetLimitId(value); return *this;} + ///@} + + ///@{ + /** + *

    The current status of the limit.

    + */ + inline const QueueLimitAssociationStatus& GetStatus() const{ return m_status; } + inline void SetStatus(const QueueLimitAssociationStatus& value) { m_status = value; } + inline void SetStatus(QueueLimitAssociationStatus&& value) { m_status = std::move(value); } + inline GetQueueLimitAssociationResult& WithStatus(const QueueLimitAssociationStatus& value) { SetStatus(value); return *this;} + inline GetQueueLimitAssociationResult& WithStatus(QueueLimitAssociationStatus&& value) { SetStatus(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline GetQueueLimitAssociationResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline GetQueueLimitAssociationResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline GetQueueLimitAssociationResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::Utils::DateTime m_createdAt; + + Aws::String m_createdBy; + + Aws::Utils::DateTime m_updatedAt; + + Aws::String m_updatedBy; + + Aws::String m_queueId; + + Aws::String m_limitId; + + QueueLimitAssociationStatus m_status; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace deadline +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/model/GetSessionActionResult.h b/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/model/GetSessionActionResult.h index 0ea13083dde..b2b7ca62f35 100644 --- a/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/model/GetSessionActionResult.h +++ b/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/model/GetSessionActionResult.h @@ -9,6 +9,8 @@ #include #include #include +#include +#include #include namespace Aws @@ -148,6 +150,20 @@ namespace Model inline GetSessionActionResult& WithDefinition(SessionActionDefinition&& value) { SetDefinition(std::move(value)); return *this;} ///@} + ///@{ + /** + *

    The limits and their amounts acquired during a session action. If no limits + * were acquired during the session, this field isn't returned.

    + */ + inline const Aws::Vector& GetAcquiredLimits() const{ return m_acquiredLimits; } + inline void SetAcquiredLimits(const Aws::Vector& value) { m_acquiredLimits = value; } + inline void SetAcquiredLimits(Aws::Vector&& value) { m_acquiredLimits = std::move(value); } + inline GetSessionActionResult& WithAcquiredLimits(const Aws::Vector& value) { SetAcquiredLimits(value); return *this;} + inline GetSessionActionResult& WithAcquiredLimits(Aws::Vector&& value) { SetAcquiredLimits(std::move(value)); return *this;} + inline GetSessionActionResult& AddAcquiredLimits(const AcquiredLimit& value) { m_acquiredLimits.push_back(value); return *this; } + inline GetSessionActionResult& AddAcquiredLimits(AcquiredLimit&& value) { m_acquiredLimits.push_back(std::move(value)); return *this; } + ///@} + ///@{ inline const Aws::String& GetRequestId() const{ return m_requestId; } @@ -180,6 +196,8 @@ namespace Model SessionActionDefinition m_definition; + Aws::Vector m_acquiredLimits; + Aws::String m_requestId; }; diff --git a/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/model/GetWorkerResult.h b/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/model/GetWorkerResult.h index e7abe97521a..a5af1e9be1e 100644 --- a/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/model/GetWorkerResult.h +++ b/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/model/GetWorkerResult.h @@ -36,19 +36,6 @@ namespace Model AWS_DEADLINE_API GetWorkerResult& operator=(const Aws::AmazonWebServiceResult& result); - ///@{ - /** - *

    The worker ID.

    - */ - inline const Aws::String& GetWorkerId() const{ return m_workerId; } - inline void SetWorkerId(const Aws::String& value) { m_workerId = value; } - inline void SetWorkerId(Aws::String&& value) { m_workerId = std::move(value); } - inline void SetWorkerId(const char* value) { m_workerId.assign(value); } - inline GetWorkerResult& WithWorkerId(const Aws::String& value) { SetWorkerId(value); return *this;} - inline GetWorkerResult& WithWorkerId(Aws::String&& value) { SetWorkerId(std::move(value)); return *this;} - inline GetWorkerResult& WithWorkerId(const char* value) { SetWorkerId(value); return *this;} - ///@} - ///@{ /** *

    The farm ID.

    @@ -75,6 +62,19 @@ namespace Model inline GetWorkerResult& WithFleetId(const char* value) { SetFleetId(value); return *this;} ///@} + ///@{ + /** + *

    The worker ID.

    + */ + inline const Aws::String& GetWorkerId() const{ return m_workerId; } + inline void SetWorkerId(const Aws::String& value) { m_workerId = value; } + inline void SetWorkerId(Aws::String&& value) { m_workerId = std::move(value); } + inline void SetWorkerId(const char* value) { m_workerId.assign(value); } + inline GetWorkerResult& WithWorkerId(const Aws::String& value) { SetWorkerId(value); return *this;} + inline GetWorkerResult& WithWorkerId(Aws::String&& value) { SetWorkerId(std::move(value)); return *this;} + inline GetWorkerResult& WithWorkerId(const char* value) { SetWorkerId(value); return *this;} + ///@} + ///@{ /** *

    The host properties for the worker.

    @@ -168,12 +168,12 @@ namespace Model ///@} private: - Aws::String m_workerId; - Aws::String m_farmId; Aws::String m_fleetId; + Aws::String m_workerId; + HostPropertiesResponse m_hostProperties; WorkerStatus m_status; diff --git a/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/model/JobSearchSummary.h b/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/model/JobSearchSummary.h index 0ca7e533535..2fc30c88ea4 100644 --- a/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/model/JobSearchSummary.h +++ b/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/model/JobSearchSummary.h @@ -258,6 +258,21 @@ namespace Model inline JobSearchSummary& AddJobParameters(const char* key, const JobParameter& value) { m_jobParametersHasBeenSet = true; m_jobParameters.emplace(key, value); return *this; } ///@} + ///@{ + /** + *

    The maximum number of worker hosts that can concurrently process a job. When + * the maxWorkerCount is reached, no more workers will be assigned to + * process the job, even if the fleets assigned to the job's queue has available + * workers.

    You can't set the maxWorkerCount to 0. If you set + * it to -1, there is no maximum number of workers.

    If you don't specify the + * maxWorkerCount, the default is -1.

    + */ + inline int GetMaxWorkerCount() const{ return m_maxWorkerCount; } + inline bool MaxWorkerCountHasBeenSet() const { return m_maxWorkerCountHasBeenSet; } + inline void SetMaxWorkerCount(int value) { m_maxWorkerCountHasBeenSet = true; m_maxWorkerCount = value; } + inline JobSearchSummary& WithMaxWorkerCount(int value) { SetMaxWorkerCount(value); return *this;} + ///@} + ///@{ /** *

    The job ID for the source job.

    @@ -321,6 +336,9 @@ namespace Model Aws::Map m_jobParameters; bool m_jobParametersHasBeenSet = false; + int m_maxWorkerCount; + bool m_maxWorkerCountHasBeenSet = false; + Aws::String m_sourceJobId; bool m_sourceJobIdHasBeenSet = false; }; diff --git a/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/model/JobSummary.h b/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/model/JobSummary.h index fb2701896e1..df73a17c4fe 100644 --- a/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/model/JobSummary.h +++ b/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/model/JobSummary.h @@ -251,6 +251,21 @@ namespace Model inline JobSummary& WithMaxRetriesPerTask(int value) { SetMaxRetriesPerTask(value); return *this;} ///@} + ///@{ + /** + *

    The maximum number of worker hosts that can concurrently process a job. When + * the maxWorkerCount is reached, no more workers will be assigned to + * process the job, even if the fleets assigned to the job's queue has available + * workers.

    You can't set the maxWorkerCount to 0. If you set + * it to -1, there is no maximum number of workers.

    If you don't specify the + * maxWorkerCount, the default is -1.

    + */ + inline int GetMaxWorkerCount() const{ return m_maxWorkerCount; } + inline bool MaxWorkerCountHasBeenSet() const { return m_maxWorkerCountHasBeenSet; } + inline void SetMaxWorkerCount(int value) { m_maxWorkerCountHasBeenSet = true; m_maxWorkerCount = value; } + inline JobSummary& WithMaxWorkerCount(int value) { SetMaxWorkerCount(value); return *this;} + ///@} + ///@{ /** *

    The job ID for the source job.

    @@ -314,6 +329,9 @@ namespace Model int m_maxRetriesPerTask; bool m_maxRetriesPerTaskHasBeenSet = false; + int m_maxWorkerCount; + bool m_maxWorkerCountHasBeenSet = false; + Aws::String m_sourceJobId; bool m_sourceJobIdHasBeenSet = false; }; diff --git a/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/model/LimitSummary.h b/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/model/LimitSummary.h new file mode 100644 index 00000000000..8513d39e615 --- /dev/null +++ b/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/model/LimitSummary.h @@ -0,0 +1,214 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace deadline +{ +namespace Model +{ + + /** + *

    Provides information about a specific limit.

    See Also:

    AWS + * API Reference

    + */ + class LimitSummary + { + public: + AWS_DEADLINE_API LimitSummary(); + AWS_DEADLINE_API LimitSummary(Aws::Utils::Json::JsonView jsonValue); + AWS_DEADLINE_API LimitSummary& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_DEADLINE_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

    The name of the limit used in lists to identify the limit.

    + *

    This field can store any content. Escape or encode this content before + * displaying it on a webpage or any other system that might interpret the content + * of this field.

    + */ + inline const Aws::String& GetDisplayName() const{ return m_displayName; } + inline bool DisplayNameHasBeenSet() const { return m_displayNameHasBeenSet; } + inline void SetDisplayName(const Aws::String& value) { m_displayNameHasBeenSet = true; m_displayName = value; } + inline void SetDisplayName(Aws::String&& value) { m_displayNameHasBeenSet = true; m_displayName = std::move(value); } + inline void SetDisplayName(const char* value) { m_displayNameHasBeenSet = true; m_displayName.assign(value); } + inline LimitSummary& WithDisplayName(const Aws::String& value) { SetDisplayName(value); return *this;} + inline LimitSummary& WithDisplayName(Aws::String&& value) { SetDisplayName(std::move(value)); return *this;} + inline LimitSummary& WithDisplayName(const char* value) { SetDisplayName(value); return *this;} + ///@} + + ///@{ + /** + *

    The value that you specify as the name in the + * amounts field of the hostRequirements in a step of a + * job template to declare the limit requirement.

    + */ + inline const Aws::String& GetAmountRequirementName() const{ return m_amountRequirementName; } + inline bool AmountRequirementNameHasBeenSet() const { return m_amountRequirementNameHasBeenSet; } + inline void SetAmountRequirementName(const Aws::String& value) { m_amountRequirementNameHasBeenSet = true; m_amountRequirementName = value; } + inline void SetAmountRequirementName(Aws::String&& value) { m_amountRequirementNameHasBeenSet = true; m_amountRequirementName = std::move(value); } + inline void SetAmountRequirementName(const char* value) { m_amountRequirementNameHasBeenSet = true; m_amountRequirementName.assign(value); } + inline LimitSummary& WithAmountRequirementName(const Aws::String& value) { SetAmountRequirementName(value); return *this;} + inline LimitSummary& WithAmountRequirementName(Aws::String&& value) { SetAmountRequirementName(std::move(value)); return *this;} + inline LimitSummary& WithAmountRequirementName(const char* value) { SetAmountRequirementName(value); return *this;} + ///@} + + ///@{ + /** + *

    The maximum number of resources constrained by this limit. When all of the + * resources are in use, steps that require the limit won't be scheduled until the + * resource is available.

    The maxValue must not be 0. If the + * value is -1, there is no restriction on the number of resources that can be + * acquired for this limit.

    + */ + inline int GetMaxCount() const{ return m_maxCount; } + inline bool MaxCountHasBeenSet() const { return m_maxCountHasBeenSet; } + inline void SetMaxCount(int value) { m_maxCountHasBeenSet = true; m_maxCount = value; } + inline LimitSummary& WithMaxCount(int value) { SetMaxCount(value); return *this;} + ///@} + + ///@{ + /** + *

    The Unix timestamp of the date and time that the limit was created.

    + */ + inline const Aws::Utils::DateTime& GetCreatedAt() const{ return m_createdAt; } + inline bool CreatedAtHasBeenSet() const { return m_createdAtHasBeenSet; } + inline void SetCreatedAt(const Aws::Utils::DateTime& value) { m_createdAtHasBeenSet = true; m_createdAt = value; } + inline void SetCreatedAt(Aws::Utils::DateTime&& value) { m_createdAtHasBeenSet = true; m_createdAt = std::move(value); } + inline LimitSummary& WithCreatedAt(const Aws::Utils::DateTime& value) { SetCreatedAt(value); return *this;} + inline LimitSummary& WithCreatedAt(Aws::Utils::DateTime&& value) { SetCreatedAt(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

    The user identifier of the person that created the limit.

    + */ + inline const Aws::String& GetCreatedBy() const{ return m_createdBy; } + inline bool CreatedByHasBeenSet() const { return m_createdByHasBeenSet; } + inline void SetCreatedBy(const Aws::String& value) { m_createdByHasBeenSet = true; m_createdBy = value; } + inline void SetCreatedBy(Aws::String&& value) { m_createdByHasBeenSet = true; m_createdBy = std::move(value); } + inline void SetCreatedBy(const char* value) { m_createdByHasBeenSet = true; m_createdBy.assign(value); } + inline LimitSummary& WithCreatedBy(const Aws::String& value) { SetCreatedBy(value); return *this;} + inline LimitSummary& WithCreatedBy(Aws::String&& value) { SetCreatedBy(std::move(value)); return *this;} + inline LimitSummary& WithCreatedBy(const char* value) { SetCreatedBy(value); return *this;} + ///@} + + ///@{ + /** + *

    The Unix timestamp of the date and time that the limit was last updated.

    + */ + inline const Aws::Utils::DateTime& GetUpdatedAt() const{ return m_updatedAt; } + inline bool UpdatedAtHasBeenSet() const { return m_updatedAtHasBeenSet; } + inline void SetUpdatedAt(const Aws::Utils::DateTime& value) { m_updatedAtHasBeenSet = true; m_updatedAt = value; } + inline void SetUpdatedAt(Aws::Utils::DateTime&& value) { m_updatedAtHasBeenSet = true; m_updatedAt = std::move(value); } + inline LimitSummary& WithUpdatedAt(const Aws::Utils::DateTime& value) { SetUpdatedAt(value); return *this;} + inline LimitSummary& WithUpdatedAt(Aws::Utils::DateTime&& value) { SetUpdatedAt(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

    The user identifier of the person that last updated the limit.

    + */ + inline const Aws::String& GetUpdatedBy() const{ return m_updatedBy; } + inline bool UpdatedByHasBeenSet() const { return m_updatedByHasBeenSet; } + inline void SetUpdatedBy(const Aws::String& value) { m_updatedByHasBeenSet = true; m_updatedBy = value; } + inline void SetUpdatedBy(Aws::String&& value) { m_updatedByHasBeenSet = true; m_updatedBy = std::move(value); } + inline void SetUpdatedBy(const char* value) { m_updatedByHasBeenSet = true; m_updatedBy.assign(value); } + inline LimitSummary& WithUpdatedBy(const Aws::String& value) { SetUpdatedBy(value); return *this;} + inline LimitSummary& WithUpdatedBy(Aws::String&& value) { SetUpdatedBy(std::move(value)); return *this;} + inline LimitSummary& WithUpdatedBy(const char* value) { SetUpdatedBy(value); return *this;} + ///@} + + ///@{ + /** + *

    The unique identifier of the farm that contains the limit.

    + */ + inline const Aws::String& GetFarmId() const{ return m_farmId; } + inline bool FarmIdHasBeenSet() const { return m_farmIdHasBeenSet; } + inline void SetFarmId(const Aws::String& value) { m_farmIdHasBeenSet = true; m_farmId = value; } + inline void SetFarmId(Aws::String&& value) { m_farmIdHasBeenSet = true; m_farmId = std::move(value); } + inline void SetFarmId(const char* value) { m_farmIdHasBeenSet = true; m_farmId.assign(value); } + inline LimitSummary& WithFarmId(const Aws::String& value) { SetFarmId(value); return *this;} + inline LimitSummary& WithFarmId(Aws::String&& value) { SetFarmId(std::move(value)); return *this;} + inline LimitSummary& WithFarmId(const char* value) { SetFarmId(value); return *this;} + ///@} + + ///@{ + /** + *

    The unique identifier of the limit.

    + */ + inline const Aws::String& GetLimitId() const{ return m_limitId; } + inline bool LimitIdHasBeenSet() const { return m_limitIdHasBeenSet; } + inline void SetLimitId(const Aws::String& value) { m_limitIdHasBeenSet = true; m_limitId = value; } + inline void SetLimitId(Aws::String&& value) { m_limitIdHasBeenSet = true; m_limitId = std::move(value); } + inline void SetLimitId(const char* value) { m_limitIdHasBeenSet = true; m_limitId.assign(value); } + inline LimitSummary& WithLimitId(const Aws::String& value) { SetLimitId(value); return *this;} + inline LimitSummary& WithLimitId(Aws::String&& value) { SetLimitId(std::move(value)); return *this;} + inline LimitSummary& WithLimitId(const char* value) { SetLimitId(value); return *this;} + ///@} + + ///@{ + /** + *

    The number of resources from the limit that are being used by jobs. The + * result is delayed and may not be the count at the time that you called the + * operation.

    + */ + inline int GetCurrentCount() const{ return m_currentCount; } + inline bool CurrentCountHasBeenSet() const { return m_currentCountHasBeenSet; } + inline void SetCurrentCount(int value) { m_currentCountHasBeenSet = true; m_currentCount = value; } + inline LimitSummary& WithCurrentCount(int value) { SetCurrentCount(value); return *this;} + ///@} + private: + + Aws::String m_displayName; + bool m_displayNameHasBeenSet = false; + + Aws::String m_amountRequirementName; + bool m_amountRequirementNameHasBeenSet = false; + + int m_maxCount; + bool m_maxCountHasBeenSet = false; + + Aws::Utils::DateTime m_createdAt; + bool m_createdAtHasBeenSet = false; + + Aws::String m_createdBy; + bool m_createdByHasBeenSet = false; + + Aws::Utils::DateTime m_updatedAt; + bool m_updatedAtHasBeenSet = false; + + Aws::String m_updatedBy; + bool m_updatedByHasBeenSet = false; + + Aws::String m_farmId; + bool m_farmIdHasBeenSet = false; + + Aws::String m_limitId; + bool m_limitIdHasBeenSet = false; + + int m_currentCount; + bool m_currentCountHasBeenSet = false; + }; + +} // namespace Model +} // namespace deadline +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/model/ListLimitsRequest.h b/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/model/ListLimitsRequest.h new file mode 100644 index 00000000000..d81d96c6dfd --- /dev/null +++ b/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/model/ListLimitsRequest.h @@ -0,0 +1,93 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace deadline +{ +namespace Model +{ + + /** + */ + class ListLimitsRequest : public DeadlineRequest + { + public: + AWS_DEADLINE_API ListLimitsRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "ListLimits"; } + + AWS_DEADLINE_API Aws::String SerializePayload() const override; + + AWS_DEADLINE_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + + ///@{ + /** + *

    The unique identifier of the farm that contains the limits.

    + */ + inline const Aws::String& GetFarmId() const{ return m_farmId; } + inline bool FarmIdHasBeenSet() const { return m_farmIdHasBeenSet; } + inline void SetFarmId(const Aws::String& value) { m_farmIdHasBeenSet = true; m_farmId = value; } + inline void SetFarmId(Aws::String&& value) { m_farmIdHasBeenSet = true; m_farmId = std::move(value); } + inline void SetFarmId(const char* value) { m_farmIdHasBeenSet = true; m_farmId.assign(value); } + inline ListLimitsRequest& WithFarmId(const Aws::String& value) { SetFarmId(value); return *this;} + inline ListLimitsRequest& WithFarmId(Aws::String&& value) { SetFarmId(std::move(value)); return *this;} + inline ListLimitsRequest& WithFarmId(const char* value) { SetFarmId(value); return *this;} + ///@} + + ///@{ + /** + *

    The token for the next set of results, or null to start from the + * beginning.

    + */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; } + inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; } + inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); } + inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); } + inline ListLimitsRequest& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + inline ListLimitsRequest& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + inline ListLimitsRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;} + ///@} + + ///@{ + /** + *

    The maximum number of limits to return in each page of results.

    + */ + inline int GetMaxResults() const{ return m_maxResults; } + inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; } + inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; } + inline ListLimitsRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;} + ///@} + private: + + Aws::String m_farmId; + bool m_farmIdHasBeenSet = false; + + Aws::String m_nextToken; + bool m_nextTokenHasBeenSet = false; + + int m_maxResults; + bool m_maxResultsHasBeenSet = false; + }; + +} // namespace Model +} // namespace deadline +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/model/ListLimitsResult.h b/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/model/ListLimitsResult.h new file mode 100644 index 00000000000..997ac364b49 --- /dev/null +++ b/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/model/ListLimitsResult.h @@ -0,0 +1,90 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace deadline +{ +namespace Model +{ + class ListLimitsResult + { + public: + AWS_DEADLINE_API ListLimitsResult(); + AWS_DEADLINE_API ListLimitsResult(const Aws::AmazonWebServiceResult& result); + AWS_DEADLINE_API ListLimitsResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

    A list of limits that the farm contains.

    + */ + inline const Aws::Vector& GetLimits() const{ return m_limits; } + inline void SetLimits(const Aws::Vector& value) { m_limits = value; } + inline void SetLimits(Aws::Vector&& value) { m_limits = std::move(value); } + inline ListLimitsResult& WithLimits(const Aws::Vector& value) { SetLimits(value); return *this;} + inline ListLimitsResult& WithLimits(Aws::Vector&& value) { SetLimits(std::move(value)); return *this;} + inline ListLimitsResult& AddLimits(const LimitSummary& value) { m_limits.push_back(value); return *this; } + inline ListLimitsResult& AddLimits(LimitSummary&& value) { m_limits.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

    If Deadline Cloud returns nextToken, then there are more results + * available. The value of nextToken is a unique pagination token for + * each page. To retrieve the next page, call the operation again using the + * returned token. Keep all other arguments unchanged. If no results remain, then + * nextToken is set to null. Each pagination token + * expires after 24 hours. If you provide a token that isn't valid, then you + * receive an HTTP 400 ValidationException error.

    + */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + inline void SetNextToken(const Aws::String& value) { m_nextToken = value; } + inline void SetNextToken(Aws::String&& value) { m_nextToken = std::move(value); } + inline void SetNextToken(const char* value) { m_nextToken.assign(value); } + inline ListLimitsResult& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + inline ListLimitsResult& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + inline ListLimitsResult& WithNextToken(const char* value) { SetNextToken(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline ListLimitsResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline ListLimitsResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline ListLimitsResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::Vector m_limits; + + Aws::String m_nextToken; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace deadline +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/model/ListQueueLimitAssociationsRequest.h b/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/model/ListQueueLimitAssociationsRequest.h new file mode 100644 index 00000000000..f18921c34db --- /dev/null +++ b/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/model/ListQueueLimitAssociationsRequest.h @@ -0,0 +1,132 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace deadline +{ +namespace Model +{ + + /** + */ + class ListQueueLimitAssociationsRequest : public DeadlineRequest + { + public: + AWS_DEADLINE_API ListQueueLimitAssociationsRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "ListQueueLimitAssociations"; } + + AWS_DEADLINE_API Aws::String SerializePayload() const override; + + AWS_DEADLINE_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + + ///@{ + /** + *

    The unique identifier of the farm that contains the limits and + * associations.

    + */ + inline const Aws::String& GetFarmId() const{ return m_farmId; } + inline bool FarmIdHasBeenSet() const { return m_farmIdHasBeenSet; } + inline void SetFarmId(const Aws::String& value) { m_farmIdHasBeenSet = true; m_farmId = value; } + inline void SetFarmId(Aws::String&& value) { m_farmIdHasBeenSet = true; m_farmId = std::move(value); } + inline void SetFarmId(const char* value) { m_farmIdHasBeenSet = true; m_farmId.assign(value); } + inline ListQueueLimitAssociationsRequest& WithFarmId(const Aws::String& value) { SetFarmId(value); return *this;} + inline ListQueueLimitAssociationsRequest& WithFarmId(Aws::String&& value) { SetFarmId(std::move(value)); return *this;} + inline ListQueueLimitAssociationsRequest& WithFarmId(const char* value) { SetFarmId(value); return *this;} + ///@} + + ///@{ + /** + *

    Specifies that the operation should return only the queue limit associations + * for the specified queue. If you specify both the queueId and the + * limitId, only the specified limit is returned if it exists.

    + */ + inline const Aws::String& GetQueueId() const{ return m_queueId; } + inline bool QueueIdHasBeenSet() const { return m_queueIdHasBeenSet; } + inline void SetQueueId(const Aws::String& value) { m_queueIdHasBeenSet = true; m_queueId = value; } + inline void SetQueueId(Aws::String&& value) { m_queueIdHasBeenSet = true; m_queueId = std::move(value); } + inline void SetQueueId(const char* value) { m_queueIdHasBeenSet = true; m_queueId.assign(value); } + inline ListQueueLimitAssociationsRequest& WithQueueId(const Aws::String& value) { SetQueueId(value); return *this;} + inline ListQueueLimitAssociationsRequest& WithQueueId(Aws::String&& value) { SetQueueId(std::move(value)); return *this;} + inline ListQueueLimitAssociationsRequest& WithQueueId(const char* value) { SetQueueId(value); return *this;} + ///@} + + ///@{ + /** + *

    Specifies that the operation should return only the queue limit associations + * for the specified limit. If you specify both the queueId and the + * limitId, only the specified limit is returned if it exists.

    + */ + inline const Aws::String& GetLimitId() const{ return m_limitId; } + inline bool LimitIdHasBeenSet() const { return m_limitIdHasBeenSet; } + inline void SetLimitId(const Aws::String& value) { m_limitIdHasBeenSet = true; m_limitId = value; } + inline void SetLimitId(Aws::String&& value) { m_limitIdHasBeenSet = true; m_limitId = std::move(value); } + inline void SetLimitId(const char* value) { m_limitIdHasBeenSet = true; m_limitId.assign(value); } + inline ListQueueLimitAssociationsRequest& WithLimitId(const Aws::String& value) { SetLimitId(value); return *this;} + inline ListQueueLimitAssociationsRequest& WithLimitId(Aws::String&& value) { SetLimitId(std::move(value)); return *this;} + inline ListQueueLimitAssociationsRequest& WithLimitId(const char* value) { SetLimitId(value); return *this;} + ///@} + + ///@{ + /** + *

    The token for the next set of results, or null to start from the + * beginning.

    + */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; } + inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; } + inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); } + inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); } + inline ListQueueLimitAssociationsRequest& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + inline ListQueueLimitAssociationsRequest& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + inline ListQueueLimitAssociationsRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;} + ///@} + + ///@{ + /** + *

    The maximum number of associations to return in each page of results.

    + */ + inline int GetMaxResults() const{ return m_maxResults; } + inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; } + inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; } + inline ListQueueLimitAssociationsRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;} + ///@} + private: + + Aws::String m_farmId; + bool m_farmIdHasBeenSet = false; + + Aws::String m_queueId; + bool m_queueIdHasBeenSet = false; + + Aws::String m_limitId; + bool m_limitIdHasBeenSet = false; + + Aws::String m_nextToken; + bool m_nextTokenHasBeenSet = false; + + int m_maxResults; + bool m_maxResultsHasBeenSet = false; + }; + +} // namespace Model +} // namespace deadline +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/model/ListQueueLimitAssociationsResult.h b/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/model/ListQueueLimitAssociationsResult.h new file mode 100644 index 00000000000..0f6b5f2cc42 --- /dev/null +++ b/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/model/ListQueueLimitAssociationsResult.h @@ -0,0 +1,91 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace deadline +{ +namespace Model +{ + class ListQueueLimitAssociationsResult + { + public: + AWS_DEADLINE_API ListQueueLimitAssociationsResult(); + AWS_DEADLINE_API ListQueueLimitAssociationsResult(const Aws::AmazonWebServiceResult& result); + AWS_DEADLINE_API ListQueueLimitAssociationsResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

    A list of associations between limits and queues in the farm specified in the + * request.

    + */ + inline const Aws::Vector& GetQueueLimitAssociations() const{ return m_queueLimitAssociations; } + inline void SetQueueLimitAssociations(const Aws::Vector& value) { m_queueLimitAssociations = value; } + inline void SetQueueLimitAssociations(Aws::Vector&& value) { m_queueLimitAssociations = std::move(value); } + inline ListQueueLimitAssociationsResult& WithQueueLimitAssociations(const Aws::Vector& value) { SetQueueLimitAssociations(value); return *this;} + inline ListQueueLimitAssociationsResult& WithQueueLimitAssociations(Aws::Vector&& value) { SetQueueLimitAssociations(std::move(value)); return *this;} + inline ListQueueLimitAssociationsResult& AddQueueLimitAssociations(const QueueLimitAssociationSummary& value) { m_queueLimitAssociations.push_back(value); return *this; } + inline ListQueueLimitAssociationsResult& AddQueueLimitAssociations(QueueLimitAssociationSummary&& value) { m_queueLimitAssociations.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

    If Deadline Cloud returns nextToken, then there are more results + * available. The value of nextToken is a unique pagination token for + * each page. To retrieve the next page, call the operation again using the + * returned token. Keep all other arguments unchanged. If no results remain, then + * nextToken is set to null. Each pagination token + * expires after 24 hours. If you provide a token that isn't valid, then you + * receive an HTTP 400 ValidationException error.

    + */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + inline void SetNextToken(const Aws::String& value) { m_nextToken = value; } + inline void SetNextToken(Aws::String&& value) { m_nextToken = std::move(value); } + inline void SetNextToken(const char* value) { m_nextToken.assign(value); } + inline ListQueueLimitAssociationsResult& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + inline ListQueueLimitAssociationsResult& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + inline ListQueueLimitAssociationsResult& WithNextToken(const char* value) { SetNextToken(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline ListQueueLimitAssociationsResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline ListQueueLimitAssociationsResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline ListQueueLimitAssociationsResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::Vector m_queueLimitAssociations; + + Aws::String m_nextToken; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace deadline +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/model/ManifestProperties.h b/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/model/ManifestProperties.h index d4b3ba2dadf..0965e6eff9b 100644 --- a/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/model/ManifestProperties.h +++ b/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/model/ManifestProperties.h @@ -111,7 +111,7 @@ namespace Model ///@{ /** - *

    The has value of the file.

    + *

    The hash value of the file.

    */ inline const Aws::String& GetInputManifestHash() const{ return m_inputManifestHash; } inline bool InputManifestHashHasBeenSet() const { return m_inputManifestHashHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/model/QueueLimitAssociationStatus.h b/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/model/QueueLimitAssociationStatus.h new file mode 100644 index 00000000000..d6ef314fb90 --- /dev/null +++ b/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/model/QueueLimitAssociationStatus.h @@ -0,0 +1,33 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace deadline +{ +namespace Model +{ + enum class QueueLimitAssociationStatus + { + NOT_SET, + ACTIVE, + STOP_LIMIT_USAGE_AND_COMPLETE_TASKS, + STOP_LIMIT_USAGE_AND_CANCEL_TASKS, + STOPPED + }; + +namespace QueueLimitAssociationStatusMapper +{ +AWS_DEADLINE_API QueueLimitAssociationStatus GetQueueLimitAssociationStatusForName(const Aws::String& name); + +AWS_DEADLINE_API Aws::String GetNameForQueueLimitAssociationStatus(QueueLimitAssociationStatus value); +} // namespace QueueLimitAssociationStatusMapper +} // namespace Model +} // namespace deadline +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/model/QueueLimitAssociationSummary.h b/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/model/QueueLimitAssociationSummary.h new file mode 100644 index 00000000000..f684020dfef --- /dev/null +++ b/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/model/QueueLimitAssociationSummary.h @@ -0,0 +1,167 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace deadline +{ +namespace Model +{ + + /** + *

    Provides information about the association between a queue and a + * limit.

    See Also:

    AWS + * API Reference

    + */ + class QueueLimitAssociationSummary + { + public: + AWS_DEADLINE_API QueueLimitAssociationSummary(); + AWS_DEADLINE_API QueueLimitAssociationSummary(Aws::Utils::Json::JsonView jsonValue); + AWS_DEADLINE_API QueueLimitAssociationSummary& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_DEADLINE_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

    The Unix timestamp of the date and time that the association was created.

    + */ + inline const Aws::Utils::DateTime& GetCreatedAt() const{ return m_createdAt; } + inline bool CreatedAtHasBeenSet() const { return m_createdAtHasBeenSet; } + inline void SetCreatedAt(const Aws::Utils::DateTime& value) { m_createdAtHasBeenSet = true; m_createdAt = value; } + inline void SetCreatedAt(Aws::Utils::DateTime&& value) { m_createdAtHasBeenSet = true; m_createdAt = std::move(value); } + inline QueueLimitAssociationSummary& WithCreatedAt(const Aws::Utils::DateTime& value) { SetCreatedAt(value); return *this;} + inline QueueLimitAssociationSummary& WithCreatedAt(Aws::Utils::DateTime&& value) { SetCreatedAt(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

    The user identifier of the person that created the association.

    + */ + inline const Aws::String& GetCreatedBy() const{ return m_createdBy; } + inline bool CreatedByHasBeenSet() const { return m_createdByHasBeenSet; } + inline void SetCreatedBy(const Aws::String& value) { m_createdByHasBeenSet = true; m_createdBy = value; } + inline void SetCreatedBy(Aws::String&& value) { m_createdByHasBeenSet = true; m_createdBy = std::move(value); } + inline void SetCreatedBy(const char* value) { m_createdByHasBeenSet = true; m_createdBy.assign(value); } + inline QueueLimitAssociationSummary& WithCreatedBy(const Aws::String& value) { SetCreatedBy(value); return *this;} + inline QueueLimitAssociationSummary& WithCreatedBy(Aws::String&& value) { SetCreatedBy(std::move(value)); return *this;} + inline QueueLimitAssociationSummary& WithCreatedBy(const char* value) { SetCreatedBy(value); return *this;} + ///@} + + ///@{ + /** + *

    The Unix timestamp of the date and time that the association was last + * updated.

    + */ + inline const Aws::Utils::DateTime& GetUpdatedAt() const{ return m_updatedAt; } + inline bool UpdatedAtHasBeenSet() const { return m_updatedAtHasBeenSet; } + inline void SetUpdatedAt(const Aws::Utils::DateTime& value) { m_updatedAtHasBeenSet = true; m_updatedAt = value; } + inline void SetUpdatedAt(Aws::Utils::DateTime&& value) { m_updatedAtHasBeenSet = true; m_updatedAt = std::move(value); } + inline QueueLimitAssociationSummary& WithUpdatedAt(const Aws::Utils::DateTime& value) { SetUpdatedAt(value); return *this;} + inline QueueLimitAssociationSummary& WithUpdatedAt(Aws::Utils::DateTime&& value) { SetUpdatedAt(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

    The user identifier of the person that updated the association.

    + */ + inline const Aws::String& GetUpdatedBy() const{ return m_updatedBy; } + inline bool UpdatedByHasBeenSet() const { return m_updatedByHasBeenSet; } + inline void SetUpdatedBy(const Aws::String& value) { m_updatedByHasBeenSet = true; m_updatedBy = value; } + inline void SetUpdatedBy(Aws::String&& value) { m_updatedByHasBeenSet = true; m_updatedBy = std::move(value); } + inline void SetUpdatedBy(const char* value) { m_updatedByHasBeenSet = true; m_updatedBy.assign(value); } + inline QueueLimitAssociationSummary& WithUpdatedBy(const Aws::String& value) { SetUpdatedBy(value); return *this;} + inline QueueLimitAssociationSummary& WithUpdatedBy(Aws::String&& value) { SetUpdatedBy(std::move(value)); return *this;} + inline QueueLimitAssociationSummary& WithUpdatedBy(const char* value) { SetUpdatedBy(value); return *this;} + ///@} + + ///@{ + /** + *

    The unique identifier of the queue in the association.

    + */ + inline const Aws::String& GetQueueId() const{ return m_queueId; } + inline bool QueueIdHasBeenSet() const { return m_queueIdHasBeenSet; } + inline void SetQueueId(const Aws::String& value) { m_queueIdHasBeenSet = true; m_queueId = value; } + inline void SetQueueId(Aws::String&& value) { m_queueIdHasBeenSet = true; m_queueId = std::move(value); } + inline void SetQueueId(const char* value) { m_queueIdHasBeenSet = true; m_queueId.assign(value); } + inline QueueLimitAssociationSummary& WithQueueId(const Aws::String& value) { SetQueueId(value); return *this;} + inline QueueLimitAssociationSummary& WithQueueId(Aws::String&& value) { SetQueueId(std::move(value)); return *this;} + inline QueueLimitAssociationSummary& WithQueueId(const char* value) { SetQueueId(value); return *this;} + ///@} + + ///@{ + /** + *

    The unique identifier of the limit in the association.

    + */ + inline const Aws::String& GetLimitId() const{ return m_limitId; } + inline bool LimitIdHasBeenSet() const { return m_limitIdHasBeenSet; } + inline void SetLimitId(const Aws::String& value) { m_limitIdHasBeenSet = true; m_limitId = value; } + inline void SetLimitId(Aws::String&& value) { m_limitIdHasBeenSet = true; m_limitId = std::move(value); } + inline void SetLimitId(const char* value) { m_limitIdHasBeenSet = true; m_limitId.assign(value); } + inline QueueLimitAssociationSummary& WithLimitId(const Aws::String& value) { SetLimitId(value); return *this;} + inline QueueLimitAssociationSummary& WithLimitId(Aws::String&& value) { SetLimitId(std::move(value)); return *this;} + inline QueueLimitAssociationSummary& WithLimitId(const char* value) { SetLimitId(value); return *this;} + ///@} + + ///@{ + /** + *

    The status of task scheduling in the queue-limit association.

    • + *

      ACTIVE - Association is active.

    • + * STOP_LIMIT_USAGE_AND_COMPLETE_TASKS - Association has stopped + * scheduling new tasks and is completing current tasks.

    • + * STOP_LIMIT_USAGE_AND_CANCEL_TASKS - Association has stopped + * scheduling new tasks and is canceling current tasks.

    • + * STOPPED - Association has been stopped.

    + */ + inline const QueueLimitAssociationStatus& GetStatus() const{ return m_status; } + inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } + inline void SetStatus(const QueueLimitAssociationStatus& value) { m_statusHasBeenSet = true; m_status = value; } + inline void SetStatus(QueueLimitAssociationStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } + inline QueueLimitAssociationSummary& WithStatus(const QueueLimitAssociationStatus& value) { SetStatus(value); return *this;} + inline QueueLimitAssociationSummary& WithStatus(QueueLimitAssociationStatus&& value) { SetStatus(std::move(value)); return *this;} + ///@} + private: + + Aws::Utils::DateTime m_createdAt; + bool m_createdAtHasBeenSet = false; + + Aws::String m_createdBy; + bool m_createdByHasBeenSet = false; + + Aws::Utils::DateTime m_updatedAt; + bool m_updatedAtHasBeenSet = false; + + Aws::String m_updatedBy; + bool m_updatedByHasBeenSet = false; + + Aws::String m_queueId; + bool m_queueIdHasBeenSet = false; + + Aws::String m_limitId; + bool m_limitIdHasBeenSet = false; + + QueueLimitAssociationStatus m_status; + bool m_statusHasBeenSet = false; + }; + +} // namespace Model +} // namespace deadline +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/model/ServiceManagedEc2InstanceCapabilities.h b/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/model/ServiceManagedEc2InstanceCapabilities.h index fb841e65cfa..d42cdeba9a1 100644 --- a/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/model/ServiceManagedEc2InstanceCapabilities.h +++ b/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/model/ServiceManagedEc2InstanceCapabilities.h @@ -108,10 +108,8 @@ namespace Model ///@{ /** - *

    The GPU accelerator capabilities required for the Amazon EC2 instances. If - * you include the acceleratorCapabilities property in the ServiceManagedEc2InstanceCapabilities - * object, all of the Amazon EC2 instances will have at least one accelerator.

    + *

    Describes the GPU accelerator capabilities required for worker host instances + * in this fleet.

    */ inline const AcceleratorCapabilities& GetAcceleratorCapabilities() const{ return m_acceleratorCapabilities; } inline bool AcceleratorCapabilitiesHasBeenSet() const { return m_acceleratorCapabilitiesHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/model/UpdateJobRequest.h b/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/model/UpdateJobRequest.h index 061385f7948..8dcb6a92041 100644 --- a/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/model/UpdateJobRequest.h +++ b/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/model/UpdateJobRequest.h @@ -52,48 +52,6 @@ namespace Model inline UpdateJobRequest& WithClientToken(const char* value) { SetClientToken(value); return *this;} ///@} - ///@{ - /** - *

    The farm ID of the job to update.

    - */ - inline const Aws::String& GetFarmId() const{ return m_farmId; } - inline bool FarmIdHasBeenSet() const { return m_farmIdHasBeenSet; } - inline void SetFarmId(const Aws::String& value) { m_farmIdHasBeenSet = true; m_farmId = value; } - inline void SetFarmId(Aws::String&& value) { m_farmIdHasBeenSet = true; m_farmId = std::move(value); } - inline void SetFarmId(const char* value) { m_farmIdHasBeenSet = true; m_farmId.assign(value); } - inline UpdateJobRequest& WithFarmId(const Aws::String& value) { SetFarmId(value); return *this;} - inline UpdateJobRequest& WithFarmId(Aws::String&& value) { SetFarmId(std::move(value)); return *this;} - inline UpdateJobRequest& WithFarmId(const char* value) { SetFarmId(value); return *this;} - ///@} - - ///@{ - /** - *

    The queue ID of the job to update.

    - */ - inline const Aws::String& GetQueueId() const{ return m_queueId; } - inline bool QueueIdHasBeenSet() const { return m_queueIdHasBeenSet; } - inline void SetQueueId(const Aws::String& value) { m_queueIdHasBeenSet = true; m_queueId = value; } - inline void SetQueueId(Aws::String&& value) { m_queueIdHasBeenSet = true; m_queueId = std::move(value); } - inline void SetQueueId(const char* value) { m_queueIdHasBeenSet = true; m_queueId.assign(value); } - inline UpdateJobRequest& WithQueueId(const Aws::String& value) { SetQueueId(value); return *this;} - inline UpdateJobRequest& WithQueueId(Aws::String&& value) { SetQueueId(std::move(value)); return *this;} - inline UpdateJobRequest& WithQueueId(const char* value) { SetQueueId(value); return *this;} - ///@} - - ///@{ - /** - *

    The job ID to update.

    - */ - inline const Aws::String& GetJobId() const{ return m_jobId; } - inline bool JobIdHasBeenSet() const { return m_jobIdHasBeenSet; } - inline void SetJobId(const Aws::String& value) { m_jobIdHasBeenSet = true; m_jobId = value; } - inline void SetJobId(Aws::String&& value) { m_jobIdHasBeenSet = true; m_jobId = std::move(value); } - inline void SetJobId(const char* value) { m_jobIdHasBeenSet = true; m_jobId.assign(value); } - inline UpdateJobRequest& WithJobId(const Aws::String& value) { SetJobId(value); return *this;} - inline UpdateJobRequest& WithJobId(Aws::String&& value) { SetJobId(std::move(value)); return *this;} - inline UpdateJobRequest& WithJobId(const char* value) { SetJobId(value); return *this;} - ///@} - ///@{ /** *

    The task status to update the job's tasks to.

    @@ -151,19 +109,68 @@ namespace Model inline UpdateJobRequest& WithLifecycleStatus(const UpdateJobLifecycleStatus& value) { SetLifecycleStatus(value); return *this;} inline UpdateJobRequest& WithLifecycleStatus(UpdateJobLifecycleStatus&& value) { SetLifecycleStatus(std::move(value)); return *this;} ///@} - private: - Aws::String m_clientToken; - bool m_clientTokenHasBeenSet = false; + ///@{ + /** + *

    The maximum number of worker hosts that can concurrently process a job. When + * the maxWorkerCount is reached, no more workers will be assigned to + * process the job, even if the fleets assigned to the job's queue has available + * workers.

    You can't set the maxWorkerCount to 0. If you set + * it to -1, there is no maximum number of workers.

    If you don't specify the + * maxWorkerCount, the default is -1.

    The maximum number of + * workers that can process tasks in the job.

    + */ + inline int GetMaxWorkerCount() const{ return m_maxWorkerCount; } + inline bool MaxWorkerCountHasBeenSet() const { return m_maxWorkerCountHasBeenSet; } + inline void SetMaxWorkerCount(int value) { m_maxWorkerCountHasBeenSet = true; m_maxWorkerCount = value; } + inline UpdateJobRequest& WithMaxWorkerCount(int value) { SetMaxWorkerCount(value); return *this;} + ///@} - Aws::String m_farmId; - bool m_farmIdHasBeenSet = false; + ///@{ + /** + *

    The farm ID of the job to update.

    + */ + inline const Aws::String& GetFarmId() const{ return m_farmId; } + inline bool FarmIdHasBeenSet() const { return m_farmIdHasBeenSet; } + inline void SetFarmId(const Aws::String& value) { m_farmIdHasBeenSet = true; m_farmId = value; } + inline void SetFarmId(Aws::String&& value) { m_farmIdHasBeenSet = true; m_farmId = std::move(value); } + inline void SetFarmId(const char* value) { m_farmIdHasBeenSet = true; m_farmId.assign(value); } + inline UpdateJobRequest& WithFarmId(const Aws::String& value) { SetFarmId(value); return *this;} + inline UpdateJobRequest& WithFarmId(Aws::String&& value) { SetFarmId(std::move(value)); return *this;} + inline UpdateJobRequest& WithFarmId(const char* value) { SetFarmId(value); return *this;} + ///@} - Aws::String m_queueId; - bool m_queueIdHasBeenSet = false; + ///@{ + /** + *

    The queue ID of the job to update.

    + */ + inline const Aws::String& GetQueueId() const{ return m_queueId; } + inline bool QueueIdHasBeenSet() const { return m_queueIdHasBeenSet; } + inline void SetQueueId(const Aws::String& value) { m_queueIdHasBeenSet = true; m_queueId = value; } + inline void SetQueueId(Aws::String&& value) { m_queueIdHasBeenSet = true; m_queueId = std::move(value); } + inline void SetQueueId(const char* value) { m_queueIdHasBeenSet = true; m_queueId.assign(value); } + inline UpdateJobRequest& WithQueueId(const Aws::String& value) { SetQueueId(value); return *this;} + inline UpdateJobRequest& WithQueueId(Aws::String&& value) { SetQueueId(std::move(value)); return *this;} + inline UpdateJobRequest& WithQueueId(const char* value) { SetQueueId(value); return *this;} + ///@} - Aws::String m_jobId; - bool m_jobIdHasBeenSet = false; + ///@{ + /** + *

    The job ID to update.

    + */ + inline const Aws::String& GetJobId() const{ return m_jobId; } + inline bool JobIdHasBeenSet() const { return m_jobIdHasBeenSet; } + inline void SetJobId(const Aws::String& value) { m_jobIdHasBeenSet = true; m_jobId = value; } + inline void SetJobId(Aws::String&& value) { m_jobIdHasBeenSet = true; m_jobId = std::move(value); } + inline void SetJobId(const char* value) { m_jobIdHasBeenSet = true; m_jobId.assign(value); } + inline UpdateJobRequest& WithJobId(const Aws::String& value) { SetJobId(value); return *this;} + inline UpdateJobRequest& WithJobId(Aws::String&& value) { SetJobId(std::move(value)); return *this;} + inline UpdateJobRequest& WithJobId(const char* value) { SetJobId(value); return *this;} + ///@} + private: + + Aws::String m_clientToken; + bool m_clientTokenHasBeenSet = false; JobTargetTaskRunStatus m_targetTaskRunStatus; bool m_targetTaskRunStatusHasBeenSet = false; @@ -179,6 +186,18 @@ namespace Model UpdateJobLifecycleStatus m_lifecycleStatus; bool m_lifecycleStatusHasBeenSet = false; + + int m_maxWorkerCount; + bool m_maxWorkerCountHasBeenSet = false; + + Aws::String m_farmId; + bool m_farmIdHasBeenSet = false; + + Aws::String m_queueId; + bool m_queueIdHasBeenSet = false; + + Aws::String m_jobId; + bool m_jobIdHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/model/UpdateLimitRequest.h b/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/model/UpdateLimitRequest.h new file mode 100644 index 00000000000..998852393d8 --- /dev/null +++ b/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/model/UpdateLimitRequest.h @@ -0,0 +1,131 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace deadline +{ +namespace Model +{ + + /** + */ + class UpdateLimitRequest : public DeadlineRequest + { + public: + AWS_DEADLINE_API UpdateLimitRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "UpdateLimit"; } + + AWS_DEADLINE_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

    The unique identifier of the farm that contains the limit.

    + */ + inline const Aws::String& GetFarmId() const{ return m_farmId; } + inline bool FarmIdHasBeenSet() const { return m_farmIdHasBeenSet; } + inline void SetFarmId(const Aws::String& value) { m_farmIdHasBeenSet = true; m_farmId = value; } + inline void SetFarmId(Aws::String&& value) { m_farmIdHasBeenSet = true; m_farmId = std::move(value); } + inline void SetFarmId(const char* value) { m_farmIdHasBeenSet = true; m_farmId.assign(value); } + inline UpdateLimitRequest& WithFarmId(const Aws::String& value) { SetFarmId(value); return *this;} + inline UpdateLimitRequest& WithFarmId(Aws::String&& value) { SetFarmId(std::move(value)); return *this;} + inline UpdateLimitRequest& WithFarmId(const char* value) { SetFarmId(value); return *this;} + ///@} + + ///@{ + /** + *

    The unique identifier of the limit to update.

    + */ + inline const Aws::String& GetLimitId() const{ return m_limitId; } + inline bool LimitIdHasBeenSet() const { return m_limitIdHasBeenSet; } + inline void SetLimitId(const Aws::String& value) { m_limitIdHasBeenSet = true; m_limitId = value; } + inline void SetLimitId(Aws::String&& value) { m_limitIdHasBeenSet = true; m_limitId = std::move(value); } + inline void SetLimitId(const char* value) { m_limitIdHasBeenSet = true; m_limitId.assign(value); } + inline UpdateLimitRequest& WithLimitId(const Aws::String& value) { SetLimitId(value); return *this;} + inline UpdateLimitRequest& WithLimitId(Aws::String&& value) { SetLimitId(std::move(value)); return *this;} + inline UpdateLimitRequest& WithLimitId(const char* value) { SetLimitId(value); return *this;} + ///@} + + ///@{ + /** + *

    The new display name of the limit.

    This field can store + * any content. Escape or encode this content before displaying it on a webpage or + * any other system that might interpret the content of this field.

    + * + */ + inline const Aws::String& GetDisplayName() const{ return m_displayName; } + inline bool DisplayNameHasBeenSet() const { return m_displayNameHasBeenSet; } + inline void SetDisplayName(const Aws::String& value) { m_displayNameHasBeenSet = true; m_displayName = value; } + inline void SetDisplayName(Aws::String&& value) { m_displayNameHasBeenSet = true; m_displayName = std::move(value); } + inline void SetDisplayName(const char* value) { m_displayNameHasBeenSet = true; m_displayName.assign(value); } + inline UpdateLimitRequest& WithDisplayName(const Aws::String& value) { SetDisplayName(value); return *this;} + inline UpdateLimitRequest& WithDisplayName(Aws::String&& value) { SetDisplayName(std::move(value)); return *this;} + inline UpdateLimitRequest& WithDisplayName(const char* value) { SetDisplayName(value); return *this;} + ///@} + + ///@{ + /** + *

    The new description of the limit.

    This field can store any + * content. Escape or encode this content before displaying it on a webpage or any + * other system that might interpret the content of this field.

    + */ + inline const Aws::String& GetDescription() const{ return m_description; } + inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } + inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } + inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } + inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } + inline UpdateLimitRequest& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} + inline UpdateLimitRequest& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} + inline UpdateLimitRequest& WithDescription(const char* value) { SetDescription(value); return *this;} + ///@} + + ///@{ + /** + *

    The maximum number of resources constrained by this limit. When all of the + * resources are in use, steps that require the limit won't be scheduled until the + * resource is available.

    If more than the new maximum number is currently + * in use, running jobs finish but no new jobs are started until the number of + * resources in use is below the new maximum number.

    The + * maxCount must not be 0. If the value is -1, there is no restriction + * on the number of resources that can be acquired for this limit.

    + */ + inline int GetMaxCount() const{ return m_maxCount; } + inline bool MaxCountHasBeenSet() const { return m_maxCountHasBeenSet; } + inline void SetMaxCount(int value) { m_maxCountHasBeenSet = true; m_maxCount = value; } + inline UpdateLimitRequest& WithMaxCount(int value) { SetMaxCount(value); return *this;} + ///@} + private: + + Aws::String m_farmId; + bool m_farmIdHasBeenSet = false; + + Aws::String m_limitId; + bool m_limitIdHasBeenSet = false; + + Aws::String m_displayName; + bool m_displayNameHasBeenSet = false; + + Aws::String m_description; + bool m_descriptionHasBeenSet = false; + + int m_maxCount; + bool m_maxCountHasBeenSet = false; + }; + +} // namespace Model +} // namespace deadline +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/model/UpdateLimitResult.h b/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/model/UpdateLimitResult.h new file mode 100644 index 00000000000..f32d3dca019 --- /dev/null +++ b/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/model/UpdateLimitResult.h @@ -0,0 +1,52 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace deadline +{ +namespace Model +{ + class UpdateLimitResult + { + public: + AWS_DEADLINE_API UpdateLimitResult(); + AWS_DEADLINE_API UpdateLimitResult(const Aws::AmazonWebServiceResult& result); + AWS_DEADLINE_API UpdateLimitResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline UpdateLimitResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline UpdateLimitResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline UpdateLimitResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace deadline +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/model/UpdateQueueLimitAssociationRequest.h b/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/model/UpdateQueueLimitAssociationRequest.h new file mode 100644 index 00000000000..548677b32a3 --- /dev/null +++ b/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/model/UpdateQueueLimitAssociationRequest.h @@ -0,0 +1,109 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace deadline +{ +namespace Model +{ + + /** + */ + class UpdateQueueLimitAssociationRequest : public DeadlineRequest + { + public: + AWS_DEADLINE_API UpdateQueueLimitAssociationRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "UpdateQueueLimitAssociation"; } + + AWS_DEADLINE_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

    The unique identifier of the farm that contains the associated queues and + * limits.

    + */ + inline const Aws::String& GetFarmId() const{ return m_farmId; } + inline bool FarmIdHasBeenSet() const { return m_farmIdHasBeenSet; } + inline void SetFarmId(const Aws::String& value) { m_farmIdHasBeenSet = true; m_farmId = value; } + inline void SetFarmId(Aws::String&& value) { m_farmIdHasBeenSet = true; m_farmId = std::move(value); } + inline void SetFarmId(const char* value) { m_farmIdHasBeenSet = true; m_farmId.assign(value); } + inline UpdateQueueLimitAssociationRequest& WithFarmId(const Aws::String& value) { SetFarmId(value); return *this;} + inline UpdateQueueLimitAssociationRequest& WithFarmId(Aws::String&& value) { SetFarmId(std::move(value)); return *this;} + inline UpdateQueueLimitAssociationRequest& WithFarmId(const char* value) { SetFarmId(value); return *this;} + ///@} + + ///@{ + /** + *

    The unique identifier of the queue associated to the limit.

    + */ + inline const Aws::String& GetQueueId() const{ return m_queueId; } + inline bool QueueIdHasBeenSet() const { return m_queueIdHasBeenSet; } + inline void SetQueueId(const Aws::String& value) { m_queueIdHasBeenSet = true; m_queueId = value; } + inline void SetQueueId(Aws::String&& value) { m_queueIdHasBeenSet = true; m_queueId = std::move(value); } + inline void SetQueueId(const char* value) { m_queueIdHasBeenSet = true; m_queueId.assign(value); } + inline UpdateQueueLimitAssociationRequest& WithQueueId(const Aws::String& value) { SetQueueId(value); return *this;} + inline UpdateQueueLimitAssociationRequest& WithQueueId(Aws::String&& value) { SetQueueId(std::move(value)); return *this;} + inline UpdateQueueLimitAssociationRequest& WithQueueId(const char* value) { SetQueueId(value); return *this;} + ///@} + + ///@{ + /** + *

    The unique identifier of the limit associated to the queue.

    + */ + inline const Aws::String& GetLimitId() const{ return m_limitId; } + inline bool LimitIdHasBeenSet() const { return m_limitIdHasBeenSet; } + inline void SetLimitId(const Aws::String& value) { m_limitIdHasBeenSet = true; m_limitId = value; } + inline void SetLimitId(Aws::String&& value) { m_limitIdHasBeenSet = true; m_limitId = std::move(value); } + inline void SetLimitId(const char* value) { m_limitIdHasBeenSet = true; m_limitId.assign(value); } + inline UpdateQueueLimitAssociationRequest& WithLimitId(const Aws::String& value) { SetLimitId(value); return *this;} + inline UpdateQueueLimitAssociationRequest& WithLimitId(Aws::String&& value) { SetLimitId(std::move(value)); return *this;} + inline UpdateQueueLimitAssociationRequest& WithLimitId(const char* value) { SetLimitId(value); return *this;} + ///@} + + ///@{ + /** + *

    Sets the status of the limit. You can mark the limit active, or you can stop + * usage of the limit and either complete existing tasks or cancel any existing + * tasks immediately.

    + */ + inline const UpdateQueueLimitAssociationStatus& GetStatus() const{ return m_status; } + inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } + inline void SetStatus(const UpdateQueueLimitAssociationStatus& value) { m_statusHasBeenSet = true; m_status = value; } + inline void SetStatus(UpdateQueueLimitAssociationStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } + inline UpdateQueueLimitAssociationRequest& WithStatus(const UpdateQueueLimitAssociationStatus& value) { SetStatus(value); return *this;} + inline UpdateQueueLimitAssociationRequest& WithStatus(UpdateQueueLimitAssociationStatus&& value) { SetStatus(std::move(value)); return *this;} + ///@} + private: + + Aws::String m_farmId; + bool m_farmIdHasBeenSet = false; + + Aws::String m_queueId; + bool m_queueIdHasBeenSet = false; + + Aws::String m_limitId; + bool m_limitIdHasBeenSet = false; + + UpdateQueueLimitAssociationStatus m_status; + bool m_statusHasBeenSet = false; + }; + +} // namespace Model +} // namespace deadline +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/model/UpdateQueueLimitAssociationResult.h b/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/model/UpdateQueueLimitAssociationResult.h new file mode 100644 index 00000000000..a2426c9cfc0 --- /dev/null +++ b/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/model/UpdateQueueLimitAssociationResult.h @@ -0,0 +1,52 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace deadline +{ +namespace Model +{ + class UpdateQueueLimitAssociationResult + { + public: + AWS_DEADLINE_API UpdateQueueLimitAssociationResult(); + AWS_DEADLINE_API UpdateQueueLimitAssociationResult(const Aws::AmazonWebServiceResult& result); + AWS_DEADLINE_API UpdateQueueLimitAssociationResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline UpdateQueueLimitAssociationResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline UpdateQueueLimitAssociationResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline UpdateQueueLimitAssociationResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace deadline +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/model/UpdateQueueLimitAssociationStatus.h b/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/model/UpdateQueueLimitAssociationStatus.h new file mode 100644 index 00000000000..abc547dd733 --- /dev/null +++ b/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/model/UpdateQueueLimitAssociationStatus.h @@ -0,0 +1,32 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace deadline +{ +namespace Model +{ + enum class UpdateQueueLimitAssociationStatus + { + NOT_SET, + ACTIVE, + STOP_LIMIT_USAGE_AND_COMPLETE_TASKS, + STOP_LIMIT_USAGE_AND_CANCEL_TASKS + }; + +namespace UpdateQueueLimitAssociationStatusMapper +{ +AWS_DEADLINE_API UpdateQueueLimitAssociationStatus GetUpdateQueueLimitAssociationStatusForName(const Aws::String& name); + +AWS_DEADLINE_API Aws::String GetNameForUpdateQueueLimitAssociationStatus(UpdateQueueLimitAssociationStatus value); +} // namespace UpdateQueueLimitAssociationStatusMapper +} // namespace Model +} // namespace deadline +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/model/UpdateSessionRequest.h b/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/model/UpdateSessionRequest.h index 6e246f85852..1c8976139dc 100644 --- a/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/model/UpdateSessionRequest.h +++ b/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/model/UpdateSessionRequest.h @@ -51,6 +51,18 @@ namespace Model inline UpdateSessionRequest& WithClientToken(const char* value) { SetClientToken(value); return *this;} ///@} + ///@{ + /** + *

    The life cycle status to update in the session.

    + */ + inline const SessionLifecycleTargetStatus& GetTargetLifecycleStatus() const{ return m_targetLifecycleStatus; } + inline bool TargetLifecycleStatusHasBeenSet() const { return m_targetLifecycleStatusHasBeenSet; } + inline void SetTargetLifecycleStatus(const SessionLifecycleTargetStatus& value) { m_targetLifecycleStatusHasBeenSet = true; m_targetLifecycleStatus = value; } + inline void SetTargetLifecycleStatus(SessionLifecycleTargetStatus&& value) { m_targetLifecycleStatusHasBeenSet = true; m_targetLifecycleStatus = std::move(value); } + inline UpdateSessionRequest& WithTargetLifecycleStatus(const SessionLifecycleTargetStatus& value) { SetTargetLifecycleStatus(value); return *this;} + inline UpdateSessionRequest& WithTargetLifecycleStatus(SessionLifecycleTargetStatus&& value) { SetTargetLifecycleStatus(std::move(value)); return *this;} + ///@} + ///@{ /** *

    The farm ID to update in the session.

    @@ -106,23 +118,14 @@ namespace Model inline UpdateSessionRequest& WithSessionId(Aws::String&& value) { SetSessionId(std::move(value)); return *this;} inline UpdateSessionRequest& WithSessionId(const char* value) { SetSessionId(value); return *this;} ///@} - - ///@{ - /** - *

    The life cycle status to update in the session.

    - */ - inline const SessionLifecycleTargetStatus& GetTargetLifecycleStatus() const{ return m_targetLifecycleStatus; } - inline bool TargetLifecycleStatusHasBeenSet() const { return m_targetLifecycleStatusHasBeenSet; } - inline void SetTargetLifecycleStatus(const SessionLifecycleTargetStatus& value) { m_targetLifecycleStatusHasBeenSet = true; m_targetLifecycleStatus = value; } - inline void SetTargetLifecycleStatus(SessionLifecycleTargetStatus&& value) { m_targetLifecycleStatusHasBeenSet = true; m_targetLifecycleStatus = std::move(value); } - inline UpdateSessionRequest& WithTargetLifecycleStatus(const SessionLifecycleTargetStatus& value) { SetTargetLifecycleStatus(value); return *this;} - inline UpdateSessionRequest& WithTargetLifecycleStatus(SessionLifecycleTargetStatus&& value) { SetTargetLifecycleStatus(std::move(value)); return *this;} - ///@} private: Aws::String m_clientToken; bool m_clientTokenHasBeenSet = false; + SessionLifecycleTargetStatus m_targetLifecycleStatus; + bool m_targetLifecycleStatusHasBeenSet = false; + Aws::String m_farmId; bool m_farmIdHasBeenSet = false; @@ -134,9 +137,6 @@ namespace Model Aws::String m_sessionId; bool m_sessionIdHasBeenSet = false; - - SessionLifecycleTargetStatus m_targetLifecycleStatus; - bool m_targetLifecycleStatusHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/model/UpdateStepRequest.h b/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/model/UpdateStepRequest.h index f5f9d6d4737..6502c140ce2 100644 --- a/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/model/UpdateStepRequest.h +++ b/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/model/UpdateStepRequest.h @@ -6,8 +6,8 @@ #pragma once #include #include -#include #include +#include #include #include @@ -36,6 +36,18 @@ namespace Model AWS_DEADLINE_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + ///@{ + /** + *

    The task status to update the step's tasks to.

    + */ + inline const StepTargetTaskRunStatus& GetTargetTaskRunStatus() const{ return m_targetTaskRunStatus; } + inline bool TargetTaskRunStatusHasBeenSet() const { return m_targetTaskRunStatusHasBeenSet; } + inline void SetTargetTaskRunStatus(const StepTargetTaskRunStatus& value) { m_targetTaskRunStatusHasBeenSet = true; m_targetTaskRunStatus = value; } + inline void SetTargetTaskRunStatus(StepTargetTaskRunStatus&& value) { m_targetTaskRunStatusHasBeenSet = true; m_targetTaskRunStatus = std::move(value); } + inline UpdateStepRequest& WithTargetTaskRunStatus(const StepTargetTaskRunStatus& value) { SetTargetTaskRunStatus(value); return *this;} + inline UpdateStepRequest& WithTargetTaskRunStatus(StepTargetTaskRunStatus&& value) { SetTargetTaskRunStatus(std::move(value)); return *this;} + ///@} + ///@{ /** *

    The unique token which the server uses to recognize retries of the same @@ -106,20 +118,11 @@ namespace Model inline UpdateStepRequest& WithStepId(Aws::String&& value) { SetStepId(std::move(value)); return *this;} inline UpdateStepRequest& WithStepId(const char* value) { SetStepId(value); return *this;} ///@} - - ///@{ - /** - *

    The task status to update the step's tasks to.

    - */ - inline const StepTargetTaskRunStatus& GetTargetTaskRunStatus() const{ return m_targetTaskRunStatus; } - inline bool TargetTaskRunStatusHasBeenSet() const { return m_targetTaskRunStatusHasBeenSet; } - inline void SetTargetTaskRunStatus(const StepTargetTaskRunStatus& value) { m_targetTaskRunStatusHasBeenSet = true; m_targetTaskRunStatus = value; } - inline void SetTargetTaskRunStatus(StepTargetTaskRunStatus&& value) { m_targetTaskRunStatusHasBeenSet = true; m_targetTaskRunStatus = std::move(value); } - inline UpdateStepRequest& WithTargetTaskRunStatus(const StepTargetTaskRunStatus& value) { SetTargetTaskRunStatus(value); return *this;} - inline UpdateStepRequest& WithTargetTaskRunStatus(StepTargetTaskRunStatus&& value) { SetTargetTaskRunStatus(std::move(value)); return *this;} - ///@} private: + StepTargetTaskRunStatus m_targetTaskRunStatus; + bool m_targetTaskRunStatusHasBeenSet = false; + Aws::String m_clientToken; bool m_clientTokenHasBeenSet = false; @@ -134,9 +137,6 @@ namespace Model Aws::String m_stepId; bool m_stepIdHasBeenSet = false; - - StepTargetTaskRunStatus m_targetTaskRunStatus; - bool m_targetTaskRunStatusHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/model/UpdateTaskRequest.h b/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/model/UpdateTaskRequest.h index 07b0f265b5d..85e1ac0b758 100644 --- a/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/model/UpdateTaskRequest.h +++ b/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/model/UpdateTaskRequest.h @@ -51,6 +51,18 @@ namespace Model inline UpdateTaskRequest& WithClientToken(const char* value) { SetClientToken(value); return *this;} ///@} + ///@{ + /** + *

    The run status with which to start the task.

    + */ + inline const TaskTargetRunStatus& GetTargetRunStatus() const{ return m_targetRunStatus; } + inline bool TargetRunStatusHasBeenSet() const { return m_targetRunStatusHasBeenSet; } + inline void SetTargetRunStatus(const TaskTargetRunStatus& value) { m_targetRunStatusHasBeenSet = true; m_targetRunStatus = value; } + inline void SetTargetRunStatus(TaskTargetRunStatus&& value) { m_targetRunStatusHasBeenSet = true; m_targetRunStatus = std::move(value); } + inline UpdateTaskRequest& WithTargetRunStatus(const TaskTargetRunStatus& value) { SetTargetRunStatus(value); return *this;} + inline UpdateTaskRequest& WithTargetRunStatus(TaskTargetRunStatus&& value) { SetTargetRunStatus(std::move(value)); return *this;} + ///@} + ///@{ /** *

    The farm ID to update.

    @@ -120,23 +132,14 @@ namespace Model inline UpdateTaskRequest& WithTaskId(Aws::String&& value) { SetTaskId(std::move(value)); return *this;} inline UpdateTaskRequest& WithTaskId(const char* value) { SetTaskId(value); return *this;} ///@} - - ///@{ - /** - *

    The run status with which to start the task.

    - */ - inline const TaskTargetRunStatus& GetTargetRunStatus() const{ return m_targetRunStatus; } - inline bool TargetRunStatusHasBeenSet() const { return m_targetRunStatusHasBeenSet; } - inline void SetTargetRunStatus(const TaskTargetRunStatus& value) { m_targetRunStatusHasBeenSet = true; m_targetRunStatus = value; } - inline void SetTargetRunStatus(TaskTargetRunStatus&& value) { m_targetRunStatusHasBeenSet = true; m_targetRunStatus = std::move(value); } - inline UpdateTaskRequest& WithTargetRunStatus(const TaskTargetRunStatus& value) { SetTargetRunStatus(value); return *this;} - inline UpdateTaskRequest& WithTargetRunStatus(TaskTargetRunStatus&& value) { SetTargetRunStatus(std::move(value)); return *this;} - ///@} private: Aws::String m_clientToken; bool m_clientTokenHasBeenSet = false; + TaskTargetRunStatus m_targetRunStatus; + bool m_targetRunStatusHasBeenSet = false; + Aws::String m_farmId; bool m_farmIdHasBeenSet = false; @@ -151,9 +154,6 @@ namespace Model Aws::String m_taskId; bool m_taskIdHasBeenSet = false; - - TaskTargetRunStatus m_targetRunStatus; - bool m_targetRunStatusHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-deadline/source/DeadlineClient.cpp b/generated/src/aws-cpp-sdk-deadline/source/DeadlineClient.cpp index 26ca586a643..23aad977b62 100644 --- a/generated/src/aws-cpp-sdk-deadline/source/DeadlineClient.cpp +++ b/generated/src/aws-cpp-sdk-deadline/source/DeadlineClient.cpp @@ -35,21 +35,25 @@ #include #include #include +#include #include #include #include #include +#include #include #include #include #include #include #include +#include #include #include #include #include #include +#include #include #include #include @@ -61,10 +65,12 @@ #include #include #include +#include #include #include #include #include +#include #include #include #include @@ -83,10 +89,12 @@ #include #include #include +#include #include #include #include #include +#include #include #include #include @@ -112,10 +120,12 @@ #include #include #include +#include #include #include #include #include +#include #include #include #include @@ -843,6 +853,35 @@ CreateLicenseEndpointOutcome DeadlineClient::CreateLicenseEndpoint(const CreateL {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +CreateLimitOutcome DeadlineClient::CreateLimit(const CreateLimitRequest& request) const +{ + AWS_OPERATION_GUARD(CreateLimit); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, CreateLimit, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.FarmIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("CreateLimit", "Required field: FarmId, is not set"); + return CreateLimitOutcome(Aws::Client::AWSError(DeadlineErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [FarmId]", false)); + } + AWS_OPERATION_CHECK_PTR(m_clientConfiguration.telemetryProvider, CreateLimit, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_clientConfiguration.telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_clientConfiguration.telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, CreateLimit, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".CreateLimit", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> CreateLimitOutcome { + return CreateLimitOutcome(MakeRequestDeserialize(&request, request.GetServiceRequestName(), Aws::Http::HttpMethod::HTTP_POST, [&](Aws::Endpoint::AWSEndpoint& resolvedEndpoint) -> void { + resolvedEndpoint.AddPathSegments("/2023-10-12/farms/"); + resolvedEndpoint.AddPathSegment(request.GetFarmId()); + resolvedEndpoint.AddPathSegments("/limits"); + })); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + CreateMonitorOutcome DeadlineClient::CreateMonitor(const CreateMonitorRequest& request) const { AWS_OPERATION_GUARD(CreateMonitor); @@ -959,6 +998,35 @@ CreateQueueFleetAssociationOutcome DeadlineClient::CreateQueueFleetAssociation(c {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +CreateQueueLimitAssociationOutcome DeadlineClient::CreateQueueLimitAssociation(const CreateQueueLimitAssociationRequest& request) const +{ + AWS_OPERATION_GUARD(CreateQueueLimitAssociation); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, CreateQueueLimitAssociation, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.FarmIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("CreateQueueLimitAssociation", "Required field: FarmId, is not set"); + return CreateQueueLimitAssociationOutcome(Aws::Client::AWSError(DeadlineErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [FarmId]", false)); + } + AWS_OPERATION_CHECK_PTR(m_clientConfiguration.telemetryProvider, CreateQueueLimitAssociation, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_clientConfiguration.telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_clientConfiguration.telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, CreateQueueLimitAssociation, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".CreateQueueLimitAssociation", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> CreateQueueLimitAssociationOutcome { + return CreateQueueLimitAssociationOutcome(MakeRequestDeserialize(&request, request.GetServiceRequestName(), Aws::Http::HttpMethod::HTTP_PUT, [&](Aws::Endpoint::AWSEndpoint& resolvedEndpoint) -> void { + resolvedEndpoint.AddPathSegments("/2023-10-12/farms/"); + resolvedEndpoint.AddPathSegment(request.GetFarmId()); + resolvedEndpoint.AddPathSegments("/queue-limit-associations"); + })); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + CreateStorageProfileOutcome DeadlineClient::CreateStorageProfile(const CreateStorageProfileRequest& request) const { AWS_OPERATION_GUARD(CreateStorageProfile); @@ -1150,6 +1218,41 @@ DeleteLicenseEndpointOutcome DeadlineClient::DeleteLicenseEndpoint(const DeleteL {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +DeleteLimitOutcome DeadlineClient::DeleteLimit(const DeleteLimitRequest& request) const +{ + AWS_OPERATION_GUARD(DeleteLimit); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, DeleteLimit, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.FarmIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("DeleteLimit", "Required field: FarmId, is not set"); + return DeleteLimitOutcome(Aws::Client::AWSError(DeadlineErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [FarmId]", false)); + } + if (!request.LimitIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("DeleteLimit", "Required field: LimitId, is not set"); + return DeleteLimitOutcome(Aws::Client::AWSError(DeadlineErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [LimitId]", false)); + } + AWS_OPERATION_CHECK_PTR(m_clientConfiguration.telemetryProvider, DeleteLimit, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_clientConfiguration.telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_clientConfiguration.telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, DeleteLimit, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".DeleteLimit", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> DeleteLimitOutcome { + return DeleteLimitOutcome(MakeRequestDeserialize(&request, request.GetServiceRequestName(), Aws::Http::HttpMethod::HTTP_DELETE, [&](Aws::Endpoint::AWSEndpoint& resolvedEndpoint) -> void { + resolvedEndpoint.AddPathSegments("/2023-10-12/farms/"); + resolvedEndpoint.AddPathSegment(request.GetFarmId()); + resolvedEndpoint.AddPathSegments("/limits/"); + resolvedEndpoint.AddPathSegment(request.GetLimitId()); + })); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + DeleteMeteredProductOutcome DeadlineClient::DeleteMeteredProduct(const DeleteMeteredProductRequest& request) const { AWS_OPERATION_GUARD(DeleteMeteredProduct); @@ -1331,6 +1434,47 @@ DeleteQueueFleetAssociationOutcome DeadlineClient::DeleteQueueFleetAssociation(c {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +DeleteQueueLimitAssociationOutcome DeadlineClient::DeleteQueueLimitAssociation(const DeleteQueueLimitAssociationRequest& request) const +{ + AWS_OPERATION_GUARD(DeleteQueueLimitAssociation); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, DeleteQueueLimitAssociation, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.FarmIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("DeleteQueueLimitAssociation", "Required field: FarmId, is not set"); + return DeleteQueueLimitAssociationOutcome(Aws::Client::AWSError(DeadlineErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [FarmId]", false)); + } + if (!request.QueueIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("DeleteQueueLimitAssociation", "Required field: QueueId, is not set"); + return DeleteQueueLimitAssociationOutcome(Aws::Client::AWSError(DeadlineErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [QueueId]", false)); + } + if (!request.LimitIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("DeleteQueueLimitAssociation", "Required field: LimitId, is not set"); + return DeleteQueueLimitAssociationOutcome(Aws::Client::AWSError(DeadlineErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [LimitId]", false)); + } + AWS_OPERATION_CHECK_PTR(m_clientConfiguration.telemetryProvider, DeleteQueueLimitAssociation, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_clientConfiguration.telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_clientConfiguration.telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, DeleteQueueLimitAssociation, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".DeleteQueueLimitAssociation", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> DeleteQueueLimitAssociationOutcome { + return DeleteQueueLimitAssociationOutcome(MakeRequestDeserialize(&request, request.GetServiceRequestName(), Aws::Http::HttpMethod::HTTP_DELETE, [&](Aws::Endpoint::AWSEndpoint& resolvedEndpoint) -> void { + resolvedEndpoint.AddPathSegments("/2023-10-12/farms/"); + resolvedEndpoint.AddPathSegment(request.GetFarmId()); + resolvedEndpoint.AddPathSegments("/queue-limit-associations/"); + resolvedEndpoint.AddPathSegment(request.GetQueueId()); + resolvedEndpoint.AddPathSegment(request.GetLimitId()); + })); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + DeleteStorageProfileOutcome DeadlineClient::DeleteStorageProfile(const DeleteStorageProfileRequest& request) const { AWS_OPERATION_GUARD(DeleteStorageProfile); @@ -1683,16 +1827,16 @@ GetJobOutcome DeadlineClient::GetJob(const GetJobRequest& request) const AWS_LOGSTREAM_ERROR("GetJob", "Required field: FarmId, is not set"); return GetJobOutcome(Aws::Client::AWSError(DeadlineErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [FarmId]", false)); } - if (!request.JobIdHasBeenSet()) - { - AWS_LOGSTREAM_ERROR("GetJob", "Required field: JobId, is not set"); - return GetJobOutcome(Aws::Client::AWSError(DeadlineErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [JobId]", false)); - } if (!request.QueueIdHasBeenSet()) { AWS_LOGSTREAM_ERROR("GetJob", "Required field: QueueId, is not set"); return GetJobOutcome(Aws::Client::AWSError(DeadlineErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [QueueId]", false)); } + if (!request.JobIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GetJob", "Required field: JobId, is not set"); + return GetJobOutcome(Aws::Client::AWSError(DeadlineErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [JobId]", false)); + } AWS_OPERATION_CHECK_PTR(m_clientConfiguration.telemetryProvider, GetJob, CoreErrors, CoreErrors::NOT_INITIALIZED); auto tracer = m_clientConfiguration.telemetryProvider->getTracer(this->GetServiceClientName(), {}); auto meter = m_clientConfiguration.telemetryProvider->getMeter(this->GetServiceClientName(), {}); @@ -1744,6 +1888,41 @@ GetLicenseEndpointOutcome DeadlineClient::GetLicenseEndpoint(const GetLicenseEnd {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +GetLimitOutcome DeadlineClient::GetLimit(const GetLimitRequest& request) const +{ + AWS_OPERATION_GUARD(GetLimit); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetLimit, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.FarmIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GetLimit", "Required field: FarmId, is not set"); + return GetLimitOutcome(Aws::Client::AWSError(DeadlineErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [FarmId]", false)); + } + if (!request.LimitIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GetLimit", "Required field: LimitId, is not set"); + return GetLimitOutcome(Aws::Client::AWSError(DeadlineErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [LimitId]", false)); + } + AWS_OPERATION_CHECK_PTR(m_clientConfiguration.telemetryProvider, GetLimit, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_clientConfiguration.telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_clientConfiguration.telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, GetLimit, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".GetLimit", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> GetLimitOutcome { + return GetLimitOutcome(MakeRequestDeserialize(&request, request.GetServiceRequestName(), Aws::Http::HttpMethod::HTTP_GET, [&](Aws::Endpoint::AWSEndpoint& resolvedEndpoint) -> void { + resolvedEndpoint.AddPathSegments("/2023-10-12/farms/"); + resolvedEndpoint.AddPathSegment(request.GetFarmId()); + resolvedEndpoint.AddPathSegments("/limits/"); + resolvedEndpoint.AddPathSegment(request.GetLimitId()); + })); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + GetMonitorOutcome DeadlineClient::GetMonitor(const GetMonitorRequest& request) const { AWS_OPERATION_GUARD(GetMonitor); @@ -1890,6 +2069,47 @@ GetQueueFleetAssociationOutcome DeadlineClient::GetQueueFleetAssociation(const G {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +GetQueueLimitAssociationOutcome DeadlineClient::GetQueueLimitAssociation(const GetQueueLimitAssociationRequest& request) const +{ + AWS_OPERATION_GUARD(GetQueueLimitAssociation); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetQueueLimitAssociation, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.FarmIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GetQueueLimitAssociation", "Required field: FarmId, is not set"); + return GetQueueLimitAssociationOutcome(Aws::Client::AWSError(DeadlineErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [FarmId]", false)); + } + if (!request.QueueIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GetQueueLimitAssociation", "Required field: QueueId, is not set"); + return GetQueueLimitAssociationOutcome(Aws::Client::AWSError(DeadlineErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [QueueId]", false)); + } + if (!request.LimitIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GetQueueLimitAssociation", "Required field: LimitId, is not set"); + return GetQueueLimitAssociationOutcome(Aws::Client::AWSError(DeadlineErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [LimitId]", false)); + } + AWS_OPERATION_CHECK_PTR(m_clientConfiguration.telemetryProvider, GetQueueLimitAssociation, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_clientConfiguration.telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_clientConfiguration.telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, GetQueueLimitAssociation, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".GetQueueLimitAssociation", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> GetQueueLimitAssociationOutcome { + return GetQueueLimitAssociationOutcome(MakeRequestDeserialize(&request, request.GetServiceRequestName(), Aws::Http::HttpMethod::HTTP_GET, [&](Aws::Endpoint::AWSEndpoint& resolvedEndpoint) -> void { + resolvedEndpoint.AddPathSegments("/2023-10-12/farms/"); + resolvedEndpoint.AddPathSegment(request.GetFarmId()); + resolvedEndpoint.AddPathSegments("/queue-limit-associations/"); + resolvedEndpoint.AddPathSegment(request.GetQueueId()); + resolvedEndpoint.AddPathSegment(request.GetLimitId()); + })); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + GetSessionOutcome DeadlineClient::GetSession(const GetSessionRequest& request) const { AWS_OPERATION_GUARD(GetSession); @@ -2557,6 +2777,35 @@ ListLicenseEndpointsOutcome DeadlineClient::ListLicenseEndpoints(const ListLicen {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +ListLimitsOutcome DeadlineClient::ListLimits(const ListLimitsRequest& request) const +{ + AWS_OPERATION_GUARD(ListLimits); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, ListLimits, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.FarmIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("ListLimits", "Required field: FarmId, is not set"); + return ListLimitsOutcome(Aws::Client::AWSError(DeadlineErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [FarmId]", false)); + } + AWS_OPERATION_CHECK_PTR(m_clientConfiguration.telemetryProvider, ListLimits, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_clientConfiguration.telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_clientConfiguration.telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, ListLimits, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".ListLimits", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> ListLimitsOutcome { + return ListLimitsOutcome(MakeRequestDeserialize(&request, request.GetServiceRequestName(), Aws::Http::HttpMethod::HTTP_GET, [&](Aws::Endpoint::AWSEndpoint& resolvedEndpoint) -> void { + resolvedEndpoint.AddPathSegments("/2023-10-12/farms/"); + resolvedEndpoint.AddPathSegment(request.GetFarmId()); + resolvedEndpoint.AddPathSegments("/limits"); + })); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + ListMeteredProductsOutcome DeadlineClient::ListMeteredProducts(const ListMeteredProductsRequest& request) const { AWS_OPERATION_GUARD(ListMeteredProducts); @@ -2673,6 +2922,35 @@ ListQueueFleetAssociationsOutcome DeadlineClient::ListQueueFleetAssociations(con {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +ListQueueLimitAssociationsOutcome DeadlineClient::ListQueueLimitAssociations(const ListQueueLimitAssociationsRequest& request) const +{ + AWS_OPERATION_GUARD(ListQueueLimitAssociations); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, ListQueueLimitAssociations, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.FarmIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("ListQueueLimitAssociations", "Required field: FarmId, is not set"); + return ListQueueLimitAssociationsOutcome(Aws::Client::AWSError(DeadlineErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [FarmId]", false)); + } + AWS_OPERATION_CHECK_PTR(m_clientConfiguration.telemetryProvider, ListQueueLimitAssociations, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_clientConfiguration.telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_clientConfiguration.telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, ListQueueLimitAssociations, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".ListQueueLimitAssociations", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> ListQueueLimitAssociationsOutcome { + return ListQueueLimitAssociationsOutcome(MakeRequestDeserialize(&request, request.GetServiceRequestName(), Aws::Http::HttpMethod::HTTP_GET, [&](Aws::Endpoint::AWSEndpoint& resolvedEndpoint) -> void { + resolvedEndpoint.AddPathSegments("/2023-10-12/farms/"); + resolvedEndpoint.AddPathSegment(request.GetFarmId()); + resolvedEndpoint.AddPathSegments("/queue-limit-associations"); + })); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + ListQueueMembersOutcome DeadlineClient::ListQueueMembers(const ListQueueMembersRequest& request) const { AWS_OPERATION_GUARD(ListQueueMembers); @@ -3570,6 +3848,41 @@ UpdateJobOutcome DeadlineClient::UpdateJob(const UpdateJobRequest& request) cons {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +UpdateLimitOutcome DeadlineClient::UpdateLimit(const UpdateLimitRequest& request) const +{ + AWS_OPERATION_GUARD(UpdateLimit); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, UpdateLimit, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.FarmIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("UpdateLimit", "Required field: FarmId, is not set"); + return UpdateLimitOutcome(Aws::Client::AWSError(DeadlineErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [FarmId]", false)); + } + if (!request.LimitIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("UpdateLimit", "Required field: LimitId, is not set"); + return UpdateLimitOutcome(Aws::Client::AWSError(DeadlineErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [LimitId]", false)); + } + AWS_OPERATION_CHECK_PTR(m_clientConfiguration.telemetryProvider, UpdateLimit, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_clientConfiguration.telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_clientConfiguration.telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, UpdateLimit, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".UpdateLimit", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> UpdateLimitOutcome { + return UpdateLimitOutcome(MakeRequestDeserialize(&request, request.GetServiceRequestName(), Aws::Http::HttpMethod::HTTP_PATCH, [&](Aws::Endpoint::AWSEndpoint& resolvedEndpoint) -> void { + resolvedEndpoint.AddPathSegments("/2023-10-12/farms/"); + resolvedEndpoint.AddPathSegment(request.GetFarmId()); + resolvedEndpoint.AddPathSegments("/limits/"); + resolvedEndpoint.AddPathSegment(request.GetLimitId()); + })); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + UpdateMonitorOutcome DeadlineClient::UpdateMonitor(const UpdateMonitorRequest& request) const { AWS_OPERATION_GUARD(UpdateMonitor); @@ -3716,6 +4029,47 @@ UpdateQueueFleetAssociationOutcome DeadlineClient::UpdateQueueFleetAssociation(c {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +UpdateQueueLimitAssociationOutcome DeadlineClient::UpdateQueueLimitAssociation(const UpdateQueueLimitAssociationRequest& request) const +{ + AWS_OPERATION_GUARD(UpdateQueueLimitAssociation); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, UpdateQueueLimitAssociation, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.FarmIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("UpdateQueueLimitAssociation", "Required field: FarmId, is not set"); + return UpdateQueueLimitAssociationOutcome(Aws::Client::AWSError(DeadlineErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [FarmId]", false)); + } + if (!request.QueueIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("UpdateQueueLimitAssociation", "Required field: QueueId, is not set"); + return UpdateQueueLimitAssociationOutcome(Aws::Client::AWSError(DeadlineErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [QueueId]", false)); + } + if (!request.LimitIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("UpdateQueueLimitAssociation", "Required field: LimitId, is not set"); + return UpdateQueueLimitAssociationOutcome(Aws::Client::AWSError(DeadlineErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [LimitId]", false)); + } + AWS_OPERATION_CHECK_PTR(m_clientConfiguration.telemetryProvider, UpdateQueueLimitAssociation, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_clientConfiguration.telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_clientConfiguration.telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, UpdateQueueLimitAssociation, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".UpdateQueueLimitAssociation", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> UpdateQueueLimitAssociationOutcome { + return UpdateQueueLimitAssociationOutcome(MakeRequestDeserialize(&request, request.GetServiceRequestName(), Aws::Http::HttpMethod::HTTP_PATCH, [&](Aws::Endpoint::AWSEndpoint& resolvedEndpoint) -> void { + resolvedEndpoint.AddPathSegments("/2023-10-12/farms/"); + resolvedEndpoint.AddPathSegment(request.GetFarmId()); + resolvedEndpoint.AddPathSegments("/queue-limit-associations/"); + resolvedEndpoint.AddPathSegment(request.GetQueueId()); + resolvedEndpoint.AddPathSegment(request.GetLimitId()); + })); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + UpdateSessionOutcome DeadlineClient::UpdateSession(const UpdateSessionRequest& request) const { AWS_OPERATION_GUARD(UpdateSession); diff --git a/generated/src/aws-cpp-sdk-deadline/source/model/AcquiredLimit.cpp b/generated/src/aws-cpp-sdk-deadline/source/model/AcquiredLimit.cpp new file mode 100644 index 00000000000..c565d3881ea --- /dev/null +++ b/generated/src/aws-cpp-sdk-deadline/source/model/AcquiredLimit.cpp @@ -0,0 +1,74 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace deadline +{ +namespace Model +{ + +AcquiredLimit::AcquiredLimit() : + m_limitIdHasBeenSet(false), + m_count(0), + m_countHasBeenSet(false) +{ +} + +AcquiredLimit::AcquiredLimit(JsonView jsonValue) + : AcquiredLimit() +{ + *this = jsonValue; +} + +AcquiredLimit& AcquiredLimit::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("limitId")) + { + m_limitId = jsonValue.GetString("limitId"); + + m_limitIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("count")) + { + m_count = jsonValue.GetInteger("count"); + + m_countHasBeenSet = true; + } + + return *this; +} + +JsonValue AcquiredLimit::Jsonize() const +{ + JsonValue payload; + + if(m_limitIdHasBeenSet) + { + payload.WithString("limitId", m_limitId); + + } + + if(m_countHasBeenSet) + { + payload.WithInteger("count", m_count); + + } + + return payload; +} + +} // namespace Model +} // namespace deadline +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-deadline/source/model/CreateJobRequest.cpp b/generated/src/aws-cpp-sdk-deadline/source/model/CreateJobRequest.cpp index a937905d484..50914aea4ca 100644 --- a/generated/src/aws-cpp-sdk-deadline/source/model/CreateJobRequest.cpp +++ b/generated/src/aws-cpp-sdk-deadline/source/model/CreateJobRequest.cpp @@ -32,6 +32,8 @@ CreateJobRequest::CreateJobRequest() : m_maxFailedTasksCountHasBeenSet(false), m_maxRetriesPerTask(0), m_maxRetriesPerTaskHasBeenSet(false), + m_maxWorkerCount(0), + m_maxWorkerCountHasBeenSet(false), m_sourceJobIdHasBeenSet(false) { } @@ -97,6 +99,12 @@ Aws::String CreateJobRequest::SerializePayload() const } + if(m_maxWorkerCountHasBeenSet) + { + payload.WithInteger("maxWorkerCount", m_maxWorkerCount); + + } + if(m_sourceJobIdHasBeenSet) { payload.WithString("sourceJobId", m_sourceJobId); diff --git a/generated/src/aws-cpp-sdk-deadline/source/model/CreateLimitRequest.cpp b/generated/src/aws-cpp-sdk-deadline/source/model/CreateLimitRequest.cpp new file mode 100644 index 00000000000..06bc321560f --- /dev/null +++ b/generated/src/aws-cpp-sdk-deadline/source/model/CreateLimitRequest.cpp @@ -0,0 +1,76 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include + +#include + +using namespace Aws::deadline::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +CreateLimitRequest::CreateLimitRequest() : + m_clientToken(Aws::Utils::UUID::PseudoRandomUUID()), + m_clientTokenHasBeenSet(true), + m_displayNameHasBeenSet(false), + m_amountRequirementNameHasBeenSet(false), + m_maxCount(0), + m_maxCountHasBeenSet(false), + m_farmIdHasBeenSet(false), + m_descriptionHasBeenSet(false) +{ +} + +Aws::String CreateLimitRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_displayNameHasBeenSet) + { + payload.WithString("displayName", m_displayName); + + } + + if(m_amountRequirementNameHasBeenSet) + { + payload.WithString("amountRequirementName", m_amountRequirementName); + + } + + if(m_maxCountHasBeenSet) + { + payload.WithInteger("maxCount", m_maxCount); + + } + + if(m_descriptionHasBeenSet) + { + payload.WithString("description", m_description); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection CreateLimitRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_clientTokenHasBeenSet) + { + ss << m_clientToken; + headers.emplace("x-amz-client-token", ss.str()); + ss.str(""); + } + + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-deadline/source/model/CreateLimitResult.cpp b/generated/src/aws-cpp-sdk-deadline/source/model/CreateLimitResult.cpp new file mode 100644 index 00000000000..f4deb9c3afe --- /dev/null +++ b/generated/src/aws-cpp-sdk-deadline/source/model/CreateLimitResult.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::deadline::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +CreateLimitResult::CreateLimitResult() +{ +} + +CreateLimitResult::CreateLimitResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +CreateLimitResult& CreateLimitResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("limitId")) + { + m_limitId = jsonValue.GetString("limitId"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-deadline/source/model/CreateQueueLimitAssociationRequest.cpp b/generated/src/aws-cpp-sdk-deadline/source/model/CreateQueueLimitAssociationRequest.cpp new file mode 100644 index 00000000000..b2daf1e4d14 --- /dev/null +++ b/generated/src/aws-cpp-sdk-deadline/source/model/CreateQueueLimitAssociationRequest.cpp @@ -0,0 +1,43 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::deadline::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +CreateQueueLimitAssociationRequest::CreateQueueLimitAssociationRequest() : + m_farmIdHasBeenSet(false), + m_queueIdHasBeenSet(false), + m_limitIdHasBeenSet(false) +{ +} + +Aws::String CreateQueueLimitAssociationRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_queueIdHasBeenSet) + { + payload.WithString("queueId", m_queueId); + + } + + if(m_limitIdHasBeenSet) + { + payload.WithString("limitId", m_limitId); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-deadline/source/model/CreateQueueLimitAssociationResult.cpp b/generated/src/aws-cpp-sdk-deadline/source/model/CreateQueueLimitAssociationResult.cpp new file mode 100644 index 00000000000..0a3602f702d --- /dev/null +++ b/generated/src/aws-cpp-sdk-deadline/source/model/CreateQueueLimitAssociationResult.cpp @@ -0,0 +1,42 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::deadline::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +CreateQueueLimitAssociationResult::CreateQueueLimitAssociationResult() +{ +} + +CreateQueueLimitAssociationResult::CreateQueueLimitAssociationResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +CreateQueueLimitAssociationResult& CreateQueueLimitAssociationResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + AWS_UNREFERENCED_PARAM(result); + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-deadline/source/model/DeleteLimitRequest.cpp b/generated/src/aws-cpp-sdk-deadline/source/model/DeleteLimitRequest.cpp new file mode 100644 index 00000000000..84a5c6d9f40 --- /dev/null +++ b/generated/src/aws-cpp-sdk-deadline/source/model/DeleteLimitRequest.cpp @@ -0,0 +1,28 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::deadline::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +DeleteLimitRequest::DeleteLimitRequest() : + m_farmIdHasBeenSet(false), + m_limitIdHasBeenSet(false) +{ +} + +Aws::String DeleteLimitRequest::SerializePayload() const +{ + return {}; +} + + + + diff --git a/generated/src/aws-cpp-sdk-deadline/source/model/DeleteLimitResult.cpp b/generated/src/aws-cpp-sdk-deadline/source/model/DeleteLimitResult.cpp new file mode 100644 index 00000000000..903cb04df9a --- /dev/null +++ b/generated/src/aws-cpp-sdk-deadline/source/model/DeleteLimitResult.cpp @@ -0,0 +1,42 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::deadline::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +DeleteLimitResult::DeleteLimitResult() +{ +} + +DeleteLimitResult::DeleteLimitResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +DeleteLimitResult& DeleteLimitResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + AWS_UNREFERENCED_PARAM(result); + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-deadline/source/model/DeleteQueueLimitAssociationRequest.cpp b/generated/src/aws-cpp-sdk-deadline/source/model/DeleteQueueLimitAssociationRequest.cpp new file mode 100644 index 00000000000..13b2aa66fae --- /dev/null +++ b/generated/src/aws-cpp-sdk-deadline/source/model/DeleteQueueLimitAssociationRequest.cpp @@ -0,0 +1,29 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::deadline::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +DeleteQueueLimitAssociationRequest::DeleteQueueLimitAssociationRequest() : + m_farmIdHasBeenSet(false), + m_queueIdHasBeenSet(false), + m_limitIdHasBeenSet(false) +{ +} + +Aws::String DeleteQueueLimitAssociationRequest::SerializePayload() const +{ + return {}; +} + + + + diff --git a/generated/src/aws-cpp-sdk-deadline/source/model/DeleteQueueLimitAssociationResult.cpp b/generated/src/aws-cpp-sdk-deadline/source/model/DeleteQueueLimitAssociationResult.cpp new file mode 100644 index 00000000000..46a6434d44f --- /dev/null +++ b/generated/src/aws-cpp-sdk-deadline/source/model/DeleteQueueLimitAssociationResult.cpp @@ -0,0 +1,42 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::deadline::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +DeleteQueueLimitAssociationResult::DeleteQueueLimitAssociationResult() +{ +} + +DeleteQueueLimitAssociationResult::DeleteQueueLimitAssociationResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +DeleteQueueLimitAssociationResult& DeleteQueueLimitAssociationResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + AWS_UNREFERENCED_PARAM(result); + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-deadline/source/model/GetJobRequest.cpp b/generated/src/aws-cpp-sdk-deadline/source/model/GetJobRequest.cpp index 1d861953c6c..ba7336d7917 100644 --- a/generated/src/aws-cpp-sdk-deadline/source/model/GetJobRequest.cpp +++ b/generated/src/aws-cpp-sdk-deadline/source/model/GetJobRequest.cpp @@ -14,8 +14,8 @@ using namespace Aws::Utils; GetJobRequest::GetJobRequest() : m_farmIdHasBeenSet(false), - m_jobIdHasBeenSet(false), - m_queueIdHasBeenSet(false) + m_queueIdHasBeenSet(false), + m_jobIdHasBeenSet(false) { } diff --git a/generated/src/aws-cpp-sdk-deadline/source/model/GetJobResult.cpp b/generated/src/aws-cpp-sdk-deadline/source/model/GetJobResult.cpp index 3a287657c63..98fc3c1d4c7 100644 --- a/generated/src/aws-cpp-sdk-deadline/source/model/GetJobResult.cpp +++ b/generated/src/aws-cpp-sdk-deadline/source/model/GetJobResult.cpp @@ -23,7 +23,8 @@ GetJobResult::GetJobResult() : m_taskRunStatus(TaskRunStatus::NOT_SET), m_targetTaskRunStatus(JobTargetTaskRunStatus::NOT_SET), m_maxFailedTasksCount(0), - m_maxRetriesPerTask(0) + m_maxRetriesPerTask(0), + m_maxWorkerCount(0) { } @@ -162,6 +163,12 @@ GetJobResult& GetJobResult::operator =(const Aws::AmazonWebServiceResult +#include + +#include + +using namespace Aws::deadline::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +GetLimitRequest::GetLimitRequest() : + m_farmIdHasBeenSet(false), + m_limitIdHasBeenSet(false) +{ +} + +Aws::String GetLimitRequest::SerializePayload() const +{ + return {}; +} + + + + diff --git a/generated/src/aws-cpp-sdk-deadline/source/model/GetLimitResult.cpp b/generated/src/aws-cpp-sdk-deadline/source/model/GetLimitResult.cpp new file mode 100644 index 00000000000..299854d1bad --- /dev/null +++ b/generated/src/aws-cpp-sdk-deadline/source/model/GetLimitResult.cpp @@ -0,0 +1,111 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::deadline::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +GetLimitResult::GetLimitResult() : + m_maxCount(0), + m_currentCount(0) +{ +} + +GetLimitResult::GetLimitResult(const Aws::AmazonWebServiceResult& result) + : GetLimitResult() +{ + *this = result; +} + +GetLimitResult& GetLimitResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("displayName")) + { + m_displayName = jsonValue.GetString("displayName"); + + } + + if(jsonValue.ValueExists("amountRequirementName")) + { + m_amountRequirementName = jsonValue.GetString("amountRequirementName"); + + } + + if(jsonValue.ValueExists("maxCount")) + { + m_maxCount = jsonValue.GetInteger("maxCount"); + + } + + if(jsonValue.ValueExists("createdAt")) + { + m_createdAt = jsonValue.GetString("createdAt"); + + } + + if(jsonValue.ValueExists("createdBy")) + { + m_createdBy = jsonValue.GetString("createdBy"); + + } + + if(jsonValue.ValueExists("updatedAt")) + { + m_updatedAt = jsonValue.GetString("updatedAt"); + + } + + if(jsonValue.ValueExists("updatedBy")) + { + m_updatedBy = jsonValue.GetString("updatedBy"); + + } + + if(jsonValue.ValueExists("farmId")) + { + m_farmId = jsonValue.GetString("farmId"); + + } + + if(jsonValue.ValueExists("limitId")) + { + m_limitId = jsonValue.GetString("limitId"); + + } + + if(jsonValue.ValueExists("currentCount")) + { + m_currentCount = jsonValue.GetInteger("currentCount"); + + } + + if(jsonValue.ValueExists("description")) + { + m_description = jsonValue.GetString("description"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-deadline/source/model/GetQueueLimitAssociationRequest.cpp b/generated/src/aws-cpp-sdk-deadline/source/model/GetQueueLimitAssociationRequest.cpp new file mode 100644 index 00000000000..44ab7ff30f0 --- /dev/null +++ b/generated/src/aws-cpp-sdk-deadline/source/model/GetQueueLimitAssociationRequest.cpp @@ -0,0 +1,29 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::deadline::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +GetQueueLimitAssociationRequest::GetQueueLimitAssociationRequest() : + m_farmIdHasBeenSet(false), + m_queueIdHasBeenSet(false), + m_limitIdHasBeenSet(false) +{ +} + +Aws::String GetQueueLimitAssociationRequest::SerializePayload() const +{ + return {}; +} + + + + diff --git a/generated/src/aws-cpp-sdk-deadline/source/model/GetQueueLimitAssociationResult.cpp b/generated/src/aws-cpp-sdk-deadline/source/model/GetQueueLimitAssociationResult.cpp new file mode 100644 index 00000000000..c69dc7b6abc --- /dev/null +++ b/generated/src/aws-cpp-sdk-deadline/source/model/GetQueueLimitAssociationResult.cpp @@ -0,0 +1,86 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::deadline::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +GetQueueLimitAssociationResult::GetQueueLimitAssociationResult() : + m_status(QueueLimitAssociationStatus::NOT_SET) +{ +} + +GetQueueLimitAssociationResult::GetQueueLimitAssociationResult(const Aws::AmazonWebServiceResult& result) + : GetQueueLimitAssociationResult() +{ + *this = result; +} + +GetQueueLimitAssociationResult& GetQueueLimitAssociationResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("createdAt")) + { + m_createdAt = jsonValue.GetString("createdAt"); + + } + + if(jsonValue.ValueExists("createdBy")) + { + m_createdBy = jsonValue.GetString("createdBy"); + + } + + if(jsonValue.ValueExists("updatedAt")) + { + m_updatedAt = jsonValue.GetString("updatedAt"); + + } + + if(jsonValue.ValueExists("updatedBy")) + { + m_updatedBy = jsonValue.GetString("updatedBy"); + + } + + if(jsonValue.ValueExists("queueId")) + { + m_queueId = jsonValue.GetString("queueId"); + + } + + if(jsonValue.ValueExists("limitId")) + { + m_limitId = jsonValue.GetString("limitId"); + + } + + if(jsonValue.ValueExists("status")) + { + m_status = QueueLimitAssociationStatusMapper::GetQueueLimitAssociationStatusForName(jsonValue.GetString("status")); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-deadline/source/model/GetSessionActionResult.cpp b/generated/src/aws-cpp-sdk-deadline/source/model/GetSessionActionResult.cpp index 967a1b95dde..4665a75401e 100644 --- a/generated/src/aws-cpp-sdk-deadline/source/model/GetSessionActionResult.cpp +++ b/generated/src/aws-cpp-sdk-deadline/source/model/GetSessionActionResult.cpp @@ -93,6 +93,15 @@ GetSessionActionResult& GetSessionActionResult::operator =(const Aws::AmazonWebS } + if(jsonValue.ValueExists("acquiredLimits")) + { + Aws::Utils::Array acquiredLimitsJsonList = jsonValue.GetArray("acquiredLimits"); + for(unsigned acquiredLimitsIndex = 0; acquiredLimitsIndex < acquiredLimitsJsonList.GetLength(); ++acquiredLimitsIndex) + { + m_acquiredLimits.push_back(acquiredLimitsJsonList[acquiredLimitsIndex].AsObject()); + } + } + const auto& headers = result.GetHeaderValueCollection(); const auto& requestIdIter = headers.find("x-amzn-requestid"); diff --git a/generated/src/aws-cpp-sdk-deadline/source/model/GetWorkerResult.cpp b/generated/src/aws-cpp-sdk-deadline/source/model/GetWorkerResult.cpp index 2d0fba2d7a9..a4f66748e81 100644 --- a/generated/src/aws-cpp-sdk-deadline/source/model/GetWorkerResult.cpp +++ b/generated/src/aws-cpp-sdk-deadline/source/model/GetWorkerResult.cpp @@ -31,12 +31,6 @@ GetWorkerResult::GetWorkerResult(const Aws::AmazonWebServiceResult& r GetWorkerResult& GetWorkerResult::operator =(const Aws::AmazonWebServiceResult& result) { JsonView jsonValue = result.GetPayload().View(); - if(jsonValue.ValueExists("workerId")) - { - m_workerId = jsonValue.GetString("workerId"); - - } - if(jsonValue.ValueExists("farmId")) { m_farmId = jsonValue.GetString("farmId"); @@ -49,6 +43,12 @@ GetWorkerResult& GetWorkerResult::operator =(const Aws::AmazonWebServiceResult +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace deadline +{ +namespace Model +{ + +LimitSummary::LimitSummary() : + m_displayNameHasBeenSet(false), + m_amountRequirementNameHasBeenSet(false), + m_maxCount(0), + m_maxCountHasBeenSet(false), + m_createdAtHasBeenSet(false), + m_createdByHasBeenSet(false), + m_updatedAtHasBeenSet(false), + m_updatedByHasBeenSet(false), + m_farmIdHasBeenSet(false), + m_limitIdHasBeenSet(false), + m_currentCount(0), + m_currentCountHasBeenSet(false) +{ +} + +LimitSummary::LimitSummary(JsonView jsonValue) + : LimitSummary() +{ + *this = jsonValue; +} + +LimitSummary& LimitSummary::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("displayName")) + { + m_displayName = jsonValue.GetString("displayName"); + + m_displayNameHasBeenSet = true; + } + + if(jsonValue.ValueExists("amountRequirementName")) + { + m_amountRequirementName = jsonValue.GetString("amountRequirementName"); + + m_amountRequirementNameHasBeenSet = true; + } + + if(jsonValue.ValueExists("maxCount")) + { + m_maxCount = jsonValue.GetInteger("maxCount"); + + m_maxCountHasBeenSet = true; + } + + if(jsonValue.ValueExists("createdAt")) + { + m_createdAt = jsonValue.GetString("createdAt"); + + m_createdAtHasBeenSet = true; + } + + if(jsonValue.ValueExists("createdBy")) + { + m_createdBy = jsonValue.GetString("createdBy"); + + m_createdByHasBeenSet = true; + } + + if(jsonValue.ValueExists("updatedAt")) + { + m_updatedAt = jsonValue.GetString("updatedAt"); + + m_updatedAtHasBeenSet = true; + } + + if(jsonValue.ValueExists("updatedBy")) + { + m_updatedBy = jsonValue.GetString("updatedBy"); + + m_updatedByHasBeenSet = true; + } + + if(jsonValue.ValueExists("farmId")) + { + m_farmId = jsonValue.GetString("farmId"); + + m_farmIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("limitId")) + { + m_limitId = jsonValue.GetString("limitId"); + + m_limitIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("currentCount")) + { + m_currentCount = jsonValue.GetInteger("currentCount"); + + m_currentCountHasBeenSet = true; + } + + return *this; +} + +JsonValue LimitSummary::Jsonize() const +{ + JsonValue payload; + + if(m_displayNameHasBeenSet) + { + payload.WithString("displayName", m_displayName); + + } + + if(m_amountRequirementNameHasBeenSet) + { + payload.WithString("amountRequirementName", m_amountRequirementName); + + } + + if(m_maxCountHasBeenSet) + { + payload.WithInteger("maxCount", m_maxCount); + + } + + if(m_createdAtHasBeenSet) + { + payload.WithString("createdAt", m_createdAt.ToGmtString(Aws::Utils::DateFormat::ISO_8601)); + } + + if(m_createdByHasBeenSet) + { + payload.WithString("createdBy", m_createdBy); + + } + + if(m_updatedAtHasBeenSet) + { + payload.WithString("updatedAt", m_updatedAt.ToGmtString(Aws::Utils::DateFormat::ISO_8601)); + } + + if(m_updatedByHasBeenSet) + { + payload.WithString("updatedBy", m_updatedBy); + + } + + if(m_farmIdHasBeenSet) + { + payload.WithString("farmId", m_farmId); + + } + + if(m_limitIdHasBeenSet) + { + payload.WithString("limitId", m_limitId); + + } + + if(m_currentCountHasBeenSet) + { + payload.WithInteger("currentCount", m_currentCount); + + } + + return payload; +} + +} // namespace Model +} // namespace deadline +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-deadline/source/model/ListLimitsRequest.cpp b/generated/src/aws-cpp-sdk-deadline/source/model/ListLimitsRequest.cpp new file mode 100644 index 00000000000..1aefd794095 --- /dev/null +++ b/generated/src/aws-cpp-sdk-deadline/source/model/ListLimitsRequest.cpp @@ -0,0 +1,51 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::deadline::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws::Http; + +ListLimitsRequest::ListLimitsRequest() : + m_farmIdHasBeenSet(false), + m_nextTokenHasBeenSet(false), + m_maxResults(0), + m_maxResultsHasBeenSet(false) +{ +} + +Aws::String ListLimitsRequest::SerializePayload() const +{ + return {}; +} + +void ListLimitsRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(m_nextTokenHasBeenSet) + { + ss << m_nextToken; + uri.AddQueryStringParameter("nextToken", ss.str()); + ss.str(""); + } + + if(m_maxResultsHasBeenSet) + { + ss << m_maxResults; + uri.AddQueryStringParameter("maxResults", ss.str()); + ss.str(""); + } + +} + + + diff --git a/generated/src/aws-cpp-sdk-deadline/source/model/ListLimitsResult.cpp b/generated/src/aws-cpp-sdk-deadline/source/model/ListLimitsResult.cpp new file mode 100644 index 00000000000..5bae2f6bd2a --- /dev/null +++ b/generated/src/aws-cpp-sdk-deadline/source/model/ListLimitsResult.cpp @@ -0,0 +1,57 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::deadline::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +ListLimitsResult::ListLimitsResult() +{ +} + +ListLimitsResult::ListLimitsResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +ListLimitsResult& ListLimitsResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("limits")) + { + Aws::Utils::Array limitsJsonList = jsonValue.GetArray("limits"); + for(unsigned limitsIndex = 0; limitsIndex < limitsJsonList.GetLength(); ++limitsIndex) + { + m_limits.push_back(limitsJsonList[limitsIndex].AsObject()); + } + } + + if(jsonValue.ValueExists("nextToken")) + { + m_nextToken = jsonValue.GetString("nextToken"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-deadline/source/model/ListQueueLimitAssociationsRequest.cpp b/generated/src/aws-cpp-sdk-deadline/source/model/ListQueueLimitAssociationsRequest.cpp new file mode 100644 index 00000000000..932fa8a45c6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-deadline/source/model/ListQueueLimitAssociationsRequest.cpp @@ -0,0 +1,67 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::deadline::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws::Http; + +ListQueueLimitAssociationsRequest::ListQueueLimitAssociationsRequest() : + m_farmIdHasBeenSet(false), + m_queueIdHasBeenSet(false), + m_limitIdHasBeenSet(false), + m_nextTokenHasBeenSet(false), + m_maxResults(0), + m_maxResultsHasBeenSet(false) +{ +} + +Aws::String ListQueueLimitAssociationsRequest::SerializePayload() const +{ + return {}; +} + +void ListQueueLimitAssociationsRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(m_queueIdHasBeenSet) + { + ss << m_queueId; + uri.AddQueryStringParameter("queueId", ss.str()); + ss.str(""); + } + + if(m_limitIdHasBeenSet) + { + ss << m_limitId; + uri.AddQueryStringParameter("limitId", ss.str()); + ss.str(""); + } + + if(m_nextTokenHasBeenSet) + { + ss << m_nextToken; + uri.AddQueryStringParameter("nextToken", ss.str()); + ss.str(""); + } + + if(m_maxResultsHasBeenSet) + { + ss << m_maxResults; + uri.AddQueryStringParameter("maxResults", ss.str()); + ss.str(""); + } + +} + + + diff --git a/generated/src/aws-cpp-sdk-deadline/source/model/ListQueueLimitAssociationsResult.cpp b/generated/src/aws-cpp-sdk-deadline/source/model/ListQueueLimitAssociationsResult.cpp new file mode 100644 index 00000000000..83a5738e8b5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-deadline/source/model/ListQueueLimitAssociationsResult.cpp @@ -0,0 +1,57 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::deadline::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +ListQueueLimitAssociationsResult::ListQueueLimitAssociationsResult() +{ +} + +ListQueueLimitAssociationsResult::ListQueueLimitAssociationsResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +ListQueueLimitAssociationsResult& ListQueueLimitAssociationsResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("queueLimitAssociations")) + { + Aws::Utils::Array queueLimitAssociationsJsonList = jsonValue.GetArray("queueLimitAssociations"); + for(unsigned queueLimitAssociationsIndex = 0; queueLimitAssociationsIndex < queueLimitAssociationsJsonList.GetLength(); ++queueLimitAssociationsIndex) + { + m_queueLimitAssociations.push_back(queueLimitAssociationsJsonList[queueLimitAssociationsIndex].AsObject()); + } + } + + if(jsonValue.ValueExists("nextToken")) + { + m_nextToken = jsonValue.GetString("nextToken"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-deadline/source/model/QueueLimitAssociationStatus.cpp b/generated/src/aws-cpp-sdk-deadline/source/model/QueueLimitAssociationStatus.cpp new file mode 100644 index 00000000000..58414818a51 --- /dev/null +++ b/generated/src/aws-cpp-sdk-deadline/source/model/QueueLimitAssociationStatus.cpp @@ -0,0 +1,86 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace deadline + { + namespace Model + { + namespace QueueLimitAssociationStatusMapper + { + + static const int ACTIVE_HASH = HashingUtils::HashString("ACTIVE"); + static const int STOP_LIMIT_USAGE_AND_COMPLETE_TASKS_HASH = HashingUtils::HashString("STOP_LIMIT_USAGE_AND_COMPLETE_TASKS"); + static const int STOP_LIMIT_USAGE_AND_CANCEL_TASKS_HASH = HashingUtils::HashString("STOP_LIMIT_USAGE_AND_CANCEL_TASKS"); + static const int STOPPED_HASH = HashingUtils::HashString("STOPPED"); + + + QueueLimitAssociationStatus GetQueueLimitAssociationStatusForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == ACTIVE_HASH) + { + return QueueLimitAssociationStatus::ACTIVE; + } + else if (hashCode == STOP_LIMIT_USAGE_AND_COMPLETE_TASKS_HASH) + { + return QueueLimitAssociationStatus::STOP_LIMIT_USAGE_AND_COMPLETE_TASKS; + } + else if (hashCode == STOP_LIMIT_USAGE_AND_CANCEL_TASKS_HASH) + { + return QueueLimitAssociationStatus::STOP_LIMIT_USAGE_AND_CANCEL_TASKS; + } + else if (hashCode == STOPPED_HASH) + { + return QueueLimitAssociationStatus::STOPPED; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return QueueLimitAssociationStatus::NOT_SET; + } + + Aws::String GetNameForQueueLimitAssociationStatus(QueueLimitAssociationStatus enumValue) + { + switch(enumValue) + { + case QueueLimitAssociationStatus::NOT_SET: + return {}; + case QueueLimitAssociationStatus::ACTIVE: + return "ACTIVE"; + case QueueLimitAssociationStatus::STOP_LIMIT_USAGE_AND_COMPLETE_TASKS: + return "STOP_LIMIT_USAGE_AND_COMPLETE_TASKS"; + case QueueLimitAssociationStatus::STOP_LIMIT_USAGE_AND_CANCEL_TASKS: + return "STOP_LIMIT_USAGE_AND_CANCEL_TASKS"; + case QueueLimitAssociationStatus::STOPPED: + return "STOPPED"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace QueueLimitAssociationStatusMapper + } // namespace Model + } // namespace deadline +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-deadline/source/model/QueueLimitAssociationSummary.cpp b/generated/src/aws-cpp-sdk-deadline/source/model/QueueLimitAssociationSummary.cpp new file mode 100644 index 00000000000..e9083b5ab68 --- /dev/null +++ b/generated/src/aws-cpp-sdk-deadline/source/model/QueueLimitAssociationSummary.cpp @@ -0,0 +1,141 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace deadline +{ +namespace Model +{ + +QueueLimitAssociationSummary::QueueLimitAssociationSummary() : + m_createdAtHasBeenSet(false), + m_createdByHasBeenSet(false), + m_updatedAtHasBeenSet(false), + m_updatedByHasBeenSet(false), + m_queueIdHasBeenSet(false), + m_limitIdHasBeenSet(false), + m_status(QueueLimitAssociationStatus::NOT_SET), + m_statusHasBeenSet(false) +{ +} + +QueueLimitAssociationSummary::QueueLimitAssociationSummary(JsonView jsonValue) + : QueueLimitAssociationSummary() +{ + *this = jsonValue; +} + +QueueLimitAssociationSummary& QueueLimitAssociationSummary::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("createdAt")) + { + m_createdAt = jsonValue.GetString("createdAt"); + + m_createdAtHasBeenSet = true; + } + + if(jsonValue.ValueExists("createdBy")) + { + m_createdBy = jsonValue.GetString("createdBy"); + + m_createdByHasBeenSet = true; + } + + if(jsonValue.ValueExists("updatedAt")) + { + m_updatedAt = jsonValue.GetString("updatedAt"); + + m_updatedAtHasBeenSet = true; + } + + if(jsonValue.ValueExists("updatedBy")) + { + m_updatedBy = jsonValue.GetString("updatedBy"); + + m_updatedByHasBeenSet = true; + } + + if(jsonValue.ValueExists("queueId")) + { + m_queueId = jsonValue.GetString("queueId"); + + m_queueIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("limitId")) + { + m_limitId = jsonValue.GetString("limitId"); + + m_limitIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("status")) + { + m_status = QueueLimitAssociationStatusMapper::GetQueueLimitAssociationStatusForName(jsonValue.GetString("status")); + + m_statusHasBeenSet = true; + } + + return *this; +} + +JsonValue QueueLimitAssociationSummary::Jsonize() const +{ + JsonValue payload; + + if(m_createdAtHasBeenSet) + { + payload.WithString("createdAt", m_createdAt.ToGmtString(Aws::Utils::DateFormat::ISO_8601)); + } + + if(m_createdByHasBeenSet) + { + payload.WithString("createdBy", m_createdBy); + + } + + if(m_updatedAtHasBeenSet) + { + payload.WithString("updatedAt", m_updatedAt.ToGmtString(Aws::Utils::DateFormat::ISO_8601)); + } + + if(m_updatedByHasBeenSet) + { + payload.WithString("updatedBy", m_updatedBy); + + } + + if(m_queueIdHasBeenSet) + { + payload.WithString("queueId", m_queueId); + + } + + if(m_limitIdHasBeenSet) + { + payload.WithString("limitId", m_limitId); + + } + + if(m_statusHasBeenSet) + { + payload.WithString("status", QueueLimitAssociationStatusMapper::GetNameForQueueLimitAssociationStatus(m_status)); + } + + return payload; +} + +} // namespace Model +} // namespace deadline +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-deadline/source/model/UpdateJobRequest.cpp b/generated/src/aws-cpp-sdk-deadline/source/model/UpdateJobRequest.cpp index 60c555bbea7..1a8b60e42af 100644 --- a/generated/src/aws-cpp-sdk-deadline/source/model/UpdateJobRequest.cpp +++ b/generated/src/aws-cpp-sdk-deadline/source/model/UpdateJobRequest.cpp @@ -16,9 +16,6 @@ using namespace Aws::Utils; UpdateJobRequest::UpdateJobRequest() : m_clientToken(Aws::Utils::UUID::PseudoRandomUUID()), m_clientTokenHasBeenSet(true), - m_farmIdHasBeenSet(false), - m_queueIdHasBeenSet(false), - m_jobIdHasBeenSet(false), m_targetTaskRunStatus(JobTargetTaskRunStatus::NOT_SET), m_targetTaskRunStatusHasBeenSet(false), m_priority(0), @@ -28,7 +25,12 @@ UpdateJobRequest::UpdateJobRequest() : m_maxRetriesPerTask(0), m_maxRetriesPerTaskHasBeenSet(false), m_lifecycleStatus(UpdateJobLifecycleStatus::NOT_SET), - m_lifecycleStatusHasBeenSet(false) + m_lifecycleStatusHasBeenSet(false), + m_maxWorkerCount(0), + m_maxWorkerCountHasBeenSet(false), + m_farmIdHasBeenSet(false), + m_queueIdHasBeenSet(false), + m_jobIdHasBeenSet(false) { } @@ -64,6 +66,12 @@ Aws::String UpdateJobRequest::SerializePayload() const payload.WithString("lifecycleStatus", UpdateJobLifecycleStatusMapper::GetNameForUpdateJobLifecycleStatus(m_lifecycleStatus)); } + if(m_maxWorkerCountHasBeenSet) + { + payload.WithInteger("maxWorkerCount", m_maxWorkerCount); + + } + return payload.View().WriteReadable(); } diff --git a/generated/src/aws-cpp-sdk-deadline/source/model/UpdateLimitRequest.cpp b/generated/src/aws-cpp-sdk-deadline/source/model/UpdateLimitRequest.cpp new file mode 100644 index 00000000000..be85ab946b8 --- /dev/null +++ b/generated/src/aws-cpp-sdk-deadline/source/model/UpdateLimitRequest.cpp @@ -0,0 +1,52 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::deadline::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +UpdateLimitRequest::UpdateLimitRequest() : + m_farmIdHasBeenSet(false), + m_limitIdHasBeenSet(false), + m_displayNameHasBeenSet(false), + m_descriptionHasBeenSet(false), + m_maxCount(0), + m_maxCountHasBeenSet(false) +{ +} + +Aws::String UpdateLimitRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_displayNameHasBeenSet) + { + payload.WithString("displayName", m_displayName); + + } + + if(m_descriptionHasBeenSet) + { + payload.WithString("description", m_description); + + } + + if(m_maxCountHasBeenSet) + { + payload.WithInteger("maxCount", m_maxCount); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-deadline/source/model/UpdateLimitResult.cpp b/generated/src/aws-cpp-sdk-deadline/source/model/UpdateLimitResult.cpp new file mode 100644 index 00000000000..a8585508e95 --- /dev/null +++ b/generated/src/aws-cpp-sdk-deadline/source/model/UpdateLimitResult.cpp @@ -0,0 +1,42 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::deadline::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +UpdateLimitResult::UpdateLimitResult() +{ +} + +UpdateLimitResult::UpdateLimitResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +UpdateLimitResult& UpdateLimitResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + AWS_UNREFERENCED_PARAM(result); + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-deadline/source/model/UpdateQueueLimitAssociationRequest.cpp b/generated/src/aws-cpp-sdk-deadline/source/model/UpdateQueueLimitAssociationRequest.cpp new file mode 100644 index 00000000000..21c5aadbe4c --- /dev/null +++ b/generated/src/aws-cpp-sdk-deadline/source/model/UpdateQueueLimitAssociationRequest.cpp @@ -0,0 +1,38 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::deadline::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +UpdateQueueLimitAssociationRequest::UpdateQueueLimitAssociationRequest() : + m_farmIdHasBeenSet(false), + m_queueIdHasBeenSet(false), + m_limitIdHasBeenSet(false), + m_status(UpdateQueueLimitAssociationStatus::NOT_SET), + m_statusHasBeenSet(false) +{ +} + +Aws::String UpdateQueueLimitAssociationRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_statusHasBeenSet) + { + payload.WithString("status", UpdateQueueLimitAssociationStatusMapper::GetNameForUpdateQueueLimitAssociationStatus(m_status)); + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-deadline/source/model/UpdateQueueLimitAssociationResult.cpp b/generated/src/aws-cpp-sdk-deadline/source/model/UpdateQueueLimitAssociationResult.cpp new file mode 100644 index 00000000000..62e2a50b6b0 --- /dev/null +++ b/generated/src/aws-cpp-sdk-deadline/source/model/UpdateQueueLimitAssociationResult.cpp @@ -0,0 +1,42 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::deadline::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +UpdateQueueLimitAssociationResult::UpdateQueueLimitAssociationResult() +{ +} + +UpdateQueueLimitAssociationResult::UpdateQueueLimitAssociationResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +UpdateQueueLimitAssociationResult& UpdateQueueLimitAssociationResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + AWS_UNREFERENCED_PARAM(result); + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-deadline/source/model/UpdateQueueLimitAssociationStatus.cpp b/generated/src/aws-cpp-sdk-deadline/source/model/UpdateQueueLimitAssociationStatus.cpp new file mode 100644 index 00000000000..3dac9cb1246 --- /dev/null +++ b/generated/src/aws-cpp-sdk-deadline/source/model/UpdateQueueLimitAssociationStatus.cpp @@ -0,0 +1,79 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace deadline + { + namespace Model + { + namespace UpdateQueueLimitAssociationStatusMapper + { + + static const int ACTIVE_HASH = HashingUtils::HashString("ACTIVE"); + static const int STOP_LIMIT_USAGE_AND_COMPLETE_TASKS_HASH = HashingUtils::HashString("STOP_LIMIT_USAGE_AND_COMPLETE_TASKS"); + static const int STOP_LIMIT_USAGE_AND_CANCEL_TASKS_HASH = HashingUtils::HashString("STOP_LIMIT_USAGE_AND_CANCEL_TASKS"); + + + UpdateQueueLimitAssociationStatus GetUpdateQueueLimitAssociationStatusForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == ACTIVE_HASH) + { + return UpdateQueueLimitAssociationStatus::ACTIVE; + } + else if (hashCode == STOP_LIMIT_USAGE_AND_COMPLETE_TASKS_HASH) + { + return UpdateQueueLimitAssociationStatus::STOP_LIMIT_USAGE_AND_COMPLETE_TASKS; + } + else if (hashCode == STOP_LIMIT_USAGE_AND_CANCEL_TASKS_HASH) + { + return UpdateQueueLimitAssociationStatus::STOP_LIMIT_USAGE_AND_CANCEL_TASKS; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return UpdateQueueLimitAssociationStatus::NOT_SET; + } + + Aws::String GetNameForUpdateQueueLimitAssociationStatus(UpdateQueueLimitAssociationStatus enumValue) + { + switch(enumValue) + { + case UpdateQueueLimitAssociationStatus::NOT_SET: + return {}; + case UpdateQueueLimitAssociationStatus::ACTIVE: + return "ACTIVE"; + case UpdateQueueLimitAssociationStatus::STOP_LIMIT_USAGE_AND_COMPLETE_TASKS: + return "STOP_LIMIT_USAGE_AND_COMPLETE_TASKS"; + case UpdateQueueLimitAssociationStatus::STOP_LIMIT_USAGE_AND_CANCEL_TASKS: + return "STOP_LIMIT_USAGE_AND_CANCEL_TASKS"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace UpdateQueueLimitAssociationStatusMapper + } // namespace Model + } // namespace deadline +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-deadline/source/model/UpdateSessionRequest.cpp b/generated/src/aws-cpp-sdk-deadline/source/model/UpdateSessionRequest.cpp index 08d338c98fe..f6ec64595c0 100644 --- a/generated/src/aws-cpp-sdk-deadline/source/model/UpdateSessionRequest.cpp +++ b/generated/src/aws-cpp-sdk-deadline/source/model/UpdateSessionRequest.cpp @@ -16,12 +16,12 @@ using namespace Aws::Utils; UpdateSessionRequest::UpdateSessionRequest() : m_clientToken(Aws::Utils::UUID::PseudoRandomUUID()), m_clientTokenHasBeenSet(true), + m_targetLifecycleStatus(SessionLifecycleTargetStatus::NOT_SET), + m_targetLifecycleStatusHasBeenSet(false), m_farmIdHasBeenSet(false), m_queueIdHasBeenSet(false), m_jobIdHasBeenSet(false), - m_sessionIdHasBeenSet(false), - m_targetLifecycleStatus(SessionLifecycleTargetStatus::NOT_SET), - m_targetLifecycleStatusHasBeenSet(false) + m_sessionIdHasBeenSet(false) { } diff --git a/generated/src/aws-cpp-sdk-deadline/source/model/UpdateStepRequest.cpp b/generated/src/aws-cpp-sdk-deadline/source/model/UpdateStepRequest.cpp index 6c11f3a2029..7d3a270fb4b 100644 --- a/generated/src/aws-cpp-sdk-deadline/source/model/UpdateStepRequest.cpp +++ b/generated/src/aws-cpp-sdk-deadline/source/model/UpdateStepRequest.cpp @@ -14,14 +14,14 @@ using namespace Aws::Utils::Json; using namespace Aws::Utils; UpdateStepRequest::UpdateStepRequest() : + m_targetTaskRunStatus(StepTargetTaskRunStatus::NOT_SET), + m_targetTaskRunStatusHasBeenSet(false), m_clientToken(Aws::Utils::UUID::PseudoRandomUUID()), m_clientTokenHasBeenSet(true), m_farmIdHasBeenSet(false), m_queueIdHasBeenSet(false), m_jobIdHasBeenSet(false), - m_stepIdHasBeenSet(false), - m_targetTaskRunStatus(StepTargetTaskRunStatus::NOT_SET), - m_targetTaskRunStatusHasBeenSet(false) + m_stepIdHasBeenSet(false) { } diff --git a/generated/src/aws-cpp-sdk-deadline/source/model/UpdateTaskRequest.cpp b/generated/src/aws-cpp-sdk-deadline/source/model/UpdateTaskRequest.cpp index 67926020e3c..08c729d5cbd 100644 --- a/generated/src/aws-cpp-sdk-deadline/source/model/UpdateTaskRequest.cpp +++ b/generated/src/aws-cpp-sdk-deadline/source/model/UpdateTaskRequest.cpp @@ -16,13 +16,13 @@ using namespace Aws::Utils; UpdateTaskRequest::UpdateTaskRequest() : m_clientToken(Aws::Utils::UUID::PseudoRandomUUID()), m_clientTokenHasBeenSet(true), + m_targetRunStatus(TaskTargetRunStatus::NOT_SET), + m_targetRunStatusHasBeenSet(false), m_farmIdHasBeenSet(false), m_queueIdHasBeenSet(false), m_jobIdHasBeenSet(false), m_stepIdHasBeenSet(false), - m_taskIdHasBeenSet(false), - m_targetRunStatus(TaskTargetRunStatus::NOT_SET), - m_targetRunStatusHasBeenSet(false) + m_taskIdHasBeenSet(false) { } diff --git a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/EC2Client.h b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/EC2Client.h index c7d1fc6389b..0ab437f5813 100644 --- a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/EC2Client.h +++ b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/EC2Client.h @@ -6591,7 +6591,7 @@ namespace EC2 /** *

    Delete a VPC Block Public Access (BPA) exclusion. A VPC BPA exclusion is a * mode that can be applied to a single VPC or subnet that exempts it from the - * account’s BPA mode and will allow bidirectional or egress-only access. You can + * account��s BPA mode and will allow bidirectional or egress-only access. You can * create BPA exclusions for VPCs and subnets even when BPA is not enabled on the * account to ensure that there is no traffic disruption to the exclusions when VPC * BPA is turned on. To learn more about VPC BPA, see #include #include +#include namespace Aws { @@ -61,7 +62,9 @@ namespace Model ///@{ /** *

    Unique, case-sensitive identifier that you provide to ensure the idempotency - * of the request. For more information, see

    For more information, see + * Ensuring * idempotency.

    */ diff --git a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/EventInformation.h b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/EventInformation.h index b3d6f6e8290..9f67b791125 100644 --- a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/EventInformation.h +++ b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/EventInformation.h @@ -106,10 +106,14 @@ namespace Model * launchSpecTemporarilyBlacklisted - The configuration is not valid * and several attempts to launch instances have failed. For more information, see * the description of the event.

  • launchSpecUnusable - * - The price in a launch specification is not valid because it is below the Spot - * price.

  • registerWithLoadBalancersFailed - An - * attempt to register instances with load balancers failed. For more information, - * see the description of the event.

  • + * - The price specified in a launch specification is not valid because it is below + * the Spot price for the requested Spot pools.

    Note: Even if a fleet with + * the maintain request type is in the process of being canceled, it + * may still publish a launchSpecUnusable event. This does not mean + * that the canceled fleet is attempting to launch a new instance.

  • + *

    registerWithLoadBalancersFailed - An attempt to register + * instances with load balancers failed. For more information, see the description + * of the event.

  • */ inline const Aws::String& GetEventSubType() const{ return m_eventSubType; } inline bool EventSubTypeHasBeenSet() const { return m_eventSubTypeHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/SpotMarketOptions.h b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/SpotMarketOptions.h index 7248a0efe9c..c1dc96e368a 100644 --- a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/SpotMarketOptions.h +++ b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/SpotMarketOptions.h @@ -49,7 +49,9 @@ namespace Model * interruptions. If you do not specify this parameter, you will pay the current * Spot price.

    If you specify a maximum price, your Spot * Instances will be interrupted more frequently than if you do not specify this - * parameter.

    + * parameter.

    If you specify a maximum price, it must be more than USD + * $0.001. Specifying a value below USD $0.001 will result in an + * InvalidParameterValue error message.

    */ inline const Aws::String& GetMaxPrice() const{ return m_maxPrice; } inline bool MaxPriceHasBeenSet() const { return m_maxPriceHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-ec2/source/model/CreateFleetRequest.cpp b/generated/src/aws-cpp-sdk-ec2/source/model/CreateFleetRequest.cpp index 223840caced..608fa19e839 100644 --- a/generated/src/aws-cpp-sdk-ec2/source/model/CreateFleetRequest.cpp +++ b/generated/src/aws-cpp-sdk-ec2/source/model/CreateFleetRequest.cpp @@ -13,7 +13,8 @@ using namespace Aws::Utils; CreateFleetRequest::CreateFleetRequest() : m_dryRun(false), m_dryRunHasBeenSet(false), - m_clientTokenHasBeenSet(false), + m_clientToken(Aws::Utils::UUID::PseudoRandomUUID()), + m_clientTokenHasBeenSet(true), m_spotOptionsHasBeenSet(false), m_onDemandOptionsHasBeenSet(false), m_excessCapacityTerminationPolicy(FleetExcessCapacityTerminationPolicy::NOT_SET), diff --git a/generated/src/aws-cpp-sdk-eks/include/aws/eks/EKSClient.h b/generated/src/aws-cpp-sdk-eks/include/aws/eks/EKSClient.h index fe75a984c21..b5acb8258c2 100644 --- a/generated/src/aws-cpp-sdk-eks/include/aws/eks/EKSClient.h +++ b/generated/src/aws-cpp-sdk-eks/include/aws/eks/EKSClient.h @@ -354,7 +354,7 @@ namespace EKS * least one Fargate profile in a cluster to be able to run pods on Fargate.

    *

    The Fargate profile allows an administrator to declare which pods run on * Fargate and specify which pods run on which Fargate profile. This declaration is - * done through the profile’s selectors. Each profile can have up to five selectors + * done through the profile's selectors. Each profile can have up to five selectors * that contain a namespace and labels. A namespace is required for every selector. * The label field consists of multiple optional key-value pairs. Pods that match * the selectors are scheduled on Fargate. If a to-be-scheduled pod matches any of @@ -1662,7 +1662,7 @@ namespace EKS * consistent). When the update is complete (either Failed or * Successful), the cluster status moves to Active.

    *

    If your cluster has managed node groups attached to it, all of your node - * groups’ Kubernetes versions must match the cluster’s Kubernetes version in order + * groups' Kubernetes versions must match the cluster's Kubernetes version in order * to update the cluster to a new Kubernetes version.

    See Also:

    AWS * API Reference

    @@ -1717,9 +1717,9 @@ namespace EKS *

    Updates an Amazon EKS managed node group configuration. Your node group * continues to function during the update. The response output includes an update * ID that you can use to track the status of your node group update with the - * DescribeUpdate API operation. Currently you can update the Kubernetes - * labels for a node group or the scaling configuration.

    See Also:

    - * DescribeUpdate API operation. You can update the Kubernetes labels and + * taints for a node group and the scaling and version update + * configuration.

    See Also:

    AWS * API Reference

    */ diff --git a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/Addon.h b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/Addon.h index e9542282559..a61770a21c3 100644 --- a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/Addon.h +++ b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/Addon.h @@ -246,8 +246,8 @@ namespace Model * Identity association maps a role to a service account in a namespace in the * cluster.

    For more information, see Attach - * an IAM Role to an Amazon EKS add-on using Pod Identity in the EKS User - * Guide.

    + * an IAM Role to an Amazon EKS add-on using Pod Identity in the Amazon EKS + * User Guide.

    */ inline const Aws::Vector& GetPodIdentityAssociations() const{ return m_podIdentityAssociations; } inline bool PodIdentityAssociationsHasBeenSet() const { return m_podIdentityAssociationsHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/AddonCompatibilityDetail.h b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/AddonCompatibilityDetail.h index d944ff29023..19d93ea672d 100644 --- a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/AddonCompatibilityDetail.h +++ b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/AddonCompatibilityDetail.h @@ -25,8 +25,9 @@ namespace Model { /** - *

    Contains compatibility information for an Amazon EKS add-on.

    See - * Also:

    The summary information about the Amazon EKS add-on compatibility for the + * next Kubernetes version for an insight check in the + * UPGRADE_READINESS category.

    See Also:

    AWS * API Reference

    */ @@ -55,7 +56,8 @@ namespace Model ///@{ /** - *

    A list of compatible add-on versions.

    + *

    The list of compatible Amazon EKS add-on versions for the next Kubernetes + * version.

    */ inline const Aws::Vector& GetCompatibleVersions() const{ return m_compatibleVersions; } inline bool CompatibleVersionsHasBeenSet() const { return m_compatibleVersionsHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/AddonPodIdentityAssociations.h b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/AddonPodIdentityAssociations.h index 77682861f61..fc1e9b7f2e4 100644 --- a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/AddonPodIdentityAssociations.h +++ b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/AddonPodIdentityAssociations.h @@ -28,8 +28,8 @@ namespace Model * EKS Pod Identity Association maps a role to a service account in a namespace in * the cluster.

    For more information, see Attach - * an IAM Role to an Amazon EKS add-on using Pod Identity in the EKS User - * Guide.

    See Also:

    in the Amazon EKS + * User Guide.

    See Also:

    AWS * API Reference

    */ diff --git a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/BlockStorage.h b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/BlockStorage.h index fede6c179ae..d73e6d8299c 100644 --- a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/BlockStorage.h +++ b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/BlockStorage.h @@ -26,8 +26,8 @@ namespace Model * EKS Auto Mode cluster. For example, if the capability is enabled or disabled. If * the block storage capability is enabled, EKS Auto Mode will create and delete * EBS volumes in your Amazon Web Services account. For more information, see EKS - * Auto Mode block storage capability in the EKS User Guide.

    See - * Also:

    Amazon EKS User + * Guide.

    See Also:

    AWS * API Reference

    */ diff --git a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/Cluster.h b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/Cluster.h index 253d75a7499..8ad20aa59a9 100644 --- a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/Cluster.h +++ b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/Cluster.h @@ -360,7 +360,7 @@ namespace Model *

    This value indicates if extended support is enabled or disabled for the * cluster.

    Learn - * more about EKS Extended Support in the EKS User Guide.

    + * more about EKS Extended Support in the Amazon EKS User Guide.

    */ inline const UpgradePolicyResponse& GetUpgradePolicy() const{ return m_upgradePolicy; } inline bool UpgradePolicyHasBeenSet() const { return m_upgradePolicyHasBeenSet; } @@ -401,7 +401,7 @@ namespace Model * Auto Mode cluster. For example, if the capability is enabled or disabled. If the * compute capability is enabled, EKS Auto Mode will create and delete EC2 Managed * Instances in your Amazon Web Services account. For more information, see EKS - * Auto Mode compute capability in the EKS User Guide.

    + * Auto Mode compute capability in the Amazon EKS User Guide.

    */ inline const ComputeConfigResponse& GetComputeConfig() const{ return m_computeConfig; } inline bool ComputeConfigHasBeenSet() const { return m_computeConfigHasBeenSet; } @@ -417,7 +417,7 @@ namespace Model * EKS Auto Mode cluster. For example, if the capability is enabled or disabled. If * the block storage capability is enabled, EKS Auto Mode will create and delete * EBS volumes in your Amazon Web Services account. For more information, see EKS - * Auto Mode block storage capability in the EKS User Guide.

    + * Auto Mode block storage capability in the Amazon EKS User Guide.

    */ inline const StorageConfigResponse& GetStorageConfig() const{ return m_storageConfig; } inline bool StorageConfigHasBeenSet() const { return m_storageConfigHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/ComputeConfigRequest.h b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/ComputeConfigRequest.h index 3ae5e42ab0e..0e1fb3a217b 100644 --- a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/ComputeConfigRequest.h +++ b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/ComputeConfigRequest.h @@ -27,8 +27,8 @@ namespace Model /** *

    Request to update the configuration of the compute capability of your EKS * Auto Mode cluster. For example, enable the capability. For more information, see - * EKS Auto Mode compute capability in the EKS User Guide.

    See Also:

    - * Amazon EKS User + * Guide.

    See Also:

    AWS * API Reference

    */ @@ -56,8 +56,8 @@ namespace Model ///@{ /** *

    Configuration for node pools that defines the compute resources for your EKS - * Auto Mode cluster. For more information, see EKS Auto Mode Node Pools in the EKS - * User Guide.

    + * Auto Mode cluster. For more information, see EKS Auto Mode Node Pools in the + * Amazon EKS User Guide.

    */ inline const Aws::Vector& GetNodePools() const{ return m_nodePools; } inline bool NodePoolsHasBeenSet() const { return m_nodePoolsHasBeenSet; } @@ -74,8 +74,8 @@ namespace Model /** *

    The ARN of the IAM Role EKS will assign to EC2 Managed Instances in your EKS * Auto Mode cluster. This value cannot be changed after the compute capability of - * EKS Auto Mode is enabled. For more information, see the IAM Reference in the EKS - * User Guide.

    + * EKS Auto Mode is enabled. For more information, see the IAM Reference in the + * Amazon EKS User Guide.

    */ inline const Aws::String& GetNodeRoleArn() const{ return m_nodeRoleArn; } inline bool NodeRoleArnHasBeenSet() const { return m_nodeRoleArnHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/ComputeConfigResponse.h b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/ComputeConfigResponse.h index 1255e994664..8b5c4d0c165 100644 --- a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/ComputeConfigResponse.h +++ b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/ComputeConfigResponse.h @@ -54,8 +54,8 @@ namespace Model ///@{ /** *

    Indicates the current configuration of node pools in your EKS Auto Mode - * cluster. For more information, see EKS Auto Mode Node Pools in the EKS User - * Guide.

    + * cluster. For more information, see EKS Auto Mode Node Pools in the Amazon EKS + * User Guide.

    */ inline const Aws::Vector& GetNodePools() const{ return m_nodePools; } inline bool NodePoolsHasBeenSet() const { return m_nodePoolsHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/ControlPlanePlacementRequest.h b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/ControlPlanePlacementRequest.h index 33929f941a8..9095210f360 100644 --- a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/ControlPlanePlacementRequest.h +++ b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/ControlPlanePlacementRequest.h @@ -28,7 +28,8 @@ namespace Model * Amazon EKS cluster on an Amazon Web Services Outpost. For more information, see * Capacity - * considerations in the Amazon EKS User Guide.

    See Also:

    in the Amazon EKS User Guide.

    See Also:

    + *
    AWS * API Reference

    */ diff --git a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/CreateAccessEntryRequest.h b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/CreateAccessEntryRequest.h index 46296cecb8f..4f6edb2f2e5 100644 --- a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/CreateAccessEntryRequest.h +++ b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/CreateAccessEntryRequest.h @@ -55,12 +55,13 @@ namespace Model * specify one ARN for each access entry. You can't specify the same ARN in more * than one access entry. This value can't be changed after access entry * creation.

    The valid principals differ depending on the type of the access - * entry in the type field. The only valid ARN is IAM roles for the - * types of access entries for nodes: . You can use every IAM - * principal type for STANDARD access entries. You can't use the STS - * session principal type with access entries because this is a temporary principal - * for each session and not a permanent identity that can be assigned - * permissions.

    type field. For STANDARD access entries, + * you can use every IAM principal type. For nodes (EC2 (for EKS Auto + * Mode), EC2_LINUX, EC2_WINDOWS, + * FARGATE_LINUX, and HYBRID_LINUX), the only valid ARN + * is IAM roles. You can't use the STS session principal type with access entries + * because this is a temporary principal for each session and not a permanent + * identity that can be assigned permissions.

    IAM * best practices recommend using IAM roles with temporary credentials, rather * than IAM users with long-term credentials.

    @@ -166,19 +167,21 @@ namespace Model ///@{ /** - *

    The type of the new access entry. Valid values are Standard, - * FARGATE_LINUX, EC2_LINUX, and - * EC2_WINDOWS.

    If the principalArn is for an IAM - * role that's used for self-managed Amazon EC2 nodes, specify + *

    The type of the new access entry. Valid values are STANDARD, + * FARGATE_LINUX, EC2_LINUX, EC2_WINDOWS, + * EC2 (for EKS Auto Mode), HYBRID_LINUX, and + * HYPERPOD_LINUX.

    If the principalArn is for an + * IAM role that's used for self-managed Amazon EC2 nodes, specify * EC2_LINUX or EC2_WINDOWS. Amazon EKS grants the * necessary permissions to the node for you. If the principalArn is * for any other purpose, specify STANDARD. If you don't specify a - * value, Amazon EKS sets the value to STANDARD. It's unnecessary to - * create access entries for IAM roles used with Fargate profiles or managed Amazon - * EC2 nodes, because Amazon EKS creates entries in the aws-auth - * ConfigMap for the roles. You can't change this value once you've - * created the access entry.

    If you set the value to EC2_LINUX - * or EC2_WINDOWS, you can't specify values for + * value, Amazon EKS sets the value to STANDARD. If you have the + * access mode of the cluster set to API_AND_CONFIG_MAP, it's + * unnecessary to create access entries for IAM roles used with Fargate profiles or + * managed Amazon EC2 nodes, because Amazon EKS creates entries in the + * aws-auth ConfigMap for the roles. You can't change + * this value once you've created the access entry.

    If you set the value to + * EC2_LINUX or EC2_WINDOWS, you can't specify values for * kubernetesGroups, or associate an AccessPolicy to the * access entry.

    */ diff --git a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/CreateAddonRequest.h b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/CreateAddonRequest.h index a0ee3342091..b86fa11b1d1 100644 --- a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/CreateAddonRequest.h +++ b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/CreateAddonRequest.h @@ -193,8 +193,8 @@ namespace Model * association maps a Kubernetes service account to an IAM Role.

    For more * information, see Attach - * an IAM Role to an Amazon EKS add-on using Pod Identity in the EKS User - * Guide.

    + * an IAM Role to an Amazon EKS add-on using Pod Identity in the Amazon EKS + * User Guide.

    */ inline const Aws::Vector& GetPodIdentityAssociations() const{ return m_podIdentityAssociations; } inline bool PodIdentityAssociationsHasBeenSet() const { return m_podIdentityAssociationsHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/CreateClusterRequest.h b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/CreateClusterRequest.h index 3d8b5dd6705..1f45c2e7e82 100644 --- a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/CreateClusterRequest.h +++ b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/CreateClusterRequest.h @@ -134,8 +134,8 @@ namespace Model ///@{ /** *

    Enable or disable exporting the Kubernetes control plane logs for your - * cluster to CloudWatch Logs. By default, cluster control plane logs aren't - * exported to CloudWatch Logs. For more information, see Amazon * EKS Cluster control plane logs in the Amazon EKS User Guide * .

    CloudWatch Logs ingestion, archive storage, and data @@ -267,13 +267,13 @@ namespace Model * shift is designed to be a temporary measure that allows you to move traffic for * a resource away from an impaired AZ until the zonal shift expires or you cancel * it. You can extend the zonal shift if necessary.

    You can start a zonal - * shift for an EKS cluster, or you can allow Amazon Web Services to do it for you - * by enabling zonal autoshift. This shift updates the flow of east-to-west - * network traffic in your cluster to only consider network endpoints for Pods - * running on worker nodes in healthy AZs. Additionally, any ALB or NLB handling - * ingress traffic for applications in your EKS cluster will automatically route - * traffic to targets in the healthy AZs. For more information about zonal shift in - * EKS, see zonal autoshift. This shift updates the flow of + * east-to-west network traffic in your cluster to only consider network endpoints + * for Pods running on worker nodes in healthy AZs. Additionally, any ALB or NLB + * handling ingress traffic for applications in your Amazon EKS cluster will + * automatically route traffic to targets in the healthy AZs. For more information + * about zonal shift in EKS, see Learn * about Amazon Application Recovery Controller (ARC) Zonal Shift in Amazon EKS * in the Amazon EKS User Guide .

    diff --git a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/ElasticLoadBalancing.h b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/ElasticLoadBalancing.h index 6d86fbc60e2..35838603296 100644 --- a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/ElasticLoadBalancing.h +++ b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/ElasticLoadBalancing.h @@ -24,8 +24,8 @@ namespace Model /** *

    Indicates the current configuration of the load balancing capability on your * EKS Auto Mode cluster. For example, if the capability is enabled or disabled. - * For more information, see EKS Auto Mode load balancing capability in the EKS - * User Guide.

    See Also:

    Amazon EKS User Guide.

    See Also:

    AWS * API Reference

    */ diff --git a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/InsightCategorySpecificSummary.h b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/InsightCategorySpecificSummary.h index 3325b2e1638..20af7d197ad 100644 --- a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/InsightCategorySpecificSummary.h +++ b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/InsightCategorySpecificSummary.h @@ -58,7 +58,8 @@ namespace Model ///@{ /** - *

    A list of AddonCompatibilityDetail objects for Amazon EKS add-ons.

    + *

    A list of AddonCompatibilityDetail objects for Amazon EKS + * add-ons.

    */ inline const Aws::Vector& GetAddonCompatibilityDetails() const{ return m_addonCompatibilityDetails; } inline bool AddonCompatibilityDetailsHasBeenSet() const { return m_addonCompatibilityDetailsHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/KubernetesNetworkConfigRequest.h b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/KubernetesNetworkConfigRequest.h index c212b27ba5a..35d91d42cf4 100644 --- a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/KubernetesNetworkConfigRequest.h +++ b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/KubernetesNetworkConfigRequest.h @@ -80,10 +80,11 @@ namespace Model * specify ipv6, then ensure that your VPC meets the requirements * listed in the considerations listed in Assigning - * IPv6 addresses to pods and services in the Amazon EKS User Guide. Kubernetes - * assigns services IPv6 addresses from the unique local address range - * (fc00::/7). You can't specify a custom IPv6 CIDR - * block. Pod addresses are assigned from the subnet's IPv6 CIDR.

    + * IPv6 addresses to pods and services in the Amazon EKS User Guide. + * Kubernetes assigns services IPv6 addresses from the unique local + * address range (fc00::/7). You can't specify a custom + * IPv6 CIDR block. Pod addresses are assigned from the subnet's + * IPv6 CIDR.

    */ inline const IpFamily& GetIpFamily() const{ return m_ipFamily; } inline bool IpFamilyHasBeenSet() const { return m_ipFamilyHasBeenSet; } @@ -97,7 +98,7 @@ namespace Model /** *

    Request to enable or disable the load balancing capability on your EKS Auto * Mode cluster. For more information, see EKS Auto Mode load balancing capability - * in the EKS User Guide.

    + * in the Amazon EKS User Guide.

    */ inline const ElasticLoadBalancing& GetElasticLoadBalancing() const{ return m_elasticLoadBalancing; } inline bool ElasticLoadBalancingHasBeenSet() const { return m_elasticLoadBalancingHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/ListClustersResult.h b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/ListClustersResult.h index f12f277467a..8ef11f1449f 100644 --- a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/ListClustersResult.h +++ b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/ListClustersResult.h @@ -36,7 +36,7 @@ namespace Model ///@{ /** *

    A list of all of the clusters for your account in the specified Amazon Web - * Services Region.

    + * Services Region .

    */ inline const Aws::Vector& GetClusters() const{ return m_clusters; } inline void SetClusters(const Aws::Vector& value) { m_clusters = value; } diff --git a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/LogSetup.h b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/LogSetup.h index 3c793601fbf..79b8e1b66c3 100644 --- a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/LogSetup.h +++ b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/LogSetup.h @@ -56,7 +56,7 @@ namespace Model ///@{ /** *

    If a log type is enabled, that log type exports its control plane logs to - * CloudWatch Logs. If a log type isn't enabled, that log type doesn't export its + * CloudWatch Logs . If a log type isn't enabled, that log type doesn't export its * control plane logs. Each individual log type can be enabled or disabled * independently.

    */ diff --git a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/NodegroupUpdateConfig.h b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/NodegroupUpdateConfig.h index fe30d4ac022..82eb9f0852c 100644 --- a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/NodegroupUpdateConfig.h +++ b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/NodegroupUpdateConfig.h @@ -5,6 +5,8 @@ #pragma once #include +#include +#include namespace Aws { @@ -22,7 +24,10 @@ namespace Model { /** - *

    The node group update configuration.

    See Also:

    The node group update configuration. An Amazon EKS managed node group updates + * by replacing nodes with new nodes of newer AMI versions in parallel. You choose + * the maximum unavailable and the update strategy.

    See + * Also:

    AWS * API Reference

    */ @@ -59,6 +64,30 @@ namespace Model inline void SetMaxUnavailablePercentage(int value) { m_maxUnavailablePercentageHasBeenSet = true; m_maxUnavailablePercentage = value; } inline NodegroupUpdateConfig& WithMaxUnavailablePercentage(int value) { SetMaxUnavailablePercentage(value); return *this;} ///@} + + ///@{ + /** + *

    The configuration for the behavior to follow during a node group version + * update of this managed node group. You choose between two possible strategies + * for replacing nodes during an UpdateNodegroupVersion + * action.

    An Amazon EKS managed node group updates by replacing nodes with + * new nodes of newer AMI versions in parallel. The update strategy changes + * the managed node update behavior of the managed node group for each quantity. + * The default strategy has guardrails to protect you from misconfiguration + * and launches the new instances first, before terminating the old instances. The + * minimal strategy removes the guardrails and terminates the old instances + * before launching the new instances. This minimal strategy is useful in scenarios + * where you are constrained to resources or costs (for example, with hardware + * accelerators such as GPUs).

    + */ + inline const NodegroupUpdateStrategies& GetUpdateStrategy() const{ return m_updateStrategy; } + inline bool UpdateStrategyHasBeenSet() const { return m_updateStrategyHasBeenSet; } + inline void SetUpdateStrategy(const NodegroupUpdateStrategies& value) { m_updateStrategyHasBeenSet = true; m_updateStrategy = value; } + inline void SetUpdateStrategy(NodegroupUpdateStrategies&& value) { m_updateStrategyHasBeenSet = true; m_updateStrategy = std::move(value); } + inline NodegroupUpdateConfig& WithUpdateStrategy(const NodegroupUpdateStrategies& value) { SetUpdateStrategy(value); return *this;} + inline NodegroupUpdateConfig& WithUpdateStrategy(NodegroupUpdateStrategies&& value) { SetUpdateStrategy(std::move(value)); return *this;} + ///@} private: int m_maxUnavailable; @@ -66,6 +95,9 @@ namespace Model int m_maxUnavailablePercentage; bool m_maxUnavailablePercentageHasBeenSet = false; + + NodegroupUpdateStrategies m_updateStrategy; + bool m_updateStrategyHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/NodegroupUpdateStrategies.h b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/NodegroupUpdateStrategies.h new file mode 100644 index 00000000000..f09764083c4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/NodegroupUpdateStrategies.h @@ -0,0 +1,31 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace EKS +{ +namespace Model +{ + enum class NodegroupUpdateStrategies + { + NOT_SET, + DEFAULT, + MINIMAL + }; + +namespace NodegroupUpdateStrategiesMapper +{ +AWS_EKS_API NodegroupUpdateStrategies GetNodegroupUpdateStrategiesForName(const Aws::String& name); + +AWS_EKS_API Aws::String GetNameForNodegroupUpdateStrategies(NodegroupUpdateStrategies value); +} // namespace NodegroupUpdateStrategiesMapper +} // namespace Model +} // namespace EKS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/StorageConfigRequest.h b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/StorageConfigRequest.h index 01e6adc3afa..af3ab957212 100644 --- a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/StorageConfigRequest.h +++ b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/StorageConfigRequest.h @@ -26,8 +26,8 @@ namespace Model /** *

    Request to update the configuration of the storage capability of your EKS * Auto Mode cluster. For example, enable the capability. For more information, see - * EKS Auto Mode block storage capability in the EKS User Guide.

    See - * Also:

    Amazon EKS User + * Guide.

    See Also:

    AWS * API Reference

    */ diff --git a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/UpdateAddonRequest.h b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/UpdateAddonRequest.h index 22f8d371f38..da6020b813b 100644 --- a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/UpdateAddonRequest.h +++ b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/UpdateAddonRequest.h @@ -165,8 +165,8 @@ namespace Model * left blank, no change. If an empty array is provided, existing Pod Identity * Assocations owned by the Addon are deleted.

    For more information, see Attach - * an IAM Role to an Amazon EKS add-on using Pod Identity in the EKS User - * Guide.

    + * an IAM Role to an Amazon EKS add-on using Pod Identity in the Amazon EKS + * User Guide.

    */ inline const Aws::Vector& GetPodIdentityAssociations() const{ return m_podIdentityAssociations; } inline bool PodIdentityAssociationsHasBeenSet() const { return m_podIdentityAssociationsHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/UpdateClusterConfigRequest.h b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/UpdateClusterConfigRequest.h index 964c8776a32..9e870f8aadf 100644 --- a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/UpdateClusterConfigRequest.h +++ b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/UpdateClusterConfigRequest.h @@ -68,8 +68,8 @@ namespace Model ///@{ /** *

    Enable or disable exporting the Kubernetes control plane logs for your - * cluster to CloudWatch Logs. By default, cluster control plane logs aren't - * exported to CloudWatch Logs. For more information, see Amazon * EKS cluster control plane logs in the Amazon EKS User Guide * .

    CloudWatch Logs ingestion, archive storage, and data diff --git a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/UpdateParamType.h b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/UpdateParamType.h index 89770015d22..80ab7e15546 100644 --- a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/UpdateParamType.h +++ b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/UpdateParamType.h @@ -40,6 +40,7 @@ namespace Model MaxUnavailable, MaxUnavailablePercentage, NodeRepairEnabled, + UpdateStrategy, ConfigurationValues, SecurityGroups, Subnets, diff --git a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/UpgradePolicyRequest.h b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/UpgradePolicyRequest.h index b3761fe9e50..49004279586 100644 --- a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/UpgradePolicyRequest.h +++ b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/UpgradePolicyRequest.h @@ -29,8 +29,8 @@ namespace Model * have higher costs. The default value is EXTENDED. Use * STANDARD to disable extended support.

    Learn - * more about EKS Extended Support in the EKS User Guide.

    See - * Also:

    Amazon EKS User Guide. + *

    See Also:

    AWS * API Reference

    */ @@ -50,7 +50,7 @@ namespace Model * STANDARD, it will be automatically upgraded at the end of standard * support.

    Learn - * more about EKS Extended Support in the EKS User Guide.

    + * more about EKS Extended Support in the Amazon EKS User Guide.

    */ inline const SupportType& GetSupportType() const{ return m_supportType; } inline bool SupportTypeHasBeenSet() const { return m_supportTypeHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/UpgradePolicyResponse.h b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/UpgradePolicyResponse.h index 43ae2003266..4c092fcb701 100644 --- a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/UpgradePolicyResponse.h +++ b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/UpgradePolicyResponse.h @@ -27,8 +27,8 @@ namespace Model *

    This value indicates if extended support is enabled or disabled for the * cluster.

    Learn - * more about EKS Extended Support in the EKS User Guide.

    See - * Also:

    Amazon EKS User Guide. + *

    See Also:

    AWS * API Reference

    */ @@ -48,7 +48,7 @@ namespace Model * STANDARD, it will be automatically upgraded at the end of standard * support.

    Learn - * more about EKS Extended Support in the EKS User Guide.

    + * more about EKS Extended Support in the Amazon EKS User Guide.

    */ inline const SupportType& GetSupportType() const{ return m_supportType; } inline bool SupportTypeHasBeenSet() const { return m_supportTypeHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-eks/source/model/NodegroupUpdateConfig.cpp b/generated/src/aws-cpp-sdk-eks/source/model/NodegroupUpdateConfig.cpp index e0ea1563ad8..1cbdfebf715 100644 --- a/generated/src/aws-cpp-sdk-eks/source/model/NodegroupUpdateConfig.cpp +++ b/generated/src/aws-cpp-sdk-eks/source/model/NodegroupUpdateConfig.cpp @@ -22,7 +22,9 @@ NodegroupUpdateConfig::NodegroupUpdateConfig() : m_maxUnavailable(0), m_maxUnavailableHasBeenSet(false), m_maxUnavailablePercentage(0), - m_maxUnavailablePercentageHasBeenSet(false) + m_maxUnavailablePercentageHasBeenSet(false), + m_updateStrategy(NodegroupUpdateStrategies::NOT_SET), + m_updateStrategyHasBeenSet(false) { } @@ -48,6 +50,13 @@ NodegroupUpdateConfig& NodegroupUpdateConfig::operator =(JsonView jsonValue) m_maxUnavailablePercentageHasBeenSet = true; } + if(jsonValue.ValueExists("updateStrategy")) + { + m_updateStrategy = NodegroupUpdateStrategiesMapper::GetNodegroupUpdateStrategiesForName(jsonValue.GetString("updateStrategy")); + + m_updateStrategyHasBeenSet = true; + } + return *this; } @@ -67,6 +76,11 @@ JsonValue NodegroupUpdateConfig::Jsonize() const } + if(m_updateStrategyHasBeenSet) + { + payload.WithString("updateStrategy", NodegroupUpdateStrategiesMapper::GetNameForNodegroupUpdateStrategies(m_updateStrategy)); + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-eks/source/model/NodegroupUpdateStrategies.cpp b/generated/src/aws-cpp-sdk-eks/source/model/NodegroupUpdateStrategies.cpp new file mode 100644 index 00000000000..ec995f1fa46 --- /dev/null +++ b/generated/src/aws-cpp-sdk-eks/source/model/NodegroupUpdateStrategies.cpp @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace EKS + { + namespace Model + { + namespace NodegroupUpdateStrategiesMapper + { + + static const int DEFAULT_HASH = HashingUtils::HashString("DEFAULT"); + static const int MINIMAL_HASH = HashingUtils::HashString("MINIMAL"); + + + NodegroupUpdateStrategies GetNodegroupUpdateStrategiesForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == DEFAULT_HASH) + { + return NodegroupUpdateStrategies::DEFAULT; + } + else if (hashCode == MINIMAL_HASH) + { + return NodegroupUpdateStrategies::MINIMAL; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return NodegroupUpdateStrategies::NOT_SET; + } + + Aws::String GetNameForNodegroupUpdateStrategies(NodegroupUpdateStrategies enumValue) + { + switch(enumValue) + { + case NodegroupUpdateStrategies::NOT_SET: + return {}; + case NodegroupUpdateStrategies::DEFAULT: + return "DEFAULT"; + case NodegroupUpdateStrategies::MINIMAL: + return "MINIMAL"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace NodegroupUpdateStrategiesMapper + } // namespace Model + } // namespace EKS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-eks/source/model/UpdateParamType.cpp b/generated/src/aws-cpp-sdk-eks/source/model/UpdateParamType.cpp index 49d3dd73fdf..9c70853dbc2 100644 --- a/generated/src/aws-cpp-sdk-eks/source/model/UpdateParamType.cpp +++ b/generated/src/aws-cpp-sdk-eks/source/model/UpdateParamType.cpp @@ -44,6 +44,7 @@ namespace Aws static const int MaxUnavailable_HASH = HashingUtils::HashString("MaxUnavailable"); static const int MaxUnavailablePercentage_HASH = HashingUtils::HashString("MaxUnavailablePercentage"); static const int NodeRepairEnabled_HASH = HashingUtils::HashString("NodeRepairEnabled"); + static const int UpdateStrategy_HASH = HashingUtils::HashString("UpdateStrategy"); static const int ConfigurationValues_HASH = HashingUtils::HashString("ConfigurationValues"); static const int SecurityGroups_HASH = HashingUtils::HashString("SecurityGroups"); static const int Subnets_HASH = HashingUtils::HashString("Subnets"); @@ -155,6 +156,10 @@ namespace Aws { return UpdateParamType::NodeRepairEnabled; } + else if (hashCode == UpdateStrategy_HASH) + { + return UpdateParamType::UpdateStrategy; + } else if (hashCode == ConfigurationValues_HASH) { return UpdateParamType::ConfigurationValues; @@ -259,6 +264,8 @@ namespace Aws return "MaxUnavailablePercentage"; case UpdateParamType::NodeRepairEnabled: return "NodeRepairEnabled"; + case UpdateParamType::UpdateStrategy: + return "UpdateStrategy"; case UpdateParamType::ConfigurationValues: return "ConfigurationValues"; case UpdateParamType::SecurityGroups: diff --git a/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/model/CatalogConfiguration.h b/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/model/CatalogConfiguration.h index 6caf511c807..a702c60dd25 100644 --- a/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/model/CatalogConfiguration.h +++ b/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/model/CatalogConfiguration.h @@ -56,8 +56,9 @@ namespace Model ///@{ /** - *

    Amazon Data Firehose is in preview release and is subject to - * change.

    + *

    The warehouse location for Apache Iceberg tables. You must configure this + * when schema evolution and table creation is enabled.

    Amazon Data Firehose + * is in preview release and is subject to change.

    */ inline const Aws::String& GetWarehouseLocation() const{ return m_warehouseLocation; } inline bool WarehouseLocationHasBeenSet() const { return m_warehouseLocationHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/model/CreateDeliveryStreamRequest.h b/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/model/CreateDeliveryStreamRequest.h index 3d0c003ff45..df512b7bf27 100644 --- a/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/model/CreateDeliveryStreamRequest.h +++ b/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/model/CreateDeliveryStreamRequest.h @@ -8,6 +8,7 @@ #include #include #include +#include #include #include #include @@ -83,6 +84,20 @@ namespace Model inline CreateDeliveryStreamRequest& WithDeliveryStreamType(DeliveryStreamType&& value) { SetDeliveryStreamType(std::move(value)); return *this;} ///@} + ///@{ + /** + *

    The structure that configures parameters such as + * ThroughputHintInMBs for a stream configured with Direct PUT as a + * source.

    + */ + inline const DirectPutSourceConfiguration& GetDirectPutSourceConfiguration() const{ return m_directPutSourceConfiguration; } + inline bool DirectPutSourceConfigurationHasBeenSet() const { return m_directPutSourceConfigurationHasBeenSet; } + inline void SetDirectPutSourceConfiguration(const DirectPutSourceConfiguration& value) { m_directPutSourceConfigurationHasBeenSet = true; m_directPutSourceConfiguration = value; } + inline void SetDirectPutSourceConfiguration(DirectPutSourceConfiguration&& value) { m_directPutSourceConfigurationHasBeenSet = true; m_directPutSourceConfiguration = std::move(value); } + inline CreateDeliveryStreamRequest& WithDirectPutSourceConfiguration(const DirectPutSourceConfiguration& value) { SetDirectPutSourceConfiguration(value); return *this;} + inline CreateDeliveryStreamRequest& WithDirectPutSourceConfiguration(DirectPutSourceConfiguration&& value) { SetDirectPutSourceConfiguration(std::move(value)); return *this;} + ///@} + ///@{ /** *

    When a Kinesis data stream is used as the source for the Firehose stream, a @@ -136,7 +151,8 @@ namespace Model ///@{ /** - *

    The destination in Amazon ES. You can specify only one destination.

    + *

    The destination in Amazon OpenSearch Service. You can specify only one + * destination.

    */ inline const ElasticsearchDestinationConfiguration& GetElasticsearchDestinationConfiguration() const{ return m_elasticsearchDestinationConfiguration; } inline bool ElasticsearchDestinationConfigurationHasBeenSet() const { return m_elasticsearchDestinationConfigurationHasBeenSet; } @@ -198,7 +214,7 @@ namespace Model * action, Amazon Data Firehose performs an additional authorization on the * firehose:TagDeliveryStream action to verify if users have * permissions to create tags. If you do not provide this permission, requests to - * create new Firehose Firehose streams with IAM resource tags will fail with an + * create new Firehose streams with IAM resource tags will fail with an * AccessDeniedException such as following.

    * AccessDeniedException

    User: arn:aws:sts::x:assumed-role/x/x is * not authorized to perform: firehose:TagDeliveryStream on resource: @@ -266,8 +282,8 @@ namespace Model ///@{ /** - *

    Amazon Data Firehose is in preview release and is subject to - * change.

    + *

    The top level object for configuring streams with database as a source.

    + *

    Amazon Data Firehose is in preview release and is subject to change.

    */ inline const DatabaseSourceConfiguration& GetDatabaseSourceConfiguration() const{ return m_databaseSourceConfiguration; } inline bool DatabaseSourceConfigurationHasBeenSet() const { return m_databaseSourceConfigurationHasBeenSet; } @@ -284,6 +300,9 @@ namespace Model DeliveryStreamType m_deliveryStreamType; bool m_deliveryStreamTypeHasBeenSet = false; + DirectPutSourceConfiguration m_directPutSourceConfiguration; + bool m_directPutSourceConfigurationHasBeenSet = false; + KinesisStreamSourceConfiguration m_kinesisStreamSourceConfiguration; bool m_kinesisStreamSourceConfigurationHasBeenSet = false; diff --git a/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/model/DatabaseColumnList.h b/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/model/DatabaseColumnList.h index 8a6dde0c9fb..47f8cba7e90 100644 --- a/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/model/DatabaseColumnList.h +++ b/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/model/DatabaseColumnList.h @@ -25,8 +25,9 @@ namespace Model { /** - *

    Amazon Data Firehose is in preview release and is subject to - * change.

    See Also:

    The structure used to configure the list of column patterns in source + * database endpoint for Firehose to read from.

    Amazon Data Firehose is in + * preview release and is subject to change.

    See Also:

    AWS * API Reference

    */ @@ -41,8 +42,9 @@ namespace Model ///@{ /** - *

    Amazon Data Firehose is in preview release and is subject to - * change.

    + *

    The list of column patterns in source database to be included for Firehose + * to read from.

    Amazon Data Firehose is in preview release and is subject + * to change.

    */ inline const Aws::Vector& GetInclude() const{ return m_include; } inline bool IncludeHasBeenSet() const { return m_includeHasBeenSet; } @@ -57,8 +59,9 @@ namespace Model ///@{ /** - *

    Amazon Data Firehose is in preview release and is subject to - * change.

    + *

    The list of column patterns in source database to be excluded for Firehose + * to read from.

    Amazon Data Firehose is in preview release and is subject + * to change.

    */ inline const Aws::Vector& GetExclude() const{ return m_exclude; } inline bool ExcludeHasBeenSet() const { return m_excludeHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/model/DatabaseList.h b/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/model/DatabaseList.h index 966bbd2aa38..cbd00dcc462 100644 --- a/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/model/DatabaseList.h +++ b/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/model/DatabaseList.h @@ -25,8 +25,9 @@ namespace Model { /** - *

    Amazon Data Firehose is in preview release and is subject to - * change.

    See Also:

    The structure used to configure the list of database patterns in source + * database endpoint for Firehose to read from.

    Amazon Data Firehose is in + * preview release and is subject to change.

    See Also:

    AWS * API Reference

    */ @@ -41,8 +42,9 @@ namespace Model ///@{ /** - *

    Amazon Data Firehose is in preview release and is subject to - * change.

    + *

    The list of database patterns in source database endpoint to be included for + * Firehose to read from.

    Amazon Data Firehose is in preview release and is + * subject to change.

    */ inline const Aws::Vector& GetInclude() const{ return m_include; } inline bool IncludeHasBeenSet() const { return m_includeHasBeenSet; } @@ -57,8 +59,9 @@ namespace Model ///@{ /** - *

    Amazon Data Firehose is in preview release and is subject to - * change.

    + *

    The list of database patterns in source database endpoint to be excluded for + * Firehose to read from.

    Amazon Data Firehose is in preview release and is + * subject to change.

    */ inline const Aws::Vector& GetExclude() const{ return m_exclude; } inline bool ExcludeHasBeenSet() const { return m_excludeHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/model/DatabaseSnapshotInfo.h b/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/model/DatabaseSnapshotInfo.h index 6cade216f28..c95f9133e20 100644 --- a/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/model/DatabaseSnapshotInfo.h +++ b/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/model/DatabaseSnapshotInfo.h @@ -28,8 +28,9 @@ namespace Model { /** - *

    Amazon Data Firehose is in preview release and is subject to - * change.

    See Also:

    The structure that describes the snapshot information of a table in source + * database endpoint that Firehose reads.

    Amazon Data Firehose is in + * preview release and is subject to change.

    See Also:

    AWS * API Reference

    */ @@ -44,7 +45,8 @@ namespace Model ///@{ /** - *

    Amazon Data Firehose is in preview release and is subject to + *

    The identifier of the current snapshot of the table in source database + * endpoint.

    Amazon Data Firehose is in preview release and is subject to * change.

    */ inline const Aws::String& GetId() const{ return m_id; } @@ -59,8 +61,9 @@ namespace Model ///@{ /** - *

    Amazon Data Firehose is in preview release and is subject to - * change.

    + *

    The fully qualified name of the table in source database endpoint that + * Firehose reads.

    Amazon Data Firehose is in preview release and is + * subject to change.

    */ inline const Aws::String& GetTable() const{ return m_table; } inline bool TableHasBeenSet() const { return m_tableHasBeenSet; } @@ -74,8 +77,8 @@ namespace Model ///@{ /** - *

    Amazon Data Firehose is in preview release and is subject to - * change.

    + *

    The timestamp when the current snapshot is taken on the table.

    + *

    Amazon Data Firehose is in preview release and is subject to change.

    */ inline const Aws::Utils::DateTime& GetRequestTimestamp() const{ return m_requestTimestamp; } inline bool RequestTimestampHasBeenSet() const { return m_requestTimestampHasBeenSet; } @@ -87,7 +90,8 @@ namespace Model ///@{ /** - *

    Amazon Data Firehose is in preview release and is subject to + *

    The principal that sent the request to take the current snapshot on the + * table.

    Amazon Data Firehose is in preview release and is subject to * change.

    */ inline const SnapshotRequestedBy& GetRequestedBy() const{ return m_requestedBy; } @@ -100,8 +104,8 @@ namespace Model ///@{ /** - *

    Amazon Data Firehose is in preview release and is subject to - * change.

    + *

    The status of the current snapshot of the table.

    Amazon Data + * Firehose is in preview release and is subject to change.

    */ inline const SnapshotStatus& GetStatus() const{ return m_status; } inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/model/DatabaseSourceAuthenticationConfiguration.h b/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/model/DatabaseSourceAuthenticationConfiguration.h index 08519375d32..1a988207c25 100644 --- a/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/model/DatabaseSourceAuthenticationConfiguration.h +++ b/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/model/DatabaseSourceAuthenticationConfiguration.h @@ -24,8 +24,9 @@ namespace Model { /** - *

    Amazon Data Firehose is in preview release and is subject to - * change.

    See Also:

    The structure to configure the authentication methods for Firehose to + * connect to source database endpoint.

    Amazon Data Firehose is in preview + * release and is subject to change.

    See Also:

    AWS * API Reference

    */ diff --git a/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/model/DatabaseSourceConfiguration.h b/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/model/DatabaseSourceConfiguration.h index c16f1b109dc..abd3b0a34fb 100644 --- a/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/model/DatabaseSourceConfiguration.h +++ b/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/model/DatabaseSourceConfiguration.h @@ -32,7 +32,8 @@ namespace Model { /** - *

    Amazon Data Firehose is in preview release and is subject to + *

    The top level object for configuring streams with database as a source.

    + *

    Amazon Data Firehose is in preview release and is subject to * change.

    See Also:

    AWS * API Reference

    @@ -48,8 +49,9 @@ namespace Model ///@{ /** - *

    Amazon Data Firehose is in preview release and is subject to - * change.

    + *

    The type of database engine. This can be one of the following values.

    + *
    • MySQL

    • PostgreSQL

    Amazon Data + * Firehose is in preview release and is subject to change.

    */ inline const DatabaseType& GetType() const{ return m_type; } inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } @@ -61,8 +63,8 @@ namespace Model ///@{ /** - *

    Amazon Data Firehose is in preview release and is subject to - * change.

    + *

    The endpoint of the database server.

    Amazon Data Firehose is in + * preview release and is subject to change.

    */ inline const Aws::String& GetEndpoint() const{ return m_endpoint; } inline bool EndpointHasBeenSet() const { return m_endpointHasBeenSet; } @@ -76,8 +78,10 @@ namespace Model ///@{ /** - *

    Amazon Data Firehose is in preview release and is subject to - * change.

    + *

    The port of the database. This can be one of the following values.

      + *
    • 3306 for MySQL database type

    • 5432 for PostgreSQL + * database type

    Amazon Data Firehose is in preview release and + * is subject to change.

    */ inline int GetPort() const{ return m_port; } inline bool PortHasBeenSet() const { return m_portHasBeenSet; } @@ -87,7 +91,8 @@ namespace Model ///@{ /** - *

    Amazon Data Firehose is in preview release and is subject to + *

    The mode to enable or disable SSL when Firehose connects to the database + * endpoint.

    Amazon Data Firehose is in preview release and is subject to * change.

    */ inline const SSLMode& GetSSLMode() const{ return m_sSLMode; } @@ -100,7 +105,8 @@ namespace Model ///@{ /** - *

    Amazon Data Firehose is in preview release and is subject to + *

    The list of database patterns in source database endpoint for Firehose to + * read from.

    Amazon Data Firehose is in preview release and is subject to * change.

    */ inline const DatabaseList& GetDatabases() const{ return m_databases; } @@ -113,7 +119,8 @@ namespace Model ///@{ /** - *

    Amazon Data Firehose is in preview release and is subject to + *

    The list of table patterns in source database endpoint for Firehose to read + * from.

    Amazon Data Firehose is in preview release and is subject to * change.

    */ inline const DatabaseTableList& GetTables() const{ return m_tables; } @@ -126,7 +133,8 @@ namespace Model ///@{ /** - *

    Amazon Data Firehose is in preview release and is subject to + *

    The list of column patterns in source database endpoint for Firehose to read + * from.

    Amazon Data Firehose is in preview release and is subject to * change.

    */ inline const DatabaseColumnList& GetColumns() const{ return m_columns; } @@ -139,8 +147,9 @@ namespace Model ///@{ /** - *

    Amazon Data Firehose is in preview release and is subject to - * change.

    + *

    The optional list of table and column names used as unique key columns when + * taking snapshot if the tables don’t have primary keys configured.

    Amazon + * Data Firehose is in preview release and is subject to change.

    */ inline const Aws::Vector& GetSurrogateKeys() const{ return m_surrogateKeys; } inline bool SurrogateKeysHasBeenSet() const { return m_surrogateKeysHasBeenSet; } @@ -155,8 +164,9 @@ namespace Model ///@{ /** - *

    Amazon Data Firehose is in preview release and is subject to - * change.

    + *

    The fully qualified name of the table in source database endpoint that + * Firehose uses to track snapshot progress.

    Amazon Data Firehose is in + * preview release and is subject to change.

    */ inline const Aws::String& GetSnapshotWatermarkTable() const{ return m_snapshotWatermarkTable; } inline bool SnapshotWatermarkTableHasBeenSet() const { return m_snapshotWatermarkTableHasBeenSet; } @@ -170,8 +180,9 @@ namespace Model ///@{ /** - *

    Amazon Data Firehose is in preview release and is subject to - * change.

    + *

    The structure to configure the authentication methods for Firehose to + * connect to source database endpoint.

    Amazon Data Firehose is in preview + * release and is subject to change.

    */ inline const DatabaseSourceAuthenticationConfiguration& GetDatabaseSourceAuthenticationConfiguration() const{ return m_databaseSourceAuthenticationConfiguration; } inline bool DatabaseSourceAuthenticationConfigurationHasBeenSet() const { return m_databaseSourceAuthenticationConfigurationHasBeenSet; } @@ -183,8 +194,9 @@ namespace Model ///@{ /** - *

    Amazon Data Firehose is in preview release and is subject to - * change.

    + *

    The details of the VPC Endpoint Service which Firehose uses to create a + * PrivateLink to the database.

    Amazon Data Firehose is in preview release + * and is subject to change.

    */ inline const DatabaseSourceVPCConfiguration& GetDatabaseSourceVPCConfiguration() const{ return m_databaseSourceVPCConfiguration; } inline bool DatabaseSourceVPCConfigurationHasBeenSet() const { return m_databaseSourceVPCConfigurationHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/model/DatabaseSourceDescription.h b/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/model/DatabaseSourceDescription.h index e96757f0164..328e92312e5 100644 --- a/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/model/DatabaseSourceDescription.h +++ b/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/model/DatabaseSourceDescription.h @@ -33,8 +33,9 @@ namespace Model { /** - *

    Amazon Data Firehose is in preview release and is subject to - * change.

    See Also:

    The top level object for database source description.

    Amazon Data + * Firehose is in preview release and is subject to change.

    See + * Also:

    AWS * API Reference

    */ @@ -49,8 +50,9 @@ namespace Model ///@{ /** - *

    Amazon Data Firehose is in preview release and is subject to - * change.

    + *

    The type of database engine. This can be one of the following values.

    + *
    • MySQL

    • PostgreSQL

    Amazon Data + * Firehose is in preview release and is subject to change.

    */ inline const DatabaseType& GetType() const{ return m_type; } inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } @@ -62,8 +64,8 @@ namespace Model ///@{ /** - *

    Amazon Data Firehose is in preview release and is subject to - * change.

    + *

    The endpoint of the database server.

    Amazon Data Firehose is in + * preview release and is subject to change.

    */ inline const Aws::String& GetEndpoint() const{ return m_endpoint; } inline bool EndpointHasBeenSet() const { return m_endpointHasBeenSet; } @@ -77,8 +79,10 @@ namespace Model ///@{ /** - *

    Amazon Data Firehose is in preview release and is subject to - * change.

    + *

    The port of the database. This can be one of the following values.

      + *
    • 3306 for MySQL database type

    • 5432 for PostgreSQL + * database type

    Amazon Data Firehose is in preview release and + * is subject to change.

    */ inline int GetPort() const{ return m_port; } inline bool PortHasBeenSet() const { return m_portHasBeenSet; } @@ -88,7 +92,8 @@ namespace Model ///@{ /** - *

    Amazon Data Firehose is in preview release and is subject to + *

    The mode to enable or disable SSL when Firehose connects to the database + * endpoint.

    Amazon Data Firehose is in preview release and is subject to * change.

    */ inline const SSLMode& GetSSLMode() const{ return m_sSLMode; } @@ -101,7 +106,8 @@ namespace Model ///@{ /** - *

    Amazon Data Firehose is in preview release and is subject to + *

    The list of database patterns in source database endpoint for Firehose to + * read from.

    Amazon Data Firehose is in preview release and is subject to * change.

    */ inline const DatabaseList& GetDatabases() const{ return m_databases; } @@ -114,7 +120,8 @@ namespace Model ///@{ /** - *

    Amazon Data Firehose is in preview release and is subject to + *

    The list of table patterns in source database endpoint for Firehose to read + * from.

    Amazon Data Firehose is in preview release and is subject to * change.

    */ inline const DatabaseTableList& GetTables() const{ return m_tables; } @@ -127,7 +134,8 @@ namespace Model ///@{ /** - *

    Amazon Data Firehose is in preview release and is subject to + *

    The list of column patterns in source database endpoint for Firehose to read + * from.

    Amazon Data Firehose is in preview release and is subject to * change.

    */ inline const DatabaseColumnList& GetColumns() const{ return m_columns; } @@ -140,8 +148,9 @@ namespace Model ///@{ /** - *

    Amazon Data Firehose is in preview release and is subject to - * change.

    + *

    The optional list of table and column names used as unique key columns when + * taking snapshot if the tables don’t have primary keys configured.

    Amazon + * Data Firehose is in preview release and is subject to change.

    */ inline const Aws::Vector& GetSurrogateKeys() const{ return m_surrogateKeys; } inline bool SurrogateKeysHasBeenSet() const { return m_surrogateKeysHasBeenSet; } @@ -156,8 +165,9 @@ namespace Model ///@{ /** - *

    Amazon Data Firehose is in preview release and is subject to - * change.

    + *

    The fully qualified name of the table in source database endpoint that + * Firehose uses to track snapshot progress.

    Amazon Data Firehose is in + * preview release and is subject to change.

    */ inline const Aws::String& GetSnapshotWatermarkTable() const{ return m_snapshotWatermarkTable; } inline bool SnapshotWatermarkTableHasBeenSet() const { return m_snapshotWatermarkTableHasBeenSet; } @@ -171,8 +181,9 @@ namespace Model ///@{ /** - *

    Amazon Data Firehose is in preview release and is subject to - * change.

    + *

    The structure that describes the snapshot information of a table in source + * database endpoint that Firehose reads.

    Amazon Data Firehose is in + * preview release and is subject to change.

    */ inline const Aws::Vector& GetSnapshotInfo() const{ return m_snapshotInfo; } inline bool SnapshotInfoHasBeenSet() const { return m_snapshotInfoHasBeenSet; } @@ -186,8 +197,9 @@ namespace Model ///@{ /** - *

    Amazon Data Firehose is in preview release and is subject to - * change.

    + *

    The structure to configure the authentication methods for Firehose to + * connect to source database endpoint.

    Amazon Data Firehose is in preview + * release and is subject to change.

    */ inline const DatabaseSourceAuthenticationConfiguration& GetDatabaseSourceAuthenticationConfiguration() const{ return m_databaseSourceAuthenticationConfiguration; } inline bool DatabaseSourceAuthenticationConfigurationHasBeenSet() const { return m_databaseSourceAuthenticationConfigurationHasBeenSet; } @@ -199,8 +211,9 @@ namespace Model ///@{ /** - *

    Amazon Data Firehose is in preview release and is subject to - * change.

    + *

    The details of the VPC Endpoint Service which Firehose uses to create a + * PrivateLink to the database.

    Amazon Data Firehose is in preview release + * and is subject to change.

    */ inline const DatabaseSourceVPCConfiguration& GetDatabaseSourceVPCConfiguration() const{ return m_databaseSourceVPCConfiguration; } inline bool DatabaseSourceVPCConfigurationHasBeenSet() const { return m_databaseSourceVPCConfigurationHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/model/DatabaseSourceVPCConfiguration.h b/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/model/DatabaseSourceVPCConfiguration.h index 4d009ba1873..5f0e9bba5d4 100644 --- a/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/model/DatabaseSourceVPCConfiguration.h +++ b/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/model/DatabaseSourceVPCConfiguration.h @@ -24,8 +24,9 @@ namespace Model { /** - *

    Amazon Data Firehose is in preview release and is subject to - * change.

    See Also:

    The structure for details of the VPC Endpoint Service which Firehose uses to + * create a PrivateLink to the database.

    Amazon Data Firehose is in preview + * release and is subject to change.

    See Also:

    AWS * API Reference

    */ @@ -40,8 +41,12 @@ namespace Model ///@{ /** - *

    Amazon Data Firehose is in preview release and is subject to - * change.

    + *

    The VPC endpoint service name which Firehose uses to create a PrivateLink to + * the database. The endpoint service must have the Firehose service principle + * firehose.amazonaws.com as an allowed principal on the VPC endpoint + * service. The VPC endpoint service name is a string that looks like + * com.amazonaws.vpce.<region>.<vpc-endpoint-service-id>. + *

    Amazon Data Firehose is in preview release and is subject to change.

    */ inline const Aws::String& GetVpcEndpointServiceName() const{ return m_vpcEndpointServiceName; } inline bool VpcEndpointServiceNameHasBeenSet() const { return m_vpcEndpointServiceNameHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/model/DatabaseTableList.h b/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/model/DatabaseTableList.h index b2e43616344..9702d8be0dc 100644 --- a/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/model/DatabaseTableList.h +++ b/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/model/DatabaseTableList.h @@ -25,8 +25,9 @@ namespace Model { /** - *

    Amazon Data Firehose is in preview release and is subject to - * change.

    See Also:

    The structure used to configure the list of table patterns in source database + * endpoint for Firehose to read from.

    Amazon Data Firehose is in preview + * release and is subject to change.

    See Also:

    AWS * API Reference

    */ @@ -41,8 +42,9 @@ namespace Model ///@{ /** - *

    Amazon Data Firehose is in preview release and is subject to - * change.

    + *

    The list of table patterns in source database endpoint to be included for + * Firehose to read from.

    Amazon Data Firehose is in preview release and is + * subject to change.

    */ inline const Aws::Vector& GetInclude() const{ return m_include; } inline bool IncludeHasBeenSet() const { return m_includeHasBeenSet; } @@ -57,8 +59,9 @@ namespace Model ///@{ /** - *

    Amazon Data Firehose is in preview release and is subject to - * change.

    + *

    The list of table patterns in source database endpoint to be excluded for + * Firehose to read from.

    Amazon Data Firehose is in preview release and is + * subject to change.

    */ inline const Aws::Vector& GetExclude() const{ return m_exclude; } inline bool ExcludeHasBeenSet() const { return m_excludeHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/model/DestinationDescription.h b/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/model/DestinationDescription.h index bb13ccc80ed..32106dfb801 100644 --- a/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/model/DestinationDescription.h +++ b/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/model/DestinationDescription.h @@ -100,7 +100,7 @@ namespace Model ///@{ /** - *

    The destination in Amazon ES.

    + *

    The destination in Amazon OpenSearch Service.

    */ inline const ElasticsearchDestinationDescription& GetElasticsearchDestinationDescription() const{ return m_elasticsearchDestinationDescription; } inline bool ElasticsearchDestinationDescriptionHasBeenSet() const { return m_elasticsearchDestinationDescriptionHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/model/DestinationTableConfiguration.h b/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/model/DestinationTableConfiguration.h index 380bd3ba1d9..9820f668d5d 100644 --- a/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/model/DestinationTableConfiguration.h +++ b/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/model/DestinationTableConfiguration.h @@ -87,7 +87,8 @@ namespace Model ///@{ /** - *

    Amazon Data Firehose is in preview release and is subject to + *

    The partition spec configuration for a table that is used by automatic table + * creation.

    Amazon Data Firehose is in preview release and is subject to * change.

    */ inline const PartitionSpec& GetPartitionSpec() const{ return m_partitionSpec; } diff --git a/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/model/DirectPutSourceConfiguration.h b/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/model/DirectPutSourceConfiguration.h new file mode 100644 index 00000000000..2b5bb34a051 --- /dev/null +++ b/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/model/DirectPutSourceConfiguration.h @@ -0,0 +1,60 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace Firehose +{ +namespace Model +{ + + /** + *

    The structure that configures parameters such as + * ThroughputHintInMBs for a stream configured with Direct PUT as a + * source.

    See Also:

    AWS + * API Reference

    + */ + class DirectPutSourceConfiguration + { + public: + AWS_FIREHOSE_API DirectPutSourceConfiguration(); + AWS_FIREHOSE_API DirectPutSourceConfiguration(Aws::Utils::Json::JsonView jsonValue); + AWS_FIREHOSE_API DirectPutSourceConfiguration& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_FIREHOSE_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

    The value that you configure for this parameter is for information purpose + * only and does not affect Firehose delivery throughput limit. You can use the Firehose + * Limits form to request a throughput limit increase.

    + */ + inline int GetThroughputHintInMBs() const{ return m_throughputHintInMBs; } + inline bool ThroughputHintInMBsHasBeenSet() const { return m_throughputHintInMBsHasBeenSet; } + inline void SetThroughputHintInMBs(int value) { m_throughputHintInMBsHasBeenSet = true; m_throughputHintInMBs = value; } + inline DirectPutSourceConfiguration& WithThroughputHintInMBs(int value) { SetThroughputHintInMBs(value); return *this;} + ///@} + private: + + int m_throughputHintInMBs; + bool m_throughputHintInMBsHasBeenSet = false; + }; + +} // namespace Model +} // namespace Firehose +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/model/DirectPutSourceDescription.h b/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/model/DirectPutSourceDescription.h new file mode 100644 index 00000000000..08a30093d0e --- /dev/null +++ b/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/model/DirectPutSourceDescription.h @@ -0,0 +1,60 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace Firehose +{ +namespace Model +{ + + /** + *

    The structure that configures parameters such as + * ThroughputHintInMBs for a stream configured with Direct PUT as a + * source.

    See Also:

    AWS + * API Reference

    + */ + class DirectPutSourceDescription + { + public: + AWS_FIREHOSE_API DirectPutSourceDescription(); + AWS_FIREHOSE_API DirectPutSourceDescription(Aws::Utils::Json::JsonView jsonValue); + AWS_FIREHOSE_API DirectPutSourceDescription& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_FIREHOSE_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

    The value that you configure for this parameter is for information purpose + * only and does not affect Firehose delivery throughput limit. You can use the Firehose + * Limits form to request a throughput limit increase.

    + */ + inline int GetThroughputHintInMBs() const{ return m_throughputHintInMBs; } + inline bool ThroughputHintInMBsHasBeenSet() const { return m_throughputHintInMBsHasBeenSet; } + inline void SetThroughputHintInMBs(int value) { m_throughputHintInMBsHasBeenSet = true; m_throughputHintInMBs = value; } + inline DirectPutSourceDescription& WithThroughputHintInMBs(int value) { SetThroughputHintInMBs(value); return *this;} + ///@} + private: + + int m_throughputHintInMBs; + bool m_throughputHintInMBsHasBeenSet = false; + }; + +} // namespace Model +} // namespace Firehose +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/model/DynamicPartitioningConfiguration.h b/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/model/DynamicPartitioningConfiguration.h index f13b0c6dbd6..d62524eecf7 100644 --- a/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/model/DynamicPartitioningConfiguration.h +++ b/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/model/DynamicPartitioningConfiguration.h @@ -55,7 +55,7 @@ namespace Model ///@{ /** - *

    Specifies that the dynamic partitioning is enabled for this Firehose Firehose + *

    Specifies that the dynamic partitioning is enabled for this Firehose * stream.

    */ inline bool GetEnabled() const{ return m_enabled; } diff --git a/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/model/ElasticsearchBufferingHints.h b/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/model/ElasticsearchBufferingHints.h index 1d150ceac56..32cf37557e9 100644 --- a/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/model/ElasticsearchBufferingHints.h +++ b/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/model/ElasticsearchBufferingHints.h @@ -22,8 +22,8 @@ namespace Model { /** - *

    Describes the buffering to perform before delivering data to the Amazon ES - * destination.

    See Also:

    Describes the buffering to perform before delivering data to the Amazon + * OpenSearch Service destination.

    See Also:

    AWS * API Reference

    */ diff --git a/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/model/ElasticsearchDestinationConfiguration.h b/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/model/ElasticsearchDestinationConfiguration.h index 79b3a077d72..34eaa92d367 100644 --- a/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/model/ElasticsearchDestinationConfiguration.h +++ b/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/model/ElasticsearchDestinationConfiguration.h @@ -33,8 +33,8 @@ namespace Model { /** - *

    Describes the configuration of a destination in Amazon ES.

    See - * Also:

    Describes the configuration of a destination in Amazon OpenSearch + * Service.

    See Also:

    AWS * API Reference

    */ @@ -50,8 +50,8 @@ namespace Model ///@{ /** *

    The Amazon Resource Name (ARN) of the IAM role to be assumed by Firehose for - * calling the Amazon ES Configuration API and for indexing documents. For more - * information, see Grant * Firehose Access to an Amazon S3 Destination and Amazon @@ -69,8 +69,8 @@ namespace Model ///@{ /** - *

    The ARN of the Amazon ES domain. The IAM role must have permissions - * for DescribeDomain, DescribeDomains, and + *

    The ARN of the Amazon OpenSearch Service domain. The IAM role must have + * permissions for DescribeDomain, DescribeDomains, and * DescribeDomainConfig after assuming the role specified in * RoleARN. For more information, see Amazon @@ -139,7 +139,7 @@ namespace Model * to the IndexName to facilitate the expiration of old data. For more * information, see Index - * Rotation for the Amazon ES Destination. The default value + * Rotation for the Amazon OpenSearch Service Destination. The default value * is OneDay.

    */ inline const ElasticsearchIndexRotationPeriod& GetIndexRotationPeriod() const{ return m_indexRotationPeriod; } @@ -166,7 +166,7 @@ namespace Model ///@{ /** *

    The retry behavior in case Firehose is unable to deliver documents to Amazon - * ES. The default value is 300 (5 minutes).

    + * OpenSearch Service. The default value is 300 (5 minutes).

    */ inline const ElasticsearchRetryOptions& GetRetryOptions() const{ return m_retryOptions; } inline bool RetryOptionsHasBeenSet() const { return m_retryOptionsHasBeenSet; } @@ -187,7 +187,7 @@ namespace Model * AmazonOpenSearchService-failed/ appended to the prefix. For more * information, see Amazon - * S3 Backup for the Amazon ES Destination. Default value is + * S3 Backup for the Amazon OpenSearch Service Destination. Default value is * FailedDocumentsOnly.

    You can't change this backup mode after * you create the Firehose stream.

    */ diff --git a/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/model/ElasticsearchDestinationDescription.h b/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/model/ElasticsearchDestinationDescription.h index 120b74cc0bc..df171fe2d22 100644 --- a/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/model/ElasticsearchDestinationDescription.h +++ b/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/model/ElasticsearchDestinationDescription.h @@ -33,7 +33,8 @@ namespace Model { /** - *

    The destination description in Amazon ES.

    See Also:

    The destination description in Amazon OpenSearch Service.

    See + * Also:

    AWS * API Reference

    */ @@ -65,11 +66,11 @@ namespace Model ///@{ /** - *

    The ARN of the Amazon ES domain. For more information, see The ARN of the Amazon OpenSearch Service domain. For more information, see Amazon * Resource Names (ARNs) and Amazon Web Services Service Namespaces.

    *

    Firehose uses either ClusterEndpoint or DomainARN - * to send data to Amazon ES.

    + * to send data to Amazon OpenSearch Service.

    */ inline const Aws::String& GetDomainARN() const{ return m_domainARN; } inline bool DomainARNHasBeenSet() const { return m_domainARNHasBeenSet; } @@ -85,7 +86,7 @@ namespace Model /** *

    The endpoint to use when communicating with the cluster. Firehose uses either * this ClusterEndpoint or the DomainARN field to send - * data to Amazon ES.

    + * data to Amazon OpenSearch Service.

    */ inline const Aws::String& GetClusterEndpoint() const{ return m_clusterEndpoint; } inline bool ClusterEndpointHasBeenSet() const { return m_clusterEndpointHasBeenSet; } @@ -153,7 +154,7 @@ namespace Model ///@{ /** - *

    The Amazon ES retry options.

    + *

    The Amazon OpenSearch Service retry options.

    */ inline const ElasticsearchRetryOptions& GetRetryOptions() const{ return m_retryOptions; } inline bool RetryOptionsHasBeenSet() const { return m_retryOptionsHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/model/ElasticsearchDestinationUpdate.h b/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/model/ElasticsearchDestinationUpdate.h index 00e75ed8c04..62b23e57fa0 100644 --- a/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/model/ElasticsearchDestinationUpdate.h +++ b/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/model/ElasticsearchDestinationUpdate.h @@ -31,8 +31,8 @@ namespace Model { /** - *

    Describes an update for a destination in Amazon ES.

    See Also:

    - * Describes an update for a destination in Amazon OpenSearch + * Service.

    See Also:

    AWS * API Reference

    */ @@ -48,8 +48,8 @@ namespace Model ///@{ /** *

    The Amazon Resource Name (ARN) of the IAM role to be assumed by Firehose for - * calling the Amazon ES Configuration API and for indexing documents. For more - * information, see Grant * Firehose Access to an Amazon S3 Destination and Amazon @@ -67,8 +67,8 @@ namespace Model ///@{ /** - *

    The ARN of the Amazon ES domain. The IAM role must have permissions - * for DescribeDomain, DescribeDomains, and + *

    The ARN of the Amazon OpenSearch Service domain. The IAM role must have + * permissions for DescribeDomain, DescribeDomains, and * DescribeDomainConfig after assuming the IAM role specified in * RoleARN. For more information, see Amazon @@ -140,7 +140,7 @@ namespace Model * to IndexName to facilitate the expiration of old data. For more * information, see Index - * Rotation for the Amazon ES Destination. Default value + * Rotation for the Amazon OpenSearch Service Destination. Default value * is OneDay.

    */ inline const ElasticsearchIndexRotationPeriod& GetIndexRotationPeriod() const{ return m_indexRotationPeriod; } @@ -167,7 +167,7 @@ namespace Model ///@{ /** *

    The retry behavior in case Firehose is unable to deliver documents to Amazon - * ES. The default value is 300 (5 minutes).

    + * OpenSearch Service. The default value is 300 (5 minutes).

    */ inline const ElasticsearchRetryOptions& GetRetryOptions() const{ return m_retryOptions; } inline bool RetryOptionsHasBeenSet() const { return m_retryOptionsHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/model/ElasticsearchRetryOptions.h b/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/model/ElasticsearchRetryOptions.h index f2679a9d67e..22d8c8d998a 100644 --- a/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/model/ElasticsearchRetryOptions.h +++ b/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/model/ElasticsearchRetryOptions.h @@ -23,7 +23,7 @@ namespace Model /** *

    Configures retry behavior in case Firehose is unable to deliver documents to - * Amazon ES.

    See Also:

    See Also:

    AWS * API Reference

    */ @@ -38,10 +38,11 @@ namespace Model ///@{ /** - *

    After an initial failure to deliver to Amazon ES, the total amount of time - * during which Firehose retries delivery (including the first attempt). After this - * time has elapsed, the failed documents are written to Amazon S3. Default value - * is 300 seconds (5 minutes). A value of 0 (zero) results in no retries.

    + *

    After an initial failure to deliver to Amazon OpenSearch Service, the total + * amount of time during which Firehose retries delivery (including the first + * attempt). After this time has elapsed, the failed documents are written to + * Amazon S3. Default value is 300 seconds (5 minutes). A value of 0 (zero) results + * in no retries.

    */ inline int GetDurationInSeconds() const{ return m_durationInSeconds; } inline bool DurationInSecondsHasBeenSet() const { return m_durationInSecondsHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/model/IcebergDestinationConfiguration.h b/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/model/IcebergDestinationConfiguration.h index ae6cd084c9c..fca8b4f376a 100644 --- a/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/model/IcebergDestinationConfiguration.h +++ b/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/model/IcebergDestinationConfiguration.h @@ -67,8 +67,8 @@ namespace Model ///@{ /** - *

    Amazon Data Firehose is in preview release and is subject to - * change.

    + *

    The configuration to enable automatic schema evolution.

    Amazon Data + * Firehose is in preview release and is subject to change.

    */ inline const SchemaEvolutionConfiguration& GetSchemaEvolutionConfiguration() const{ return m_schemaEvolutionConfiguration; } inline bool SchemaEvolutionConfigurationHasBeenSet() const { return m_schemaEvolutionConfigurationHasBeenSet; } @@ -80,8 +80,8 @@ namespace Model ///@{ /** - *

    Amazon Data Firehose is in preview release and is subject to - * change.

    + *

    The configuration to enable automatic table creation.

    Amazon Data + * Firehose is in preview release and is subject to change.

    */ inline const TableCreationConfiguration& GetTableCreationConfiguration() const{ return m_tableCreationConfiguration; } inline bool TableCreationConfigurationHasBeenSet() const { return m_tableCreationConfigurationHasBeenSet; } @@ -159,6 +159,22 @@ namespace Model inline IcebergDestinationConfiguration& WithRoleARN(const char* value) { SetRoleARN(value); return *this;} ///@} + ///@{ + /** + *

    Describes whether all incoming data for this delivery stream will be append + * only (inserts only and not for updates and deletes) for Iceberg delivery. This + * feature is only applicable for Apache Iceberg Tables.

    The default value + * is false. If you set this value to true, Firehose automatically increases the + * throughput limit of a stream based on the throttling levels of the stream. If + * you set this parameter to true for a stream with updates and deletes, you will + * see out of order delivery.

    + */ + inline bool GetAppendOnly() const{ return m_appendOnly; } + inline bool AppendOnlyHasBeenSet() const { return m_appendOnlyHasBeenSet; } + inline void SetAppendOnly(bool value) { m_appendOnlyHasBeenSet = true; m_appendOnly = value; } + inline IcebergDestinationConfiguration& WithAppendOnly(bool value) { SetAppendOnly(value); return *this;} + ///@} + ///@{ /** *

    Configuration describing where the destination Apache Iceberg Tables are @@ -210,6 +226,9 @@ namespace Model Aws::String m_roleARN; bool m_roleARNHasBeenSet = false; + bool m_appendOnly; + bool m_appendOnlyHasBeenSet = false; + CatalogConfiguration m_catalogConfiguration; bool m_catalogConfigurationHasBeenSet = false; diff --git a/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/model/IcebergDestinationDescription.h b/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/model/IcebergDestinationDescription.h index b79bebf2bb2..7a4dd67c7e1 100644 --- a/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/model/IcebergDestinationDescription.h +++ b/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/model/IcebergDestinationDescription.h @@ -67,8 +67,8 @@ namespace Model ///@{ /** - *

    Amazon Data Firehose is in preview release and is subject to - * change.

    + *

    The description of automatic schema evolution configuration.

    Amazon + * Data Firehose is in preview release and is subject to change.

    */ inline const SchemaEvolutionConfiguration& GetSchemaEvolutionConfiguration() const{ return m_schemaEvolutionConfiguration; } inline bool SchemaEvolutionConfigurationHasBeenSet() const { return m_schemaEvolutionConfigurationHasBeenSet; } @@ -80,8 +80,8 @@ namespace Model ///@{ /** - *

    Amazon Data Firehose is in preview release and is subject to - * change.

    + *

    The description of table creation configuration.

    Amazon Data + * Firehose is in preview release and is subject to change.

    */ inline const TableCreationConfiguration& GetTableCreationConfiguration() const{ return m_tableCreationConfiguration; } inline bool TableCreationConfigurationHasBeenSet() const { return m_tableCreationConfigurationHasBeenSet; } @@ -159,6 +159,22 @@ namespace Model inline IcebergDestinationDescription& WithRoleARN(const char* value) { SetRoleARN(value); return *this;} ///@} + ///@{ + /** + *

    Describes whether all incoming data for this delivery stream will be append + * only (inserts only and not for updates and deletes) for Iceberg delivery. This + * feature is only applicable for Apache Iceberg Tables.

    The default value + * is false. If you set this value to true, Firehose automatically increases the + * throughput limit of a stream based on the throttling levels of the stream. If + * you set this parameter to true for a stream with updates and deletes, you will + * see out of order delivery.

    + */ + inline bool GetAppendOnly() const{ return m_appendOnly; } + inline bool AppendOnlyHasBeenSet() const { return m_appendOnlyHasBeenSet; } + inline void SetAppendOnly(bool value) { m_appendOnlyHasBeenSet = true; m_appendOnly = value; } + inline IcebergDestinationDescription& WithAppendOnly(bool value) { SetAppendOnly(value); return *this;} + ///@} + ///@{ /** *

    Configuration describing where the destination Iceberg tables are persisted. @@ -210,6 +226,9 @@ namespace Model Aws::String m_roleARN; bool m_roleARNHasBeenSet = false; + bool m_appendOnly; + bool m_appendOnlyHasBeenSet = false; + CatalogConfiguration m_catalogConfiguration; bool m_catalogConfigurationHasBeenSet = false; diff --git a/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/model/IcebergDestinationUpdate.h b/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/model/IcebergDestinationUpdate.h index 5272dd19990..22588e372e0 100644 --- a/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/model/IcebergDestinationUpdate.h +++ b/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/model/IcebergDestinationUpdate.h @@ -67,8 +67,8 @@ namespace Model ///@{ /** - *

    Amazon Data Firehose is in preview release and is subject to - * change.

    + *

    The configuration to enable automatic schema evolution.

    Amazon Data + * Firehose is in preview release and is subject to change.

    */ inline const SchemaEvolutionConfiguration& GetSchemaEvolutionConfiguration() const{ return m_schemaEvolutionConfiguration; } inline bool SchemaEvolutionConfigurationHasBeenSet() const { return m_schemaEvolutionConfigurationHasBeenSet; } @@ -80,8 +80,8 @@ namespace Model ///@{ /** - *

    Amazon Data Firehose is in preview release and is subject to - * change.

    + *

    The configuration to enable automatic table creation.

    Amazon Data + * Firehose is in preview release and is subject to change.

    */ inline const TableCreationConfiguration& GetTableCreationConfiguration() const{ return m_tableCreationConfiguration; } inline bool TableCreationConfigurationHasBeenSet() const { return m_tableCreationConfigurationHasBeenSet; } @@ -159,6 +159,22 @@ namespace Model inline IcebergDestinationUpdate& WithRoleARN(const char* value) { SetRoleARN(value); return *this;} ///@} + ///@{ + /** + *

    Describes whether all incoming data for this delivery stream will be append + * only (inserts only and not for updates and deletes) for Iceberg delivery. This + * feature is only applicable for Apache Iceberg Tables.

    The default value + * is false. If you set this value to true, Firehose automatically increases the + * throughput limit of a stream based on the throttling levels of the stream. If + * you set this parameter to true for a stream with updates and deletes, you will + * see out of order delivery.

    + */ + inline bool GetAppendOnly() const{ return m_appendOnly; } + inline bool AppendOnlyHasBeenSet() const { return m_appendOnlyHasBeenSet; } + inline void SetAppendOnly(bool value) { m_appendOnlyHasBeenSet = true; m_appendOnly = value; } + inline IcebergDestinationUpdate& WithAppendOnly(bool value) { SetAppendOnly(value); return *this;} + ///@} + ///@{ /** *

    Configuration describing where the destination Iceberg tables are persisted. @@ -210,6 +226,9 @@ namespace Model Aws::String m_roleARN; bool m_roleARNHasBeenSet = false; + bool m_appendOnly; + bool m_appendOnlyHasBeenSet = false; + CatalogConfiguration m_catalogConfiguration; bool m_catalogConfigurationHasBeenSet = false; diff --git a/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/model/KinesisStreamSourceDescription.h b/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/model/KinesisStreamSourceDescription.h index ae8b8125795..cfb96bc37e1 100644 --- a/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/model/KinesisStreamSourceDescription.h +++ b/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/model/KinesisStreamSourceDescription.h @@ -26,7 +26,7 @@ namespace Model /** *

    Details about a Kinesis data stream used as the source for a Firehose - * Firehose stream.

    See Also:

    See Also:

    AWS * API Reference

    */ diff --git a/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/model/MSKSourceDescription.h b/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/model/MSKSourceDescription.h index 06aea9917be..c99f10722df 100644 --- a/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/model/MSKSourceDescription.h +++ b/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/model/MSKSourceDescription.h @@ -27,7 +27,7 @@ namespace Model /** *

    Details about the Amazon MSK cluster used as the source for a Firehose - * Firehose stream.

    See Also:

    See Also:

    AWS * API Reference

    */ diff --git a/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/model/PartitionField.h b/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/model/PartitionField.h index 1ca35f90b59..a79e6d1c1d6 100644 --- a/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/model/PartitionField.h +++ b/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/model/PartitionField.h @@ -24,8 +24,9 @@ namespace Model { /** - *

    Amazon Data Firehose is in preview release and is subject to - * change.

    See Also:

    Represents a single field in a PartitionSpec.

    Amazon + * Data Firehose is in preview release and is subject to change.

    See + * Also:

    AWS * API Reference

    */ @@ -40,8 +41,8 @@ namespace Model ///@{ /** - *

    Amazon Data Firehose is in preview release and is subject to - * change.

    + *

    The column name to be configured in partition spec.

    Amazon Data + * Firehose is in preview release and is subject to change.

    */ inline const Aws::String& GetSourceName() const{ return m_sourceName; } inline bool SourceNameHasBeenSet() const { return m_sourceNameHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/model/PartitionSpec.h b/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/model/PartitionSpec.h index 918cf882a87..71cb6bf0607 100644 --- a/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/model/PartitionSpec.h +++ b/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/model/PartitionSpec.h @@ -25,7 +25,12 @@ namespace Model { /** - *

    Amazon Data Firehose is in preview release and is subject to + *

    Represents how to produce partition data for a table. Partition data is + * produced by transforming columns in a table. Each column transform is + * represented by a named PartitionField.

    Here is an example + * of the schema in JSON.

    "partitionSpec": { "identity": [ + * {"sourceName": "column1"}, {"sourceName": "column2"}, {"sourceName": "column3"} + * ] }

    Amazon Data Firehose is in preview release and is subject to * change.

    See Also:

    AWS * API Reference

    @@ -41,8 +46,11 @@ namespace Model ///@{ /** - *

    Amazon Data Firehose is in preview release and is subject to - * change.

    + *

    List of identity transforms that + * performs an identity transformation. The transform takes the source value, and + * does not modify it. Result type is the source type.

    Amazon Data Firehose + * is in preview release and is subject to change.

    */ inline const Aws::Vector& GetIdentity() const{ return m_identity; } inline bool IdentityHasBeenSet() const { return m_identityHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/model/SchemaEvolutionConfiguration.h b/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/model/SchemaEvolutionConfiguration.h index 9a61a46cd9b..0c44fdc12f2 100644 --- a/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/model/SchemaEvolutionConfiguration.h +++ b/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/model/SchemaEvolutionConfiguration.h @@ -22,8 +22,8 @@ namespace Model { /** - *

    Amazon Data Firehose is in preview release and is subject to - * change.

    See Also:

    The configuration to enable schema evolution.

    Amazon Data Firehose is + * in preview release and is subject to change.

    See Also:

    AWS * API Reference

    */ @@ -38,8 +38,8 @@ namespace Model ///@{ /** - *

    Amazon Data Firehose is in preview release and is subject to - * change.

    + *

    Specify whether you want to enable schema evolution.

    Amazon Data + * Firehose is in preview release and is subject to change.

    */ inline bool GetEnabled() const{ return m_enabled; } inline bool EnabledHasBeenSet() const { return m_enabledHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/model/Serializer.h b/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/model/Serializer.h index d4ab2450c63..bf221f3c0ad 100644 --- a/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/model/Serializer.h +++ b/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/model/Serializer.h @@ -27,11 +27,7 @@ namespace Model /** *

    The serializer that you want Firehose to use to convert data to the target * format before writing it to Amazon S3. Firehose supports two types of - * serializers: the ORC - * SerDe and the Parquet - * SerDe.

    See Also:

    See Also:

    AWS * API Reference

    */ @@ -48,7 +44,8 @@ namespace Model /** *

    A serializer to use for converting data to the Parquet format before storing * it in Amazon S3. For more information, see Apache Parquet.

    + * href="https://parquet.apache.org/docs/contribution-guidelines/">Apache + * Parquet.

    */ inline const ParquetSerDe& GetParquetSerDe() const{ return m_parquetSerDe; } inline bool ParquetSerDeHasBeenSet() const { return m_parquetSerDeHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/model/SnowflakeDestinationConfiguration.h b/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/model/SnowflakeDestinationConfiguration.h index 146723065cf..aa936781bd6 100644 --- a/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/model/SnowflakeDestinationConfiguration.h +++ b/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/model/SnowflakeDestinationConfiguration.h @@ -185,7 +185,14 @@ namespace Model ///@{ /** - *

    The name of the record metadata column

    + *

    Specify a column name in the table, where the metadata information has to be + * loaded. When you enable this field, you will see the following column in the + * snowflake table, which differs based on the source type.

    For Direct PUT + * as source

    { "firehoseDeliveryStreamName" : "streamname", + * "IngestionTime" : "timestamp" }

    For Kinesis Data Stream as source + *

    "kinesisStreamName" : "streamname", "kinesisShardId" : "Id", + * "kinesisPartitionKey" : "key", "kinesisSequenceNumber" : "1234", + * "subsequenceNumber" : "2334", "IngestionTime" : "timestamp" }

    */ inline const Aws::String& GetMetaDataColumnName() const{ return m_metaDataColumnName; } inline bool MetaDataColumnNameHasBeenSet() const { return m_metaDataColumnNameHasBeenSet; } @@ -199,7 +206,7 @@ namespace Model ///@{ /** - *

    The name of the record content column

    + *

    The name of the record content column.

    */ inline const Aws::String& GetContentColumnName() const{ return m_contentColumnName; } inline bool ContentColumnNameHasBeenSet() const { return m_contentColumnNameHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/model/SourceDescription.h b/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/model/SourceDescription.h index 32c47dacecf..21759213ce5 100644 --- a/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/model/SourceDescription.h +++ b/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/model/SourceDescription.h @@ -5,6 +5,7 @@ #pragma once #include +#include #include #include #include @@ -27,7 +28,7 @@ namespace Model /** *

    Details about a Kinesis data stream used as the source for a Firehose - * Firehose stream.

    See Also:

    See Also:

    AWS * API Reference

    */ @@ -40,6 +41,18 @@ namespace Model AWS_FIREHOSE_API Aws::Utils::Json::JsonValue Jsonize() const; + ///@{ + /** + *

    Details about Direct PUT used as the source for a Firehose stream.

    + */ + inline const DirectPutSourceDescription& GetDirectPutSourceDescription() const{ return m_directPutSourceDescription; } + inline bool DirectPutSourceDescriptionHasBeenSet() const { return m_directPutSourceDescriptionHasBeenSet; } + inline void SetDirectPutSourceDescription(const DirectPutSourceDescription& value) { m_directPutSourceDescriptionHasBeenSet = true; m_directPutSourceDescription = value; } + inline void SetDirectPutSourceDescription(DirectPutSourceDescription&& value) { m_directPutSourceDescriptionHasBeenSet = true; m_directPutSourceDescription = std::move(value); } + inline SourceDescription& WithDirectPutSourceDescription(const DirectPutSourceDescription& value) { SetDirectPutSourceDescription(value); return *this;} + inline SourceDescription& WithDirectPutSourceDescription(DirectPutSourceDescription&& value) { SetDirectPutSourceDescription(std::move(value)); return *this;} + ///@} + ///@{ /** *

    The KinesisStreamSourceDescription value for the source Kinesis data @@ -68,8 +81,8 @@ namespace Model ///@{ /** - *

    Amazon Data Firehose is in preview release and is subject to - * change.

    + *

    Details about a database used as the source for a Firehose stream.

    + *

    Amazon Data Firehose is in preview release and is subject to change.

    */ inline const DatabaseSourceDescription& GetDatabaseSourceDescription() const{ return m_databaseSourceDescription; } inline bool DatabaseSourceDescriptionHasBeenSet() const { return m_databaseSourceDescriptionHasBeenSet; } @@ -80,6 +93,9 @@ namespace Model ///@} private: + DirectPutSourceDescription m_directPutSourceDescription; + bool m_directPutSourceDescriptionHasBeenSet = false; + KinesisStreamSourceDescription m_kinesisStreamSourceDescription; bool m_kinesisStreamSourceDescriptionHasBeenSet = false; diff --git a/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/model/TableCreationConfiguration.h b/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/model/TableCreationConfiguration.h index 65b40c32e06..620a62a7790 100644 --- a/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/model/TableCreationConfiguration.h +++ b/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/model/TableCreationConfiguration.h @@ -22,8 +22,9 @@ namespace Model { /** - *

    Amazon Data Firehose is in preview release and is subject to - * change.

    See Also:

    The configuration to enable automatic table creation.

    Amazon Data + * Firehose is in preview release and is subject to change.

    See + * Also:

    AWS * API Reference

    */ @@ -38,8 +39,8 @@ namespace Model ///@{ /** - *

    Amazon Data Firehose is in preview release and is subject to - * change.

    + *

    Specify whether you want to enable automatic table creation.

    Amazon + * Data Firehose is in preview release and is subject to change.

    */ inline bool GetEnabled() const{ return m_enabled; } inline bool EnabledHasBeenSet() const { return m_enabledHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/model/UpdateDestinationRequest.h b/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/model/UpdateDestinationRequest.h index 39f5a4d664a..8dbf7af2e72 100644 --- a/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/model/UpdateDestinationRequest.h +++ b/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/model/UpdateDestinationRequest.h @@ -116,7 +116,7 @@ namespace Model ///@{ /** - *

    Describes an update for a destination in Amazon ES.

    + *

    Describes an update for a destination in Amazon OpenSearch Service.

    */ inline const ElasticsearchDestinationUpdate& GetElasticsearchDestinationUpdate() const{ return m_elasticsearchDestinationUpdate; } inline bool ElasticsearchDestinationUpdateHasBeenSet() const { return m_elasticsearchDestinationUpdateHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/model/VpcConfiguration.h b/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/model/VpcConfiguration.h index 700071459f3..015d5b35883 100644 --- a/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/model/VpcConfiguration.h +++ b/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/model/VpcConfiguration.h @@ -42,17 +42,17 @@ namespace Model ///@{ /** *

    The IDs of the subnets that you want Firehose to use to create ENIs in the - * VPC of the Amazon ES destination. Make sure that the routing tables and inbound - * and outbound rules allow traffic to flow from the subnets whose IDs are - * specified here to the subnets that have the destination Amazon ES endpoints. - * Firehose creates at least one ENI in each of the subnets that are specified - * here. Do not delete or modify these ENIs.

    The number of ENIs that - * Firehose creates in the subnets specified here scales up and down automatically - * based on throughput. To enable Firehose to scale up the number of ENIs to match - * throughput, ensure that you have sufficient quota. To help you calculate the - * quota you need, assume that Firehose can create up to three ENIs for this - * Firehose stream for each of the subnets specified here. For more information - * about ENI quota, see

    The + * number of ENIs that Firehose creates in the subnets specified here scales up and + * down automatically based on throughput. To enable Firehose to scale up the + * number of ENIs to match throughput, ensure that you have sufficient quota. To + * help you calculate the quota you need, assume that Firehose can create up to + * three ENIs for this Firehose stream for each of the subnets specified here. For + * more information about ENI quota, see Network * Interfaces in the Amazon VPC Quotas topic.

    */ @@ -100,12 +100,13 @@ namespace Model ///@{ /** *

    The IDs of the security groups that you want Firehose to use when it creates - * ENIs in the VPC of the Amazon ES destination. You can use the same security - * group that the Amazon ES domain uses or different ones. If you specify different - * security groups here, ensure that they allow outbound HTTPS traffic to the - * Amazon ES domain's security group. Also ensure that the Amazon ES domain's - * security group allows HTTPS traffic from the security groups specified here. If - * you use the same security group for both your delivery stream and the Amazon ES + * ENIs in the VPC of the Amazon OpenSearch Service destination. You can use the + * same security group that the Amazon OpenSearch Service domain uses or different + * ones. If you specify different security groups here, ensure that they allow + * outbound HTTPS traffic to the Amazon OpenSearch Service domain's security group. + * Also ensure that the Amazon OpenSearch Service domain's security group allows + * HTTPS traffic from the security groups specified here. If you use the same + * security group for both your delivery stream and the Amazon OpenSearch Service * domain, make sure the security group inbound rule allows HTTPS traffic. For more * information about security group rules, see Security diff --git a/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/model/VpcConfigurationDescription.h b/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/model/VpcConfigurationDescription.h index 82fa3a062bd..585152450f9 100644 --- a/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/model/VpcConfigurationDescription.h +++ b/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/model/VpcConfigurationDescription.h @@ -25,8 +25,8 @@ namespace Model { /** - *

    The details of the VPC of the Amazon ES destination.

    See Also:

    - * The details of the VPC of the Amazon OpenSearch Service + * destination.

    See Also:

    AWS * API Reference

    */ @@ -42,16 +42,17 @@ namespace Model ///@{ /** *

    The IDs of the subnets that Firehose uses to create ENIs in the VPC of the - * Amazon ES destination. Make sure that the routing tables and inbound and - * outbound rules allow traffic to flow from the subnets whose IDs are specified - * here to the subnets that have the destination Amazon ES endpoints. Firehose - * creates at least one ENI in each of the subnets that are specified here. Do not - * delete or modify these ENIs.

    The number of ENIs that Firehose creates in - * the subnets specified here scales up and down automatically based on throughput. - * To enable Firehose to scale up the number of ENIs to match throughput, ensure - * that you have sufficient quota. To help you calculate the quota you need, assume - * that Firehose can create up to three ENIs for this Firehose stream for each of - * the subnets specified here. For more information about ENI quota, see

    The number of + * ENIs that Firehose creates in the subnets specified here scales up and down + * automatically based on throughput. To enable Firehose to scale up the number of + * ENIs to match throughput, ensure that you have sufficient quota. To help you + * calculate the quota you need, assume that Firehose can create up to three ENIs + * for this Firehose stream for each of the subnets specified here. For more + * information about ENI quota, see Network * Interfaces in the Amazon VPC Quotas topic.

    */ @@ -97,14 +98,15 @@ namespace Model ///@{ /** *

    The IDs of the security groups that Firehose uses when it creates ENIs in the - * VPC of the Amazon ES destination. You can use the same security group that the - * Amazon ES domain uses or different ones. If you specify different security - * groups, ensure that they allow outbound HTTPS traffic to the Amazon ES domain's - * security group. Also ensure that the Amazon ES domain's security group allows - * HTTPS traffic from the security groups specified here. If you use the same - * security group for both your Firehose stream and the Amazon ES domain, make sure - * the security group inbound rule allows HTTPS traffic. For more information about - * security group rules, see Security * group rules in the Amazon VPC documentation.

    */ @@ -121,7 +123,7 @@ namespace Model ///@{ /** - *

    The ID of the Amazon ES destination's VPC.

    + *

    The ID of the Amazon OpenSearch Service destination's VPC.

    */ inline const Aws::String& GetVpcId() const{ return m_vpcId; } inline bool VpcIdHasBeenSet() const { return m_vpcIdHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-firehose/source/model/CreateDeliveryStreamRequest.cpp b/generated/src/aws-cpp-sdk-firehose/source/model/CreateDeliveryStreamRequest.cpp index 75e9853e7db..acd2a56e4e4 100644 --- a/generated/src/aws-cpp-sdk-firehose/source/model/CreateDeliveryStreamRequest.cpp +++ b/generated/src/aws-cpp-sdk-firehose/source/model/CreateDeliveryStreamRequest.cpp @@ -16,6 +16,7 @@ CreateDeliveryStreamRequest::CreateDeliveryStreamRequest() : m_deliveryStreamNameHasBeenSet(false), m_deliveryStreamType(DeliveryStreamType::NOT_SET), m_deliveryStreamTypeHasBeenSet(false), + m_directPutSourceConfigurationHasBeenSet(false), m_kinesisStreamSourceConfigurationHasBeenSet(false), m_deliveryStreamEncryptionConfigurationInputHasBeenSet(false), m_extendedS3DestinationConfigurationHasBeenSet(false), @@ -48,6 +49,12 @@ Aws::String CreateDeliveryStreamRequest::SerializePayload() const payload.WithString("DeliveryStreamType", DeliveryStreamTypeMapper::GetNameForDeliveryStreamType(m_deliveryStreamType)); } + if(m_directPutSourceConfigurationHasBeenSet) + { + payload.WithObject("DirectPutSourceConfiguration", m_directPutSourceConfiguration.Jsonize()); + + } + if(m_kinesisStreamSourceConfigurationHasBeenSet) { payload.WithObject("KinesisStreamSourceConfiguration", m_kinesisStreamSourceConfiguration.Jsonize()); diff --git a/generated/src/aws-cpp-sdk-firehose/source/model/DirectPutSourceConfiguration.cpp b/generated/src/aws-cpp-sdk-firehose/source/model/DirectPutSourceConfiguration.cpp new file mode 100644 index 00000000000..adb533c2cc2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-firehose/source/model/DirectPutSourceConfiguration.cpp @@ -0,0 +1,60 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace Firehose +{ +namespace Model +{ + +DirectPutSourceConfiguration::DirectPutSourceConfiguration() : + m_throughputHintInMBs(0), + m_throughputHintInMBsHasBeenSet(false) +{ +} + +DirectPutSourceConfiguration::DirectPutSourceConfiguration(JsonView jsonValue) + : DirectPutSourceConfiguration() +{ + *this = jsonValue; +} + +DirectPutSourceConfiguration& DirectPutSourceConfiguration::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("ThroughputHintInMBs")) + { + m_throughputHintInMBs = jsonValue.GetInteger("ThroughputHintInMBs"); + + m_throughputHintInMBsHasBeenSet = true; + } + + return *this; +} + +JsonValue DirectPutSourceConfiguration::Jsonize() const +{ + JsonValue payload; + + if(m_throughputHintInMBsHasBeenSet) + { + payload.WithInteger("ThroughputHintInMBs", m_throughputHintInMBs); + + } + + return payload; +} + +} // namespace Model +} // namespace Firehose +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-firehose/source/model/DirectPutSourceDescription.cpp b/generated/src/aws-cpp-sdk-firehose/source/model/DirectPutSourceDescription.cpp new file mode 100644 index 00000000000..5809464ecec --- /dev/null +++ b/generated/src/aws-cpp-sdk-firehose/source/model/DirectPutSourceDescription.cpp @@ -0,0 +1,60 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace Firehose +{ +namespace Model +{ + +DirectPutSourceDescription::DirectPutSourceDescription() : + m_throughputHintInMBs(0), + m_throughputHintInMBsHasBeenSet(false) +{ +} + +DirectPutSourceDescription::DirectPutSourceDescription(JsonView jsonValue) + : DirectPutSourceDescription() +{ + *this = jsonValue; +} + +DirectPutSourceDescription& DirectPutSourceDescription::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("ThroughputHintInMBs")) + { + m_throughputHintInMBs = jsonValue.GetInteger("ThroughputHintInMBs"); + + m_throughputHintInMBsHasBeenSet = true; + } + + return *this; +} + +JsonValue DirectPutSourceDescription::Jsonize() const +{ + JsonValue payload; + + if(m_throughputHintInMBsHasBeenSet) + { + payload.WithInteger("ThroughputHintInMBs", m_throughputHintInMBs); + + } + + return payload; +} + +} // namespace Model +} // namespace Firehose +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-firehose/source/model/IcebergDestinationConfiguration.cpp b/generated/src/aws-cpp-sdk-firehose/source/model/IcebergDestinationConfiguration.cpp index e1274226845..7022c541ae0 100644 --- a/generated/src/aws-cpp-sdk-firehose/source/model/IcebergDestinationConfiguration.cpp +++ b/generated/src/aws-cpp-sdk-firehose/source/model/IcebergDestinationConfiguration.cpp @@ -29,6 +29,8 @@ IcebergDestinationConfiguration::IcebergDestinationConfiguration() : m_s3BackupModeHasBeenSet(false), m_retryOptionsHasBeenSet(false), m_roleARNHasBeenSet(false), + m_appendOnly(false), + m_appendOnlyHasBeenSet(false), m_catalogConfigurationHasBeenSet(false), m_s3ConfigurationHasBeenSet(false) { @@ -108,6 +110,13 @@ IcebergDestinationConfiguration& IcebergDestinationConfiguration::operator =(Jso m_roleARNHasBeenSet = true; } + if(jsonValue.ValueExists("AppendOnly")) + { + m_appendOnly = jsonValue.GetBool("AppendOnly"); + + m_appendOnlyHasBeenSet = true; + } + if(jsonValue.ValueExists("CatalogConfiguration")) { m_catalogConfiguration = jsonValue.GetObject("CatalogConfiguration"); @@ -187,6 +196,12 @@ JsonValue IcebergDestinationConfiguration::Jsonize() const } + if(m_appendOnlyHasBeenSet) + { + payload.WithBool("AppendOnly", m_appendOnly); + + } + if(m_catalogConfigurationHasBeenSet) { payload.WithObject("CatalogConfiguration", m_catalogConfiguration.Jsonize()); diff --git a/generated/src/aws-cpp-sdk-firehose/source/model/IcebergDestinationDescription.cpp b/generated/src/aws-cpp-sdk-firehose/source/model/IcebergDestinationDescription.cpp index 9d4828e34ca..73aaa614eba 100644 --- a/generated/src/aws-cpp-sdk-firehose/source/model/IcebergDestinationDescription.cpp +++ b/generated/src/aws-cpp-sdk-firehose/source/model/IcebergDestinationDescription.cpp @@ -29,6 +29,8 @@ IcebergDestinationDescription::IcebergDestinationDescription() : m_s3BackupModeHasBeenSet(false), m_retryOptionsHasBeenSet(false), m_roleARNHasBeenSet(false), + m_appendOnly(false), + m_appendOnlyHasBeenSet(false), m_catalogConfigurationHasBeenSet(false), m_s3DestinationDescriptionHasBeenSet(false) { @@ -108,6 +110,13 @@ IcebergDestinationDescription& IcebergDestinationDescription::operator =(JsonVie m_roleARNHasBeenSet = true; } + if(jsonValue.ValueExists("AppendOnly")) + { + m_appendOnly = jsonValue.GetBool("AppendOnly"); + + m_appendOnlyHasBeenSet = true; + } + if(jsonValue.ValueExists("CatalogConfiguration")) { m_catalogConfiguration = jsonValue.GetObject("CatalogConfiguration"); @@ -187,6 +196,12 @@ JsonValue IcebergDestinationDescription::Jsonize() const } + if(m_appendOnlyHasBeenSet) + { + payload.WithBool("AppendOnly", m_appendOnly); + + } + if(m_catalogConfigurationHasBeenSet) { payload.WithObject("CatalogConfiguration", m_catalogConfiguration.Jsonize()); diff --git a/generated/src/aws-cpp-sdk-firehose/source/model/IcebergDestinationUpdate.cpp b/generated/src/aws-cpp-sdk-firehose/source/model/IcebergDestinationUpdate.cpp index edb72d9bb0d..57dd71017a7 100644 --- a/generated/src/aws-cpp-sdk-firehose/source/model/IcebergDestinationUpdate.cpp +++ b/generated/src/aws-cpp-sdk-firehose/source/model/IcebergDestinationUpdate.cpp @@ -29,6 +29,8 @@ IcebergDestinationUpdate::IcebergDestinationUpdate() : m_s3BackupModeHasBeenSet(false), m_retryOptionsHasBeenSet(false), m_roleARNHasBeenSet(false), + m_appendOnly(false), + m_appendOnlyHasBeenSet(false), m_catalogConfigurationHasBeenSet(false), m_s3ConfigurationHasBeenSet(false) { @@ -108,6 +110,13 @@ IcebergDestinationUpdate& IcebergDestinationUpdate::operator =(JsonView jsonValu m_roleARNHasBeenSet = true; } + if(jsonValue.ValueExists("AppendOnly")) + { + m_appendOnly = jsonValue.GetBool("AppendOnly"); + + m_appendOnlyHasBeenSet = true; + } + if(jsonValue.ValueExists("CatalogConfiguration")) { m_catalogConfiguration = jsonValue.GetObject("CatalogConfiguration"); @@ -187,6 +196,12 @@ JsonValue IcebergDestinationUpdate::Jsonize() const } + if(m_appendOnlyHasBeenSet) + { + payload.WithBool("AppendOnly", m_appendOnly); + + } + if(m_catalogConfigurationHasBeenSet) { payload.WithObject("CatalogConfiguration", m_catalogConfiguration.Jsonize()); diff --git a/generated/src/aws-cpp-sdk-firehose/source/model/SourceDescription.cpp b/generated/src/aws-cpp-sdk-firehose/source/model/SourceDescription.cpp index 1e2497e46a0..1ddea4e5065 100644 --- a/generated/src/aws-cpp-sdk-firehose/source/model/SourceDescription.cpp +++ b/generated/src/aws-cpp-sdk-firehose/source/model/SourceDescription.cpp @@ -19,6 +19,7 @@ namespace Model { SourceDescription::SourceDescription() : + m_directPutSourceDescriptionHasBeenSet(false), m_kinesisStreamSourceDescriptionHasBeenSet(false), m_mSKSourceDescriptionHasBeenSet(false), m_databaseSourceDescriptionHasBeenSet(false) @@ -33,6 +34,13 @@ SourceDescription::SourceDescription(JsonView jsonValue) SourceDescription& SourceDescription::operator =(JsonView jsonValue) { + if(jsonValue.ValueExists("DirectPutSourceDescription")) + { + m_directPutSourceDescription = jsonValue.GetObject("DirectPutSourceDescription"); + + m_directPutSourceDescriptionHasBeenSet = true; + } + if(jsonValue.ValueExists("KinesisStreamSourceDescription")) { m_kinesisStreamSourceDescription = jsonValue.GetObject("KinesisStreamSourceDescription"); @@ -61,6 +69,12 @@ JsonValue SourceDescription::Jsonize() const { JsonValue payload; + if(m_directPutSourceDescriptionHasBeenSet) + { + payload.WithObject("DirectPutSourceDescription", m_directPutSourceDescription.Jsonize()); + + } + if(m_kinesisStreamSourceDescriptionHasBeenSet) { payload.WithObject("KinesisStreamSourceDescription", m_kinesisStreamSourceDescription.Jsonize()); diff --git a/generated/src/aws-cpp-sdk-healthlake/include/aws/healthlake/model/AuthorizationStrategy.h b/generated/src/aws-cpp-sdk-healthlake/include/aws/healthlake/model/AuthorizationStrategy.h index ffdd19db6ea..f6d72e985bb 100644 --- a/generated/src/aws-cpp-sdk-healthlake/include/aws/healthlake/model/AuthorizationStrategy.h +++ b/generated/src/aws-cpp-sdk-healthlake/include/aws/healthlake/model/AuthorizationStrategy.h @@ -17,6 +17,7 @@ namespace Model { NOT_SET, SMART_ON_FHIR_V1, + SMART_ON_FHIR, AWS_AUTH }; diff --git a/generated/src/aws-cpp-sdk-healthlake/include/aws/healthlake/model/JobStatus.h b/generated/src/aws-cpp-sdk-healthlake/include/aws/healthlake/model/JobStatus.h index ab2d7608de1..a6b70dd132a 100644 --- a/generated/src/aws-cpp-sdk-healthlake/include/aws/healthlake/model/JobStatus.h +++ b/generated/src/aws-cpp-sdk-healthlake/include/aws/healthlake/model/JobStatus.h @@ -17,6 +17,7 @@ namespace Model { NOT_SET, SUBMITTED, + QUEUED, IN_PROGRESS, COMPLETED_WITH_ERRORS, COMPLETED, diff --git a/generated/src/aws-cpp-sdk-healthlake/source/model/AuthorizationStrategy.cpp b/generated/src/aws-cpp-sdk-healthlake/source/model/AuthorizationStrategy.cpp index a230f67d47e..238a007bacb 100644 --- a/generated/src/aws-cpp-sdk-healthlake/source/model/AuthorizationStrategy.cpp +++ b/generated/src/aws-cpp-sdk-healthlake/source/model/AuthorizationStrategy.cpp @@ -21,6 +21,7 @@ namespace Aws { static const int SMART_ON_FHIR_V1_HASH = HashingUtils::HashString("SMART_ON_FHIR_V1"); + static const int SMART_ON_FHIR_HASH = HashingUtils::HashString("SMART_ON_FHIR"); static const int AWS_AUTH_HASH = HashingUtils::HashString("AWS_AUTH"); @@ -31,6 +32,10 @@ namespace Aws { return AuthorizationStrategy::SMART_ON_FHIR_V1; } + else if (hashCode == SMART_ON_FHIR_HASH) + { + return AuthorizationStrategy::SMART_ON_FHIR; + } else if (hashCode == AWS_AUTH_HASH) { return AuthorizationStrategy::AWS_AUTH; @@ -53,6 +58,8 @@ namespace Aws return {}; case AuthorizationStrategy::SMART_ON_FHIR_V1: return "SMART_ON_FHIR_V1"; + case AuthorizationStrategy::SMART_ON_FHIR: + return "SMART_ON_FHIR"; case AuthorizationStrategy::AWS_AUTH: return "AWS_AUTH"; default: diff --git a/generated/src/aws-cpp-sdk-healthlake/source/model/JobStatus.cpp b/generated/src/aws-cpp-sdk-healthlake/source/model/JobStatus.cpp index 611953cc8e4..093ddb32d48 100644 --- a/generated/src/aws-cpp-sdk-healthlake/source/model/JobStatus.cpp +++ b/generated/src/aws-cpp-sdk-healthlake/source/model/JobStatus.cpp @@ -21,6 +21,7 @@ namespace Aws { static const int SUBMITTED_HASH = HashingUtils::HashString("SUBMITTED"); + static const int QUEUED_HASH = HashingUtils::HashString("QUEUED"); static const int IN_PROGRESS_HASH = HashingUtils::HashString("IN_PROGRESS"); static const int COMPLETED_WITH_ERRORS_HASH = HashingUtils::HashString("COMPLETED_WITH_ERRORS"); static const int COMPLETED_HASH = HashingUtils::HashString("COMPLETED"); @@ -38,6 +39,10 @@ namespace Aws { return JobStatus::SUBMITTED; } + else if (hashCode == QUEUED_HASH) + { + return JobStatus::QUEUED; + } else if (hashCode == IN_PROGRESS_HASH) { return JobStatus::IN_PROGRESS; @@ -88,6 +93,8 @@ namespace Aws return {}; case JobStatus::SUBMITTED: return "SUBMITTED"; + case JobStatus::QUEUED: + return "QUEUED"; case JobStatus::IN_PROGRESS: return "IN_PROGRESS"; case JobStatus::COMPLETED_WITH_ERRORS: diff --git a/generated/src/aws-cpp-sdk-mailmanager/include/aws/mailmanager/MailManagerClient.h b/generated/src/aws-cpp-sdk-mailmanager/include/aws/mailmanager/MailManagerClient.h index 06c1a381085..c36078ac7fe 100644 --- a/generated/src/aws-cpp-sdk-mailmanager/include/aws/mailmanager/MailManagerClient.h +++ b/generated/src/aws-cpp-sdk-mailmanager/include/aws/mailmanager/MailManagerClient.h @@ -150,6 +150,56 @@ namespace MailManager return SubmitAsync(&MailManagerClient::CreateAddonSubscription, request, handler, context); } + /** + *

    Creates a new address list.

    See Also:

    AWS + * API Reference

    + */ + virtual Model::CreateAddressListOutcome CreateAddressList(const Model::CreateAddressListRequest& request) const; + + /** + * A Callable wrapper for CreateAddressList that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::CreateAddressListOutcomeCallable CreateAddressListCallable(const CreateAddressListRequestT& request) const + { + return SubmitCallable(&MailManagerClient::CreateAddressList, request); + } + + /** + * An Async wrapper for CreateAddressList that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void CreateAddressListAsync(const CreateAddressListRequestT& request, const CreateAddressListResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&MailManagerClient::CreateAddressList, request, handler, context); + } + + /** + *

    Creates an import job for an address list.

    See Also:

    AWS + * API Reference

    + */ + virtual Model::CreateAddressListImportJobOutcome CreateAddressListImportJob(const Model::CreateAddressListImportJobRequest& request) const; + + /** + * A Callable wrapper for CreateAddressListImportJob that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::CreateAddressListImportJobOutcomeCallable CreateAddressListImportJobCallable(const CreateAddressListImportJobRequestT& request) const + { + return SubmitCallable(&MailManagerClient::CreateAddressListImportJob, request); + } + + /** + * An Async wrapper for CreateAddressListImportJob that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void CreateAddressListImportJobAsync(const CreateAddressListImportJobRequestT& request, const CreateAddressListImportJobResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&MailManagerClient::CreateAddressListImportJob, request, handler, context); + } + /** *

    Creates a new email archive resource for storing and retaining * emails.

    See Also:

    Deletes an address list.

    See Also:

    AWS + * API Reference

    + */ + virtual Model::DeleteAddressListOutcome DeleteAddressList(const Model::DeleteAddressListRequest& request) const; + + /** + * A Callable wrapper for DeleteAddressList that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::DeleteAddressListOutcomeCallable DeleteAddressListCallable(const DeleteAddressListRequestT& request) const + { + return SubmitCallable(&MailManagerClient::DeleteAddressList, request); + } + + /** + * An Async wrapper for DeleteAddressList that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void DeleteAddressListAsync(const DeleteAddressListRequestT& request, const DeleteAddressListResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&MailManagerClient::DeleteAddressList, request, handler, context); + } + /** *

    Initiates deletion of an email archive. This changes the archive state to * pending deletion. In this state, no new emails can be added, and existing @@ -457,6 +532,31 @@ namespace MailManager return SubmitAsync(&MailManagerClient::DeleteTrafficPolicy, request, handler, context); } + /** + *

    Removes a member from an address list.

    See Also:

    AWS + * API Reference

    + */ + virtual Model::DeregisterMemberFromAddressListOutcome DeregisterMemberFromAddressList(const Model::DeregisterMemberFromAddressListRequest& request) const; + + /** + * A Callable wrapper for DeregisterMemberFromAddressList that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::DeregisterMemberFromAddressListOutcomeCallable DeregisterMemberFromAddressListCallable(const DeregisterMemberFromAddressListRequestT& request) const + { + return SubmitCallable(&MailManagerClient::DeregisterMemberFromAddressList, request); + } + + /** + * An Async wrapper for DeregisterMemberFromAddressList that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void DeregisterMemberFromAddressListAsync(const DeregisterMemberFromAddressListRequestT& request, const DeregisterMemberFromAddressListResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&MailManagerClient::DeregisterMemberFromAddressList, request, handler, context); + } + /** *

    Gets detailed information about an Add On instance.

    See Also:

    * Fetch attributes of an address list.

    See Also:

    AWS + * API Reference

    + */ + virtual Model::GetAddressListOutcome GetAddressList(const Model::GetAddressListRequest& request) const; + + /** + * A Callable wrapper for GetAddressList that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::GetAddressListOutcomeCallable GetAddressListCallable(const GetAddressListRequestT& request) const + { + return SubmitCallable(&MailManagerClient::GetAddressList, request); + } + + /** + * An Async wrapper for GetAddressList that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void GetAddressListAsync(const GetAddressListRequestT& request, const GetAddressListResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&MailManagerClient::GetAddressList, request, handler, context); + } + + /** + *

    Fetch attributes of an import job.

    See Also:

    AWS + * API Reference

    + */ + virtual Model::GetAddressListImportJobOutcome GetAddressListImportJob(const Model::GetAddressListImportJobRequest& request) const; + + /** + * A Callable wrapper for GetAddressListImportJob that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::GetAddressListImportJobOutcomeCallable GetAddressListImportJobCallable(const GetAddressListImportJobRequestT& request) const + { + return SubmitCallable(&MailManagerClient::GetAddressListImportJob, request); + } + + /** + * An Async wrapper for GetAddressListImportJob that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void GetAddressListImportJobAsync(const GetAddressListImportJobRequestT& request, const GetAddressListImportJobResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&MailManagerClient::GetAddressListImportJob, request, handler, context); + } + /** *

    Retrieves the full details and current state of a specified email * archive.

    See Also:

    Fetch attributes of a member in an address list.

    See Also:

    + *
    AWS + * API Reference

    + */ + virtual Model::GetMemberOfAddressListOutcome GetMemberOfAddressList(const Model::GetMemberOfAddressListRequest& request) const; + + /** + * A Callable wrapper for GetMemberOfAddressList that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::GetMemberOfAddressListOutcomeCallable GetMemberOfAddressListCallable(const GetMemberOfAddressListRequestT& request) const + { + return SubmitCallable(&MailManagerClient::GetMemberOfAddressList, request); + } + + /** + * An Async wrapper for GetMemberOfAddressList that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void GetMemberOfAddressListAsync(const GetMemberOfAddressListRequestT& request, const GetMemberOfAddressListResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&MailManagerClient::GetMemberOfAddressList, request, handler, context); + } + /** *

    Fetch the relay resource and it's attributes.

    See Also:

    AWS @@ -815,6 +991,56 @@ namespace MailManager return SubmitAsync(&MailManagerClient::ListAddonSubscriptions, request, handler, context); } + /** + *

    Lists jobs for an address list.

    See Also:

    AWS + * API Reference

    + */ + virtual Model::ListAddressListImportJobsOutcome ListAddressListImportJobs(const Model::ListAddressListImportJobsRequest& request) const; + + /** + * A Callable wrapper for ListAddressListImportJobs that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::ListAddressListImportJobsOutcomeCallable ListAddressListImportJobsCallable(const ListAddressListImportJobsRequestT& request) const + { + return SubmitCallable(&MailManagerClient::ListAddressListImportJobs, request); + } + + /** + * An Async wrapper for ListAddressListImportJobs that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void ListAddressListImportJobsAsync(const ListAddressListImportJobsRequestT& request, const ListAddressListImportJobsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&MailManagerClient::ListAddressListImportJobs, request, handler, context); + } + + /** + *

    Lists address lists for this account.

    See Also:

    AWS + * API Reference

    + */ + virtual Model::ListAddressListsOutcome ListAddressLists(const Model::ListAddressListsRequest& request = {}) const; + + /** + * A Callable wrapper for ListAddressLists that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::ListAddressListsOutcomeCallable ListAddressListsCallable(const ListAddressListsRequestT& request = {}) const + { + return SubmitCallable(&MailManagerClient::ListAddressLists, request); + } + + /** + * An Async wrapper for ListAddressLists that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void ListAddressListsAsync(const ListAddressListsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const ListAddressListsRequestT& request = {}) const + { + return SubmitAsync(&MailManagerClient::ListAddressLists, request, handler, context); + } + /** *

    Returns a list of email archive export jobs.

    See Also:

    AWS @@ -916,6 +1142,31 @@ namespace MailManager return SubmitAsync(&MailManagerClient::ListIngressPoints, request, handler, context); } + /** + *

    Lists members of an address list.

    See Also:

    AWS + * API Reference

    + */ + virtual Model::ListMembersOfAddressListOutcome ListMembersOfAddressList(const Model::ListMembersOfAddressListRequest& request) const; + + /** + * A Callable wrapper for ListMembersOfAddressList that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::ListMembersOfAddressListOutcomeCallable ListMembersOfAddressListCallable(const ListMembersOfAddressListRequestT& request) const + { + return SubmitCallable(&MailManagerClient::ListMembersOfAddressList, request); + } + + /** + * An Async wrapper for ListMembersOfAddressList that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void ListMembersOfAddressListAsync(const ListMembersOfAddressListRequestT& request, const ListMembersOfAddressListResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&MailManagerClient::ListMembersOfAddressList, request, handler, context); + } + /** *

    Lists all the existing relay resources.

    See Also:

    AWS @@ -1017,6 +1268,56 @@ namespace MailManager return SubmitAsync(&MailManagerClient::ListTrafficPolicies, request, handler, context); } + /** + *

    Adds a member to an address list.

    See Also:

    AWS + * API Reference

    + */ + virtual Model::RegisterMemberToAddressListOutcome RegisterMemberToAddressList(const Model::RegisterMemberToAddressListRequest& request) const; + + /** + * A Callable wrapper for RegisterMemberToAddressList that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::RegisterMemberToAddressListOutcomeCallable RegisterMemberToAddressListCallable(const RegisterMemberToAddressListRequestT& request) const + { + return SubmitCallable(&MailManagerClient::RegisterMemberToAddressList, request); + } + + /** + * An Async wrapper for RegisterMemberToAddressList that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void RegisterMemberToAddressListAsync(const RegisterMemberToAddressListRequestT& request, const RegisterMemberToAddressListResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&MailManagerClient::RegisterMemberToAddressList, request, handler, context); + } + + /** + *

    Starts an import job for an address list.

    See Also:

    AWS + * API Reference

    + */ + virtual Model::StartAddressListImportJobOutcome StartAddressListImportJob(const Model::StartAddressListImportJobRequest& request) const; + + /** + * A Callable wrapper for StartAddressListImportJob that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::StartAddressListImportJobOutcomeCallable StartAddressListImportJobCallable(const StartAddressListImportJobRequestT& request) const + { + return SubmitCallable(&MailManagerClient::StartAddressListImportJob, request); + } + + /** + * An Async wrapper for StartAddressListImportJob that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void StartAddressListImportJobAsync(const StartAddressListImportJobRequestT& request, const StartAddressListImportJobResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&MailManagerClient::StartAddressListImportJob, request, handler, context); + } + /** *

    Initiates an export of emails from the specified archive.

    See * Also:

    Stops an ongoing import job for an address list.

    See Also:

    + *
    AWS + * API Reference

    + */ + virtual Model::StopAddressListImportJobOutcome StopAddressListImportJob(const Model::StopAddressListImportJobRequest& request) const; + + /** + * A Callable wrapper for StopAddressListImportJob that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::StopAddressListImportJobOutcomeCallable StopAddressListImportJobCallable(const StopAddressListImportJobRequestT& request) const + { + return SubmitCallable(&MailManagerClient::StopAddressListImportJob, request); + } + + /** + * An Async wrapper for StopAddressListImportJob that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void StopAddressListImportJobAsync(const StopAddressListImportJobRequestT& request, const StopAddressListImportJobResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&MailManagerClient::StopAddressListImportJob, request, handler, context); + } + /** *

    Stops an in-progress export of emails from an archive.

    See * Also:

    #include +#include +#include #include #include #include @@ -27,13 +29,17 @@ #include #include #include +#include #include #include #include #include #include +#include #include #include +#include +#include #include #include #include @@ -41,21 +47,28 @@ #include #include #include +#include #include #include #include #include #include +#include +#include #include #include #include #include +#include #include #include #include #include +#include +#include #include #include +#include #include #include #include @@ -66,6 +79,7 @@ #include #include #include +#include #include #include #include @@ -114,6 +128,8 @@ namespace Aws /* Service model forward declarations required in MailManagerClient header */ class CreateAddonInstanceRequest; class CreateAddonSubscriptionRequest; + class CreateAddressListRequest; + class CreateAddressListImportJobRequest; class CreateArchiveRequest; class CreateIngressPointRequest; class CreateRelayRequest; @@ -121,13 +137,17 @@ namespace Aws class CreateTrafficPolicyRequest; class DeleteAddonInstanceRequest; class DeleteAddonSubscriptionRequest; + class DeleteAddressListRequest; class DeleteArchiveRequest; class DeleteIngressPointRequest; class DeleteRelayRequest; class DeleteRuleSetRequest; class DeleteTrafficPolicyRequest; + class DeregisterMemberFromAddressListRequest; class GetAddonInstanceRequest; class GetAddonSubscriptionRequest; + class GetAddressListRequest; + class GetAddressListImportJobRequest; class GetArchiveRequest; class GetArchiveExportRequest; class GetArchiveMessageRequest; @@ -135,21 +155,28 @@ namespace Aws class GetArchiveSearchRequest; class GetArchiveSearchResultsRequest; class GetIngressPointRequest; + class GetMemberOfAddressListRequest; class GetRelayRequest; class GetRuleSetRequest; class GetTrafficPolicyRequest; class ListAddonInstancesRequest; class ListAddonSubscriptionsRequest; + class ListAddressListImportJobsRequest; + class ListAddressListsRequest; class ListArchiveExportsRequest; class ListArchiveSearchesRequest; class ListArchivesRequest; class ListIngressPointsRequest; + class ListMembersOfAddressListRequest; class ListRelaysRequest; class ListRuleSetsRequest; class ListTagsForResourceRequest; class ListTrafficPoliciesRequest; + class RegisterMemberToAddressListRequest; + class StartAddressListImportJobRequest; class StartArchiveExportRequest; class StartArchiveSearchRequest; + class StopAddressListImportJobRequest; class StopArchiveExportRequest; class StopArchiveSearchRequest; class TagResourceRequest; @@ -164,6 +191,8 @@ namespace Aws /* Service model Outcome class definitions */ typedef Aws::Utils::Outcome CreateAddonInstanceOutcome; typedef Aws::Utils::Outcome CreateAddonSubscriptionOutcome; + typedef Aws::Utils::Outcome CreateAddressListOutcome; + typedef Aws::Utils::Outcome CreateAddressListImportJobOutcome; typedef Aws::Utils::Outcome CreateArchiveOutcome; typedef Aws::Utils::Outcome CreateIngressPointOutcome; typedef Aws::Utils::Outcome CreateRelayOutcome; @@ -171,13 +200,17 @@ namespace Aws typedef Aws::Utils::Outcome CreateTrafficPolicyOutcome; typedef Aws::Utils::Outcome DeleteAddonInstanceOutcome; typedef Aws::Utils::Outcome DeleteAddonSubscriptionOutcome; + typedef Aws::Utils::Outcome DeleteAddressListOutcome; typedef Aws::Utils::Outcome DeleteArchiveOutcome; typedef Aws::Utils::Outcome DeleteIngressPointOutcome; typedef Aws::Utils::Outcome DeleteRelayOutcome; typedef Aws::Utils::Outcome DeleteRuleSetOutcome; typedef Aws::Utils::Outcome DeleteTrafficPolicyOutcome; + typedef Aws::Utils::Outcome DeregisterMemberFromAddressListOutcome; typedef Aws::Utils::Outcome GetAddonInstanceOutcome; typedef Aws::Utils::Outcome GetAddonSubscriptionOutcome; + typedef Aws::Utils::Outcome GetAddressListOutcome; + typedef Aws::Utils::Outcome GetAddressListImportJobOutcome; typedef Aws::Utils::Outcome GetArchiveOutcome; typedef Aws::Utils::Outcome GetArchiveExportOutcome; typedef Aws::Utils::Outcome GetArchiveMessageOutcome; @@ -185,21 +218,28 @@ namespace Aws typedef Aws::Utils::Outcome GetArchiveSearchOutcome; typedef Aws::Utils::Outcome GetArchiveSearchResultsOutcome; typedef Aws::Utils::Outcome GetIngressPointOutcome; + typedef Aws::Utils::Outcome GetMemberOfAddressListOutcome; typedef Aws::Utils::Outcome GetRelayOutcome; typedef Aws::Utils::Outcome GetRuleSetOutcome; typedef Aws::Utils::Outcome GetTrafficPolicyOutcome; typedef Aws::Utils::Outcome ListAddonInstancesOutcome; typedef Aws::Utils::Outcome ListAddonSubscriptionsOutcome; + typedef Aws::Utils::Outcome ListAddressListImportJobsOutcome; + typedef Aws::Utils::Outcome ListAddressListsOutcome; typedef Aws::Utils::Outcome ListArchiveExportsOutcome; typedef Aws::Utils::Outcome ListArchiveSearchesOutcome; typedef Aws::Utils::Outcome ListArchivesOutcome; typedef Aws::Utils::Outcome ListIngressPointsOutcome; + typedef Aws::Utils::Outcome ListMembersOfAddressListOutcome; typedef Aws::Utils::Outcome ListRelaysOutcome; typedef Aws::Utils::Outcome ListRuleSetsOutcome; typedef Aws::Utils::Outcome ListTagsForResourceOutcome; typedef Aws::Utils::Outcome ListTrafficPoliciesOutcome; + typedef Aws::Utils::Outcome RegisterMemberToAddressListOutcome; + typedef Aws::Utils::Outcome StartAddressListImportJobOutcome; typedef Aws::Utils::Outcome StartArchiveExportOutcome; typedef Aws::Utils::Outcome StartArchiveSearchOutcome; + typedef Aws::Utils::Outcome StopAddressListImportJobOutcome; typedef Aws::Utils::Outcome StopArchiveExportOutcome; typedef Aws::Utils::Outcome StopArchiveSearchOutcome; typedef Aws::Utils::Outcome TagResourceOutcome; @@ -214,6 +254,8 @@ namespace Aws /* Service model Outcome callable definitions */ typedef std::future CreateAddonInstanceOutcomeCallable; typedef std::future CreateAddonSubscriptionOutcomeCallable; + typedef std::future CreateAddressListOutcomeCallable; + typedef std::future CreateAddressListImportJobOutcomeCallable; typedef std::future CreateArchiveOutcomeCallable; typedef std::future CreateIngressPointOutcomeCallable; typedef std::future CreateRelayOutcomeCallable; @@ -221,13 +263,17 @@ namespace Aws typedef std::future CreateTrafficPolicyOutcomeCallable; typedef std::future DeleteAddonInstanceOutcomeCallable; typedef std::future DeleteAddonSubscriptionOutcomeCallable; + typedef std::future DeleteAddressListOutcomeCallable; typedef std::future DeleteArchiveOutcomeCallable; typedef std::future DeleteIngressPointOutcomeCallable; typedef std::future DeleteRelayOutcomeCallable; typedef std::future DeleteRuleSetOutcomeCallable; typedef std::future DeleteTrafficPolicyOutcomeCallable; + typedef std::future DeregisterMemberFromAddressListOutcomeCallable; typedef std::future GetAddonInstanceOutcomeCallable; typedef std::future GetAddonSubscriptionOutcomeCallable; + typedef std::future GetAddressListOutcomeCallable; + typedef std::future GetAddressListImportJobOutcomeCallable; typedef std::future GetArchiveOutcomeCallable; typedef std::future GetArchiveExportOutcomeCallable; typedef std::future GetArchiveMessageOutcomeCallable; @@ -235,21 +281,28 @@ namespace Aws typedef std::future GetArchiveSearchOutcomeCallable; typedef std::future GetArchiveSearchResultsOutcomeCallable; typedef std::future GetIngressPointOutcomeCallable; + typedef std::future GetMemberOfAddressListOutcomeCallable; typedef std::future GetRelayOutcomeCallable; typedef std::future GetRuleSetOutcomeCallable; typedef std::future GetTrafficPolicyOutcomeCallable; typedef std::future ListAddonInstancesOutcomeCallable; typedef std::future ListAddonSubscriptionsOutcomeCallable; + typedef std::future ListAddressListImportJobsOutcomeCallable; + typedef std::future ListAddressListsOutcomeCallable; typedef std::future ListArchiveExportsOutcomeCallable; typedef std::future ListArchiveSearchesOutcomeCallable; typedef std::future ListArchivesOutcomeCallable; typedef std::future ListIngressPointsOutcomeCallable; + typedef std::future ListMembersOfAddressListOutcomeCallable; typedef std::future ListRelaysOutcomeCallable; typedef std::future ListRuleSetsOutcomeCallable; typedef std::future ListTagsForResourceOutcomeCallable; typedef std::future ListTrafficPoliciesOutcomeCallable; + typedef std::future RegisterMemberToAddressListOutcomeCallable; + typedef std::future StartAddressListImportJobOutcomeCallable; typedef std::future StartArchiveExportOutcomeCallable; typedef std::future StartArchiveSearchOutcomeCallable; + typedef std::future StopAddressListImportJobOutcomeCallable; typedef std::future StopArchiveExportOutcomeCallable; typedef std::future StopArchiveSearchOutcomeCallable; typedef std::future TagResourceOutcomeCallable; @@ -267,6 +320,8 @@ namespace Aws /* Service model async handlers definitions */ typedef std::function&) > CreateAddonInstanceResponseReceivedHandler; typedef std::function&) > CreateAddonSubscriptionResponseReceivedHandler; + typedef std::function&) > CreateAddressListResponseReceivedHandler; + typedef std::function&) > CreateAddressListImportJobResponseReceivedHandler; typedef std::function&) > CreateArchiveResponseReceivedHandler; typedef std::function&) > CreateIngressPointResponseReceivedHandler; typedef std::function&) > CreateRelayResponseReceivedHandler; @@ -274,13 +329,17 @@ namespace Aws typedef std::function&) > CreateTrafficPolicyResponseReceivedHandler; typedef std::function&) > DeleteAddonInstanceResponseReceivedHandler; typedef std::function&) > DeleteAddonSubscriptionResponseReceivedHandler; + typedef std::function&) > DeleteAddressListResponseReceivedHandler; typedef std::function&) > DeleteArchiveResponseReceivedHandler; typedef std::function&) > DeleteIngressPointResponseReceivedHandler; typedef std::function&) > DeleteRelayResponseReceivedHandler; typedef std::function&) > DeleteRuleSetResponseReceivedHandler; typedef std::function&) > DeleteTrafficPolicyResponseReceivedHandler; + typedef std::function&) > DeregisterMemberFromAddressListResponseReceivedHandler; typedef std::function&) > GetAddonInstanceResponseReceivedHandler; typedef std::function&) > GetAddonSubscriptionResponseReceivedHandler; + typedef std::function&) > GetAddressListResponseReceivedHandler; + typedef std::function&) > GetAddressListImportJobResponseReceivedHandler; typedef std::function&) > GetArchiveResponseReceivedHandler; typedef std::function&) > GetArchiveExportResponseReceivedHandler; typedef std::function&) > GetArchiveMessageResponseReceivedHandler; @@ -288,21 +347,28 @@ namespace Aws typedef std::function&) > GetArchiveSearchResponseReceivedHandler; typedef std::function&) > GetArchiveSearchResultsResponseReceivedHandler; typedef std::function&) > GetIngressPointResponseReceivedHandler; + typedef std::function&) > GetMemberOfAddressListResponseReceivedHandler; typedef std::function&) > GetRelayResponseReceivedHandler; typedef std::function&) > GetRuleSetResponseReceivedHandler; typedef std::function&) > GetTrafficPolicyResponseReceivedHandler; typedef std::function&) > ListAddonInstancesResponseReceivedHandler; typedef std::function&) > ListAddonSubscriptionsResponseReceivedHandler; + typedef std::function&) > ListAddressListImportJobsResponseReceivedHandler; + typedef std::function&) > ListAddressListsResponseReceivedHandler; typedef std::function&) > ListArchiveExportsResponseReceivedHandler; typedef std::function&) > ListArchiveSearchesResponseReceivedHandler; typedef std::function&) > ListArchivesResponseReceivedHandler; typedef std::function&) > ListIngressPointsResponseReceivedHandler; + typedef std::function&) > ListMembersOfAddressListResponseReceivedHandler; typedef std::function&) > ListRelaysResponseReceivedHandler; typedef std::function&) > ListRuleSetsResponseReceivedHandler; typedef std::function&) > ListTagsForResourceResponseReceivedHandler; typedef std::function&) > ListTrafficPoliciesResponseReceivedHandler; + typedef std::function&) > RegisterMemberToAddressListResponseReceivedHandler; + typedef std::function&) > StartAddressListImportJobResponseReceivedHandler; typedef std::function&) > StartArchiveExportResponseReceivedHandler; typedef std::function&) > StartArchiveSearchResponseReceivedHandler; + typedef std::function&) > StopAddressListImportJobResponseReceivedHandler; typedef std::function&) > StopArchiveExportResponseReceivedHandler; typedef std::function&) > StopArchiveSearchResponseReceivedHandler; typedef std::function&) > TagResourceResponseReceivedHandler; diff --git a/generated/src/aws-cpp-sdk-mailmanager/include/aws/mailmanager/model/AddressFilter.h b/generated/src/aws-cpp-sdk-mailmanager/include/aws/mailmanager/model/AddressFilter.h new file mode 100644 index 00000000000..af5ba4d4d96 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mailmanager/include/aws/mailmanager/model/AddressFilter.h @@ -0,0 +1,62 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace MailManager +{ +namespace Model +{ + + /** + *

    Filtering options for ListMembersOfAddressList operation.

    See + * Also:

    AWS + * API Reference

    + */ + class AddressFilter + { + public: + AWS_MAILMANAGER_API AddressFilter(); + AWS_MAILMANAGER_API AddressFilter(Aws::Utils::Json::JsonView jsonValue); + AWS_MAILMANAGER_API AddressFilter& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_MAILMANAGER_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

    Filter to limit the results to addresses having the provided prefix.

    + */ + inline const Aws::String& GetAddressPrefix() const{ return m_addressPrefix; } + inline bool AddressPrefixHasBeenSet() const { return m_addressPrefixHasBeenSet; } + inline void SetAddressPrefix(const Aws::String& value) { m_addressPrefixHasBeenSet = true; m_addressPrefix = value; } + inline void SetAddressPrefix(Aws::String&& value) { m_addressPrefixHasBeenSet = true; m_addressPrefix = std::move(value); } + inline void SetAddressPrefix(const char* value) { m_addressPrefixHasBeenSet = true; m_addressPrefix.assign(value); } + inline AddressFilter& WithAddressPrefix(const Aws::String& value) { SetAddressPrefix(value); return *this;} + inline AddressFilter& WithAddressPrefix(Aws::String&& value) { SetAddressPrefix(std::move(value)); return *this;} + inline AddressFilter& WithAddressPrefix(const char* value) { SetAddressPrefix(value); return *this;} + ///@} + private: + + Aws::String m_addressPrefix; + bool m_addressPrefixHasBeenSet = false; + }; + +} // namespace Model +} // namespace MailManager +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mailmanager/include/aws/mailmanager/model/AddressList.h b/generated/src/aws-cpp-sdk-mailmanager/include/aws/mailmanager/model/AddressList.h new file mode 100644 index 00000000000..4cebbac426d --- /dev/null +++ b/generated/src/aws-cpp-sdk-mailmanager/include/aws/mailmanager/model/AddressList.h @@ -0,0 +1,128 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace MailManager +{ +namespace Model +{ + + /** + *

    An address list contains a list of emails and domains that are used in + * MailManager Ingress endpoints and Rules for email management.

    See + * Also:

    AWS + * API Reference

    + */ + class AddressList + { + public: + AWS_MAILMANAGER_API AddressList(); + AWS_MAILMANAGER_API AddressList(Aws::Utils::Json::JsonView jsonValue); + AWS_MAILMANAGER_API AddressList& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_MAILMANAGER_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

    The Amazon Resource Name (ARN) of the address list.

    + */ + inline const Aws::String& GetAddressListArn() const{ return m_addressListArn; } + inline bool AddressListArnHasBeenSet() const { return m_addressListArnHasBeenSet; } + inline void SetAddressListArn(const Aws::String& value) { m_addressListArnHasBeenSet = true; m_addressListArn = value; } + inline void SetAddressListArn(Aws::String&& value) { m_addressListArnHasBeenSet = true; m_addressListArn = std::move(value); } + inline void SetAddressListArn(const char* value) { m_addressListArnHasBeenSet = true; m_addressListArn.assign(value); } + inline AddressList& WithAddressListArn(const Aws::String& value) { SetAddressListArn(value); return *this;} + inline AddressList& WithAddressListArn(Aws::String&& value) { SetAddressListArn(std::move(value)); return *this;} + inline AddressList& WithAddressListArn(const char* value) { SetAddressListArn(value); return *this;} + ///@} + + ///@{ + /** + *

    The identifier of the address list.

    + */ + inline const Aws::String& GetAddressListId() const{ return m_addressListId; } + inline bool AddressListIdHasBeenSet() const { return m_addressListIdHasBeenSet; } + inline void SetAddressListId(const Aws::String& value) { m_addressListIdHasBeenSet = true; m_addressListId = value; } + inline void SetAddressListId(Aws::String&& value) { m_addressListIdHasBeenSet = true; m_addressListId = std::move(value); } + inline void SetAddressListId(const char* value) { m_addressListIdHasBeenSet = true; m_addressListId.assign(value); } + inline AddressList& WithAddressListId(const Aws::String& value) { SetAddressListId(value); return *this;} + inline AddressList& WithAddressListId(Aws::String&& value) { SetAddressListId(std::move(value)); return *this;} + inline AddressList& WithAddressListId(const char* value) { SetAddressListId(value); return *this;} + ///@} + + ///@{ + /** + *

    The user-friendly name of the address list.

    + */ + inline const Aws::String& GetAddressListName() const{ return m_addressListName; } + inline bool AddressListNameHasBeenSet() const { return m_addressListNameHasBeenSet; } + inline void SetAddressListName(const Aws::String& value) { m_addressListNameHasBeenSet = true; m_addressListName = value; } + inline void SetAddressListName(Aws::String&& value) { m_addressListNameHasBeenSet = true; m_addressListName = std::move(value); } + inline void SetAddressListName(const char* value) { m_addressListNameHasBeenSet = true; m_addressListName.assign(value); } + inline AddressList& WithAddressListName(const Aws::String& value) { SetAddressListName(value); return *this;} + inline AddressList& WithAddressListName(Aws::String&& value) { SetAddressListName(std::move(value)); return *this;} + inline AddressList& WithAddressListName(const char* value) { SetAddressListName(value); return *this;} + ///@} + + ///@{ + /** + *

    The timestamp of when the address list was created.

    + */ + inline const Aws::Utils::DateTime& GetCreatedTimestamp() const{ return m_createdTimestamp; } + inline bool CreatedTimestampHasBeenSet() const { return m_createdTimestampHasBeenSet; } + inline void SetCreatedTimestamp(const Aws::Utils::DateTime& value) { m_createdTimestampHasBeenSet = true; m_createdTimestamp = value; } + inline void SetCreatedTimestamp(Aws::Utils::DateTime&& value) { m_createdTimestampHasBeenSet = true; m_createdTimestamp = std::move(value); } + inline AddressList& WithCreatedTimestamp(const Aws::Utils::DateTime& value) { SetCreatedTimestamp(value); return *this;} + inline AddressList& WithCreatedTimestamp(Aws::Utils::DateTime&& value) { SetCreatedTimestamp(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

    The timestamp of when the address list was last updated.

    + */ + inline const Aws::Utils::DateTime& GetLastUpdatedTimestamp() const{ return m_lastUpdatedTimestamp; } + inline bool LastUpdatedTimestampHasBeenSet() const { return m_lastUpdatedTimestampHasBeenSet; } + inline void SetLastUpdatedTimestamp(const Aws::Utils::DateTime& value) { m_lastUpdatedTimestampHasBeenSet = true; m_lastUpdatedTimestamp = value; } + inline void SetLastUpdatedTimestamp(Aws::Utils::DateTime&& value) { m_lastUpdatedTimestampHasBeenSet = true; m_lastUpdatedTimestamp = std::move(value); } + inline AddressList& WithLastUpdatedTimestamp(const Aws::Utils::DateTime& value) { SetLastUpdatedTimestamp(value); return *this;} + inline AddressList& WithLastUpdatedTimestamp(Aws::Utils::DateTime&& value) { SetLastUpdatedTimestamp(std::move(value)); return *this;} + ///@} + private: + + Aws::String m_addressListArn; + bool m_addressListArnHasBeenSet = false; + + Aws::String m_addressListId; + bool m_addressListIdHasBeenSet = false; + + Aws::String m_addressListName; + bool m_addressListNameHasBeenSet = false; + + Aws::Utils::DateTime m_createdTimestamp; + bool m_createdTimestampHasBeenSet = false; + + Aws::Utils::DateTime m_lastUpdatedTimestamp; + bool m_lastUpdatedTimestampHasBeenSet = false; + }; + +} // namespace Model +} // namespace MailManager +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mailmanager/include/aws/mailmanager/model/CreateAddressListImportJobRequest.h b/generated/src/aws-cpp-sdk-mailmanager/include/aws/mailmanager/model/CreateAddressListImportJobRequest.h new file mode 100644 index 00000000000..35f9ad4bcd8 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mailmanager/include/aws/mailmanager/model/CreateAddressListImportJobRequest.h @@ -0,0 +1,110 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace MailManager +{ +namespace Model +{ + + /** + */ + class CreateAddressListImportJobRequest : public MailManagerRequest + { + public: + AWS_MAILMANAGER_API CreateAddressListImportJobRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "CreateAddressListImportJob"; } + + AWS_MAILMANAGER_API Aws::String SerializePayload() const override; + + AWS_MAILMANAGER_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + /** + *

    The unique identifier of the address list for importing addresses to.

    + */ + inline const Aws::String& GetAddressListId() const{ return m_addressListId; } + inline bool AddressListIdHasBeenSet() const { return m_addressListIdHasBeenSet; } + inline void SetAddressListId(const Aws::String& value) { m_addressListIdHasBeenSet = true; m_addressListId = value; } + inline void SetAddressListId(Aws::String&& value) { m_addressListIdHasBeenSet = true; m_addressListId = std::move(value); } + inline void SetAddressListId(const char* value) { m_addressListIdHasBeenSet = true; m_addressListId.assign(value); } + inline CreateAddressListImportJobRequest& WithAddressListId(const Aws::String& value) { SetAddressListId(value); return *this;} + inline CreateAddressListImportJobRequest& WithAddressListId(Aws::String&& value) { SetAddressListId(std::move(value)); return *this;} + inline CreateAddressListImportJobRequest& WithAddressListId(const char* value) { SetAddressListId(value); return *this;} + ///@} + + ///@{ + /** + *

    A unique token that Amazon SES uses to recognize subsequent retries of the + * same request.

    + */ + inline const Aws::String& GetClientToken() const{ return m_clientToken; } + inline bool ClientTokenHasBeenSet() const { return m_clientTokenHasBeenSet; } + inline void SetClientToken(const Aws::String& value) { m_clientTokenHasBeenSet = true; m_clientToken = value; } + inline void SetClientToken(Aws::String&& value) { m_clientTokenHasBeenSet = true; m_clientToken = std::move(value); } + inline void SetClientToken(const char* value) { m_clientTokenHasBeenSet = true; m_clientToken.assign(value); } + inline CreateAddressListImportJobRequest& WithClientToken(const Aws::String& value) { SetClientToken(value); return *this;} + inline CreateAddressListImportJobRequest& WithClientToken(Aws::String&& value) { SetClientToken(std::move(value)); return *this;} + inline CreateAddressListImportJobRequest& WithClientToken(const char* value) { SetClientToken(value); return *this;} + ///@} + + ///@{ + /** + *

    The format of the input for an import job.

    + */ + inline const ImportDataFormat& GetImportDataFormat() const{ return m_importDataFormat; } + inline bool ImportDataFormatHasBeenSet() const { return m_importDataFormatHasBeenSet; } + inline void SetImportDataFormat(const ImportDataFormat& value) { m_importDataFormatHasBeenSet = true; m_importDataFormat = value; } + inline void SetImportDataFormat(ImportDataFormat&& value) { m_importDataFormatHasBeenSet = true; m_importDataFormat = std::move(value); } + inline CreateAddressListImportJobRequest& WithImportDataFormat(const ImportDataFormat& value) { SetImportDataFormat(value); return *this;} + inline CreateAddressListImportJobRequest& WithImportDataFormat(ImportDataFormat&& value) { SetImportDataFormat(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

    A user-friendly name for the import job.

    + */ + inline const Aws::String& GetName() const{ return m_name; } + inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } + inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } + inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } + inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } + inline CreateAddressListImportJobRequest& WithName(const Aws::String& value) { SetName(value); return *this;} + inline CreateAddressListImportJobRequest& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} + inline CreateAddressListImportJobRequest& WithName(const char* value) { SetName(value); return *this;} + ///@} + private: + + Aws::String m_addressListId; + bool m_addressListIdHasBeenSet = false; + + Aws::String m_clientToken; + bool m_clientTokenHasBeenSet = false; + + ImportDataFormat m_importDataFormat; + bool m_importDataFormatHasBeenSet = false; + + Aws::String m_name; + bool m_nameHasBeenSet = false; + }; + +} // namespace Model +} // namespace MailManager +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mailmanager/include/aws/mailmanager/model/CreateAddressListImportJobResult.h b/generated/src/aws-cpp-sdk-mailmanager/include/aws/mailmanager/model/CreateAddressListImportJobResult.h new file mode 100644 index 00000000000..1e4c7fdab90 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mailmanager/include/aws/mailmanager/model/CreateAddressListImportJobResult.h @@ -0,0 +1,82 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace MailManager +{ +namespace Model +{ + class CreateAddressListImportJobResult + { + public: + AWS_MAILMANAGER_API CreateAddressListImportJobResult(); + AWS_MAILMANAGER_API CreateAddressListImportJobResult(const Aws::AmazonWebServiceResult& result); + AWS_MAILMANAGER_API CreateAddressListImportJobResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

    The identifier of the created import job.

    + */ + inline const Aws::String& GetJobId() const{ return m_jobId; } + inline void SetJobId(const Aws::String& value) { m_jobId = value; } + inline void SetJobId(Aws::String&& value) { m_jobId = std::move(value); } + inline void SetJobId(const char* value) { m_jobId.assign(value); } + inline CreateAddressListImportJobResult& WithJobId(const Aws::String& value) { SetJobId(value); return *this;} + inline CreateAddressListImportJobResult& WithJobId(Aws::String&& value) { SetJobId(std::move(value)); return *this;} + inline CreateAddressListImportJobResult& WithJobId(const char* value) { SetJobId(value); return *this;} + ///@} + + ///@{ + /** + *

    The pre-signed URL target for uploading the input file.

    + */ + inline const Aws::String& GetPreSignedUrl() const{ return m_preSignedUrl; } + inline void SetPreSignedUrl(const Aws::String& value) { m_preSignedUrl = value; } + inline void SetPreSignedUrl(Aws::String&& value) { m_preSignedUrl = std::move(value); } + inline void SetPreSignedUrl(const char* value) { m_preSignedUrl.assign(value); } + inline CreateAddressListImportJobResult& WithPreSignedUrl(const Aws::String& value) { SetPreSignedUrl(value); return *this;} + inline CreateAddressListImportJobResult& WithPreSignedUrl(Aws::String&& value) { SetPreSignedUrl(std::move(value)); return *this;} + inline CreateAddressListImportJobResult& WithPreSignedUrl(const char* value) { SetPreSignedUrl(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline CreateAddressListImportJobResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline CreateAddressListImportJobResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline CreateAddressListImportJobResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_jobId; + + Aws::String m_preSignedUrl; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace MailManager +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mailmanager/include/aws/mailmanager/model/CreateAddressListRequest.h b/generated/src/aws-cpp-sdk-mailmanager/include/aws/mailmanager/model/CreateAddressListRequest.h new file mode 100644 index 00000000000..496dd1a45c7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mailmanager/include/aws/mailmanager/model/CreateAddressListRequest.h @@ -0,0 +1,97 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace MailManager +{ +namespace Model +{ + + /** + */ + class CreateAddressListRequest : public MailManagerRequest + { + public: + AWS_MAILMANAGER_API CreateAddressListRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "CreateAddressList"; } + + AWS_MAILMANAGER_API Aws::String SerializePayload() const override; + + AWS_MAILMANAGER_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + /** + *

    A user-friendly name for the address list.

    + */ + inline const Aws::String& GetAddressListName() const{ return m_addressListName; } + inline bool AddressListNameHasBeenSet() const { return m_addressListNameHasBeenSet; } + inline void SetAddressListName(const Aws::String& value) { m_addressListNameHasBeenSet = true; m_addressListName = value; } + inline void SetAddressListName(Aws::String&& value) { m_addressListNameHasBeenSet = true; m_addressListName = std::move(value); } + inline void SetAddressListName(const char* value) { m_addressListNameHasBeenSet = true; m_addressListName.assign(value); } + inline CreateAddressListRequest& WithAddressListName(const Aws::String& value) { SetAddressListName(value); return *this;} + inline CreateAddressListRequest& WithAddressListName(Aws::String&& value) { SetAddressListName(std::move(value)); return *this;} + inline CreateAddressListRequest& WithAddressListName(const char* value) { SetAddressListName(value); return *this;} + ///@} + + ///@{ + /** + *

    A unique token that Amazon SES uses to recognize subsequent retries of the + * same request.

    + */ + inline const Aws::String& GetClientToken() const{ return m_clientToken; } + inline bool ClientTokenHasBeenSet() const { return m_clientTokenHasBeenSet; } + inline void SetClientToken(const Aws::String& value) { m_clientTokenHasBeenSet = true; m_clientToken = value; } + inline void SetClientToken(Aws::String&& value) { m_clientTokenHasBeenSet = true; m_clientToken = std::move(value); } + inline void SetClientToken(const char* value) { m_clientTokenHasBeenSet = true; m_clientToken.assign(value); } + inline CreateAddressListRequest& WithClientToken(const Aws::String& value) { SetClientToken(value); return *this;} + inline CreateAddressListRequest& WithClientToken(Aws::String&& value) { SetClientToken(std::move(value)); return *this;} + inline CreateAddressListRequest& WithClientToken(const char* value) { SetClientToken(value); return *this;} + ///@} + + ///@{ + /** + *

    The tags used to organize, track, or control access for the resource. For + * example, { "tags": {"key1":"value1", "key2":"value2"} }.

    + */ + inline const Aws::Vector& GetTags() const{ return m_tags; } + inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } + inline void SetTags(const Aws::Vector& value) { m_tagsHasBeenSet = true; m_tags = value; } + inline void SetTags(Aws::Vector&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } + inline CreateAddressListRequest& WithTags(const Aws::Vector& value) { SetTags(value); return *this;} + inline CreateAddressListRequest& WithTags(Aws::Vector&& value) { SetTags(std::move(value)); return *this;} + inline CreateAddressListRequest& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; } + inline CreateAddressListRequest& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; } + ///@} + private: + + Aws::String m_addressListName; + bool m_addressListNameHasBeenSet = false; + + Aws::String m_clientToken; + bool m_clientTokenHasBeenSet = false; + + Aws::Vector m_tags; + bool m_tagsHasBeenSet = false; + }; + +} // namespace Model +} // namespace MailManager +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mailmanager/include/aws/mailmanager/model/CreateAddressListResult.h b/generated/src/aws-cpp-sdk-mailmanager/include/aws/mailmanager/model/CreateAddressListResult.h new file mode 100644 index 00000000000..1f3a6c14d80 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mailmanager/include/aws/mailmanager/model/CreateAddressListResult.h @@ -0,0 +1,67 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace MailManager +{ +namespace Model +{ + class CreateAddressListResult + { + public: + AWS_MAILMANAGER_API CreateAddressListResult(); + AWS_MAILMANAGER_API CreateAddressListResult(const Aws::AmazonWebServiceResult& result); + AWS_MAILMANAGER_API CreateAddressListResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

    The identifier of the created address list.

    + */ + inline const Aws::String& GetAddressListId() const{ return m_addressListId; } + inline void SetAddressListId(const Aws::String& value) { m_addressListId = value; } + inline void SetAddressListId(Aws::String&& value) { m_addressListId = std::move(value); } + inline void SetAddressListId(const char* value) { m_addressListId.assign(value); } + inline CreateAddressListResult& WithAddressListId(const Aws::String& value) { SetAddressListId(value); return *this;} + inline CreateAddressListResult& WithAddressListId(Aws::String&& value) { SetAddressListId(std::move(value)); return *this;} + inline CreateAddressListResult& WithAddressListId(const char* value) { SetAddressListId(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline CreateAddressListResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline CreateAddressListResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline CreateAddressListResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_addressListId; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace MailManager +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mailmanager/include/aws/mailmanager/model/DeleteAddressListRequest.h b/generated/src/aws-cpp-sdk-mailmanager/include/aws/mailmanager/model/DeleteAddressListRequest.h new file mode 100644 index 00000000000..b6498503570 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mailmanager/include/aws/mailmanager/model/DeleteAddressListRequest.h @@ -0,0 +1,58 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace MailManager +{ +namespace Model +{ + + /** + */ + class DeleteAddressListRequest : public MailManagerRequest + { + public: + AWS_MAILMANAGER_API DeleteAddressListRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "DeleteAddressList"; } + + AWS_MAILMANAGER_API Aws::String SerializePayload() const override; + + AWS_MAILMANAGER_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + /** + *

    The identifier of an existing address list resource to delete.

    + */ + inline const Aws::String& GetAddressListId() const{ return m_addressListId; } + inline bool AddressListIdHasBeenSet() const { return m_addressListIdHasBeenSet; } + inline void SetAddressListId(const Aws::String& value) { m_addressListIdHasBeenSet = true; m_addressListId = value; } + inline void SetAddressListId(Aws::String&& value) { m_addressListIdHasBeenSet = true; m_addressListId = std::move(value); } + inline void SetAddressListId(const char* value) { m_addressListIdHasBeenSet = true; m_addressListId.assign(value); } + inline DeleteAddressListRequest& WithAddressListId(const Aws::String& value) { SetAddressListId(value); return *this;} + inline DeleteAddressListRequest& WithAddressListId(Aws::String&& value) { SetAddressListId(std::move(value)); return *this;} + inline DeleteAddressListRequest& WithAddressListId(const char* value) { SetAddressListId(value); return *this;} + ///@} + private: + + Aws::String m_addressListId; + bool m_addressListIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace MailManager +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mailmanager/include/aws/mailmanager/model/DeleteAddressListResult.h b/generated/src/aws-cpp-sdk-mailmanager/include/aws/mailmanager/model/DeleteAddressListResult.h new file mode 100644 index 00000000000..0eb16e25b43 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mailmanager/include/aws/mailmanager/model/DeleteAddressListResult.h @@ -0,0 +1,52 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace MailManager +{ +namespace Model +{ + class DeleteAddressListResult + { + public: + AWS_MAILMANAGER_API DeleteAddressListResult(); + AWS_MAILMANAGER_API DeleteAddressListResult(const Aws::AmazonWebServiceResult& result); + AWS_MAILMANAGER_API DeleteAddressListResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline DeleteAddressListResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline DeleteAddressListResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline DeleteAddressListResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace MailManager +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mailmanager/include/aws/mailmanager/model/DeregisterMemberFromAddressListRequest.h b/generated/src/aws-cpp-sdk-mailmanager/include/aws/mailmanager/model/DeregisterMemberFromAddressListRequest.h new file mode 100644 index 00000000000..c8e3340c207 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mailmanager/include/aws/mailmanager/model/DeregisterMemberFromAddressListRequest.h @@ -0,0 +1,75 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace MailManager +{ +namespace Model +{ + + /** + */ + class DeregisterMemberFromAddressListRequest : public MailManagerRequest + { + public: + AWS_MAILMANAGER_API DeregisterMemberFromAddressListRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "DeregisterMemberFromAddressList"; } + + AWS_MAILMANAGER_API Aws::String SerializePayload() const override; + + AWS_MAILMANAGER_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + /** + *

    The address to be removed from the address list.

    + */ + inline const Aws::String& GetAddress() const{ return m_address; } + inline bool AddressHasBeenSet() const { return m_addressHasBeenSet; } + inline void SetAddress(const Aws::String& value) { m_addressHasBeenSet = true; m_address = value; } + inline void SetAddress(Aws::String&& value) { m_addressHasBeenSet = true; m_address = std::move(value); } + inline void SetAddress(const char* value) { m_addressHasBeenSet = true; m_address.assign(value); } + inline DeregisterMemberFromAddressListRequest& WithAddress(const Aws::String& value) { SetAddress(value); return *this;} + inline DeregisterMemberFromAddressListRequest& WithAddress(Aws::String&& value) { SetAddress(std::move(value)); return *this;} + inline DeregisterMemberFromAddressListRequest& WithAddress(const char* value) { SetAddress(value); return *this;} + ///@} + + ///@{ + /** + *

    The unique identifier of the address list to remove the address from.

    + */ + inline const Aws::String& GetAddressListId() const{ return m_addressListId; } + inline bool AddressListIdHasBeenSet() const { return m_addressListIdHasBeenSet; } + inline void SetAddressListId(const Aws::String& value) { m_addressListIdHasBeenSet = true; m_addressListId = value; } + inline void SetAddressListId(Aws::String&& value) { m_addressListIdHasBeenSet = true; m_addressListId = std::move(value); } + inline void SetAddressListId(const char* value) { m_addressListIdHasBeenSet = true; m_addressListId.assign(value); } + inline DeregisterMemberFromAddressListRequest& WithAddressListId(const Aws::String& value) { SetAddressListId(value); return *this;} + inline DeregisterMemberFromAddressListRequest& WithAddressListId(Aws::String&& value) { SetAddressListId(std::move(value)); return *this;} + inline DeregisterMemberFromAddressListRequest& WithAddressListId(const char* value) { SetAddressListId(value); return *this;} + ///@} + private: + + Aws::String m_address; + bool m_addressHasBeenSet = false; + + Aws::String m_addressListId; + bool m_addressListIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace MailManager +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mailmanager/include/aws/mailmanager/model/DeregisterMemberFromAddressListResult.h b/generated/src/aws-cpp-sdk-mailmanager/include/aws/mailmanager/model/DeregisterMemberFromAddressListResult.h new file mode 100644 index 00000000000..bc8144302d2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mailmanager/include/aws/mailmanager/model/DeregisterMemberFromAddressListResult.h @@ -0,0 +1,52 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace MailManager +{ +namespace Model +{ + class DeregisterMemberFromAddressListResult + { + public: + AWS_MAILMANAGER_API DeregisterMemberFromAddressListResult(); + AWS_MAILMANAGER_API DeregisterMemberFromAddressListResult(const Aws::AmazonWebServiceResult& result); + AWS_MAILMANAGER_API DeregisterMemberFromAddressListResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline DeregisterMemberFromAddressListResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline DeregisterMemberFromAddressListResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline DeregisterMemberFromAddressListResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace MailManager +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mailmanager/include/aws/mailmanager/model/GetAddressListImportJobRequest.h b/generated/src/aws-cpp-sdk-mailmanager/include/aws/mailmanager/model/GetAddressListImportJobRequest.h new file mode 100644 index 00000000000..a7af718b7f5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mailmanager/include/aws/mailmanager/model/GetAddressListImportJobRequest.h @@ -0,0 +1,58 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace MailManager +{ +namespace Model +{ + + /** + */ + class GetAddressListImportJobRequest : public MailManagerRequest + { + public: + AWS_MAILMANAGER_API GetAddressListImportJobRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "GetAddressListImportJob"; } + + AWS_MAILMANAGER_API Aws::String SerializePayload() const override; + + AWS_MAILMANAGER_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + /** + *

    The identifier of the import job that needs to be retrieved.

    + */ + inline const Aws::String& GetJobId() const{ return m_jobId; } + inline bool JobIdHasBeenSet() const { return m_jobIdHasBeenSet; } + inline void SetJobId(const Aws::String& value) { m_jobIdHasBeenSet = true; m_jobId = value; } + inline void SetJobId(Aws::String&& value) { m_jobIdHasBeenSet = true; m_jobId = std::move(value); } + inline void SetJobId(const char* value) { m_jobIdHasBeenSet = true; m_jobId.assign(value); } + inline GetAddressListImportJobRequest& WithJobId(const Aws::String& value) { SetJobId(value); return *this;} + inline GetAddressListImportJobRequest& WithJobId(Aws::String&& value) { SetJobId(std::move(value)); return *this;} + inline GetAddressListImportJobRequest& WithJobId(const char* value) { SetJobId(value); return *this;} + ///@} + private: + + Aws::String m_jobId; + bool m_jobIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace MailManager +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mailmanager/include/aws/mailmanager/model/GetAddressListImportJobResult.h b/generated/src/aws-cpp-sdk-mailmanager/include/aws/mailmanager/model/GetAddressListImportJobResult.h new file mode 100644 index 00000000000..24c39056890 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mailmanager/include/aws/mailmanager/model/GetAddressListImportJobResult.h @@ -0,0 +1,219 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace MailManager +{ +namespace Model +{ + class GetAddressListImportJobResult + { + public: + AWS_MAILMANAGER_API GetAddressListImportJobResult(); + AWS_MAILMANAGER_API GetAddressListImportJobResult(const Aws::AmazonWebServiceResult& result); + AWS_MAILMANAGER_API GetAddressListImportJobResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

    The unique identifier of the address list the import job was created for.

    + */ + inline const Aws::String& GetAddressListId() const{ return m_addressListId; } + inline void SetAddressListId(const Aws::String& value) { m_addressListId = value; } + inline void SetAddressListId(Aws::String&& value) { m_addressListId = std::move(value); } + inline void SetAddressListId(const char* value) { m_addressListId.assign(value); } + inline GetAddressListImportJobResult& WithAddressListId(const Aws::String& value) { SetAddressListId(value); return *this;} + inline GetAddressListImportJobResult& WithAddressListId(Aws::String&& value) { SetAddressListId(std::move(value)); return *this;} + inline GetAddressListImportJobResult& WithAddressListId(const char* value) { SetAddressListId(value); return *this;} + ///@} + + ///@{ + /** + *

    The timestamp of when the import job was completed.

    + */ + inline const Aws::Utils::DateTime& GetCompletedTimestamp() const{ return m_completedTimestamp; } + inline void SetCompletedTimestamp(const Aws::Utils::DateTime& value) { m_completedTimestamp = value; } + inline void SetCompletedTimestamp(Aws::Utils::DateTime&& value) { m_completedTimestamp = std::move(value); } + inline GetAddressListImportJobResult& WithCompletedTimestamp(const Aws::Utils::DateTime& value) { SetCompletedTimestamp(value); return *this;} + inline GetAddressListImportJobResult& WithCompletedTimestamp(Aws::Utils::DateTime&& value) { SetCompletedTimestamp(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

    The timestamp of when the import job was created.

    + */ + inline const Aws::Utils::DateTime& GetCreatedTimestamp() const{ return m_createdTimestamp; } + inline void SetCreatedTimestamp(const Aws::Utils::DateTime& value) { m_createdTimestamp = value; } + inline void SetCreatedTimestamp(Aws::Utils::DateTime&& value) { m_createdTimestamp = std::move(value); } + inline GetAddressListImportJobResult& WithCreatedTimestamp(const Aws::Utils::DateTime& value) { SetCreatedTimestamp(value); return *this;} + inline GetAddressListImportJobResult& WithCreatedTimestamp(Aws::Utils::DateTime&& value) { SetCreatedTimestamp(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

    The reason for failure of an import job.

    + */ + inline const Aws::String& GetError() const{ return m_error; } + inline void SetError(const Aws::String& value) { m_error = value; } + inline void SetError(Aws::String&& value) { m_error = std::move(value); } + inline void SetError(const char* value) { m_error.assign(value); } + inline GetAddressListImportJobResult& WithError(const Aws::String& value) { SetError(value); return *this;} + inline GetAddressListImportJobResult& WithError(Aws::String&& value) { SetError(std::move(value)); return *this;} + inline GetAddressListImportJobResult& WithError(const char* value) { SetError(value); return *this;} + ///@} + + ///@{ + /** + *

    The number of input addresses that failed to be imported into the address + * list.

    + */ + inline int GetFailedItemsCount() const{ return m_failedItemsCount; } + inline void SetFailedItemsCount(int value) { m_failedItemsCount = value; } + inline GetAddressListImportJobResult& WithFailedItemsCount(int value) { SetFailedItemsCount(value); return *this;} + ///@} + + ///@{ + /** + *

    The format of the input for an import job.

    + */ + inline const ImportDataFormat& GetImportDataFormat() const{ return m_importDataFormat; } + inline void SetImportDataFormat(const ImportDataFormat& value) { m_importDataFormat = value; } + inline void SetImportDataFormat(ImportDataFormat&& value) { m_importDataFormat = std::move(value); } + inline GetAddressListImportJobResult& WithImportDataFormat(const ImportDataFormat& value) { SetImportDataFormat(value); return *this;} + inline GetAddressListImportJobResult& WithImportDataFormat(ImportDataFormat&& value) { SetImportDataFormat(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

    The number of input addresses successfully imported into the address + * list.

    + */ + inline int GetImportedItemsCount() const{ return m_importedItemsCount; } + inline void SetImportedItemsCount(int value) { m_importedItemsCount = value; } + inline GetAddressListImportJobResult& WithImportedItemsCount(int value) { SetImportedItemsCount(value); return *this;} + ///@} + + ///@{ + /** + *

    The identifier of the import job.

    + */ + inline const Aws::String& GetJobId() const{ return m_jobId; } + inline void SetJobId(const Aws::String& value) { m_jobId = value; } + inline void SetJobId(Aws::String&& value) { m_jobId = std::move(value); } + inline void SetJobId(const char* value) { m_jobId.assign(value); } + inline GetAddressListImportJobResult& WithJobId(const Aws::String& value) { SetJobId(value); return *this;} + inline GetAddressListImportJobResult& WithJobId(Aws::String&& value) { SetJobId(std::move(value)); return *this;} + inline GetAddressListImportJobResult& WithJobId(const char* value) { SetJobId(value); return *this;} + ///@} + + ///@{ + /** + *

    A user-friendly name for the import job.

    + */ + inline const Aws::String& GetName() const{ return m_name; } + inline void SetName(const Aws::String& value) { m_name = value; } + inline void SetName(Aws::String&& value) { m_name = std::move(value); } + inline void SetName(const char* value) { m_name.assign(value); } + inline GetAddressListImportJobResult& WithName(const Aws::String& value) { SetName(value); return *this;} + inline GetAddressListImportJobResult& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} + inline GetAddressListImportJobResult& WithName(const char* value) { SetName(value); return *this;} + ///@} + + ///@{ + /** + *

    The pre-signed URL target for uploading the input file.

    + */ + inline const Aws::String& GetPreSignedUrl() const{ return m_preSignedUrl; } + inline void SetPreSignedUrl(const Aws::String& value) { m_preSignedUrl = value; } + inline void SetPreSignedUrl(Aws::String&& value) { m_preSignedUrl = std::move(value); } + inline void SetPreSignedUrl(const char* value) { m_preSignedUrl.assign(value); } + inline GetAddressListImportJobResult& WithPreSignedUrl(const Aws::String& value) { SetPreSignedUrl(value); return *this;} + inline GetAddressListImportJobResult& WithPreSignedUrl(Aws::String&& value) { SetPreSignedUrl(std::move(value)); return *this;} + inline GetAddressListImportJobResult& WithPreSignedUrl(const char* value) { SetPreSignedUrl(value); return *this;} + ///@} + + ///@{ + /** + *

    The timestamp of when the import job was started.

    + */ + inline const Aws::Utils::DateTime& GetStartTimestamp() const{ return m_startTimestamp; } + inline void SetStartTimestamp(const Aws::Utils::DateTime& value) { m_startTimestamp = value; } + inline void SetStartTimestamp(Aws::Utils::DateTime&& value) { m_startTimestamp = std::move(value); } + inline GetAddressListImportJobResult& WithStartTimestamp(const Aws::Utils::DateTime& value) { SetStartTimestamp(value); return *this;} + inline GetAddressListImportJobResult& WithStartTimestamp(Aws::Utils::DateTime&& value) { SetStartTimestamp(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

    The status of the import job.

    + */ + inline const ImportJobStatus& GetStatus() const{ return m_status; } + inline void SetStatus(const ImportJobStatus& value) { m_status = value; } + inline void SetStatus(ImportJobStatus&& value) { m_status = std::move(value); } + inline GetAddressListImportJobResult& WithStatus(const ImportJobStatus& value) { SetStatus(value); return *this;} + inline GetAddressListImportJobResult& WithStatus(ImportJobStatus&& value) { SetStatus(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline GetAddressListImportJobResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline GetAddressListImportJobResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline GetAddressListImportJobResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_addressListId; + + Aws::Utils::DateTime m_completedTimestamp; + + Aws::Utils::DateTime m_createdTimestamp; + + Aws::String m_error; + + int m_failedItemsCount; + + ImportDataFormat m_importDataFormat; + + int m_importedItemsCount; + + Aws::String m_jobId; + + Aws::String m_name; + + Aws::String m_preSignedUrl; + + Aws::Utils::DateTime m_startTimestamp; + + ImportJobStatus m_status; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace MailManager +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mailmanager/include/aws/mailmanager/model/GetAddressListRequest.h b/generated/src/aws-cpp-sdk-mailmanager/include/aws/mailmanager/model/GetAddressListRequest.h new file mode 100644 index 00000000000..74c7fe31a31 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mailmanager/include/aws/mailmanager/model/GetAddressListRequest.h @@ -0,0 +1,58 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace MailManager +{ +namespace Model +{ + + /** + */ + class GetAddressListRequest : public MailManagerRequest + { + public: + AWS_MAILMANAGER_API GetAddressListRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "GetAddressList"; } + + AWS_MAILMANAGER_API Aws::String SerializePayload() const override; + + AWS_MAILMANAGER_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + /** + *

    The identifier of an existing address list resource to be retrieved.

    + */ + inline const Aws::String& GetAddressListId() const{ return m_addressListId; } + inline bool AddressListIdHasBeenSet() const { return m_addressListIdHasBeenSet; } + inline void SetAddressListId(const Aws::String& value) { m_addressListIdHasBeenSet = true; m_addressListId = value; } + inline void SetAddressListId(Aws::String&& value) { m_addressListIdHasBeenSet = true; m_addressListId = std::move(value); } + inline void SetAddressListId(const char* value) { m_addressListIdHasBeenSet = true; m_addressListId.assign(value); } + inline GetAddressListRequest& WithAddressListId(const Aws::String& value) { SetAddressListId(value); return *this;} + inline GetAddressListRequest& WithAddressListId(Aws::String&& value) { SetAddressListId(std::move(value)); return *this;} + inline GetAddressListRequest& WithAddressListId(const char* value) { SetAddressListId(value); return *this;} + ///@} + private: + + Aws::String m_addressListId; + bool m_addressListIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace MailManager +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mailmanager/include/aws/mailmanager/model/GetAddressListResult.h b/generated/src/aws-cpp-sdk-mailmanager/include/aws/mailmanager/model/GetAddressListResult.h new file mode 100644 index 00000000000..d8114c3d2d2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mailmanager/include/aws/mailmanager/model/GetAddressListResult.h @@ -0,0 +1,124 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace MailManager +{ +namespace Model +{ + class GetAddressListResult + { + public: + AWS_MAILMANAGER_API GetAddressListResult(); + AWS_MAILMANAGER_API GetAddressListResult(const Aws::AmazonWebServiceResult& result); + AWS_MAILMANAGER_API GetAddressListResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

    The Amazon Resource Name (ARN) of the address list resource.

    + */ + inline const Aws::String& GetAddressListArn() const{ return m_addressListArn; } + inline void SetAddressListArn(const Aws::String& value) { m_addressListArn = value; } + inline void SetAddressListArn(Aws::String&& value) { m_addressListArn = std::move(value); } + inline void SetAddressListArn(const char* value) { m_addressListArn.assign(value); } + inline GetAddressListResult& WithAddressListArn(const Aws::String& value) { SetAddressListArn(value); return *this;} + inline GetAddressListResult& WithAddressListArn(Aws::String&& value) { SetAddressListArn(std::move(value)); return *this;} + inline GetAddressListResult& WithAddressListArn(const char* value) { SetAddressListArn(value); return *this;} + ///@} + + ///@{ + /** + *

    The identifier of the address list resource.

    + */ + inline const Aws::String& GetAddressListId() const{ return m_addressListId; } + inline void SetAddressListId(const Aws::String& value) { m_addressListId = value; } + inline void SetAddressListId(Aws::String&& value) { m_addressListId = std::move(value); } + inline void SetAddressListId(const char* value) { m_addressListId.assign(value); } + inline GetAddressListResult& WithAddressListId(const Aws::String& value) { SetAddressListId(value); return *this;} + inline GetAddressListResult& WithAddressListId(Aws::String&& value) { SetAddressListId(std::move(value)); return *this;} + inline GetAddressListResult& WithAddressListId(const char* value) { SetAddressListId(value); return *this;} + ///@} + + ///@{ + /** + *

    A user-friendly name for the address list resource.

    + */ + inline const Aws::String& GetAddressListName() const{ return m_addressListName; } + inline void SetAddressListName(const Aws::String& value) { m_addressListName = value; } + inline void SetAddressListName(Aws::String&& value) { m_addressListName = std::move(value); } + inline void SetAddressListName(const char* value) { m_addressListName.assign(value); } + inline GetAddressListResult& WithAddressListName(const Aws::String& value) { SetAddressListName(value); return *this;} + inline GetAddressListResult& WithAddressListName(Aws::String&& value) { SetAddressListName(std::move(value)); return *this;} + inline GetAddressListResult& WithAddressListName(const char* value) { SetAddressListName(value); return *this;} + ///@} + + ///@{ + /** + *

    The date of when then address list was created.

    + */ + inline const Aws::Utils::DateTime& GetCreatedTimestamp() const{ return m_createdTimestamp; } + inline void SetCreatedTimestamp(const Aws::Utils::DateTime& value) { m_createdTimestamp = value; } + inline void SetCreatedTimestamp(Aws::Utils::DateTime&& value) { m_createdTimestamp = std::move(value); } + inline GetAddressListResult& WithCreatedTimestamp(const Aws::Utils::DateTime& value) { SetCreatedTimestamp(value); return *this;} + inline GetAddressListResult& WithCreatedTimestamp(Aws::Utils::DateTime&& value) { SetCreatedTimestamp(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

    The date of when the address list was last updated.

    + */ + inline const Aws::Utils::DateTime& GetLastUpdatedTimestamp() const{ return m_lastUpdatedTimestamp; } + inline void SetLastUpdatedTimestamp(const Aws::Utils::DateTime& value) { m_lastUpdatedTimestamp = value; } + inline void SetLastUpdatedTimestamp(Aws::Utils::DateTime&& value) { m_lastUpdatedTimestamp = std::move(value); } + inline GetAddressListResult& WithLastUpdatedTimestamp(const Aws::Utils::DateTime& value) { SetLastUpdatedTimestamp(value); return *this;} + inline GetAddressListResult& WithLastUpdatedTimestamp(Aws::Utils::DateTime&& value) { SetLastUpdatedTimestamp(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline GetAddressListResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline GetAddressListResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline GetAddressListResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_addressListArn; + + Aws::String m_addressListId; + + Aws::String m_addressListName; + + Aws::Utils::DateTime m_createdTimestamp; + + Aws::Utils::DateTime m_lastUpdatedTimestamp; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace MailManager +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mailmanager/include/aws/mailmanager/model/GetMemberOfAddressListRequest.h b/generated/src/aws-cpp-sdk-mailmanager/include/aws/mailmanager/model/GetMemberOfAddressListRequest.h new file mode 100644 index 00000000000..f84e8a2ae96 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mailmanager/include/aws/mailmanager/model/GetMemberOfAddressListRequest.h @@ -0,0 +1,75 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace MailManager +{ +namespace Model +{ + + /** + */ + class GetMemberOfAddressListRequest : public MailManagerRequest + { + public: + AWS_MAILMANAGER_API GetMemberOfAddressListRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "GetMemberOfAddressList"; } + + AWS_MAILMANAGER_API Aws::String SerializePayload() const override; + + AWS_MAILMANAGER_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + /** + *

    The address to be retrieved from the address list.

    + */ + inline const Aws::String& GetAddress() const{ return m_address; } + inline bool AddressHasBeenSet() const { return m_addressHasBeenSet; } + inline void SetAddress(const Aws::String& value) { m_addressHasBeenSet = true; m_address = value; } + inline void SetAddress(Aws::String&& value) { m_addressHasBeenSet = true; m_address = std::move(value); } + inline void SetAddress(const char* value) { m_addressHasBeenSet = true; m_address.assign(value); } + inline GetMemberOfAddressListRequest& WithAddress(const Aws::String& value) { SetAddress(value); return *this;} + inline GetMemberOfAddressListRequest& WithAddress(Aws::String&& value) { SetAddress(std::move(value)); return *this;} + inline GetMemberOfAddressListRequest& WithAddress(const char* value) { SetAddress(value); return *this;} + ///@} + + ///@{ + /** + *

    The unique identifier of the address list to retrieve the address from.

    + */ + inline const Aws::String& GetAddressListId() const{ return m_addressListId; } + inline bool AddressListIdHasBeenSet() const { return m_addressListIdHasBeenSet; } + inline void SetAddressListId(const Aws::String& value) { m_addressListIdHasBeenSet = true; m_addressListId = value; } + inline void SetAddressListId(Aws::String&& value) { m_addressListIdHasBeenSet = true; m_addressListId = std::move(value); } + inline void SetAddressListId(const char* value) { m_addressListIdHasBeenSet = true; m_addressListId.assign(value); } + inline GetMemberOfAddressListRequest& WithAddressListId(const Aws::String& value) { SetAddressListId(value); return *this;} + inline GetMemberOfAddressListRequest& WithAddressListId(Aws::String&& value) { SetAddressListId(std::move(value)); return *this;} + inline GetMemberOfAddressListRequest& WithAddressListId(const char* value) { SetAddressListId(value); return *this;} + ///@} + private: + + Aws::String m_address; + bool m_addressHasBeenSet = false; + + Aws::String m_addressListId; + bool m_addressListIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace MailManager +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mailmanager/include/aws/mailmanager/model/GetMemberOfAddressListResult.h b/generated/src/aws-cpp-sdk-mailmanager/include/aws/mailmanager/model/GetMemberOfAddressListResult.h new file mode 100644 index 00000000000..e764f37c12b --- /dev/null +++ b/generated/src/aws-cpp-sdk-mailmanager/include/aws/mailmanager/model/GetMemberOfAddressListResult.h @@ -0,0 +1,81 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace MailManager +{ +namespace Model +{ + class GetMemberOfAddressListResult + { + public: + AWS_MAILMANAGER_API GetMemberOfAddressListResult(); + AWS_MAILMANAGER_API GetMemberOfAddressListResult(const Aws::AmazonWebServiceResult& result); + AWS_MAILMANAGER_API GetMemberOfAddressListResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

    The address retrieved from the address list.

    + */ + inline const Aws::String& GetAddress() const{ return m_address; } + inline void SetAddress(const Aws::String& value) { m_address = value; } + inline void SetAddress(Aws::String&& value) { m_address = std::move(value); } + inline void SetAddress(const char* value) { m_address.assign(value); } + inline GetMemberOfAddressListResult& WithAddress(const Aws::String& value) { SetAddress(value); return *this;} + inline GetMemberOfAddressListResult& WithAddress(Aws::String&& value) { SetAddress(std::move(value)); return *this;} + inline GetMemberOfAddressListResult& WithAddress(const char* value) { SetAddress(value); return *this;} + ///@} + + ///@{ + /** + *

    The timestamp of when the address was created.

    + */ + inline const Aws::Utils::DateTime& GetCreatedTimestamp() const{ return m_createdTimestamp; } + inline void SetCreatedTimestamp(const Aws::Utils::DateTime& value) { m_createdTimestamp = value; } + inline void SetCreatedTimestamp(Aws::Utils::DateTime&& value) { m_createdTimestamp = std::move(value); } + inline GetMemberOfAddressListResult& WithCreatedTimestamp(const Aws::Utils::DateTime& value) { SetCreatedTimestamp(value); return *this;} + inline GetMemberOfAddressListResult& WithCreatedTimestamp(Aws::Utils::DateTime&& value) { SetCreatedTimestamp(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline GetMemberOfAddressListResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline GetMemberOfAddressListResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline GetMemberOfAddressListResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_address; + + Aws::Utils::DateTime m_createdTimestamp; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace MailManager +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mailmanager/include/aws/mailmanager/model/ImportDataFormat.h b/generated/src/aws-cpp-sdk-mailmanager/include/aws/mailmanager/model/ImportDataFormat.h new file mode 100644 index 00000000000..58ad88e0687 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mailmanager/include/aws/mailmanager/model/ImportDataFormat.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace MailManager +{ +namespace Model +{ + + /** + *

    The import data format contains the specifications of the input file that + * would be passed to the address list import job.

    See Also:

    AWS + * API Reference

    + */ + class ImportDataFormat + { + public: + AWS_MAILMANAGER_API ImportDataFormat(); + AWS_MAILMANAGER_API ImportDataFormat(Aws::Utils::Json::JsonView jsonValue); + AWS_MAILMANAGER_API ImportDataFormat& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_MAILMANAGER_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

    The type of file that would be passed as an input for the address list import + * job.

    + */ + inline const ImportDataType& GetImportDataType() const{ return m_importDataType; } + inline bool ImportDataTypeHasBeenSet() const { return m_importDataTypeHasBeenSet; } + inline void SetImportDataType(const ImportDataType& value) { m_importDataTypeHasBeenSet = true; m_importDataType = value; } + inline void SetImportDataType(ImportDataType&& value) { m_importDataTypeHasBeenSet = true; m_importDataType = std::move(value); } + inline ImportDataFormat& WithImportDataType(const ImportDataType& value) { SetImportDataType(value); return *this;} + inline ImportDataFormat& WithImportDataType(ImportDataType&& value) { SetImportDataType(std::move(value)); return *this;} + ///@} + private: + + ImportDataType m_importDataType; + bool m_importDataTypeHasBeenSet = false; + }; + +} // namespace Model +} // namespace MailManager +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mailmanager/include/aws/mailmanager/model/ImportDataType.h b/generated/src/aws-cpp-sdk-mailmanager/include/aws/mailmanager/model/ImportDataType.h new file mode 100644 index 00000000000..46f759a3269 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mailmanager/include/aws/mailmanager/model/ImportDataType.h @@ -0,0 +1,31 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace MailManager +{ +namespace Model +{ + enum class ImportDataType + { + NOT_SET, + CSV, + JSON + }; + +namespace ImportDataTypeMapper +{ +AWS_MAILMANAGER_API ImportDataType GetImportDataTypeForName(const Aws::String& name); + +AWS_MAILMANAGER_API Aws::String GetNameForImportDataType(ImportDataType value); +} // namespace ImportDataTypeMapper +} // namespace Model +} // namespace MailManager +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mailmanager/include/aws/mailmanager/model/ImportJob.h b/generated/src/aws-cpp-sdk-mailmanager/include/aws/mailmanager/model/ImportJob.h new file mode 100644 index 00000000000..6c7fde183ea --- /dev/null +++ b/generated/src/aws-cpp-sdk-mailmanager/include/aws/mailmanager/model/ImportJob.h @@ -0,0 +1,235 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace MailManager +{ +namespace Model +{ + + /** + *

    Details about an import job.

    See Also:

    AWS + * API Reference

    + */ + class ImportJob + { + public: + AWS_MAILMANAGER_API ImportJob(); + AWS_MAILMANAGER_API ImportJob(Aws::Utils::Json::JsonView jsonValue); + AWS_MAILMANAGER_API ImportJob& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_MAILMANAGER_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

    The unique identifier of the address list the import job was created for.

    + */ + inline const Aws::String& GetAddressListId() const{ return m_addressListId; } + inline bool AddressListIdHasBeenSet() const { return m_addressListIdHasBeenSet; } + inline void SetAddressListId(const Aws::String& value) { m_addressListIdHasBeenSet = true; m_addressListId = value; } + inline void SetAddressListId(Aws::String&& value) { m_addressListIdHasBeenSet = true; m_addressListId = std::move(value); } + inline void SetAddressListId(const char* value) { m_addressListIdHasBeenSet = true; m_addressListId.assign(value); } + inline ImportJob& WithAddressListId(const Aws::String& value) { SetAddressListId(value); return *this;} + inline ImportJob& WithAddressListId(Aws::String&& value) { SetAddressListId(std::move(value)); return *this;} + inline ImportJob& WithAddressListId(const char* value) { SetAddressListId(value); return *this;} + ///@} + + ///@{ + /** + *

    The timestamp of when the import job was completed.

    + */ + inline const Aws::Utils::DateTime& GetCompletedTimestamp() const{ return m_completedTimestamp; } + inline bool CompletedTimestampHasBeenSet() const { return m_completedTimestampHasBeenSet; } + inline void SetCompletedTimestamp(const Aws::Utils::DateTime& value) { m_completedTimestampHasBeenSet = true; m_completedTimestamp = value; } + inline void SetCompletedTimestamp(Aws::Utils::DateTime&& value) { m_completedTimestampHasBeenSet = true; m_completedTimestamp = std::move(value); } + inline ImportJob& WithCompletedTimestamp(const Aws::Utils::DateTime& value) { SetCompletedTimestamp(value); return *this;} + inline ImportJob& WithCompletedTimestamp(Aws::Utils::DateTime&& value) { SetCompletedTimestamp(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

    The timestamp of when the import job was created.

    + */ + inline const Aws::Utils::DateTime& GetCreatedTimestamp() const{ return m_createdTimestamp; } + inline bool CreatedTimestampHasBeenSet() const { return m_createdTimestampHasBeenSet; } + inline void SetCreatedTimestamp(const Aws::Utils::DateTime& value) { m_createdTimestampHasBeenSet = true; m_createdTimestamp = value; } + inline void SetCreatedTimestamp(Aws::Utils::DateTime&& value) { m_createdTimestampHasBeenSet = true; m_createdTimestamp = std::move(value); } + inline ImportJob& WithCreatedTimestamp(const Aws::Utils::DateTime& value) { SetCreatedTimestamp(value); return *this;} + inline ImportJob& WithCreatedTimestamp(Aws::Utils::DateTime&& value) { SetCreatedTimestamp(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

    The reason for failure of an import job.

    + */ + inline const Aws::String& GetError() const{ return m_error; } + inline bool ErrorHasBeenSet() const { return m_errorHasBeenSet; } + inline void SetError(const Aws::String& value) { m_errorHasBeenSet = true; m_error = value; } + inline void SetError(Aws::String&& value) { m_errorHasBeenSet = true; m_error = std::move(value); } + inline void SetError(const char* value) { m_errorHasBeenSet = true; m_error.assign(value); } + inline ImportJob& WithError(const Aws::String& value) { SetError(value); return *this;} + inline ImportJob& WithError(Aws::String&& value) { SetError(std::move(value)); return *this;} + inline ImportJob& WithError(const char* value) { SetError(value); return *this;} + ///@} + + ///@{ + /** + *

    The number of addresses in the input that failed to get imported into address + * list.

    + */ + inline int GetFailedItemsCount() const{ return m_failedItemsCount; } + inline bool FailedItemsCountHasBeenSet() const { return m_failedItemsCountHasBeenSet; } + inline void SetFailedItemsCount(int value) { m_failedItemsCountHasBeenSet = true; m_failedItemsCount = value; } + inline ImportJob& WithFailedItemsCount(int value) { SetFailedItemsCount(value); return *this;} + ///@} + + ///@{ + /** + *

    The format of the input for the import job.

    + */ + inline const ImportDataFormat& GetImportDataFormat() const{ return m_importDataFormat; } + inline bool ImportDataFormatHasBeenSet() const { return m_importDataFormatHasBeenSet; } + inline void SetImportDataFormat(const ImportDataFormat& value) { m_importDataFormatHasBeenSet = true; m_importDataFormat = value; } + inline void SetImportDataFormat(ImportDataFormat&& value) { m_importDataFormatHasBeenSet = true; m_importDataFormat = std::move(value); } + inline ImportJob& WithImportDataFormat(const ImportDataFormat& value) { SetImportDataFormat(value); return *this;} + inline ImportJob& WithImportDataFormat(ImportDataFormat&& value) { SetImportDataFormat(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

    The number of addresses in the input that were successfully imported into the + * address list.

    + */ + inline int GetImportedItemsCount() const{ return m_importedItemsCount; } + inline bool ImportedItemsCountHasBeenSet() const { return m_importedItemsCountHasBeenSet; } + inline void SetImportedItemsCount(int value) { m_importedItemsCountHasBeenSet = true; m_importedItemsCount = value; } + inline ImportJob& WithImportedItemsCount(int value) { SetImportedItemsCount(value); return *this;} + ///@} + + ///@{ + /** + *

    The identifier of the import job.

    + */ + inline const Aws::String& GetJobId() const{ return m_jobId; } + inline bool JobIdHasBeenSet() const { return m_jobIdHasBeenSet; } + inline void SetJobId(const Aws::String& value) { m_jobIdHasBeenSet = true; m_jobId = value; } + inline void SetJobId(Aws::String&& value) { m_jobIdHasBeenSet = true; m_jobId = std::move(value); } + inline void SetJobId(const char* value) { m_jobIdHasBeenSet = true; m_jobId.assign(value); } + inline ImportJob& WithJobId(const Aws::String& value) { SetJobId(value); return *this;} + inline ImportJob& WithJobId(Aws::String&& value) { SetJobId(std::move(value)); return *this;} + inline ImportJob& WithJobId(const char* value) { SetJobId(value); return *this;} + ///@} + + ///@{ + /** + *

    A user-friendly name for the import job.

    + */ + inline const Aws::String& GetName() const{ return m_name; } + inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } + inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } + inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } + inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } + inline ImportJob& WithName(const Aws::String& value) { SetName(value); return *this;} + inline ImportJob& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} + inline ImportJob& WithName(const char* value) { SetName(value); return *this;} + ///@} + + ///@{ + /** + *

    The pre-signed URL target for uploading the input file.

    + */ + inline const Aws::String& GetPreSignedUrl() const{ return m_preSignedUrl; } + inline bool PreSignedUrlHasBeenSet() const { return m_preSignedUrlHasBeenSet; } + inline void SetPreSignedUrl(const Aws::String& value) { m_preSignedUrlHasBeenSet = true; m_preSignedUrl = value; } + inline void SetPreSignedUrl(Aws::String&& value) { m_preSignedUrlHasBeenSet = true; m_preSignedUrl = std::move(value); } + inline void SetPreSignedUrl(const char* value) { m_preSignedUrlHasBeenSet = true; m_preSignedUrl.assign(value); } + inline ImportJob& WithPreSignedUrl(const Aws::String& value) { SetPreSignedUrl(value); return *this;} + inline ImportJob& WithPreSignedUrl(Aws::String&& value) { SetPreSignedUrl(std::move(value)); return *this;} + inline ImportJob& WithPreSignedUrl(const char* value) { SetPreSignedUrl(value); return *this;} + ///@} + + ///@{ + /** + *

    The timestamp of when the import job was started.

    + */ + inline const Aws::Utils::DateTime& GetStartTimestamp() const{ return m_startTimestamp; } + inline bool StartTimestampHasBeenSet() const { return m_startTimestampHasBeenSet; } + inline void SetStartTimestamp(const Aws::Utils::DateTime& value) { m_startTimestampHasBeenSet = true; m_startTimestamp = value; } + inline void SetStartTimestamp(Aws::Utils::DateTime&& value) { m_startTimestampHasBeenSet = true; m_startTimestamp = std::move(value); } + inline ImportJob& WithStartTimestamp(const Aws::Utils::DateTime& value) { SetStartTimestamp(value); return *this;} + inline ImportJob& WithStartTimestamp(Aws::Utils::DateTime&& value) { SetStartTimestamp(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

    The status of the import job.

    + */ + inline const ImportJobStatus& GetStatus() const{ return m_status; } + inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } + inline void SetStatus(const ImportJobStatus& value) { m_statusHasBeenSet = true; m_status = value; } + inline void SetStatus(ImportJobStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } + inline ImportJob& WithStatus(const ImportJobStatus& value) { SetStatus(value); return *this;} + inline ImportJob& WithStatus(ImportJobStatus&& value) { SetStatus(std::move(value)); return *this;} + ///@} + private: + + Aws::String m_addressListId; + bool m_addressListIdHasBeenSet = false; + + Aws::Utils::DateTime m_completedTimestamp; + bool m_completedTimestampHasBeenSet = false; + + Aws::Utils::DateTime m_createdTimestamp; + bool m_createdTimestampHasBeenSet = false; + + Aws::String m_error; + bool m_errorHasBeenSet = false; + + int m_failedItemsCount; + bool m_failedItemsCountHasBeenSet = false; + + ImportDataFormat m_importDataFormat; + bool m_importDataFormatHasBeenSet = false; + + int m_importedItemsCount; + bool m_importedItemsCountHasBeenSet = false; + + Aws::String m_jobId; + bool m_jobIdHasBeenSet = false; + + Aws::String m_name; + bool m_nameHasBeenSet = false; + + Aws::String m_preSignedUrl; + bool m_preSignedUrlHasBeenSet = false; + + Aws::Utils::DateTime m_startTimestamp; + bool m_startTimestampHasBeenSet = false; + + ImportJobStatus m_status; + bool m_statusHasBeenSet = false; + }; + +} // namespace Model +} // namespace MailManager +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mailmanager/include/aws/mailmanager/model/ImportJobStatus.h b/generated/src/aws-cpp-sdk-mailmanager/include/aws/mailmanager/model/ImportJobStatus.h new file mode 100644 index 00000000000..ca3f8c5ecd7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mailmanager/include/aws/mailmanager/model/ImportJobStatus.h @@ -0,0 +1,34 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace MailManager +{ +namespace Model +{ + enum class ImportJobStatus + { + NOT_SET, + CREATED, + PROCESSING, + COMPLETED, + FAILED, + STOPPED + }; + +namespace ImportJobStatusMapper +{ +AWS_MAILMANAGER_API ImportJobStatus GetImportJobStatusForName(const Aws::String& name); + +AWS_MAILMANAGER_API Aws::String GetNameForImportJobStatus(ImportJobStatus value); +} // namespace ImportJobStatusMapper +} // namespace Model +} // namespace MailManager +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mailmanager/include/aws/mailmanager/model/IngressAddressListEmailAttribute.h b/generated/src/aws-cpp-sdk-mailmanager/include/aws/mailmanager/model/IngressAddressListEmailAttribute.h new file mode 100644 index 00000000000..996bd95c32f --- /dev/null +++ b/generated/src/aws-cpp-sdk-mailmanager/include/aws/mailmanager/model/IngressAddressListEmailAttribute.h @@ -0,0 +1,30 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace MailManager +{ +namespace Model +{ + enum class IngressAddressListEmailAttribute + { + NOT_SET, + RECIPIENT + }; + +namespace IngressAddressListEmailAttributeMapper +{ +AWS_MAILMANAGER_API IngressAddressListEmailAttribute GetIngressAddressListEmailAttributeForName(const Aws::String& name); + +AWS_MAILMANAGER_API Aws::String GetNameForIngressAddressListEmailAttribute(IngressAddressListEmailAttribute value); +} // namespace IngressAddressListEmailAttributeMapper +} // namespace Model +} // namespace MailManager +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mailmanager/include/aws/mailmanager/model/IngressBooleanToEvaluate.h b/generated/src/aws-cpp-sdk-mailmanager/include/aws/mailmanager/model/IngressBooleanToEvaluate.h index 37faf98aabe..beca18928c5 100644 --- a/generated/src/aws-cpp-sdk-mailmanager/include/aws/mailmanager/model/IngressBooleanToEvaluate.h +++ b/generated/src/aws-cpp-sdk-mailmanager/include/aws/mailmanager/model/IngressBooleanToEvaluate.h @@ -6,6 +6,7 @@ #pragma once #include #include +#include #include namespace Aws @@ -50,10 +51,26 @@ namespace Model inline IngressBooleanToEvaluate& WithAnalysis(const IngressAnalysis& value) { SetAnalysis(value); return *this;} inline IngressBooleanToEvaluate& WithAnalysis(IngressAnalysis&& value) { SetAnalysis(std::move(value)); return *this;} ///@} + + ///@{ + /** + *

    The structure type for a boolean condition that provides the address lists to + * evaluate incoming traffic on.

    + */ + inline const IngressIsInAddressList& GetIsInAddressList() const{ return m_isInAddressList; } + inline bool IsInAddressListHasBeenSet() const { return m_isInAddressListHasBeenSet; } + inline void SetIsInAddressList(const IngressIsInAddressList& value) { m_isInAddressListHasBeenSet = true; m_isInAddressList = value; } + inline void SetIsInAddressList(IngressIsInAddressList&& value) { m_isInAddressListHasBeenSet = true; m_isInAddressList = std::move(value); } + inline IngressBooleanToEvaluate& WithIsInAddressList(const IngressIsInAddressList& value) { SetIsInAddressList(value); return *this;} + inline IngressBooleanToEvaluate& WithIsInAddressList(IngressIsInAddressList&& value) { SetIsInAddressList(std::move(value)); return *this;} + ///@} private: IngressAnalysis m_analysis; bool m_analysisHasBeenSet = false; + + IngressIsInAddressList m_isInAddressList; + bool m_isInAddressListHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-mailmanager/include/aws/mailmanager/model/IngressIsInAddressList.h b/generated/src/aws-cpp-sdk-mailmanager/include/aws/mailmanager/model/IngressIsInAddressList.h new file mode 100644 index 00000000000..bfcae538e37 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mailmanager/include/aws/mailmanager/model/IngressIsInAddressList.h @@ -0,0 +1,81 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace MailManager +{ +namespace Model +{ + + /** + *

    The address lists and the address list attribute value that is evaluated in a + * policy statement's conditional expression to either deny or block the incoming + * email.

    See Also:

    AWS + * API Reference

    + */ + class IngressIsInAddressList + { + public: + AWS_MAILMANAGER_API IngressIsInAddressList(); + AWS_MAILMANAGER_API IngressIsInAddressList(Aws::Utils::Json::JsonView jsonValue); + AWS_MAILMANAGER_API IngressIsInAddressList& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_MAILMANAGER_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

    The address lists that will be used for evaluation.

    + */ + inline const Aws::Vector& GetAddressLists() const{ return m_addressLists; } + inline bool AddressListsHasBeenSet() const { return m_addressListsHasBeenSet; } + inline void SetAddressLists(const Aws::Vector& value) { m_addressListsHasBeenSet = true; m_addressLists = value; } + inline void SetAddressLists(Aws::Vector&& value) { m_addressListsHasBeenSet = true; m_addressLists = std::move(value); } + inline IngressIsInAddressList& WithAddressLists(const Aws::Vector& value) { SetAddressLists(value); return *this;} + inline IngressIsInAddressList& WithAddressLists(Aws::Vector&& value) { SetAddressLists(std::move(value)); return *this;} + inline IngressIsInAddressList& AddAddressLists(const Aws::String& value) { m_addressListsHasBeenSet = true; m_addressLists.push_back(value); return *this; } + inline IngressIsInAddressList& AddAddressLists(Aws::String&& value) { m_addressListsHasBeenSet = true; m_addressLists.push_back(std::move(value)); return *this; } + inline IngressIsInAddressList& AddAddressLists(const char* value) { m_addressListsHasBeenSet = true; m_addressLists.push_back(value); return *this; } + ///@} + + ///@{ + /** + *

    The email attribute that needs to be evaluated against the address list.

    + */ + inline const IngressAddressListEmailAttribute& GetAttribute() const{ return m_attribute; } + inline bool AttributeHasBeenSet() const { return m_attributeHasBeenSet; } + inline void SetAttribute(const IngressAddressListEmailAttribute& value) { m_attributeHasBeenSet = true; m_attribute = value; } + inline void SetAttribute(IngressAddressListEmailAttribute&& value) { m_attributeHasBeenSet = true; m_attribute = std::move(value); } + inline IngressIsInAddressList& WithAttribute(const IngressAddressListEmailAttribute& value) { SetAttribute(value); return *this;} + inline IngressIsInAddressList& WithAttribute(IngressAddressListEmailAttribute&& value) { SetAttribute(std::move(value)); return *this;} + ///@} + private: + + Aws::Vector m_addressLists; + bool m_addressListsHasBeenSet = false; + + IngressAddressListEmailAttribute m_attribute; + bool m_attributeHasBeenSet = false; + }; + +} // namespace Model +} // namespace MailManager +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mailmanager/include/aws/mailmanager/model/ListAddressListImportJobsRequest.h b/generated/src/aws-cpp-sdk-mailmanager/include/aws/mailmanager/model/ListAddressListImportJobsRequest.h new file mode 100644 index 00000000000..4a795977b30 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mailmanager/include/aws/mailmanager/model/ListAddressListImportJobsRequest.h @@ -0,0 +1,90 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace MailManager +{ +namespace Model +{ + + /** + */ + class ListAddressListImportJobsRequest : public MailManagerRequest + { + public: + AWS_MAILMANAGER_API ListAddressListImportJobsRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "ListAddressListImportJobs"; } + + AWS_MAILMANAGER_API Aws::String SerializePayload() const override; + + AWS_MAILMANAGER_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + /** + *

    The unique identifier of the address list for listing import jobs.

    + */ + inline const Aws::String& GetAddressListId() const{ return m_addressListId; } + inline bool AddressListIdHasBeenSet() const { return m_addressListIdHasBeenSet; } + inline void SetAddressListId(const Aws::String& value) { m_addressListIdHasBeenSet = true; m_addressListId = value; } + inline void SetAddressListId(Aws::String&& value) { m_addressListIdHasBeenSet = true; m_addressListId = std::move(value); } + inline void SetAddressListId(const char* value) { m_addressListIdHasBeenSet = true; m_addressListId.assign(value); } + inline ListAddressListImportJobsRequest& WithAddressListId(const Aws::String& value) { SetAddressListId(value); return *this;} + inline ListAddressListImportJobsRequest& WithAddressListId(Aws::String&& value) { SetAddressListId(std::move(value)); return *this;} + inline ListAddressListImportJobsRequest& WithAddressListId(const char* value) { SetAddressListId(value); return *this;} + ///@} + + ///@{ + /** + *

    If you received a pagination token from a previous call to this API, you can + * provide it here to continue paginating through the next page of results.

    + */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; } + inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; } + inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); } + inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); } + inline ListAddressListImportJobsRequest& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + inline ListAddressListImportJobsRequest& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + inline ListAddressListImportJobsRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;} + ///@} + + ///@{ + /** + *

    The maximum number of import jobs that are returned per call. You can use + * NextToken to retrieve the next page of jobs.

    + */ + inline int GetPageSize() const{ return m_pageSize; } + inline bool PageSizeHasBeenSet() const { return m_pageSizeHasBeenSet; } + inline void SetPageSize(int value) { m_pageSizeHasBeenSet = true; m_pageSize = value; } + inline ListAddressListImportJobsRequest& WithPageSize(int value) { SetPageSize(value); return *this;} + ///@} + private: + + Aws::String m_addressListId; + bool m_addressListIdHasBeenSet = false; + + Aws::String m_nextToken; + bool m_nextTokenHasBeenSet = false; + + int m_pageSize; + bool m_pageSizeHasBeenSet = false; + }; + +} // namespace Model +} // namespace MailManager +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mailmanager/include/aws/mailmanager/model/ListAddressListImportJobsResult.h b/generated/src/aws-cpp-sdk-mailmanager/include/aws/mailmanager/model/ListAddressListImportJobsResult.h new file mode 100644 index 00000000000..96ad9744866 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mailmanager/include/aws/mailmanager/model/ListAddressListImportJobsResult.h @@ -0,0 +1,86 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace MailManager +{ +namespace Model +{ + class ListAddressListImportJobsResult + { + public: + AWS_MAILMANAGER_API ListAddressListImportJobsResult(); + AWS_MAILMANAGER_API ListAddressListImportJobsResult(const Aws::AmazonWebServiceResult& result); + AWS_MAILMANAGER_API ListAddressListImportJobsResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

    The list of import jobs.

    + */ + inline const Aws::Vector& GetImportJobs() const{ return m_importJobs; } + inline void SetImportJobs(const Aws::Vector& value) { m_importJobs = value; } + inline void SetImportJobs(Aws::Vector&& value) { m_importJobs = std::move(value); } + inline ListAddressListImportJobsResult& WithImportJobs(const Aws::Vector& value) { SetImportJobs(value); return *this;} + inline ListAddressListImportJobsResult& WithImportJobs(Aws::Vector&& value) { SetImportJobs(std::move(value)); return *this;} + inline ListAddressListImportJobsResult& AddImportJobs(const ImportJob& value) { m_importJobs.push_back(value); return *this; } + inline ListAddressListImportJobsResult& AddImportJobs(ImportJob&& value) { m_importJobs.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

    If NextToken is returned, there are more results available. The value of + * NextToken is a unique pagination token for each page. Make the call again using + * the returned token to retrieve the next page.

    + */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + inline void SetNextToken(const Aws::String& value) { m_nextToken = value; } + inline void SetNextToken(Aws::String&& value) { m_nextToken = std::move(value); } + inline void SetNextToken(const char* value) { m_nextToken.assign(value); } + inline ListAddressListImportJobsResult& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + inline ListAddressListImportJobsResult& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + inline ListAddressListImportJobsResult& WithNextToken(const char* value) { SetNextToken(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline ListAddressListImportJobsResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline ListAddressListImportJobsResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline ListAddressListImportJobsResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::Vector m_importJobs; + + Aws::String m_nextToken; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace MailManager +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mailmanager/include/aws/mailmanager/model/ListAddressListsRequest.h b/generated/src/aws-cpp-sdk-mailmanager/include/aws/mailmanager/model/ListAddressListsRequest.h new file mode 100644 index 00000000000..a734393c4ef --- /dev/null +++ b/generated/src/aws-cpp-sdk-mailmanager/include/aws/mailmanager/model/ListAddressListsRequest.h @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace MailManager +{ +namespace Model +{ + + /** + */ + class ListAddressListsRequest : public MailManagerRequest + { + public: + AWS_MAILMANAGER_API ListAddressListsRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "ListAddressLists"; } + + AWS_MAILMANAGER_API Aws::String SerializePayload() const override; + + AWS_MAILMANAGER_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + /** + *

    If you received a pagination token from a previous call to this API, you can + * provide it here to continue paginating through the next page of results.

    + */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; } + inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; } + inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); } + inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); } + inline ListAddressListsRequest& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + inline ListAddressListsRequest& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + inline ListAddressListsRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;} + ///@} + + ///@{ + /** + *

    The maximum number of address list resources that are returned per call. You + * can use NextToken to retrieve the next page of address lists.

    + */ + inline int GetPageSize() const{ return m_pageSize; } + inline bool PageSizeHasBeenSet() const { return m_pageSizeHasBeenSet; } + inline void SetPageSize(int value) { m_pageSizeHasBeenSet = true; m_pageSize = value; } + inline ListAddressListsRequest& WithPageSize(int value) { SetPageSize(value); return *this;} + ///@} + private: + + Aws::String m_nextToken; + bool m_nextTokenHasBeenSet = false; + + int m_pageSize; + bool m_pageSizeHasBeenSet = false; + }; + +} // namespace Model +} // namespace MailManager +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mailmanager/include/aws/mailmanager/model/ListAddressListsResult.h b/generated/src/aws-cpp-sdk-mailmanager/include/aws/mailmanager/model/ListAddressListsResult.h new file mode 100644 index 00000000000..a0661b405f1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mailmanager/include/aws/mailmanager/model/ListAddressListsResult.h @@ -0,0 +1,86 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace MailManager +{ +namespace Model +{ + class ListAddressListsResult + { + public: + AWS_MAILMANAGER_API ListAddressListsResult(); + AWS_MAILMANAGER_API ListAddressListsResult(const Aws::AmazonWebServiceResult& result); + AWS_MAILMANAGER_API ListAddressListsResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

    The list of address lists.

    + */ + inline const Aws::Vector& GetAddressLists() const{ return m_addressLists; } + inline void SetAddressLists(const Aws::Vector& value) { m_addressLists = value; } + inline void SetAddressLists(Aws::Vector&& value) { m_addressLists = std::move(value); } + inline ListAddressListsResult& WithAddressLists(const Aws::Vector& value) { SetAddressLists(value); return *this;} + inline ListAddressListsResult& WithAddressLists(Aws::Vector&& value) { SetAddressLists(std::move(value)); return *this;} + inline ListAddressListsResult& AddAddressLists(const AddressList& value) { m_addressLists.push_back(value); return *this; } + inline ListAddressListsResult& AddAddressLists(AddressList&& value) { m_addressLists.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

    If NextToken is returned, there are more results available. The value of + * NextToken is a unique pagination token for each page. Make the call again using + * the returned token to retrieve the next page.

    + */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + inline void SetNextToken(const Aws::String& value) { m_nextToken = value; } + inline void SetNextToken(Aws::String&& value) { m_nextToken = std::move(value); } + inline void SetNextToken(const char* value) { m_nextToken.assign(value); } + inline ListAddressListsResult& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + inline ListAddressListsResult& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + inline ListAddressListsResult& WithNextToken(const char* value) { SetNextToken(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline ListAddressListsResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline ListAddressListsResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline ListAddressListsResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::Vector m_addressLists; + + Aws::String m_nextToken; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace MailManager +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mailmanager/include/aws/mailmanager/model/ListMembersOfAddressListRequest.h b/generated/src/aws-cpp-sdk-mailmanager/include/aws/mailmanager/model/ListMembersOfAddressListRequest.h new file mode 100644 index 00000000000..dcfd4b6290c --- /dev/null +++ b/generated/src/aws-cpp-sdk-mailmanager/include/aws/mailmanager/model/ListMembersOfAddressListRequest.h @@ -0,0 +1,106 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace MailManager +{ +namespace Model +{ + + /** + */ + class ListMembersOfAddressListRequest : public MailManagerRequest + { + public: + AWS_MAILMANAGER_API ListMembersOfAddressListRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "ListMembersOfAddressList"; } + + AWS_MAILMANAGER_API Aws::String SerializePayload() const override; + + AWS_MAILMANAGER_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + /** + *

    The unique identifier of the address list to list the addresses from.

    + */ + inline const Aws::String& GetAddressListId() const{ return m_addressListId; } + inline bool AddressListIdHasBeenSet() const { return m_addressListIdHasBeenSet; } + inline void SetAddressListId(const Aws::String& value) { m_addressListIdHasBeenSet = true; m_addressListId = value; } + inline void SetAddressListId(Aws::String&& value) { m_addressListIdHasBeenSet = true; m_addressListId = std::move(value); } + inline void SetAddressListId(const char* value) { m_addressListIdHasBeenSet = true; m_addressListId.assign(value); } + inline ListMembersOfAddressListRequest& WithAddressListId(const Aws::String& value) { SetAddressListId(value); return *this;} + inline ListMembersOfAddressListRequest& WithAddressListId(Aws::String&& value) { SetAddressListId(std::move(value)); return *this;} + inline ListMembersOfAddressListRequest& WithAddressListId(const char* value) { SetAddressListId(value); return *this;} + ///@} + + ///@{ + /** + *

    Filter to be used to limit the results.

    + */ + inline const AddressFilter& GetFilter() const{ return m_filter; } + inline bool FilterHasBeenSet() const { return m_filterHasBeenSet; } + inline void SetFilter(const AddressFilter& value) { m_filterHasBeenSet = true; m_filter = value; } + inline void SetFilter(AddressFilter&& value) { m_filterHasBeenSet = true; m_filter = std::move(value); } + inline ListMembersOfAddressListRequest& WithFilter(const AddressFilter& value) { SetFilter(value); return *this;} + inline ListMembersOfAddressListRequest& WithFilter(AddressFilter&& value) { SetFilter(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

    If you received a pagination token from a previous call to this API, you can + * provide it here to continue paginating through the next page of results.

    + */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; } + inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; } + inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); } + inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); } + inline ListMembersOfAddressListRequest& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + inline ListMembersOfAddressListRequest& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + inline ListMembersOfAddressListRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;} + ///@} + + ///@{ + /** + *

    The maximum number of address list members that are returned per call. You + * can use NextToken to retrieve the next page of members.

    + */ + inline int GetPageSize() const{ return m_pageSize; } + inline bool PageSizeHasBeenSet() const { return m_pageSizeHasBeenSet; } + inline void SetPageSize(int value) { m_pageSizeHasBeenSet = true; m_pageSize = value; } + inline ListMembersOfAddressListRequest& WithPageSize(int value) { SetPageSize(value); return *this;} + ///@} + private: + + Aws::String m_addressListId; + bool m_addressListIdHasBeenSet = false; + + AddressFilter m_filter; + bool m_filterHasBeenSet = false; + + Aws::String m_nextToken; + bool m_nextTokenHasBeenSet = false; + + int m_pageSize; + bool m_pageSizeHasBeenSet = false; + }; + +} // namespace Model +} // namespace MailManager +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mailmanager/include/aws/mailmanager/model/ListMembersOfAddressListResult.h b/generated/src/aws-cpp-sdk-mailmanager/include/aws/mailmanager/model/ListMembersOfAddressListResult.h new file mode 100644 index 00000000000..3d48ae7da9c --- /dev/null +++ b/generated/src/aws-cpp-sdk-mailmanager/include/aws/mailmanager/model/ListMembersOfAddressListResult.h @@ -0,0 +1,86 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace MailManager +{ +namespace Model +{ + class ListMembersOfAddressListResult + { + public: + AWS_MAILMANAGER_API ListMembersOfAddressListResult(); + AWS_MAILMANAGER_API ListMembersOfAddressListResult(const Aws::AmazonWebServiceResult& result); + AWS_MAILMANAGER_API ListMembersOfAddressListResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

    The list of addresses.

    + */ + inline const Aws::Vector& GetAddresses() const{ return m_addresses; } + inline void SetAddresses(const Aws::Vector& value) { m_addresses = value; } + inline void SetAddresses(Aws::Vector&& value) { m_addresses = std::move(value); } + inline ListMembersOfAddressListResult& WithAddresses(const Aws::Vector& value) { SetAddresses(value); return *this;} + inline ListMembersOfAddressListResult& WithAddresses(Aws::Vector&& value) { SetAddresses(std::move(value)); return *this;} + inline ListMembersOfAddressListResult& AddAddresses(const SavedAddress& value) { m_addresses.push_back(value); return *this; } + inline ListMembersOfAddressListResult& AddAddresses(SavedAddress&& value) { m_addresses.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

    If NextToken is returned, there are more results available. The value of + * NextToken is a unique pagination token for each page. Make the call again using + * the returned token to retrieve the next page.

    + */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + inline void SetNextToken(const Aws::String& value) { m_nextToken = value; } + inline void SetNextToken(Aws::String&& value) { m_nextToken = std::move(value); } + inline void SetNextToken(const char* value) { m_nextToken.assign(value); } + inline ListMembersOfAddressListResult& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + inline ListMembersOfAddressListResult& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + inline ListMembersOfAddressListResult& WithNextToken(const char* value) { SetNextToken(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline ListMembersOfAddressListResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline ListMembersOfAddressListResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline ListMembersOfAddressListResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::Vector m_addresses; + + Aws::String m_nextToken; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace MailManager +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mailmanager/include/aws/mailmanager/model/RegisterMemberToAddressListRequest.h b/generated/src/aws-cpp-sdk-mailmanager/include/aws/mailmanager/model/RegisterMemberToAddressListRequest.h new file mode 100644 index 00000000000..e0d9444501e --- /dev/null +++ b/generated/src/aws-cpp-sdk-mailmanager/include/aws/mailmanager/model/RegisterMemberToAddressListRequest.h @@ -0,0 +1,76 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace MailManager +{ +namespace Model +{ + + /** + */ + class RegisterMemberToAddressListRequest : public MailManagerRequest + { + public: + AWS_MAILMANAGER_API RegisterMemberToAddressListRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "RegisterMemberToAddressList"; } + + AWS_MAILMANAGER_API Aws::String SerializePayload() const override; + + AWS_MAILMANAGER_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + /** + *

    The address to be added to the address list.

    + */ + inline const Aws::String& GetAddress() const{ return m_address; } + inline bool AddressHasBeenSet() const { return m_addressHasBeenSet; } + inline void SetAddress(const Aws::String& value) { m_addressHasBeenSet = true; m_address = value; } + inline void SetAddress(Aws::String&& value) { m_addressHasBeenSet = true; m_address = std::move(value); } + inline void SetAddress(const char* value) { m_addressHasBeenSet = true; m_address.assign(value); } + inline RegisterMemberToAddressListRequest& WithAddress(const Aws::String& value) { SetAddress(value); return *this;} + inline RegisterMemberToAddressListRequest& WithAddress(Aws::String&& value) { SetAddress(std::move(value)); return *this;} + inline RegisterMemberToAddressListRequest& WithAddress(const char* value) { SetAddress(value); return *this;} + ///@} + + ///@{ + /** + *

    The unique identifier of the address list where the address should be + * added.

    + */ + inline const Aws::String& GetAddressListId() const{ return m_addressListId; } + inline bool AddressListIdHasBeenSet() const { return m_addressListIdHasBeenSet; } + inline void SetAddressListId(const Aws::String& value) { m_addressListIdHasBeenSet = true; m_addressListId = value; } + inline void SetAddressListId(Aws::String&& value) { m_addressListIdHasBeenSet = true; m_addressListId = std::move(value); } + inline void SetAddressListId(const char* value) { m_addressListIdHasBeenSet = true; m_addressListId.assign(value); } + inline RegisterMemberToAddressListRequest& WithAddressListId(const Aws::String& value) { SetAddressListId(value); return *this;} + inline RegisterMemberToAddressListRequest& WithAddressListId(Aws::String&& value) { SetAddressListId(std::move(value)); return *this;} + inline RegisterMemberToAddressListRequest& WithAddressListId(const char* value) { SetAddressListId(value); return *this;} + ///@} + private: + + Aws::String m_address; + bool m_addressHasBeenSet = false; + + Aws::String m_addressListId; + bool m_addressListIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace MailManager +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mailmanager/include/aws/mailmanager/model/RegisterMemberToAddressListResult.h b/generated/src/aws-cpp-sdk-mailmanager/include/aws/mailmanager/model/RegisterMemberToAddressListResult.h new file mode 100644 index 00000000000..7ae5cd34650 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mailmanager/include/aws/mailmanager/model/RegisterMemberToAddressListResult.h @@ -0,0 +1,52 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace MailManager +{ +namespace Model +{ + class RegisterMemberToAddressListResult + { + public: + AWS_MAILMANAGER_API RegisterMemberToAddressListResult(); + AWS_MAILMANAGER_API RegisterMemberToAddressListResult(const Aws::AmazonWebServiceResult& result); + AWS_MAILMANAGER_API RegisterMemberToAddressListResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline RegisterMemberToAddressListResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline RegisterMemberToAddressListResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline RegisterMemberToAddressListResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace MailManager +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mailmanager/include/aws/mailmanager/model/RuleAddressListEmailAttribute.h b/generated/src/aws-cpp-sdk-mailmanager/include/aws/mailmanager/model/RuleAddressListEmailAttribute.h new file mode 100644 index 00000000000..6293d00d186 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mailmanager/include/aws/mailmanager/model/RuleAddressListEmailAttribute.h @@ -0,0 +1,35 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace MailManager +{ +namespace Model +{ + enum class RuleAddressListEmailAttribute + { + NOT_SET, + RECIPIENT, + MAIL_FROM, + SENDER, + FROM, + TO, + CC + }; + +namespace RuleAddressListEmailAttributeMapper +{ +AWS_MAILMANAGER_API RuleAddressListEmailAttribute GetRuleAddressListEmailAttributeForName(const Aws::String& name); + +AWS_MAILMANAGER_API Aws::String GetNameForRuleAddressListEmailAttribute(RuleAddressListEmailAttribute value); +} // namespace RuleAddressListEmailAttributeMapper +} // namespace Model +} // namespace MailManager +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mailmanager/include/aws/mailmanager/model/RuleBooleanToEvaluate.h b/generated/src/aws-cpp-sdk-mailmanager/include/aws/mailmanager/model/RuleBooleanToEvaluate.h index c3edcc0607a..25eb1350bb9 100644 --- a/generated/src/aws-cpp-sdk-mailmanager/include/aws/mailmanager/model/RuleBooleanToEvaluate.h +++ b/generated/src/aws-cpp-sdk-mailmanager/include/aws/mailmanager/model/RuleBooleanToEvaluate.h @@ -6,6 +6,7 @@ #pragma once #include #include +#include #include namespace Aws @@ -49,10 +50,26 @@ namespace Model inline RuleBooleanToEvaluate& WithAttribute(const RuleBooleanEmailAttribute& value) { SetAttribute(value); return *this;} inline RuleBooleanToEvaluate& WithAttribute(RuleBooleanEmailAttribute&& value) { SetAttribute(std::move(value)); return *this;} ///@} + + ///@{ + /** + *

    The structure representing the address lists and address list attribute that + * will be used in evaluation of boolean expression.

    + */ + inline const RuleIsInAddressList& GetIsInAddressList() const{ return m_isInAddressList; } + inline bool IsInAddressListHasBeenSet() const { return m_isInAddressListHasBeenSet; } + inline void SetIsInAddressList(const RuleIsInAddressList& value) { m_isInAddressListHasBeenSet = true; m_isInAddressList = value; } + inline void SetIsInAddressList(RuleIsInAddressList&& value) { m_isInAddressListHasBeenSet = true; m_isInAddressList = std::move(value); } + inline RuleBooleanToEvaluate& WithIsInAddressList(const RuleIsInAddressList& value) { SetIsInAddressList(value); return *this;} + inline RuleBooleanToEvaluate& WithIsInAddressList(RuleIsInAddressList&& value) { SetIsInAddressList(std::move(value)); return *this;} + ///@} private: RuleBooleanEmailAttribute m_attribute; bool m_attributeHasBeenSet = false; + + RuleIsInAddressList m_isInAddressList; + bool m_isInAddressListHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-mailmanager/include/aws/mailmanager/model/RuleIsInAddressList.h b/generated/src/aws-cpp-sdk-mailmanager/include/aws/mailmanager/model/RuleIsInAddressList.h new file mode 100644 index 00000000000..e1bbde960b3 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mailmanager/include/aws/mailmanager/model/RuleIsInAddressList.h @@ -0,0 +1,80 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace MailManager +{ +namespace Model +{ + + /** + *

    The structure type for a boolean condition that provides the address lists + * and address list attribute to evaluate.

    See Also:

    AWS + * API Reference

    + */ + class RuleIsInAddressList + { + public: + AWS_MAILMANAGER_API RuleIsInAddressList(); + AWS_MAILMANAGER_API RuleIsInAddressList(Aws::Utils::Json::JsonView jsonValue); + AWS_MAILMANAGER_API RuleIsInAddressList& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_MAILMANAGER_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

    The address lists that will be used for evaluation.

    + */ + inline const Aws::Vector& GetAddressLists() const{ return m_addressLists; } + inline bool AddressListsHasBeenSet() const { return m_addressListsHasBeenSet; } + inline void SetAddressLists(const Aws::Vector& value) { m_addressListsHasBeenSet = true; m_addressLists = value; } + inline void SetAddressLists(Aws::Vector&& value) { m_addressListsHasBeenSet = true; m_addressLists = std::move(value); } + inline RuleIsInAddressList& WithAddressLists(const Aws::Vector& value) { SetAddressLists(value); return *this;} + inline RuleIsInAddressList& WithAddressLists(Aws::Vector&& value) { SetAddressLists(std::move(value)); return *this;} + inline RuleIsInAddressList& AddAddressLists(const Aws::String& value) { m_addressListsHasBeenSet = true; m_addressLists.push_back(value); return *this; } + inline RuleIsInAddressList& AddAddressLists(Aws::String&& value) { m_addressListsHasBeenSet = true; m_addressLists.push_back(std::move(value)); return *this; } + inline RuleIsInAddressList& AddAddressLists(const char* value) { m_addressListsHasBeenSet = true; m_addressLists.push_back(value); return *this; } + ///@} + + ///@{ + /** + *

    The email attribute that needs to be evaluated against the address list.

    + */ + inline const RuleAddressListEmailAttribute& GetAttribute() const{ return m_attribute; } + inline bool AttributeHasBeenSet() const { return m_attributeHasBeenSet; } + inline void SetAttribute(const RuleAddressListEmailAttribute& value) { m_attributeHasBeenSet = true; m_attribute = value; } + inline void SetAttribute(RuleAddressListEmailAttribute&& value) { m_attributeHasBeenSet = true; m_attribute = std::move(value); } + inline RuleIsInAddressList& WithAttribute(const RuleAddressListEmailAttribute& value) { SetAttribute(value); return *this;} + inline RuleIsInAddressList& WithAttribute(RuleAddressListEmailAttribute&& value) { SetAttribute(std::move(value)); return *this;} + ///@} + private: + + Aws::Vector m_addressLists; + bool m_addressListsHasBeenSet = false; + + RuleAddressListEmailAttribute m_attribute; + bool m_attributeHasBeenSet = false; + }; + +} // namespace Model +} // namespace MailManager +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mailmanager/include/aws/mailmanager/model/SavedAddress.h b/generated/src/aws-cpp-sdk-mailmanager/include/aws/mailmanager/model/SavedAddress.h new file mode 100644 index 00000000000..544b67a488e --- /dev/null +++ b/generated/src/aws-cpp-sdk-mailmanager/include/aws/mailmanager/model/SavedAddress.h @@ -0,0 +1,77 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace MailManager +{ +namespace Model +{ + + /** + *

    An address that is a member of an address list.

    See Also:

    AWS + * API Reference

    + */ + class SavedAddress + { + public: + AWS_MAILMANAGER_API SavedAddress(); + AWS_MAILMANAGER_API SavedAddress(Aws::Utils::Json::JsonView jsonValue); + AWS_MAILMANAGER_API SavedAddress& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_MAILMANAGER_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

    The email or domain that constitutes the address.

    + */ + inline const Aws::String& GetAddress() const{ return m_address; } + inline bool AddressHasBeenSet() const { return m_addressHasBeenSet; } + inline void SetAddress(const Aws::String& value) { m_addressHasBeenSet = true; m_address = value; } + inline void SetAddress(Aws::String&& value) { m_addressHasBeenSet = true; m_address = std::move(value); } + inline void SetAddress(const char* value) { m_addressHasBeenSet = true; m_address.assign(value); } + inline SavedAddress& WithAddress(const Aws::String& value) { SetAddress(value); return *this;} + inline SavedAddress& WithAddress(Aws::String&& value) { SetAddress(std::move(value)); return *this;} + inline SavedAddress& WithAddress(const char* value) { SetAddress(value); return *this;} + ///@} + + ///@{ + /** + *

    The timestamp of when the address was added to the address list.

    + */ + inline const Aws::Utils::DateTime& GetCreatedTimestamp() const{ return m_createdTimestamp; } + inline bool CreatedTimestampHasBeenSet() const { return m_createdTimestampHasBeenSet; } + inline void SetCreatedTimestamp(const Aws::Utils::DateTime& value) { m_createdTimestampHasBeenSet = true; m_createdTimestamp = value; } + inline void SetCreatedTimestamp(Aws::Utils::DateTime&& value) { m_createdTimestampHasBeenSet = true; m_createdTimestamp = std::move(value); } + inline SavedAddress& WithCreatedTimestamp(const Aws::Utils::DateTime& value) { SetCreatedTimestamp(value); return *this;} + inline SavedAddress& WithCreatedTimestamp(Aws::Utils::DateTime&& value) { SetCreatedTimestamp(std::move(value)); return *this;} + ///@} + private: + + Aws::String m_address; + bool m_addressHasBeenSet = false; + + Aws::Utils::DateTime m_createdTimestamp; + bool m_createdTimestampHasBeenSet = false; + }; + +} // namespace Model +} // namespace MailManager +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mailmanager/include/aws/mailmanager/model/StartAddressListImportJobRequest.h b/generated/src/aws-cpp-sdk-mailmanager/include/aws/mailmanager/model/StartAddressListImportJobRequest.h new file mode 100644 index 00000000000..189ed4f44c7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mailmanager/include/aws/mailmanager/model/StartAddressListImportJobRequest.h @@ -0,0 +1,58 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace MailManager +{ +namespace Model +{ + + /** + */ + class StartAddressListImportJobRequest : public MailManagerRequest + { + public: + AWS_MAILMANAGER_API StartAddressListImportJobRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "StartAddressListImportJob"; } + + AWS_MAILMANAGER_API Aws::String SerializePayload() const override; + + AWS_MAILMANAGER_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + /** + *

    The identifier of the import job that needs to be started.

    + */ + inline const Aws::String& GetJobId() const{ return m_jobId; } + inline bool JobIdHasBeenSet() const { return m_jobIdHasBeenSet; } + inline void SetJobId(const Aws::String& value) { m_jobIdHasBeenSet = true; m_jobId = value; } + inline void SetJobId(Aws::String&& value) { m_jobIdHasBeenSet = true; m_jobId = std::move(value); } + inline void SetJobId(const char* value) { m_jobIdHasBeenSet = true; m_jobId.assign(value); } + inline StartAddressListImportJobRequest& WithJobId(const Aws::String& value) { SetJobId(value); return *this;} + inline StartAddressListImportJobRequest& WithJobId(Aws::String&& value) { SetJobId(std::move(value)); return *this;} + inline StartAddressListImportJobRequest& WithJobId(const char* value) { SetJobId(value); return *this;} + ///@} + private: + + Aws::String m_jobId; + bool m_jobIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace MailManager +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mailmanager/include/aws/mailmanager/model/StartAddressListImportJobResult.h b/generated/src/aws-cpp-sdk-mailmanager/include/aws/mailmanager/model/StartAddressListImportJobResult.h new file mode 100644 index 00000000000..304ae664d18 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mailmanager/include/aws/mailmanager/model/StartAddressListImportJobResult.h @@ -0,0 +1,52 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace MailManager +{ +namespace Model +{ + class StartAddressListImportJobResult + { + public: + AWS_MAILMANAGER_API StartAddressListImportJobResult(); + AWS_MAILMANAGER_API StartAddressListImportJobResult(const Aws::AmazonWebServiceResult& result); + AWS_MAILMANAGER_API StartAddressListImportJobResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline StartAddressListImportJobResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline StartAddressListImportJobResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline StartAddressListImportJobResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace MailManager +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mailmanager/include/aws/mailmanager/model/StopAddressListImportJobRequest.h b/generated/src/aws-cpp-sdk-mailmanager/include/aws/mailmanager/model/StopAddressListImportJobRequest.h new file mode 100644 index 00000000000..4bd5013360b --- /dev/null +++ b/generated/src/aws-cpp-sdk-mailmanager/include/aws/mailmanager/model/StopAddressListImportJobRequest.h @@ -0,0 +1,58 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace MailManager +{ +namespace Model +{ + + /** + */ + class StopAddressListImportJobRequest : public MailManagerRequest + { + public: + AWS_MAILMANAGER_API StopAddressListImportJobRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "StopAddressListImportJob"; } + + AWS_MAILMANAGER_API Aws::String SerializePayload() const override; + + AWS_MAILMANAGER_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + /** + *

    The identifier of the import job that needs to be stopped.

    + */ + inline const Aws::String& GetJobId() const{ return m_jobId; } + inline bool JobIdHasBeenSet() const { return m_jobIdHasBeenSet; } + inline void SetJobId(const Aws::String& value) { m_jobIdHasBeenSet = true; m_jobId = value; } + inline void SetJobId(Aws::String&& value) { m_jobIdHasBeenSet = true; m_jobId = std::move(value); } + inline void SetJobId(const char* value) { m_jobIdHasBeenSet = true; m_jobId.assign(value); } + inline StopAddressListImportJobRequest& WithJobId(const Aws::String& value) { SetJobId(value); return *this;} + inline StopAddressListImportJobRequest& WithJobId(Aws::String&& value) { SetJobId(std::move(value)); return *this;} + inline StopAddressListImportJobRequest& WithJobId(const char* value) { SetJobId(value); return *this;} + ///@} + private: + + Aws::String m_jobId; + bool m_jobIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace MailManager +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mailmanager/include/aws/mailmanager/model/StopAddressListImportJobResult.h b/generated/src/aws-cpp-sdk-mailmanager/include/aws/mailmanager/model/StopAddressListImportJobResult.h new file mode 100644 index 00000000000..7f98ac977c8 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mailmanager/include/aws/mailmanager/model/StopAddressListImportJobResult.h @@ -0,0 +1,52 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace MailManager +{ +namespace Model +{ + class StopAddressListImportJobResult + { + public: + AWS_MAILMANAGER_API StopAddressListImportJobResult(); + AWS_MAILMANAGER_API StopAddressListImportJobResult(const Aws::AmazonWebServiceResult& result); + AWS_MAILMANAGER_API StopAddressListImportJobResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline StopAddressListImportJobResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline StopAddressListImportJobResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline StopAddressListImportJobResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace MailManager +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mailmanager/source/MailManagerClient.cpp b/generated/src/aws-cpp-sdk-mailmanager/source/MailManagerClient.cpp index 81aedde0688..a21c09afd50 100644 --- a/generated/src/aws-cpp-sdk-mailmanager/source/MailManagerClient.cpp +++ b/generated/src/aws-cpp-sdk-mailmanager/source/MailManagerClient.cpp @@ -21,6 +21,8 @@ #include #include #include +#include +#include #include #include #include @@ -28,13 +30,17 @@ #include #include #include +#include #include #include #include #include #include +#include #include #include +#include +#include #include #include #include @@ -42,21 +48,28 @@ #include #include #include +#include #include #include #include #include #include +#include +#include #include #include #include #include +#include #include #include #include #include +#include +#include #include #include +#include #include #include #include @@ -240,6 +253,50 @@ CreateAddonSubscriptionOutcome MailManagerClient::CreateAddonSubscription(const {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +CreateAddressListOutcome MailManagerClient::CreateAddressList(const CreateAddressListRequest& request) const +{ + AWS_OPERATION_GUARD(CreateAddressList); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, CreateAddressList, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_clientConfiguration.telemetryProvider, CreateAddressList, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_clientConfiguration.telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_clientConfiguration.telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, CreateAddressList, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".CreateAddressList", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> CreateAddressListOutcome { + return CreateAddressListOutcome(MakeRequestDeserialize(&request, request.GetServiceRequestName(), Aws::Http::HttpMethod::HTTP_POST, [&](Aws::Endpoint::AWSEndpoint& resolvedEndpoint) -> void { + AWS_UNREFERENCED_PARAM(resolvedEndpoint); + })); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +CreateAddressListImportJobOutcome MailManagerClient::CreateAddressListImportJob(const CreateAddressListImportJobRequest& request) const +{ + AWS_OPERATION_GUARD(CreateAddressListImportJob); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, CreateAddressListImportJob, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_clientConfiguration.telemetryProvider, CreateAddressListImportJob, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_clientConfiguration.telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_clientConfiguration.telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, CreateAddressListImportJob, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".CreateAddressListImportJob", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> CreateAddressListImportJobOutcome { + return CreateAddressListImportJobOutcome(MakeRequestDeserialize(&request, request.GetServiceRequestName(), Aws::Http::HttpMethod::HTTP_POST, [&](Aws::Endpoint::AWSEndpoint& resolvedEndpoint) -> void { + AWS_UNREFERENCED_PARAM(resolvedEndpoint); + })); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + CreateArchiveOutcome MailManagerClient::CreateArchive(const CreateArchiveRequest& request) const { AWS_OPERATION_GUARD(CreateArchive); @@ -394,6 +451,28 @@ DeleteAddonSubscriptionOutcome MailManagerClient::DeleteAddonSubscription(const {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +DeleteAddressListOutcome MailManagerClient::DeleteAddressList(const DeleteAddressListRequest& request) const +{ + AWS_OPERATION_GUARD(DeleteAddressList); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, DeleteAddressList, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_clientConfiguration.telemetryProvider, DeleteAddressList, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_clientConfiguration.telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_clientConfiguration.telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, DeleteAddressList, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".DeleteAddressList", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> DeleteAddressListOutcome { + return DeleteAddressListOutcome(MakeRequestDeserialize(&request, request.GetServiceRequestName(), Aws::Http::HttpMethod::HTTP_POST, [&](Aws::Endpoint::AWSEndpoint& resolvedEndpoint) -> void { + AWS_UNREFERENCED_PARAM(resolvedEndpoint); + })); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + DeleteArchiveOutcome MailManagerClient::DeleteArchive(const DeleteArchiveRequest& request) const { AWS_OPERATION_GUARD(DeleteArchive); @@ -504,6 +583,28 @@ DeleteTrafficPolicyOutcome MailManagerClient::DeleteTrafficPolicy(const DeleteTr {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +DeregisterMemberFromAddressListOutcome MailManagerClient::DeregisterMemberFromAddressList(const DeregisterMemberFromAddressListRequest& request) const +{ + AWS_OPERATION_GUARD(DeregisterMemberFromAddressList); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, DeregisterMemberFromAddressList, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_clientConfiguration.telemetryProvider, DeregisterMemberFromAddressList, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_clientConfiguration.telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_clientConfiguration.telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, DeregisterMemberFromAddressList, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".DeregisterMemberFromAddressList", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> DeregisterMemberFromAddressListOutcome { + return DeregisterMemberFromAddressListOutcome(MakeRequestDeserialize(&request, request.GetServiceRequestName(), Aws::Http::HttpMethod::HTTP_POST, [&](Aws::Endpoint::AWSEndpoint& resolvedEndpoint) -> void { + AWS_UNREFERENCED_PARAM(resolvedEndpoint); + })); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + GetAddonInstanceOutcome MailManagerClient::GetAddonInstance(const GetAddonInstanceRequest& request) const { AWS_OPERATION_GUARD(GetAddonInstance); @@ -548,6 +649,50 @@ GetAddonSubscriptionOutcome MailManagerClient::GetAddonSubscription(const GetAdd {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +GetAddressListOutcome MailManagerClient::GetAddressList(const GetAddressListRequest& request) const +{ + AWS_OPERATION_GUARD(GetAddressList); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetAddressList, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_clientConfiguration.telemetryProvider, GetAddressList, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_clientConfiguration.telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_clientConfiguration.telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, GetAddressList, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".GetAddressList", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> GetAddressListOutcome { + return GetAddressListOutcome(MakeRequestDeserialize(&request, request.GetServiceRequestName(), Aws::Http::HttpMethod::HTTP_POST, [&](Aws::Endpoint::AWSEndpoint& resolvedEndpoint) -> void { + AWS_UNREFERENCED_PARAM(resolvedEndpoint); + })); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +GetAddressListImportJobOutcome MailManagerClient::GetAddressListImportJob(const GetAddressListImportJobRequest& request) const +{ + AWS_OPERATION_GUARD(GetAddressListImportJob); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetAddressListImportJob, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_clientConfiguration.telemetryProvider, GetAddressListImportJob, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_clientConfiguration.telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_clientConfiguration.telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, GetAddressListImportJob, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".GetAddressListImportJob", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> GetAddressListImportJobOutcome { + return GetAddressListImportJobOutcome(MakeRequestDeserialize(&request, request.GetServiceRequestName(), Aws::Http::HttpMethod::HTTP_POST, [&](Aws::Endpoint::AWSEndpoint& resolvedEndpoint) -> void { + AWS_UNREFERENCED_PARAM(resolvedEndpoint); + })); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + GetArchiveOutcome MailManagerClient::GetArchive(const GetArchiveRequest& request) const { AWS_OPERATION_GUARD(GetArchive); @@ -702,6 +847,28 @@ GetIngressPointOutcome MailManagerClient::GetIngressPoint(const GetIngressPointR {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +GetMemberOfAddressListOutcome MailManagerClient::GetMemberOfAddressList(const GetMemberOfAddressListRequest& request) const +{ + AWS_OPERATION_GUARD(GetMemberOfAddressList); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetMemberOfAddressList, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_clientConfiguration.telemetryProvider, GetMemberOfAddressList, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_clientConfiguration.telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_clientConfiguration.telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, GetMemberOfAddressList, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".GetMemberOfAddressList", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> GetMemberOfAddressListOutcome { + return GetMemberOfAddressListOutcome(MakeRequestDeserialize(&request, request.GetServiceRequestName(), Aws::Http::HttpMethod::HTTP_POST, [&](Aws::Endpoint::AWSEndpoint& resolvedEndpoint) -> void { + AWS_UNREFERENCED_PARAM(resolvedEndpoint); + })); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + GetRelayOutcome MailManagerClient::GetRelay(const GetRelayRequest& request) const { AWS_OPERATION_GUARD(GetRelay); @@ -812,6 +979,50 @@ ListAddonSubscriptionsOutcome MailManagerClient::ListAddonSubscriptions(const Li {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +ListAddressListImportJobsOutcome MailManagerClient::ListAddressListImportJobs(const ListAddressListImportJobsRequest& request) const +{ + AWS_OPERATION_GUARD(ListAddressListImportJobs); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, ListAddressListImportJobs, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_clientConfiguration.telemetryProvider, ListAddressListImportJobs, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_clientConfiguration.telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_clientConfiguration.telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, ListAddressListImportJobs, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".ListAddressListImportJobs", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> ListAddressListImportJobsOutcome { + return ListAddressListImportJobsOutcome(MakeRequestDeserialize(&request, request.GetServiceRequestName(), Aws::Http::HttpMethod::HTTP_POST, [&](Aws::Endpoint::AWSEndpoint& resolvedEndpoint) -> void { + AWS_UNREFERENCED_PARAM(resolvedEndpoint); + })); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +ListAddressListsOutcome MailManagerClient::ListAddressLists(const ListAddressListsRequest& request) const +{ + AWS_OPERATION_GUARD(ListAddressLists); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, ListAddressLists, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_clientConfiguration.telemetryProvider, ListAddressLists, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_clientConfiguration.telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_clientConfiguration.telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, ListAddressLists, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".ListAddressLists", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> ListAddressListsOutcome { + return ListAddressListsOutcome(MakeRequestDeserialize(&request, request.GetServiceRequestName(), Aws::Http::HttpMethod::HTTP_POST, [&](Aws::Endpoint::AWSEndpoint& resolvedEndpoint) -> void { + AWS_UNREFERENCED_PARAM(resolvedEndpoint); + })); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + ListArchiveExportsOutcome MailManagerClient::ListArchiveExports(const ListArchiveExportsRequest& request) const { AWS_OPERATION_GUARD(ListArchiveExports); @@ -900,6 +1111,28 @@ ListIngressPointsOutcome MailManagerClient::ListIngressPoints(const ListIngressP {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +ListMembersOfAddressListOutcome MailManagerClient::ListMembersOfAddressList(const ListMembersOfAddressListRequest& request) const +{ + AWS_OPERATION_GUARD(ListMembersOfAddressList); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, ListMembersOfAddressList, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_clientConfiguration.telemetryProvider, ListMembersOfAddressList, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_clientConfiguration.telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_clientConfiguration.telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, ListMembersOfAddressList, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".ListMembersOfAddressList", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> ListMembersOfAddressListOutcome { + return ListMembersOfAddressListOutcome(MakeRequestDeserialize(&request, request.GetServiceRequestName(), Aws::Http::HttpMethod::HTTP_POST, [&](Aws::Endpoint::AWSEndpoint& resolvedEndpoint) -> void { + AWS_UNREFERENCED_PARAM(resolvedEndpoint); + })); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + ListRelaysOutcome MailManagerClient::ListRelays(const ListRelaysRequest& request) const { AWS_OPERATION_GUARD(ListRelays); @@ -988,6 +1221,50 @@ ListTrafficPoliciesOutcome MailManagerClient::ListTrafficPolicies(const ListTraf {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +RegisterMemberToAddressListOutcome MailManagerClient::RegisterMemberToAddressList(const RegisterMemberToAddressListRequest& request) const +{ + AWS_OPERATION_GUARD(RegisterMemberToAddressList); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, RegisterMemberToAddressList, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_clientConfiguration.telemetryProvider, RegisterMemberToAddressList, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_clientConfiguration.telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_clientConfiguration.telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, RegisterMemberToAddressList, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".RegisterMemberToAddressList", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> RegisterMemberToAddressListOutcome { + return RegisterMemberToAddressListOutcome(MakeRequestDeserialize(&request, request.GetServiceRequestName(), Aws::Http::HttpMethod::HTTP_POST, [&](Aws::Endpoint::AWSEndpoint& resolvedEndpoint) -> void { + AWS_UNREFERENCED_PARAM(resolvedEndpoint); + })); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +StartAddressListImportJobOutcome MailManagerClient::StartAddressListImportJob(const StartAddressListImportJobRequest& request) const +{ + AWS_OPERATION_GUARD(StartAddressListImportJob); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, StartAddressListImportJob, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_clientConfiguration.telemetryProvider, StartAddressListImportJob, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_clientConfiguration.telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_clientConfiguration.telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, StartAddressListImportJob, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".StartAddressListImportJob", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> StartAddressListImportJobOutcome { + return StartAddressListImportJobOutcome(MakeRequestDeserialize(&request, request.GetServiceRequestName(), Aws::Http::HttpMethod::HTTP_POST, [&](Aws::Endpoint::AWSEndpoint& resolvedEndpoint) -> void { + AWS_UNREFERENCED_PARAM(resolvedEndpoint); + })); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + StartArchiveExportOutcome MailManagerClient::StartArchiveExport(const StartArchiveExportRequest& request) const { AWS_OPERATION_GUARD(StartArchiveExport); @@ -1032,6 +1309,28 @@ StartArchiveSearchOutcome MailManagerClient::StartArchiveSearch(const StartArchi {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +StopAddressListImportJobOutcome MailManagerClient::StopAddressListImportJob(const StopAddressListImportJobRequest& request) const +{ + AWS_OPERATION_GUARD(StopAddressListImportJob); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, StopAddressListImportJob, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_clientConfiguration.telemetryProvider, StopAddressListImportJob, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_clientConfiguration.telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_clientConfiguration.telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, StopAddressListImportJob, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".StopAddressListImportJob", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> StopAddressListImportJobOutcome { + return StopAddressListImportJobOutcome(MakeRequestDeserialize(&request, request.GetServiceRequestName(), Aws::Http::HttpMethod::HTTP_POST, [&](Aws::Endpoint::AWSEndpoint& resolvedEndpoint) -> void { + AWS_UNREFERENCED_PARAM(resolvedEndpoint); + })); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + StopArchiveExportOutcome MailManagerClient::StopArchiveExport(const StopArchiveExportRequest& request) const { AWS_OPERATION_GUARD(StopArchiveExport); diff --git a/generated/src/aws-cpp-sdk-mailmanager/source/model/AddressFilter.cpp b/generated/src/aws-cpp-sdk-mailmanager/source/model/AddressFilter.cpp new file mode 100644 index 00000000000..9e6f12cc7dc --- /dev/null +++ b/generated/src/aws-cpp-sdk-mailmanager/source/model/AddressFilter.cpp @@ -0,0 +1,59 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace MailManager +{ +namespace Model +{ + +AddressFilter::AddressFilter() : + m_addressPrefixHasBeenSet(false) +{ +} + +AddressFilter::AddressFilter(JsonView jsonValue) + : AddressFilter() +{ + *this = jsonValue; +} + +AddressFilter& AddressFilter::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("AddressPrefix")) + { + m_addressPrefix = jsonValue.GetString("AddressPrefix"); + + m_addressPrefixHasBeenSet = true; + } + + return *this; +} + +JsonValue AddressFilter::Jsonize() const +{ + JsonValue payload; + + if(m_addressPrefixHasBeenSet) + { + payload.WithString("AddressPrefix", m_addressPrefix); + + } + + return payload; +} + +} // namespace Model +} // namespace MailManager +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mailmanager/source/model/AddressList.cpp b/generated/src/aws-cpp-sdk-mailmanager/source/model/AddressList.cpp new file mode 100644 index 00000000000..7155223dbc7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mailmanager/source/model/AddressList.cpp @@ -0,0 +1,113 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace MailManager +{ +namespace Model +{ + +AddressList::AddressList() : + m_addressListArnHasBeenSet(false), + m_addressListIdHasBeenSet(false), + m_addressListNameHasBeenSet(false), + m_createdTimestampHasBeenSet(false), + m_lastUpdatedTimestampHasBeenSet(false) +{ +} + +AddressList::AddressList(JsonView jsonValue) + : AddressList() +{ + *this = jsonValue; +} + +AddressList& AddressList::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("AddressListArn")) + { + m_addressListArn = jsonValue.GetString("AddressListArn"); + + m_addressListArnHasBeenSet = true; + } + + if(jsonValue.ValueExists("AddressListId")) + { + m_addressListId = jsonValue.GetString("AddressListId"); + + m_addressListIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("AddressListName")) + { + m_addressListName = jsonValue.GetString("AddressListName"); + + m_addressListNameHasBeenSet = true; + } + + if(jsonValue.ValueExists("CreatedTimestamp")) + { + m_createdTimestamp = jsonValue.GetDouble("CreatedTimestamp"); + + m_createdTimestampHasBeenSet = true; + } + + if(jsonValue.ValueExists("LastUpdatedTimestamp")) + { + m_lastUpdatedTimestamp = jsonValue.GetDouble("LastUpdatedTimestamp"); + + m_lastUpdatedTimestampHasBeenSet = true; + } + + return *this; +} + +JsonValue AddressList::Jsonize() const +{ + JsonValue payload; + + if(m_addressListArnHasBeenSet) + { + payload.WithString("AddressListArn", m_addressListArn); + + } + + if(m_addressListIdHasBeenSet) + { + payload.WithString("AddressListId", m_addressListId); + + } + + if(m_addressListNameHasBeenSet) + { + payload.WithString("AddressListName", m_addressListName); + + } + + if(m_createdTimestampHasBeenSet) + { + payload.WithDouble("CreatedTimestamp", m_createdTimestamp.SecondsWithMSPrecision()); + } + + if(m_lastUpdatedTimestampHasBeenSet) + { + payload.WithDouble("LastUpdatedTimestamp", m_lastUpdatedTimestamp.SecondsWithMSPrecision()); + } + + return payload; +} + +} // namespace Model +} // namespace MailManager +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mailmanager/source/model/CreateAddressListImportJobRequest.cpp b/generated/src/aws-cpp-sdk-mailmanager/source/model/CreateAddressListImportJobRequest.cpp new file mode 100644 index 00000000000..2ab1f985ec5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mailmanager/source/model/CreateAddressListImportJobRequest.cpp @@ -0,0 +1,65 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::MailManager::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +CreateAddressListImportJobRequest::CreateAddressListImportJobRequest() : + m_addressListIdHasBeenSet(false), + m_clientToken(Aws::Utils::UUID::PseudoRandomUUID()), + m_clientTokenHasBeenSet(true), + m_importDataFormatHasBeenSet(false), + m_nameHasBeenSet(false) +{ +} + +Aws::String CreateAddressListImportJobRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_addressListIdHasBeenSet) + { + payload.WithString("AddressListId", m_addressListId); + + } + + if(m_clientTokenHasBeenSet) + { + payload.WithString("ClientToken", m_clientToken); + + } + + if(m_importDataFormatHasBeenSet) + { + payload.WithObject("ImportDataFormat", m_importDataFormat.Jsonize()); + + } + + if(m_nameHasBeenSet) + { + payload.WithString("Name", m_name); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection CreateAddressListImportJobRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "MailManagerSvc.CreateAddressListImportJob")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-mailmanager/source/model/CreateAddressListImportJobResult.cpp b/generated/src/aws-cpp-sdk-mailmanager/source/model/CreateAddressListImportJobResult.cpp new file mode 100644 index 00000000000..54fa3767c47 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mailmanager/source/model/CreateAddressListImportJobResult.cpp @@ -0,0 +1,54 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::MailManager::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +CreateAddressListImportJobResult::CreateAddressListImportJobResult() +{ +} + +CreateAddressListImportJobResult::CreateAddressListImportJobResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +CreateAddressListImportJobResult& CreateAddressListImportJobResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("JobId")) + { + m_jobId = jsonValue.GetString("JobId"); + + } + + if(jsonValue.ValueExists("PreSignedUrl")) + { + m_preSignedUrl = jsonValue.GetString("PreSignedUrl"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-mailmanager/source/model/CreateAddressListRequest.cpp b/generated/src/aws-cpp-sdk-mailmanager/source/model/CreateAddressListRequest.cpp new file mode 100644 index 00000000000..e24f0b369c1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mailmanager/source/model/CreateAddressListRequest.cpp @@ -0,0 +1,63 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::MailManager::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +CreateAddressListRequest::CreateAddressListRequest() : + m_addressListNameHasBeenSet(false), + m_clientToken(Aws::Utils::UUID::PseudoRandomUUID()), + m_clientTokenHasBeenSet(true), + m_tagsHasBeenSet(false) +{ +} + +Aws::String CreateAddressListRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_addressListNameHasBeenSet) + { + payload.WithString("AddressListName", m_addressListName); + + } + + if(m_clientTokenHasBeenSet) + { + payload.WithString("ClientToken", m_clientToken); + + } + + if(m_tagsHasBeenSet) + { + Aws::Utils::Array tagsJsonList(m_tags.size()); + for(unsigned tagsIndex = 0; tagsIndex < tagsJsonList.GetLength(); ++tagsIndex) + { + tagsJsonList[tagsIndex].AsObject(m_tags[tagsIndex].Jsonize()); + } + payload.WithArray("Tags", std::move(tagsJsonList)); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection CreateAddressListRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "MailManagerSvc.CreateAddressList")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-mailmanager/source/model/CreateAddressListResult.cpp b/generated/src/aws-cpp-sdk-mailmanager/source/model/CreateAddressListResult.cpp new file mode 100644 index 00000000000..fecd1565e2e --- /dev/null +++ b/generated/src/aws-cpp-sdk-mailmanager/source/model/CreateAddressListResult.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::MailManager::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +CreateAddressListResult::CreateAddressListResult() +{ +} + +CreateAddressListResult::CreateAddressListResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +CreateAddressListResult& CreateAddressListResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("AddressListId")) + { + m_addressListId = jsonValue.GetString("AddressListId"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-mailmanager/source/model/DeleteAddressListRequest.cpp b/generated/src/aws-cpp-sdk-mailmanager/source/model/DeleteAddressListRequest.cpp new file mode 100644 index 00000000000..4b32b0c3ed1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mailmanager/source/model/DeleteAddressListRequest.cpp @@ -0,0 +1,43 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::MailManager::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +DeleteAddressListRequest::DeleteAddressListRequest() : + m_addressListIdHasBeenSet(false) +{ +} + +Aws::String DeleteAddressListRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_addressListIdHasBeenSet) + { + payload.WithString("AddressListId", m_addressListId); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection DeleteAddressListRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "MailManagerSvc.DeleteAddressList")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-mailmanager/source/model/DeleteAddressListResult.cpp b/generated/src/aws-cpp-sdk-mailmanager/source/model/DeleteAddressListResult.cpp new file mode 100644 index 00000000000..36ea4efaa2f --- /dev/null +++ b/generated/src/aws-cpp-sdk-mailmanager/source/model/DeleteAddressListResult.cpp @@ -0,0 +1,42 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::MailManager::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +DeleteAddressListResult::DeleteAddressListResult() +{ +} + +DeleteAddressListResult::DeleteAddressListResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +DeleteAddressListResult& DeleteAddressListResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + AWS_UNREFERENCED_PARAM(result); + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-mailmanager/source/model/DeregisterMemberFromAddressListRequest.cpp b/generated/src/aws-cpp-sdk-mailmanager/source/model/DeregisterMemberFromAddressListRequest.cpp new file mode 100644 index 00000000000..123ce68a1d6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mailmanager/source/model/DeregisterMemberFromAddressListRequest.cpp @@ -0,0 +1,50 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::MailManager::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +DeregisterMemberFromAddressListRequest::DeregisterMemberFromAddressListRequest() : + m_addressHasBeenSet(false), + m_addressListIdHasBeenSet(false) +{ +} + +Aws::String DeregisterMemberFromAddressListRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_addressHasBeenSet) + { + payload.WithString("Address", m_address); + + } + + if(m_addressListIdHasBeenSet) + { + payload.WithString("AddressListId", m_addressListId); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection DeregisterMemberFromAddressListRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "MailManagerSvc.DeregisterMemberFromAddressList")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-mailmanager/source/model/DeregisterMemberFromAddressListResult.cpp b/generated/src/aws-cpp-sdk-mailmanager/source/model/DeregisterMemberFromAddressListResult.cpp new file mode 100644 index 00000000000..aa4b280a227 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mailmanager/source/model/DeregisterMemberFromAddressListResult.cpp @@ -0,0 +1,42 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::MailManager::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +DeregisterMemberFromAddressListResult::DeregisterMemberFromAddressListResult() +{ +} + +DeregisterMemberFromAddressListResult::DeregisterMemberFromAddressListResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +DeregisterMemberFromAddressListResult& DeregisterMemberFromAddressListResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + AWS_UNREFERENCED_PARAM(result); + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-mailmanager/source/model/GetAddressListImportJobRequest.cpp b/generated/src/aws-cpp-sdk-mailmanager/source/model/GetAddressListImportJobRequest.cpp new file mode 100644 index 00000000000..351e081f745 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mailmanager/source/model/GetAddressListImportJobRequest.cpp @@ -0,0 +1,43 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::MailManager::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +GetAddressListImportJobRequest::GetAddressListImportJobRequest() : + m_jobIdHasBeenSet(false) +{ +} + +Aws::String GetAddressListImportJobRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_jobIdHasBeenSet) + { + payload.WithString("JobId", m_jobId); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection GetAddressListImportJobRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "MailManagerSvc.GetAddressListImportJob")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-mailmanager/source/model/GetAddressListImportJobResult.cpp b/generated/src/aws-cpp-sdk-mailmanager/source/model/GetAddressListImportJobResult.cpp new file mode 100644 index 00000000000..492d90d0d32 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mailmanager/source/model/GetAddressListImportJobResult.cpp @@ -0,0 +1,118 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::MailManager::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +GetAddressListImportJobResult::GetAddressListImportJobResult() : + m_failedItemsCount(0), + m_importedItemsCount(0), + m_status(ImportJobStatus::NOT_SET) +{ +} + +GetAddressListImportJobResult::GetAddressListImportJobResult(const Aws::AmazonWebServiceResult& result) + : GetAddressListImportJobResult() +{ + *this = result; +} + +GetAddressListImportJobResult& GetAddressListImportJobResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("AddressListId")) + { + m_addressListId = jsonValue.GetString("AddressListId"); + + } + + if(jsonValue.ValueExists("CompletedTimestamp")) + { + m_completedTimestamp = jsonValue.GetDouble("CompletedTimestamp"); + + } + + if(jsonValue.ValueExists("CreatedTimestamp")) + { + m_createdTimestamp = jsonValue.GetDouble("CreatedTimestamp"); + + } + + if(jsonValue.ValueExists("Error")) + { + m_error = jsonValue.GetString("Error"); + + } + + if(jsonValue.ValueExists("FailedItemsCount")) + { + m_failedItemsCount = jsonValue.GetInteger("FailedItemsCount"); + + } + + if(jsonValue.ValueExists("ImportDataFormat")) + { + m_importDataFormat = jsonValue.GetObject("ImportDataFormat"); + + } + + if(jsonValue.ValueExists("ImportedItemsCount")) + { + m_importedItemsCount = jsonValue.GetInteger("ImportedItemsCount"); + + } + + if(jsonValue.ValueExists("JobId")) + { + m_jobId = jsonValue.GetString("JobId"); + + } + + if(jsonValue.ValueExists("Name")) + { + m_name = jsonValue.GetString("Name"); + + } + + if(jsonValue.ValueExists("PreSignedUrl")) + { + m_preSignedUrl = jsonValue.GetString("PreSignedUrl"); + + } + + if(jsonValue.ValueExists("StartTimestamp")) + { + m_startTimestamp = jsonValue.GetDouble("StartTimestamp"); + + } + + if(jsonValue.ValueExists("Status")) + { + m_status = ImportJobStatusMapper::GetImportJobStatusForName(jsonValue.GetString("Status")); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-mailmanager/source/model/GetAddressListRequest.cpp b/generated/src/aws-cpp-sdk-mailmanager/source/model/GetAddressListRequest.cpp new file mode 100644 index 00000000000..dbc8e9f386d --- /dev/null +++ b/generated/src/aws-cpp-sdk-mailmanager/source/model/GetAddressListRequest.cpp @@ -0,0 +1,43 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::MailManager::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +GetAddressListRequest::GetAddressListRequest() : + m_addressListIdHasBeenSet(false) +{ +} + +Aws::String GetAddressListRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_addressListIdHasBeenSet) + { + payload.WithString("AddressListId", m_addressListId); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection GetAddressListRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "MailManagerSvc.GetAddressList")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-mailmanager/source/model/GetAddressListResult.cpp b/generated/src/aws-cpp-sdk-mailmanager/source/model/GetAddressListResult.cpp new file mode 100644 index 00000000000..fda7874d567 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mailmanager/source/model/GetAddressListResult.cpp @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::MailManager::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +GetAddressListResult::GetAddressListResult() +{ +} + +GetAddressListResult::GetAddressListResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +GetAddressListResult& GetAddressListResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("AddressListArn")) + { + m_addressListArn = jsonValue.GetString("AddressListArn"); + + } + + if(jsonValue.ValueExists("AddressListId")) + { + m_addressListId = jsonValue.GetString("AddressListId"); + + } + + if(jsonValue.ValueExists("AddressListName")) + { + m_addressListName = jsonValue.GetString("AddressListName"); + + } + + if(jsonValue.ValueExists("CreatedTimestamp")) + { + m_createdTimestamp = jsonValue.GetDouble("CreatedTimestamp"); + + } + + if(jsonValue.ValueExists("LastUpdatedTimestamp")) + { + m_lastUpdatedTimestamp = jsonValue.GetDouble("LastUpdatedTimestamp"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-mailmanager/source/model/GetMemberOfAddressListRequest.cpp b/generated/src/aws-cpp-sdk-mailmanager/source/model/GetMemberOfAddressListRequest.cpp new file mode 100644 index 00000000000..30ee1b50b0d --- /dev/null +++ b/generated/src/aws-cpp-sdk-mailmanager/source/model/GetMemberOfAddressListRequest.cpp @@ -0,0 +1,50 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::MailManager::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +GetMemberOfAddressListRequest::GetMemberOfAddressListRequest() : + m_addressHasBeenSet(false), + m_addressListIdHasBeenSet(false) +{ +} + +Aws::String GetMemberOfAddressListRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_addressHasBeenSet) + { + payload.WithString("Address", m_address); + + } + + if(m_addressListIdHasBeenSet) + { + payload.WithString("AddressListId", m_addressListId); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection GetMemberOfAddressListRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "MailManagerSvc.GetMemberOfAddressList")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-mailmanager/source/model/GetMemberOfAddressListResult.cpp b/generated/src/aws-cpp-sdk-mailmanager/source/model/GetMemberOfAddressListResult.cpp new file mode 100644 index 00000000000..11e944e3431 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mailmanager/source/model/GetMemberOfAddressListResult.cpp @@ -0,0 +1,54 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::MailManager::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +GetMemberOfAddressListResult::GetMemberOfAddressListResult() +{ +} + +GetMemberOfAddressListResult::GetMemberOfAddressListResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +GetMemberOfAddressListResult& GetMemberOfAddressListResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("Address")) + { + m_address = jsonValue.GetString("Address"); + + } + + if(jsonValue.ValueExists("CreatedTimestamp")) + { + m_createdTimestamp = jsonValue.GetDouble("CreatedTimestamp"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-mailmanager/source/model/ImportDataFormat.cpp b/generated/src/aws-cpp-sdk-mailmanager/source/model/ImportDataFormat.cpp new file mode 100644 index 00000000000..fe6af6ea18e --- /dev/null +++ b/generated/src/aws-cpp-sdk-mailmanager/source/model/ImportDataFormat.cpp @@ -0,0 +1,59 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace MailManager +{ +namespace Model +{ + +ImportDataFormat::ImportDataFormat() : + m_importDataType(ImportDataType::NOT_SET), + m_importDataTypeHasBeenSet(false) +{ +} + +ImportDataFormat::ImportDataFormat(JsonView jsonValue) + : ImportDataFormat() +{ + *this = jsonValue; +} + +ImportDataFormat& ImportDataFormat::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("ImportDataType")) + { + m_importDataType = ImportDataTypeMapper::GetImportDataTypeForName(jsonValue.GetString("ImportDataType")); + + m_importDataTypeHasBeenSet = true; + } + + return *this; +} + +JsonValue ImportDataFormat::Jsonize() const +{ + JsonValue payload; + + if(m_importDataTypeHasBeenSet) + { + payload.WithString("ImportDataType", ImportDataTypeMapper::GetNameForImportDataType(m_importDataType)); + } + + return payload; +} + +} // namespace Model +} // namespace MailManager +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mailmanager/source/model/ImportDataType.cpp b/generated/src/aws-cpp-sdk-mailmanager/source/model/ImportDataType.cpp new file mode 100644 index 00000000000..63bd3379fab --- /dev/null +++ b/generated/src/aws-cpp-sdk-mailmanager/source/model/ImportDataType.cpp @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace MailManager + { + namespace Model + { + namespace ImportDataTypeMapper + { + + static const int CSV_HASH = HashingUtils::HashString("CSV"); + static const int JSON_HASH = HashingUtils::HashString("JSON"); + + + ImportDataType GetImportDataTypeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == CSV_HASH) + { + return ImportDataType::CSV; + } + else if (hashCode == JSON_HASH) + { + return ImportDataType::JSON; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return ImportDataType::NOT_SET; + } + + Aws::String GetNameForImportDataType(ImportDataType enumValue) + { + switch(enumValue) + { + case ImportDataType::NOT_SET: + return {}; + case ImportDataType::CSV: + return "CSV"; + case ImportDataType::JSON: + return "JSON"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace ImportDataTypeMapper + } // namespace Model + } // namespace MailManager +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mailmanager/source/model/ImportJob.cpp b/generated/src/aws-cpp-sdk-mailmanager/source/model/ImportJob.cpp new file mode 100644 index 00000000000..f31d8ce63fb --- /dev/null +++ b/generated/src/aws-cpp-sdk-mailmanager/source/model/ImportJob.cpp @@ -0,0 +1,212 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace MailManager +{ +namespace Model +{ + +ImportJob::ImportJob() : + m_addressListIdHasBeenSet(false), + m_completedTimestampHasBeenSet(false), + m_createdTimestampHasBeenSet(false), + m_errorHasBeenSet(false), + m_failedItemsCount(0), + m_failedItemsCountHasBeenSet(false), + m_importDataFormatHasBeenSet(false), + m_importedItemsCount(0), + m_importedItemsCountHasBeenSet(false), + m_jobIdHasBeenSet(false), + m_nameHasBeenSet(false), + m_preSignedUrlHasBeenSet(false), + m_startTimestampHasBeenSet(false), + m_status(ImportJobStatus::NOT_SET), + m_statusHasBeenSet(false) +{ +} + +ImportJob::ImportJob(JsonView jsonValue) + : ImportJob() +{ + *this = jsonValue; +} + +ImportJob& ImportJob::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("AddressListId")) + { + m_addressListId = jsonValue.GetString("AddressListId"); + + m_addressListIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("CompletedTimestamp")) + { + m_completedTimestamp = jsonValue.GetDouble("CompletedTimestamp"); + + m_completedTimestampHasBeenSet = true; + } + + if(jsonValue.ValueExists("CreatedTimestamp")) + { + m_createdTimestamp = jsonValue.GetDouble("CreatedTimestamp"); + + m_createdTimestampHasBeenSet = true; + } + + if(jsonValue.ValueExists("Error")) + { + m_error = jsonValue.GetString("Error"); + + m_errorHasBeenSet = true; + } + + if(jsonValue.ValueExists("FailedItemsCount")) + { + m_failedItemsCount = jsonValue.GetInteger("FailedItemsCount"); + + m_failedItemsCountHasBeenSet = true; + } + + if(jsonValue.ValueExists("ImportDataFormat")) + { + m_importDataFormat = jsonValue.GetObject("ImportDataFormat"); + + m_importDataFormatHasBeenSet = true; + } + + if(jsonValue.ValueExists("ImportedItemsCount")) + { + m_importedItemsCount = jsonValue.GetInteger("ImportedItemsCount"); + + m_importedItemsCountHasBeenSet = true; + } + + if(jsonValue.ValueExists("JobId")) + { + m_jobId = jsonValue.GetString("JobId"); + + m_jobIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("Name")) + { + m_name = jsonValue.GetString("Name"); + + m_nameHasBeenSet = true; + } + + if(jsonValue.ValueExists("PreSignedUrl")) + { + m_preSignedUrl = jsonValue.GetString("PreSignedUrl"); + + m_preSignedUrlHasBeenSet = true; + } + + if(jsonValue.ValueExists("StartTimestamp")) + { + m_startTimestamp = jsonValue.GetDouble("StartTimestamp"); + + m_startTimestampHasBeenSet = true; + } + + if(jsonValue.ValueExists("Status")) + { + m_status = ImportJobStatusMapper::GetImportJobStatusForName(jsonValue.GetString("Status")); + + m_statusHasBeenSet = true; + } + + return *this; +} + +JsonValue ImportJob::Jsonize() const +{ + JsonValue payload; + + if(m_addressListIdHasBeenSet) + { + payload.WithString("AddressListId", m_addressListId); + + } + + if(m_completedTimestampHasBeenSet) + { + payload.WithDouble("CompletedTimestamp", m_completedTimestamp.SecondsWithMSPrecision()); + } + + if(m_createdTimestampHasBeenSet) + { + payload.WithDouble("CreatedTimestamp", m_createdTimestamp.SecondsWithMSPrecision()); + } + + if(m_errorHasBeenSet) + { + payload.WithString("Error", m_error); + + } + + if(m_failedItemsCountHasBeenSet) + { + payload.WithInteger("FailedItemsCount", m_failedItemsCount); + + } + + if(m_importDataFormatHasBeenSet) + { + payload.WithObject("ImportDataFormat", m_importDataFormat.Jsonize()); + + } + + if(m_importedItemsCountHasBeenSet) + { + payload.WithInteger("ImportedItemsCount", m_importedItemsCount); + + } + + if(m_jobIdHasBeenSet) + { + payload.WithString("JobId", m_jobId); + + } + + if(m_nameHasBeenSet) + { + payload.WithString("Name", m_name); + + } + + if(m_preSignedUrlHasBeenSet) + { + payload.WithString("PreSignedUrl", m_preSignedUrl); + + } + + if(m_startTimestampHasBeenSet) + { + payload.WithDouble("StartTimestamp", m_startTimestamp.SecondsWithMSPrecision()); + } + + if(m_statusHasBeenSet) + { + payload.WithString("Status", ImportJobStatusMapper::GetNameForImportJobStatus(m_status)); + } + + return payload; +} + +} // namespace Model +} // namespace MailManager +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mailmanager/source/model/ImportJobStatus.cpp b/generated/src/aws-cpp-sdk-mailmanager/source/model/ImportJobStatus.cpp new file mode 100644 index 00000000000..3f4e6995f4f --- /dev/null +++ b/generated/src/aws-cpp-sdk-mailmanager/source/model/ImportJobStatus.cpp @@ -0,0 +1,93 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace MailManager + { + namespace Model + { + namespace ImportJobStatusMapper + { + + static const int CREATED_HASH = HashingUtils::HashString("CREATED"); + static const int PROCESSING_HASH = HashingUtils::HashString("PROCESSING"); + static const int COMPLETED_HASH = HashingUtils::HashString("COMPLETED"); + static const int FAILED_HASH = HashingUtils::HashString("FAILED"); + static const int STOPPED_HASH = HashingUtils::HashString("STOPPED"); + + + ImportJobStatus GetImportJobStatusForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == CREATED_HASH) + { + return ImportJobStatus::CREATED; + } + else if (hashCode == PROCESSING_HASH) + { + return ImportJobStatus::PROCESSING; + } + else if (hashCode == COMPLETED_HASH) + { + return ImportJobStatus::COMPLETED; + } + else if (hashCode == FAILED_HASH) + { + return ImportJobStatus::FAILED; + } + else if (hashCode == STOPPED_HASH) + { + return ImportJobStatus::STOPPED; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return ImportJobStatus::NOT_SET; + } + + Aws::String GetNameForImportJobStatus(ImportJobStatus enumValue) + { + switch(enumValue) + { + case ImportJobStatus::NOT_SET: + return {}; + case ImportJobStatus::CREATED: + return "CREATED"; + case ImportJobStatus::PROCESSING: + return "PROCESSING"; + case ImportJobStatus::COMPLETED: + return "COMPLETED"; + case ImportJobStatus::FAILED: + return "FAILED"; + case ImportJobStatus::STOPPED: + return "STOPPED"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace ImportJobStatusMapper + } // namespace Model + } // namespace MailManager +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mailmanager/source/model/IngressAddressListEmailAttribute.cpp b/generated/src/aws-cpp-sdk-mailmanager/source/model/IngressAddressListEmailAttribute.cpp new file mode 100644 index 00000000000..b816cd372c4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mailmanager/source/model/IngressAddressListEmailAttribute.cpp @@ -0,0 +1,65 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace MailManager + { + namespace Model + { + namespace IngressAddressListEmailAttributeMapper + { + + static const int RECIPIENT_HASH = HashingUtils::HashString("RECIPIENT"); + + + IngressAddressListEmailAttribute GetIngressAddressListEmailAttributeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == RECIPIENT_HASH) + { + return IngressAddressListEmailAttribute::RECIPIENT; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return IngressAddressListEmailAttribute::NOT_SET; + } + + Aws::String GetNameForIngressAddressListEmailAttribute(IngressAddressListEmailAttribute enumValue) + { + switch(enumValue) + { + case IngressAddressListEmailAttribute::NOT_SET: + return {}; + case IngressAddressListEmailAttribute::RECIPIENT: + return "RECIPIENT"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace IngressAddressListEmailAttributeMapper + } // namespace Model + } // namespace MailManager +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mailmanager/source/model/IngressBooleanToEvaluate.cpp b/generated/src/aws-cpp-sdk-mailmanager/source/model/IngressBooleanToEvaluate.cpp index 79f64599e21..2bfba3c97b9 100644 --- a/generated/src/aws-cpp-sdk-mailmanager/source/model/IngressBooleanToEvaluate.cpp +++ b/generated/src/aws-cpp-sdk-mailmanager/source/model/IngressBooleanToEvaluate.cpp @@ -19,7 +19,8 @@ namespace Model { IngressBooleanToEvaluate::IngressBooleanToEvaluate() : - m_analysisHasBeenSet(false) + m_analysisHasBeenSet(false), + m_isInAddressListHasBeenSet(false) { } @@ -38,6 +39,13 @@ IngressBooleanToEvaluate& IngressBooleanToEvaluate::operator =(JsonView jsonValu m_analysisHasBeenSet = true; } + if(jsonValue.ValueExists("IsInAddressList")) + { + m_isInAddressList = jsonValue.GetObject("IsInAddressList"); + + m_isInAddressListHasBeenSet = true; + } + return *this; } @@ -51,6 +59,12 @@ JsonValue IngressBooleanToEvaluate::Jsonize() const } + if(m_isInAddressListHasBeenSet) + { + payload.WithObject("IsInAddressList", m_isInAddressList.Jsonize()); + + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-mailmanager/source/model/IngressIsInAddressList.cpp b/generated/src/aws-cpp-sdk-mailmanager/source/model/IngressIsInAddressList.cpp new file mode 100644 index 00000000000..e6395b7ad03 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mailmanager/source/model/IngressIsInAddressList.cpp @@ -0,0 +1,81 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace MailManager +{ +namespace Model +{ + +IngressIsInAddressList::IngressIsInAddressList() : + m_addressListsHasBeenSet(false), + m_attribute(IngressAddressListEmailAttribute::NOT_SET), + m_attributeHasBeenSet(false) +{ +} + +IngressIsInAddressList::IngressIsInAddressList(JsonView jsonValue) + : IngressIsInAddressList() +{ + *this = jsonValue; +} + +IngressIsInAddressList& IngressIsInAddressList::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("AddressLists")) + { + Aws::Utils::Array addressListsJsonList = jsonValue.GetArray("AddressLists"); + for(unsigned addressListsIndex = 0; addressListsIndex < addressListsJsonList.GetLength(); ++addressListsIndex) + { + m_addressLists.push_back(addressListsJsonList[addressListsIndex].AsString()); + } + m_addressListsHasBeenSet = true; + } + + if(jsonValue.ValueExists("Attribute")) + { + m_attribute = IngressAddressListEmailAttributeMapper::GetIngressAddressListEmailAttributeForName(jsonValue.GetString("Attribute")); + + m_attributeHasBeenSet = true; + } + + return *this; +} + +JsonValue IngressIsInAddressList::Jsonize() const +{ + JsonValue payload; + + if(m_addressListsHasBeenSet) + { + Aws::Utils::Array addressListsJsonList(m_addressLists.size()); + for(unsigned addressListsIndex = 0; addressListsIndex < addressListsJsonList.GetLength(); ++addressListsIndex) + { + addressListsJsonList[addressListsIndex].AsString(m_addressLists[addressListsIndex]); + } + payload.WithArray("AddressLists", std::move(addressListsJsonList)); + + } + + if(m_attributeHasBeenSet) + { + payload.WithString("Attribute", IngressAddressListEmailAttributeMapper::GetNameForIngressAddressListEmailAttribute(m_attribute)); + } + + return payload; +} + +} // namespace Model +} // namespace MailManager +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mailmanager/source/model/ListAddressListImportJobsRequest.cpp b/generated/src/aws-cpp-sdk-mailmanager/source/model/ListAddressListImportJobsRequest.cpp new file mode 100644 index 00000000000..ea1996bdd0c --- /dev/null +++ b/generated/src/aws-cpp-sdk-mailmanager/source/model/ListAddressListImportJobsRequest.cpp @@ -0,0 +1,58 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::MailManager::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +ListAddressListImportJobsRequest::ListAddressListImportJobsRequest() : + m_addressListIdHasBeenSet(false), + m_nextTokenHasBeenSet(false), + m_pageSize(0), + m_pageSizeHasBeenSet(false) +{ +} + +Aws::String ListAddressListImportJobsRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_addressListIdHasBeenSet) + { + payload.WithString("AddressListId", m_addressListId); + + } + + if(m_nextTokenHasBeenSet) + { + payload.WithString("NextToken", m_nextToken); + + } + + if(m_pageSizeHasBeenSet) + { + payload.WithInteger("PageSize", m_pageSize); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection ListAddressListImportJobsRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "MailManagerSvc.ListAddressListImportJobs")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-mailmanager/source/model/ListAddressListImportJobsResult.cpp b/generated/src/aws-cpp-sdk-mailmanager/source/model/ListAddressListImportJobsResult.cpp new file mode 100644 index 00000000000..3cbaf1eadff --- /dev/null +++ b/generated/src/aws-cpp-sdk-mailmanager/source/model/ListAddressListImportJobsResult.cpp @@ -0,0 +1,57 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::MailManager::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +ListAddressListImportJobsResult::ListAddressListImportJobsResult() +{ +} + +ListAddressListImportJobsResult::ListAddressListImportJobsResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +ListAddressListImportJobsResult& ListAddressListImportJobsResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("ImportJobs")) + { + Aws::Utils::Array importJobsJsonList = jsonValue.GetArray("ImportJobs"); + for(unsigned importJobsIndex = 0; importJobsIndex < importJobsJsonList.GetLength(); ++importJobsIndex) + { + m_importJobs.push_back(importJobsJsonList[importJobsIndex].AsObject()); + } + } + + if(jsonValue.ValueExists("NextToken")) + { + m_nextToken = jsonValue.GetString("NextToken"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-mailmanager/source/model/ListAddressListsRequest.cpp b/generated/src/aws-cpp-sdk-mailmanager/source/model/ListAddressListsRequest.cpp new file mode 100644 index 00000000000..0b1ebb1ee0d --- /dev/null +++ b/generated/src/aws-cpp-sdk-mailmanager/source/model/ListAddressListsRequest.cpp @@ -0,0 +1,51 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::MailManager::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +ListAddressListsRequest::ListAddressListsRequest() : + m_nextTokenHasBeenSet(false), + m_pageSize(0), + m_pageSizeHasBeenSet(false) +{ +} + +Aws::String ListAddressListsRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_nextTokenHasBeenSet) + { + payload.WithString("NextToken", m_nextToken); + + } + + if(m_pageSizeHasBeenSet) + { + payload.WithInteger("PageSize", m_pageSize); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection ListAddressListsRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "MailManagerSvc.ListAddressLists")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-mailmanager/source/model/ListAddressListsResult.cpp b/generated/src/aws-cpp-sdk-mailmanager/source/model/ListAddressListsResult.cpp new file mode 100644 index 00000000000..8caf3878309 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mailmanager/source/model/ListAddressListsResult.cpp @@ -0,0 +1,57 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::MailManager::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +ListAddressListsResult::ListAddressListsResult() +{ +} + +ListAddressListsResult::ListAddressListsResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +ListAddressListsResult& ListAddressListsResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("AddressLists")) + { + Aws::Utils::Array addressListsJsonList = jsonValue.GetArray("AddressLists"); + for(unsigned addressListsIndex = 0; addressListsIndex < addressListsJsonList.GetLength(); ++addressListsIndex) + { + m_addressLists.push_back(addressListsJsonList[addressListsIndex].AsObject()); + } + } + + if(jsonValue.ValueExists("NextToken")) + { + m_nextToken = jsonValue.GetString("NextToken"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-mailmanager/source/model/ListMembersOfAddressListRequest.cpp b/generated/src/aws-cpp-sdk-mailmanager/source/model/ListMembersOfAddressListRequest.cpp new file mode 100644 index 00000000000..1e7f4711811 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mailmanager/source/model/ListMembersOfAddressListRequest.cpp @@ -0,0 +1,65 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::MailManager::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +ListMembersOfAddressListRequest::ListMembersOfAddressListRequest() : + m_addressListIdHasBeenSet(false), + m_filterHasBeenSet(false), + m_nextTokenHasBeenSet(false), + m_pageSize(0), + m_pageSizeHasBeenSet(false) +{ +} + +Aws::String ListMembersOfAddressListRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_addressListIdHasBeenSet) + { + payload.WithString("AddressListId", m_addressListId); + + } + + if(m_filterHasBeenSet) + { + payload.WithObject("Filter", m_filter.Jsonize()); + + } + + if(m_nextTokenHasBeenSet) + { + payload.WithString("NextToken", m_nextToken); + + } + + if(m_pageSizeHasBeenSet) + { + payload.WithInteger("PageSize", m_pageSize); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection ListMembersOfAddressListRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "MailManagerSvc.ListMembersOfAddressList")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-mailmanager/source/model/ListMembersOfAddressListResult.cpp b/generated/src/aws-cpp-sdk-mailmanager/source/model/ListMembersOfAddressListResult.cpp new file mode 100644 index 00000000000..08ba3d03920 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mailmanager/source/model/ListMembersOfAddressListResult.cpp @@ -0,0 +1,57 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::MailManager::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +ListMembersOfAddressListResult::ListMembersOfAddressListResult() +{ +} + +ListMembersOfAddressListResult::ListMembersOfAddressListResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +ListMembersOfAddressListResult& ListMembersOfAddressListResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("Addresses")) + { + Aws::Utils::Array addressesJsonList = jsonValue.GetArray("Addresses"); + for(unsigned addressesIndex = 0; addressesIndex < addressesJsonList.GetLength(); ++addressesIndex) + { + m_addresses.push_back(addressesJsonList[addressesIndex].AsObject()); + } + } + + if(jsonValue.ValueExists("NextToken")) + { + m_nextToken = jsonValue.GetString("NextToken"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-mailmanager/source/model/RegisterMemberToAddressListRequest.cpp b/generated/src/aws-cpp-sdk-mailmanager/source/model/RegisterMemberToAddressListRequest.cpp new file mode 100644 index 00000000000..4408e6ccf7e --- /dev/null +++ b/generated/src/aws-cpp-sdk-mailmanager/source/model/RegisterMemberToAddressListRequest.cpp @@ -0,0 +1,50 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::MailManager::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +RegisterMemberToAddressListRequest::RegisterMemberToAddressListRequest() : + m_addressHasBeenSet(false), + m_addressListIdHasBeenSet(false) +{ +} + +Aws::String RegisterMemberToAddressListRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_addressHasBeenSet) + { + payload.WithString("Address", m_address); + + } + + if(m_addressListIdHasBeenSet) + { + payload.WithString("AddressListId", m_addressListId); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection RegisterMemberToAddressListRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "MailManagerSvc.RegisterMemberToAddressList")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-mailmanager/source/model/RegisterMemberToAddressListResult.cpp b/generated/src/aws-cpp-sdk-mailmanager/source/model/RegisterMemberToAddressListResult.cpp new file mode 100644 index 00000000000..074a0e207fa --- /dev/null +++ b/generated/src/aws-cpp-sdk-mailmanager/source/model/RegisterMemberToAddressListResult.cpp @@ -0,0 +1,42 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::MailManager::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +RegisterMemberToAddressListResult::RegisterMemberToAddressListResult() +{ +} + +RegisterMemberToAddressListResult::RegisterMemberToAddressListResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +RegisterMemberToAddressListResult& RegisterMemberToAddressListResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + AWS_UNREFERENCED_PARAM(result); + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-mailmanager/source/model/RuleAddressListEmailAttribute.cpp b/generated/src/aws-cpp-sdk-mailmanager/source/model/RuleAddressListEmailAttribute.cpp new file mode 100644 index 00000000000..7c75445c5b6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mailmanager/source/model/RuleAddressListEmailAttribute.cpp @@ -0,0 +1,100 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace MailManager + { + namespace Model + { + namespace RuleAddressListEmailAttributeMapper + { + + static const int RECIPIENT_HASH = HashingUtils::HashString("RECIPIENT"); + static const int MAIL_FROM_HASH = HashingUtils::HashString("MAIL_FROM"); + static const int SENDER_HASH = HashingUtils::HashString("SENDER"); + static const int FROM_HASH = HashingUtils::HashString("FROM"); + static const int TO_HASH = HashingUtils::HashString("TO"); + static const int CC_HASH = HashingUtils::HashString("CC"); + + + RuleAddressListEmailAttribute GetRuleAddressListEmailAttributeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == RECIPIENT_HASH) + { + return RuleAddressListEmailAttribute::RECIPIENT; + } + else if (hashCode == MAIL_FROM_HASH) + { + return RuleAddressListEmailAttribute::MAIL_FROM; + } + else if (hashCode == SENDER_HASH) + { + return RuleAddressListEmailAttribute::SENDER; + } + else if (hashCode == FROM_HASH) + { + return RuleAddressListEmailAttribute::FROM; + } + else if (hashCode == TO_HASH) + { + return RuleAddressListEmailAttribute::TO; + } + else if (hashCode == CC_HASH) + { + return RuleAddressListEmailAttribute::CC; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return RuleAddressListEmailAttribute::NOT_SET; + } + + Aws::String GetNameForRuleAddressListEmailAttribute(RuleAddressListEmailAttribute enumValue) + { + switch(enumValue) + { + case RuleAddressListEmailAttribute::NOT_SET: + return {}; + case RuleAddressListEmailAttribute::RECIPIENT: + return "RECIPIENT"; + case RuleAddressListEmailAttribute::MAIL_FROM: + return "MAIL_FROM"; + case RuleAddressListEmailAttribute::SENDER: + return "SENDER"; + case RuleAddressListEmailAttribute::FROM: + return "FROM"; + case RuleAddressListEmailAttribute::TO: + return "TO"; + case RuleAddressListEmailAttribute::CC: + return "CC"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace RuleAddressListEmailAttributeMapper + } // namespace Model + } // namespace MailManager +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mailmanager/source/model/RuleBooleanToEvaluate.cpp b/generated/src/aws-cpp-sdk-mailmanager/source/model/RuleBooleanToEvaluate.cpp index b4f6e545dc0..7472a5cb205 100644 --- a/generated/src/aws-cpp-sdk-mailmanager/source/model/RuleBooleanToEvaluate.cpp +++ b/generated/src/aws-cpp-sdk-mailmanager/source/model/RuleBooleanToEvaluate.cpp @@ -20,7 +20,8 @@ namespace Model RuleBooleanToEvaluate::RuleBooleanToEvaluate() : m_attribute(RuleBooleanEmailAttribute::NOT_SET), - m_attributeHasBeenSet(false) + m_attributeHasBeenSet(false), + m_isInAddressListHasBeenSet(false) { } @@ -39,6 +40,13 @@ RuleBooleanToEvaluate& RuleBooleanToEvaluate::operator =(JsonView jsonValue) m_attributeHasBeenSet = true; } + if(jsonValue.ValueExists("IsInAddressList")) + { + m_isInAddressList = jsonValue.GetObject("IsInAddressList"); + + m_isInAddressListHasBeenSet = true; + } + return *this; } @@ -51,6 +59,12 @@ JsonValue RuleBooleanToEvaluate::Jsonize() const payload.WithString("Attribute", RuleBooleanEmailAttributeMapper::GetNameForRuleBooleanEmailAttribute(m_attribute)); } + if(m_isInAddressListHasBeenSet) + { + payload.WithObject("IsInAddressList", m_isInAddressList.Jsonize()); + + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-mailmanager/source/model/RuleIsInAddressList.cpp b/generated/src/aws-cpp-sdk-mailmanager/source/model/RuleIsInAddressList.cpp new file mode 100644 index 00000000000..4de321da7f7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mailmanager/source/model/RuleIsInAddressList.cpp @@ -0,0 +1,81 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace MailManager +{ +namespace Model +{ + +RuleIsInAddressList::RuleIsInAddressList() : + m_addressListsHasBeenSet(false), + m_attribute(RuleAddressListEmailAttribute::NOT_SET), + m_attributeHasBeenSet(false) +{ +} + +RuleIsInAddressList::RuleIsInAddressList(JsonView jsonValue) + : RuleIsInAddressList() +{ + *this = jsonValue; +} + +RuleIsInAddressList& RuleIsInAddressList::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("AddressLists")) + { + Aws::Utils::Array addressListsJsonList = jsonValue.GetArray("AddressLists"); + for(unsigned addressListsIndex = 0; addressListsIndex < addressListsJsonList.GetLength(); ++addressListsIndex) + { + m_addressLists.push_back(addressListsJsonList[addressListsIndex].AsString()); + } + m_addressListsHasBeenSet = true; + } + + if(jsonValue.ValueExists("Attribute")) + { + m_attribute = RuleAddressListEmailAttributeMapper::GetRuleAddressListEmailAttributeForName(jsonValue.GetString("Attribute")); + + m_attributeHasBeenSet = true; + } + + return *this; +} + +JsonValue RuleIsInAddressList::Jsonize() const +{ + JsonValue payload; + + if(m_addressListsHasBeenSet) + { + Aws::Utils::Array addressListsJsonList(m_addressLists.size()); + for(unsigned addressListsIndex = 0; addressListsIndex < addressListsJsonList.GetLength(); ++addressListsIndex) + { + addressListsJsonList[addressListsIndex].AsString(m_addressLists[addressListsIndex]); + } + payload.WithArray("AddressLists", std::move(addressListsJsonList)); + + } + + if(m_attributeHasBeenSet) + { + payload.WithString("Attribute", RuleAddressListEmailAttributeMapper::GetNameForRuleAddressListEmailAttribute(m_attribute)); + } + + return payload; +} + +} // namespace Model +} // namespace MailManager +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mailmanager/source/model/SavedAddress.cpp b/generated/src/aws-cpp-sdk-mailmanager/source/model/SavedAddress.cpp new file mode 100644 index 00000000000..eee34bd4f61 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mailmanager/source/model/SavedAddress.cpp @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace MailManager +{ +namespace Model +{ + +SavedAddress::SavedAddress() : + m_addressHasBeenSet(false), + m_createdTimestampHasBeenSet(false) +{ +} + +SavedAddress::SavedAddress(JsonView jsonValue) + : SavedAddress() +{ + *this = jsonValue; +} + +SavedAddress& SavedAddress::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Address")) + { + m_address = jsonValue.GetString("Address"); + + m_addressHasBeenSet = true; + } + + if(jsonValue.ValueExists("CreatedTimestamp")) + { + m_createdTimestamp = jsonValue.GetDouble("CreatedTimestamp"); + + m_createdTimestampHasBeenSet = true; + } + + return *this; +} + +JsonValue SavedAddress::Jsonize() const +{ + JsonValue payload; + + if(m_addressHasBeenSet) + { + payload.WithString("Address", m_address); + + } + + if(m_createdTimestampHasBeenSet) + { + payload.WithDouble("CreatedTimestamp", m_createdTimestamp.SecondsWithMSPrecision()); + } + + return payload; +} + +} // namespace Model +} // namespace MailManager +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mailmanager/source/model/StartAddressListImportJobRequest.cpp b/generated/src/aws-cpp-sdk-mailmanager/source/model/StartAddressListImportJobRequest.cpp new file mode 100644 index 00000000000..ac2a615b0d9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mailmanager/source/model/StartAddressListImportJobRequest.cpp @@ -0,0 +1,43 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::MailManager::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +StartAddressListImportJobRequest::StartAddressListImportJobRequest() : + m_jobIdHasBeenSet(false) +{ +} + +Aws::String StartAddressListImportJobRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_jobIdHasBeenSet) + { + payload.WithString("JobId", m_jobId); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection StartAddressListImportJobRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "MailManagerSvc.StartAddressListImportJob")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-mailmanager/source/model/StartAddressListImportJobResult.cpp b/generated/src/aws-cpp-sdk-mailmanager/source/model/StartAddressListImportJobResult.cpp new file mode 100644 index 00000000000..205e294faad --- /dev/null +++ b/generated/src/aws-cpp-sdk-mailmanager/source/model/StartAddressListImportJobResult.cpp @@ -0,0 +1,42 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::MailManager::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +StartAddressListImportJobResult::StartAddressListImportJobResult() +{ +} + +StartAddressListImportJobResult::StartAddressListImportJobResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +StartAddressListImportJobResult& StartAddressListImportJobResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + AWS_UNREFERENCED_PARAM(result); + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-mailmanager/source/model/StopAddressListImportJobRequest.cpp b/generated/src/aws-cpp-sdk-mailmanager/source/model/StopAddressListImportJobRequest.cpp new file mode 100644 index 00000000000..453edc43fc8 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mailmanager/source/model/StopAddressListImportJobRequest.cpp @@ -0,0 +1,43 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::MailManager::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +StopAddressListImportJobRequest::StopAddressListImportJobRequest() : + m_jobIdHasBeenSet(false) +{ +} + +Aws::String StopAddressListImportJobRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_jobIdHasBeenSet) + { + payload.WithString("JobId", m_jobId); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection StopAddressListImportJobRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "MailManagerSvc.StopAddressListImportJob")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-mailmanager/source/model/StopAddressListImportJobResult.cpp b/generated/src/aws-cpp-sdk-mailmanager/source/model/StopAddressListImportJobResult.cpp new file mode 100644 index 00000000000..8ba128f50a1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mailmanager/source/model/StopAddressListImportJobResult.cpp @@ -0,0 +1,42 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::MailManager::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +StopAddressListImportJobResult::StopAddressListImportJobResult() +{ +} + +StopAddressListImportJobResult::StopAddressListImportJobResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +StopAddressListImportJobResult& StopAddressListImportJobResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + AWS_UNREFERENCED_PARAM(result); + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-mediaconvert/include/aws/mediaconvert/model/AudioSelector.h b/generated/src/aws-cpp-sdk-mediaconvert/include/aws/mediaconvert/model/AudioSelector.h index 9b70334eb43..13a3b450a5d 100644 --- a/generated/src/aws-cpp-sdk-mediaconvert/include/aws/mediaconvert/model/AudioSelector.h +++ b/generated/src/aws-cpp-sdk-mediaconvert/include/aws/mediaconvert/model/AudioSelector.h @@ -105,7 +105,7 @@ namespace Model ///@{ /** - * Specifies audio data from an external file source. + * Specify the S3, HTTP, or HTTPS URL for your external audio file input. */ inline const Aws::String& GetExternalAudioFileInput() const{ return m_externalAudioFileInput; } inline bool ExternalAudioFileInputHasBeenSet() const { return m_externalAudioFileInputHasBeenSet; } @@ -138,7 +138,10 @@ namespace Model ///@{ /** - * Selects a specific language code from within an audio source. + * Specify the language to select from your audio input. In the MediaConvert + * console choose from a list of languages. In your JSON job settings choose from + * an ISO 639-2 three-letter code listed at + * https://www.loc.gov/standards/iso639-2/php/code_list.php */ inline const LanguageCode& GetLanguageCode() const{ return m_languageCode; } inline bool LanguageCodeHasBeenSet() const { return m_languageCodeHasBeenSet; } @@ -150,7 +153,11 @@ namespace Model ///@{ /** - * Specifies a time delta in milliseconds to offset the audio from the input video. + * Specify a time delta, in milliseconds, to offset the audio from the input + * video. +To specify no offset: Keep the default value, 0. +To specify an offset: + * Enter an integer from -2147483648 to 2147483647 */ inline int GetOffset() const{ return m_offset; } inline bool OffsetHasBeenSet() const { return m_offsetHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-mediaconvert/include/aws/mediaconvert/model/DynamicAudioSelector.h b/generated/src/aws-cpp-sdk-mediaconvert/include/aws/mediaconvert/model/DynamicAudioSelector.h new file mode 100644 index 00000000000..6e2b977b135 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mediaconvert/include/aws/mediaconvert/model/DynamicAudioSelector.h @@ -0,0 +1,155 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace MediaConvert +{ +namespace Model +{ + + /** + * Use Dynamic audio selectors when you do not know the track layout of your source + * when you submit your job, but want to select multiple audio tracks. When you + * include an audio track in your output and specify this Dynamic audio selector as + * the Audio source, MediaConvert creates an output audio track for each + * dynamically selected track. Note that when you include a Dynamic audio selector + * for two or more inputs, each input must have the same number of audio tracks and + * audio channels.

    See Also:

    AWS + * API Reference

    + */ + class DynamicAudioSelector + { + public: + AWS_MEDIACONVERT_API DynamicAudioSelector(); + AWS_MEDIACONVERT_API DynamicAudioSelector(Aws::Utils::Json::JsonView jsonValue); + AWS_MEDIACONVERT_API DynamicAudioSelector& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_MEDIACONVERT_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + * Apply audio timing corrections to help synchronize audio and video in your + * output. To apply timing corrections, your input must meet the following + * requirements: * Container: MP4, or MOV, with an accurate time-to-sample (STTS) + * table. * Audio track: AAC. Choose from the following audio timing correction + * settings: * Disabled (Default): Apply no correction. * Auto: Recommended for + * most inputs. MediaConvert analyzes the audio timing in your input and determines + * which correction setting to use, if needed. * Track: Adjust the duration of each + * audio frame by a constant amount to align the audio track length with STTS + * duration. Track-level correction does not affect pitch, and is recommended for + * tonal audio content such as music. * Frame: Adjust the duration of each audio + * frame by a variable amount to align audio frames with STTS timestamps. No + * corrections are made to already-aligned frames. Frame-level correction may + * affect the pitch of corrected frames, and is recommended for atonal audio + * content such as speech or percussion. * Force: Apply audio duration correction, + * either Track or Frame depending on your input, regardless of the accuracy of + * your input's STTS table. Your output audio and video may not be aligned or it + * may contain audio artifacts. + */ + inline const AudioDurationCorrection& GetAudioDurationCorrection() const{ return m_audioDurationCorrection; } + inline bool AudioDurationCorrectionHasBeenSet() const { return m_audioDurationCorrectionHasBeenSet; } + inline void SetAudioDurationCorrection(const AudioDurationCorrection& value) { m_audioDurationCorrectionHasBeenSet = true; m_audioDurationCorrection = value; } + inline void SetAudioDurationCorrection(AudioDurationCorrection&& value) { m_audioDurationCorrectionHasBeenSet = true; m_audioDurationCorrection = std::move(value); } + inline DynamicAudioSelector& WithAudioDurationCorrection(const AudioDurationCorrection& value) { SetAudioDurationCorrection(value); return *this;} + inline DynamicAudioSelector& WithAudioDurationCorrection(AudioDurationCorrection&& value) { SetAudioDurationCorrection(std::move(value)); return *this;} + ///@} + + ///@{ + /** + * Specify the S3, HTTP, or HTTPS URL for your external audio file input. + */ + inline const Aws::String& GetExternalAudioFileInput() const{ return m_externalAudioFileInput; } + inline bool ExternalAudioFileInputHasBeenSet() const { return m_externalAudioFileInputHasBeenSet; } + inline void SetExternalAudioFileInput(const Aws::String& value) { m_externalAudioFileInputHasBeenSet = true; m_externalAudioFileInput = value; } + inline void SetExternalAudioFileInput(Aws::String&& value) { m_externalAudioFileInputHasBeenSet = true; m_externalAudioFileInput = std::move(value); } + inline void SetExternalAudioFileInput(const char* value) { m_externalAudioFileInputHasBeenSet = true; m_externalAudioFileInput.assign(value); } + inline DynamicAudioSelector& WithExternalAudioFileInput(const Aws::String& value) { SetExternalAudioFileInput(value); return *this;} + inline DynamicAudioSelector& WithExternalAudioFileInput(Aws::String&& value) { SetExternalAudioFileInput(std::move(value)); return *this;} + inline DynamicAudioSelector& WithExternalAudioFileInput(const char* value) { SetExternalAudioFileInput(value); return *this;} + ///@} + + ///@{ + /** + * Specify the language to select from your audio input. In the MediaConvert + * console choose from a list of languages. In your JSON job settings choose from + * an ISO 639-2 three-letter code listed at + * https://www.loc.gov/standards/iso639-2/php/code_list.php + */ + inline const LanguageCode& GetLanguageCode() const{ return m_languageCode; } + inline bool LanguageCodeHasBeenSet() const { return m_languageCodeHasBeenSet; } + inline void SetLanguageCode(const LanguageCode& value) { m_languageCodeHasBeenSet = true; m_languageCode = value; } + inline void SetLanguageCode(LanguageCode&& value) { m_languageCodeHasBeenSet = true; m_languageCode = std::move(value); } + inline DynamicAudioSelector& WithLanguageCode(const LanguageCode& value) { SetLanguageCode(value); return *this;} + inline DynamicAudioSelector& WithLanguageCode(LanguageCode&& value) { SetLanguageCode(std::move(value)); return *this;} + ///@} + + ///@{ + /** + * Specify a time delta, in milliseconds, to offset the audio from the input + * video. +To specify no offset: Keep the default value, 0. +To specify an offset: + * Enter an integer from -2147483648 to 2147483647 + */ + inline int GetOffset() const{ return m_offset; } + inline bool OffsetHasBeenSet() const { return m_offsetHasBeenSet; } + inline void SetOffset(int value) { m_offsetHasBeenSet = true; m_offset = value; } + inline DynamicAudioSelector& WithOffset(int value) { SetOffset(value); return *this;} + ///@} + + ///@{ + /** + * Specify which audio tracks to dynamically select from your source. To select all + * audio tracks: Keep the default value, All tracks. To select all audio tracks + * with a specific language code: Choose Language code. When you do, you must also + * specify a language code under the Language code setting. If there is no matching + * Language code in your source, then no track will be selected. + */ + inline const DynamicAudioSelectorType& GetSelectorType() const{ return m_selectorType; } + inline bool SelectorTypeHasBeenSet() const { return m_selectorTypeHasBeenSet; } + inline void SetSelectorType(const DynamicAudioSelectorType& value) { m_selectorTypeHasBeenSet = true; m_selectorType = value; } + inline void SetSelectorType(DynamicAudioSelectorType&& value) { m_selectorTypeHasBeenSet = true; m_selectorType = std::move(value); } + inline DynamicAudioSelector& WithSelectorType(const DynamicAudioSelectorType& value) { SetSelectorType(value); return *this;} + inline DynamicAudioSelector& WithSelectorType(DynamicAudioSelectorType&& value) { SetSelectorType(std::move(value)); return *this;} + ///@} + private: + + AudioDurationCorrection m_audioDurationCorrection; + bool m_audioDurationCorrectionHasBeenSet = false; + + Aws::String m_externalAudioFileInput; + bool m_externalAudioFileInputHasBeenSet = false; + + LanguageCode m_languageCode; + bool m_languageCodeHasBeenSet = false; + + int m_offset; + bool m_offsetHasBeenSet = false; + + DynamicAudioSelectorType m_selectorType; + bool m_selectorTypeHasBeenSet = false; + }; + +} // namespace Model +} // namespace MediaConvert +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mediaconvert/include/aws/mediaconvert/model/DynamicAudioSelectorType.h b/generated/src/aws-cpp-sdk-mediaconvert/include/aws/mediaconvert/model/DynamicAudioSelectorType.h new file mode 100644 index 00000000000..f585ce51f99 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mediaconvert/include/aws/mediaconvert/model/DynamicAudioSelectorType.h @@ -0,0 +1,31 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace MediaConvert +{ +namespace Model +{ + enum class DynamicAudioSelectorType + { + NOT_SET, + ALL_TRACKS, + LANGUAGE_CODE + }; + +namespace DynamicAudioSelectorTypeMapper +{ +AWS_MEDIACONVERT_API DynamicAudioSelectorType GetDynamicAudioSelectorTypeForName(const Aws::String& name); + +AWS_MEDIACONVERT_API Aws::String GetNameForDynamicAudioSelectorType(DynamicAudioSelectorType value); +} // namespace DynamicAudioSelectorTypeMapper +} // namespace Model +} // namespace MediaConvert +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mediaconvert/include/aws/mediaconvert/model/H265Deblocking.h b/generated/src/aws-cpp-sdk-mediaconvert/include/aws/mediaconvert/model/H265Deblocking.h new file mode 100644 index 00000000000..2f4f854f9a8 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mediaconvert/include/aws/mediaconvert/model/H265Deblocking.h @@ -0,0 +1,31 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace MediaConvert +{ +namespace Model +{ + enum class H265Deblocking + { + NOT_SET, + ENABLED, + DISABLED + }; + +namespace H265DeblockingMapper +{ +AWS_MEDIACONVERT_API H265Deblocking GetH265DeblockingForName(const Aws::String& name); + +AWS_MEDIACONVERT_API Aws::String GetNameForH265Deblocking(H265Deblocking value); +} // namespace H265DeblockingMapper +} // namespace Model +} // namespace MediaConvert +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mediaconvert/include/aws/mediaconvert/model/H265Settings.h b/generated/src/aws-cpp-sdk-mediaconvert/include/aws/mediaconvert/model/H265Settings.h index 581709c6701..2b6125e1ee4 100644 --- a/generated/src/aws-cpp-sdk-mediaconvert/include/aws/mediaconvert/model/H265Settings.h +++ b/generated/src/aws-cpp-sdk-mediaconvert/include/aws/mediaconvert/model/H265Settings.h @@ -10,6 +10,7 @@ #include #include #include +#include #include #include #include @@ -152,6 +153,23 @@ namespace Model inline H265Settings& WithCodecProfile(H265CodecProfile&& value) { SetCodecProfile(std::move(value)); return *this;} ///@} + ///@{ + /** + * Use Deblocking to improve the video quality of your output by smoothing the + * edges of macroblock artifacts created during video compression. To reduce + * blocking artifacts at block boundaries, and improve overall video quality: Keep + * the default value, Enabled. To not apply any deblocking: Choose Disabled. + * Visible block edge artifacts might appear in the output, especially at lower + * bitrates. + */ + inline const H265Deblocking& GetDeblocking() const{ return m_deblocking; } + inline bool DeblockingHasBeenSet() const { return m_deblockingHasBeenSet; } + inline void SetDeblocking(const H265Deblocking& value) { m_deblockingHasBeenSet = true; m_deblocking = value; } + inline void SetDeblocking(H265Deblocking&& value) { m_deblockingHasBeenSet = true; m_deblocking = std::move(value); } + inline H265Settings& WithDeblocking(const H265Deblocking& value) { SetDeblocking(value); return *this;} + inline H265Settings& WithDeblocking(H265Deblocking&& value) { SetDeblocking(std::move(value)); return *this;} + ///@} + ///@{ /** * Specify whether to allow the number of B-frames in your output GOP structure to @@ -771,6 +789,9 @@ namespace Model H265CodecProfile m_codecProfile; bool m_codecProfileHasBeenSet = false; + H265Deblocking m_deblocking; + bool m_deblockingHasBeenSet = false; + H265DynamicSubGop m_dynamicSubGop; bool m_dynamicSubGopHasBeenSet = false; diff --git a/generated/src/aws-cpp-sdk-mediaconvert/include/aws/mediaconvert/model/Input.h b/generated/src/aws-cpp-sdk-mediaconvert/include/aws/mediaconvert/model/Input.h index cbd008b57e3..397cea08af1 100644 --- a/generated/src/aws-cpp-sdk-mediaconvert/include/aws/mediaconvert/model/Input.h +++ b/generated/src/aws-cpp-sdk-mediaconvert/include/aws/mediaconvert/model/Input.h @@ -24,6 +24,7 @@ #include #include #include +#include #include #include #include @@ -234,6 +235,30 @@ namespace Model inline Input& WithDolbyVisionMetadataXml(const char* value) { SetDolbyVisionMetadataXml(value); return *this;} ///@} + ///@{ + /** + * Use Dynamic audio selectors when you do not know the track layout of your source + * when you submit your job, but want to select multiple audio tracks. When you + * include an audio track in your output and specify this Dynamic audio selector as + * the Audio source, MediaConvert creates an output audio track for each + * dynamically selected track. Note that when you include a Dynamic audio selector + * for two or more inputs, each input must have the same number of audio tracks and + * audio channels. + */ + inline const Aws::Map& GetDynamicAudioSelectors() const{ return m_dynamicAudioSelectors; } + inline bool DynamicAudioSelectorsHasBeenSet() const { return m_dynamicAudioSelectorsHasBeenSet; } + inline void SetDynamicAudioSelectors(const Aws::Map& value) { m_dynamicAudioSelectorsHasBeenSet = true; m_dynamicAudioSelectors = value; } + inline void SetDynamicAudioSelectors(Aws::Map&& value) { m_dynamicAudioSelectorsHasBeenSet = true; m_dynamicAudioSelectors = std::move(value); } + inline Input& WithDynamicAudioSelectors(const Aws::Map& value) { SetDynamicAudioSelectors(value); return *this;} + inline Input& WithDynamicAudioSelectors(Aws::Map&& value) { SetDynamicAudioSelectors(std::move(value)); return *this;} + inline Input& AddDynamicAudioSelectors(const Aws::String& key, const DynamicAudioSelector& value) { m_dynamicAudioSelectorsHasBeenSet = true; m_dynamicAudioSelectors.emplace(key, value); return *this; } + inline Input& AddDynamicAudioSelectors(Aws::String&& key, const DynamicAudioSelector& value) { m_dynamicAudioSelectorsHasBeenSet = true; m_dynamicAudioSelectors.emplace(std::move(key), value); return *this; } + inline Input& AddDynamicAudioSelectors(const Aws::String& key, DynamicAudioSelector&& value) { m_dynamicAudioSelectorsHasBeenSet = true; m_dynamicAudioSelectors.emplace(key, std::move(value)); return *this; } + inline Input& AddDynamicAudioSelectors(Aws::String&& key, DynamicAudioSelector&& value) { m_dynamicAudioSelectorsHasBeenSet = true; m_dynamicAudioSelectors.emplace(std::move(key), std::move(value)); return *this; } + inline Input& AddDynamicAudioSelectors(const char* key, DynamicAudioSelector&& value) { m_dynamicAudioSelectorsHasBeenSet = true; m_dynamicAudioSelectors.emplace(key, std::move(value)); return *this; } + inline Input& AddDynamicAudioSelectors(const char* key, const DynamicAudioSelector& value) { m_dynamicAudioSelectorsHasBeenSet = true; m_dynamicAudioSelectors.emplace(key, value); return *this; } + ///@} + ///@{ /** * Specify the source file for your transcoding job. You can use multiple inputs in @@ -515,6 +540,9 @@ namespace Model Aws::String m_dolbyVisionMetadataXml; bool m_dolbyVisionMetadataXmlHasBeenSet = false; + Aws::Map m_dynamicAudioSelectors; + bool m_dynamicAudioSelectorsHasBeenSet = false; + Aws::String m_fileInput; bool m_fileInputHasBeenSet = false; diff --git a/generated/src/aws-cpp-sdk-mediaconvert/include/aws/mediaconvert/model/InputTemplate.h b/generated/src/aws-cpp-sdk-mediaconvert/include/aws/mediaconvert/model/InputTemplate.h index 96e5faefec4..a39d9758d5c 100644 --- a/generated/src/aws-cpp-sdk-mediaconvert/include/aws/mediaconvert/model/InputTemplate.h +++ b/generated/src/aws-cpp-sdk-mediaconvert/include/aws/mediaconvert/model/InputTemplate.h @@ -22,6 +22,7 @@ #include #include #include +#include #include #include #include @@ -211,6 +212,30 @@ namespace Model inline InputTemplate& WithDolbyVisionMetadataXml(const char* value) { SetDolbyVisionMetadataXml(value); return *this;} ///@} + ///@{ + /** + * Use Dynamic audio selectors when you do not know the track layout of your source + * when you submit your job, but want to select multiple audio tracks. When you + * include an audio track in your output and specify this Dynamic audio selector as + * the Audio source, MediaConvert creates an output audio track for each + * dynamically selected track. Note that when you include a Dynamic audio selector + * for two or more inputs, each input must have the same number of audio tracks and + * audio channels. + */ + inline const Aws::Map& GetDynamicAudioSelectors() const{ return m_dynamicAudioSelectors; } + inline bool DynamicAudioSelectorsHasBeenSet() const { return m_dynamicAudioSelectorsHasBeenSet; } + inline void SetDynamicAudioSelectors(const Aws::Map& value) { m_dynamicAudioSelectorsHasBeenSet = true; m_dynamicAudioSelectors = value; } + inline void SetDynamicAudioSelectors(Aws::Map&& value) { m_dynamicAudioSelectorsHasBeenSet = true; m_dynamicAudioSelectors = std::move(value); } + inline InputTemplate& WithDynamicAudioSelectors(const Aws::Map& value) { SetDynamicAudioSelectors(value); return *this;} + inline InputTemplate& WithDynamicAudioSelectors(Aws::Map&& value) { SetDynamicAudioSelectors(std::move(value)); return *this;} + inline InputTemplate& AddDynamicAudioSelectors(const Aws::String& key, const DynamicAudioSelector& value) { m_dynamicAudioSelectorsHasBeenSet = true; m_dynamicAudioSelectors.emplace(key, value); return *this; } + inline InputTemplate& AddDynamicAudioSelectors(Aws::String&& key, const DynamicAudioSelector& value) { m_dynamicAudioSelectorsHasBeenSet = true; m_dynamicAudioSelectors.emplace(std::move(key), value); return *this; } + inline InputTemplate& AddDynamicAudioSelectors(const Aws::String& key, DynamicAudioSelector&& value) { m_dynamicAudioSelectorsHasBeenSet = true; m_dynamicAudioSelectors.emplace(key, std::move(value)); return *this; } + inline InputTemplate& AddDynamicAudioSelectors(Aws::String&& key, DynamicAudioSelector&& value) { m_dynamicAudioSelectorsHasBeenSet = true; m_dynamicAudioSelectors.emplace(std::move(key), std::move(value)); return *this; } + inline InputTemplate& AddDynamicAudioSelectors(const char* key, DynamicAudioSelector&& value) { m_dynamicAudioSelectorsHasBeenSet = true; m_dynamicAudioSelectors.emplace(key, std::move(value)); return *this; } + inline InputTemplate& AddDynamicAudioSelectors(const char* key, const DynamicAudioSelector& value) { m_dynamicAudioSelectorsHasBeenSet = true; m_dynamicAudioSelectors.emplace(key, value); return *this; } + ///@} + ///@{ /** * Specify whether to apply input filtering to improve the video quality of your @@ -432,6 +457,9 @@ namespace Model Aws::String m_dolbyVisionMetadataXml; bool m_dolbyVisionMetadataXmlHasBeenSet = false; + Aws::Map m_dynamicAudioSelectors; + bool m_dynamicAudioSelectorsHasBeenSet = false; + InputFilterEnable m_filterEnable; bool m_filterEnableHasBeenSet = false; diff --git a/generated/src/aws-cpp-sdk-mediaconvert/include/aws/mediaconvert/model/JobSettings.h b/generated/src/aws-cpp-sdk-mediaconvert/include/aws/mediaconvert/model/JobSettings.h index 18584ea05e2..d5f4f883e4a 100644 --- a/generated/src/aws-cpp-sdk-mediaconvert/include/aws/mediaconvert/model/JobSettings.h +++ b/generated/src/aws-cpp-sdk-mediaconvert/include/aws/mediaconvert/model/JobSettings.h @@ -124,7 +124,7 @@ namespace Model /** * Specify the input that MediaConvert references for your default output settings. * MediaConvert uses this input's Resolution, Frame rate, and Pixel aspect ratio - * for all outputs that you don't manually specify different output settings for. + * for all outputs that you don't manually specify different output settings for. * Enabling this setting will disable "Follow source" for all other inputs. If * MediaConvert cannot follow your source, for example if you specify an audio-only * input, MediaConvert uses the first followable input instead. In your JSON job diff --git a/generated/src/aws-cpp-sdk-mediaconvert/include/aws/mediaconvert/model/JobTemplateSettings.h b/generated/src/aws-cpp-sdk-mediaconvert/include/aws/mediaconvert/model/JobTemplateSettings.h index a5fda3da916..922b20ca0af 100644 --- a/generated/src/aws-cpp-sdk-mediaconvert/include/aws/mediaconvert/model/JobTemplateSettings.h +++ b/generated/src/aws-cpp-sdk-mediaconvert/include/aws/mediaconvert/model/JobTemplateSettings.h @@ -124,7 +124,7 @@ namespace Model /** * Specify the input that MediaConvert references for your default output settings. * MediaConvert uses this input's Resolution, Frame rate, and Pixel aspect ratio - * for all outputs that you don't manually specify different output settings for. + * for all outputs that you don't manually specify different output settings for. * Enabling this setting will disable "Follow source" for all other inputs. If * MediaConvert cannot follow your source, for example if you specify an audio-only * input, MediaConvert uses the first followable input instead. In your JSON job diff --git a/generated/src/aws-cpp-sdk-mediaconvert/source/model/DynamicAudioSelector.cpp b/generated/src/aws-cpp-sdk-mediaconvert/source/model/DynamicAudioSelector.cpp new file mode 100644 index 00000000000..b42f7540a88 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mediaconvert/source/model/DynamicAudioSelector.cpp @@ -0,0 +1,116 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace MediaConvert +{ +namespace Model +{ + +DynamicAudioSelector::DynamicAudioSelector() : + m_audioDurationCorrection(AudioDurationCorrection::NOT_SET), + m_audioDurationCorrectionHasBeenSet(false), + m_externalAudioFileInputHasBeenSet(false), + m_languageCode(LanguageCode::NOT_SET), + m_languageCodeHasBeenSet(false), + m_offset(0), + m_offsetHasBeenSet(false), + m_selectorType(DynamicAudioSelectorType::NOT_SET), + m_selectorTypeHasBeenSet(false) +{ +} + +DynamicAudioSelector::DynamicAudioSelector(JsonView jsonValue) + : DynamicAudioSelector() +{ + *this = jsonValue; +} + +DynamicAudioSelector& DynamicAudioSelector::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("audioDurationCorrection")) + { + m_audioDurationCorrection = AudioDurationCorrectionMapper::GetAudioDurationCorrectionForName(jsonValue.GetString("audioDurationCorrection")); + + m_audioDurationCorrectionHasBeenSet = true; + } + + if(jsonValue.ValueExists("externalAudioFileInput")) + { + m_externalAudioFileInput = jsonValue.GetString("externalAudioFileInput"); + + m_externalAudioFileInputHasBeenSet = true; + } + + if(jsonValue.ValueExists("languageCode")) + { + m_languageCode = LanguageCodeMapper::GetLanguageCodeForName(jsonValue.GetString("languageCode")); + + m_languageCodeHasBeenSet = true; + } + + if(jsonValue.ValueExists("offset")) + { + m_offset = jsonValue.GetInteger("offset"); + + m_offsetHasBeenSet = true; + } + + if(jsonValue.ValueExists("selectorType")) + { + m_selectorType = DynamicAudioSelectorTypeMapper::GetDynamicAudioSelectorTypeForName(jsonValue.GetString("selectorType")); + + m_selectorTypeHasBeenSet = true; + } + + return *this; +} + +JsonValue DynamicAudioSelector::Jsonize() const +{ + JsonValue payload; + + if(m_audioDurationCorrectionHasBeenSet) + { + payload.WithString("audioDurationCorrection", AudioDurationCorrectionMapper::GetNameForAudioDurationCorrection(m_audioDurationCorrection)); + } + + if(m_externalAudioFileInputHasBeenSet) + { + payload.WithString("externalAudioFileInput", m_externalAudioFileInput); + + } + + if(m_languageCodeHasBeenSet) + { + payload.WithString("languageCode", LanguageCodeMapper::GetNameForLanguageCode(m_languageCode)); + } + + if(m_offsetHasBeenSet) + { + payload.WithInteger("offset", m_offset); + + } + + if(m_selectorTypeHasBeenSet) + { + payload.WithString("selectorType", DynamicAudioSelectorTypeMapper::GetNameForDynamicAudioSelectorType(m_selectorType)); + } + + return payload; +} + +} // namespace Model +} // namespace MediaConvert +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mediaconvert/source/model/DynamicAudioSelectorType.cpp b/generated/src/aws-cpp-sdk-mediaconvert/source/model/DynamicAudioSelectorType.cpp new file mode 100644 index 00000000000..8db205c13ff --- /dev/null +++ b/generated/src/aws-cpp-sdk-mediaconvert/source/model/DynamicAudioSelectorType.cpp @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace MediaConvert + { + namespace Model + { + namespace DynamicAudioSelectorTypeMapper + { + + static const int ALL_TRACKS_HASH = HashingUtils::HashString("ALL_TRACKS"); + static const int LANGUAGE_CODE_HASH = HashingUtils::HashString("LANGUAGE_CODE"); + + + DynamicAudioSelectorType GetDynamicAudioSelectorTypeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == ALL_TRACKS_HASH) + { + return DynamicAudioSelectorType::ALL_TRACKS; + } + else if (hashCode == LANGUAGE_CODE_HASH) + { + return DynamicAudioSelectorType::LANGUAGE_CODE; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return DynamicAudioSelectorType::NOT_SET; + } + + Aws::String GetNameForDynamicAudioSelectorType(DynamicAudioSelectorType enumValue) + { + switch(enumValue) + { + case DynamicAudioSelectorType::NOT_SET: + return {}; + case DynamicAudioSelectorType::ALL_TRACKS: + return "ALL_TRACKS"; + case DynamicAudioSelectorType::LANGUAGE_CODE: + return "LANGUAGE_CODE"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace DynamicAudioSelectorTypeMapper + } // namespace Model + } // namespace MediaConvert +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mediaconvert/source/model/H265Deblocking.cpp b/generated/src/aws-cpp-sdk-mediaconvert/source/model/H265Deblocking.cpp new file mode 100644 index 00000000000..fdc9d6b8088 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mediaconvert/source/model/H265Deblocking.cpp @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace MediaConvert + { + namespace Model + { + namespace H265DeblockingMapper + { + + static const int ENABLED_HASH = HashingUtils::HashString("ENABLED"); + static const int DISABLED_HASH = HashingUtils::HashString("DISABLED"); + + + H265Deblocking GetH265DeblockingForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == ENABLED_HASH) + { + return H265Deblocking::ENABLED; + } + else if (hashCode == DISABLED_HASH) + { + return H265Deblocking::DISABLED; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return H265Deblocking::NOT_SET; + } + + Aws::String GetNameForH265Deblocking(H265Deblocking enumValue) + { + switch(enumValue) + { + case H265Deblocking::NOT_SET: + return {}; + case H265Deblocking::ENABLED: + return "ENABLED"; + case H265Deblocking::DISABLED: + return "DISABLED"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace H265DeblockingMapper + } // namespace Model + } // namespace MediaConvert +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mediaconvert/source/model/H265Settings.cpp b/generated/src/aws-cpp-sdk-mediaconvert/source/model/H265Settings.cpp index 322a53b1245..12d2a4ed45a 100644 --- a/generated/src/aws-cpp-sdk-mediaconvert/source/model/H265Settings.cpp +++ b/generated/src/aws-cpp-sdk-mediaconvert/source/model/H265Settings.cpp @@ -30,6 +30,8 @@ H265Settings::H265Settings() : m_codecLevelHasBeenSet(false), m_codecProfile(H265CodecProfile::NOT_SET), m_codecProfileHasBeenSet(false), + m_deblocking(H265Deblocking::NOT_SET), + m_deblockingHasBeenSet(false), m_dynamicSubGop(H265DynamicSubGop::NOT_SET), m_dynamicSubGopHasBeenSet(false), m_endOfStreamMarkers(H265EndOfStreamMarkers::NOT_SET), @@ -156,6 +158,13 @@ H265Settings& H265Settings::operator =(JsonView jsonValue) m_codecProfileHasBeenSet = true; } + if(jsonValue.ValueExists("deblocking")) + { + m_deblocking = H265DeblockingMapper::GetH265DeblockingForName(jsonValue.GetString("deblocking")); + + m_deblockingHasBeenSet = true; + } + if(jsonValue.ValueExists("dynamicSubGop")) { m_dynamicSubGop = H265DynamicSubGopMapper::GetH265DynamicSubGopForName(jsonValue.GetString("dynamicSubGop")); @@ -454,6 +463,11 @@ JsonValue H265Settings::Jsonize() const payload.WithString("codecProfile", H265CodecProfileMapper::GetNameForH265CodecProfile(m_codecProfile)); } + if(m_deblockingHasBeenSet) + { + payload.WithString("deblocking", H265DeblockingMapper::GetNameForH265Deblocking(m_deblocking)); + } + if(m_dynamicSubGopHasBeenSet) { payload.WithString("dynamicSubGop", H265DynamicSubGopMapper::GetNameForH265DynamicSubGop(m_dynamicSubGop)); diff --git a/generated/src/aws-cpp-sdk-mediaconvert/source/model/Input.cpp b/generated/src/aws-cpp-sdk-mediaconvert/source/model/Input.cpp index bf980c55569..59fba5589e9 100644 --- a/generated/src/aws-cpp-sdk-mediaconvert/source/model/Input.cpp +++ b/generated/src/aws-cpp-sdk-mediaconvert/source/model/Input.cpp @@ -32,6 +32,7 @@ Input::Input() : m_denoiseFilter(InputDenoiseFilter::NOT_SET), m_denoiseFilterHasBeenSet(false), m_dolbyVisionMetadataXmlHasBeenSet(false), + m_dynamicAudioSelectorsHasBeenSet(false), m_fileInputHasBeenSet(false), m_filterEnable(InputFilterEnable::NOT_SET), m_filterEnableHasBeenSet(false), @@ -143,6 +144,16 @@ Input& Input::operator =(JsonView jsonValue) m_dolbyVisionMetadataXmlHasBeenSet = true; } + if(jsonValue.ValueExists("dynamicAudioSelectors")) + { + Aws::Map dynamicAudioSelectorsJsonMap = jsonValue.GetObject("dynamicAudioSelectors").GetAllObjects(); + for(auto& dynamicAudioSelectorsItem : dynamicAudioSelectorsJsonMap) + { + m_dynamicAudioSelectors[dynamicAudioSelectorsItem.first] = dynamicAudioSelectorsItem.second.AsObject(); + } + m_dynamicAudioSelectorsHasBeenSet = true; + } + if(jsonValue.ValueExists("fileInput")) { m_fileInput = jsonValue.GetString("fileInput"); @@ -336,6 +347,17 @@ JsonValue Input::Jsonize() const } + if(m_dynamicAudioSelectorsHasBeenSet) + { + JsonValue dynamicAudioSelectorsJsonMap; + for(auto& dynamicAudioSelectorsItem : m_dynamicAudioSelectors) + { + dynamicAudioSelectorsJsonMap.WithObject(dynamicAudioSelectorsItem.first, dynamicAudioSelectorsItem.second.Jsonize()); + } + payload.WithObject("dynamicAudioSelectors", std::move(dynamicAudioSelectorsJsonMap)); + + } + if(m_fileInputHasBeenSet) { payload.WithString("fileInput", m_fileInput); diff --git a/generated/src/aws-cpp-sdk-mediaconvert/source/model/InputTemplate.cpp b/generated/src/aws-cpp-sdk-mediaconvert/source/model/InputTemplate.cpp index a8d536c6736..f01803b89c5 100644 --- a/generated/src/aws-cpp-sdk-mediaconvert/source/model/InputTemplate.cpp +++ b/generated/src/aws-cpp-sdk-mediaconvert/source/model/InputTemplate.cpp @@ -31,6 +31,7 @@ InputTemplate::InputTemplate() : m_denoiseFilter(InputDenoiseFilter::NOT_SET), m_denoiseFilterHasBeenSet(false), m_dolbyVisionMetadataXmlHasBeenSet(false), + m_dynamicAudioSelectorsHasBeenSet(false), m_filterEnable(InputFilterEnable::NOT_SET), m_filterEnableHasBeenSet(false), m_filterStrength(0), @@ -132,6 +133,16 @@ InputTemplate& InputTemplate::operator =(JsonView jsonValue) m_dolbyVisionMetadataXmlHasBeenSet = true; } + if(jsonValue.ValueExists("dynamicAudioSelectors")) + { + Aws::Map dynamicAudioSelectorsJsonMap = jsonValue.GetObject("dynamicAudioSelectors").GetAllObjects(); + for(auto& dynamicAudioSelectorsItem : dynamicAudioSelectorsJsonMap) + { + m_dynamicAudioSelectors[dynamicAudioSelectorsItem.first] = dynamicAudioSelectorsItem.second.AsObject(); + } + m_dynamicAudioSelectorsHasBeenSet = true; + } + if(jsonValue.ValueExists("filterEnable")) { m_filterEnable = InputFilterEnableMapper::GetInputFilterEnableForName(jsonValue.GetString("filterEnable")); @@ -295,6 +306,17 @@ JsonValue InputTemplate::Jsonize() const } + if(m_dynamicAudioSelectorsHasBeenSet) + { + JsonValue dynamicAudioSelectorsJsonMap; + for(auto& dynamicAudioSelectorsItem : m_dynamicAudioSelectors) + { + dynamicAudioSelectorsJsonMap.WithObject(dynamicAudioSelectorsItem.first, dynamicAudioSelectorsItem.second.Jsonize()); + } + payload.WithObject("dynamicAudioSelectors", std::move(dynamicAudioSelectorsJsonMap)); + + } + if(m_filterEnableHasBeenSet) { payload.WithString("filterEnable", InputFilterEnableMapper::GetNameForInputFilterEnable(m_filterEnable)); diff --git a/generated/src/aws-cpp-sdk-mediatailor/include/aws/mediatailor/MediaTailorClient.h b/generated/src/aws-cpp-sdk-mediatailor/include/aws/mediatailor/MediaTailorClient.h index d285c22bb3c..3a773707426 100644 --- a/generated/src/aws-cpp-sdk-mediatailor/include/aws/mediatailor/MediaTailorClient.h +++ b/generated/src/aws-cpp-sdk-mediatailor/include/aws/mediatailor/MediaTailorClient.h @@ -125,8 +125,8 @@ namespace MediaTailor } /** - *

    Amazon CloudWatch log settings for a playback configuration.

    See - * Also:

    Defines where AWS Elemental MediaTailor sends logs for the playback + * configuration.

    See Also:

    AWS * API Reference

    */ diff --git a/generated/src/aws-cpp-sdk-mediatailor/include/aws/mediatailor/model/AdBreak.h b/generated/src/aws-cpp-sdk-mediatailor/include/aws/mediatailor/model/AdBreak.h index 85fbe0a935e..e0a8580e419 100644 --- a/generated/src/aws-cpp-sdk-mediatailor/include/aws/mediatailor/model/AdBreak.h +++ b/generated/src/aws-cpp-sdk-mediatailor/include/aws/mediatailor/model/AdBreak.h @@ -5,11 +5,11 @@ #pragma once #include -#include #include #include #include #include +#include #include #include @@ -42,21 +42,6 @@ namespace Model AWS_MEDIATAILOR_API Aws::Utils::Json::JsonValue Jsonize() const; - ///@{ - /** - *

    Defines a list of key/value pairs that MediaTailor generates within the - * EXT-X-ASSETtag for SCTE35_ENHANCED output.

    - */ - inline const Aws::Vector& GetAdBreakMetadata() const{ return m_adBreakMetadata; } - inline bool AdBreakMetadataHasBeenSet() const { return m_adBreakMetadataHasBeenSet; } - inline void SetAdBreakMetadata(const Aws::Vector& value) { m_adBreakMetadataHasBeenSet = true; m_adBreakMetadata = value; } - inline void SetAdBreakMetadata(Aws::Vector&& value) { m_adBreakMetadataHasBeenSet = true; m_adBreakMetadata = std::move(value); } - inline AdBreak& WithAdBreakMetadata(const Aws::Vector& value) { SetAdBreakMetadata(value); return *this;} - inline AdBreak& WithAdBreakMetadata(Aws::Vector&& value) { SetAdBreakMetadata(std::move(value)); return *this;} - inline AdBreak& AddAdBreakMetadata(const KeyValuePair& value) { m_adBreakMetadataHasBeenSet = true; m_adBreakMetadata.push_back(value); return *this; } - inline AdBreak& AddAdBreakMetadata(KeyValuePair&& value) { m_adBreakMetadataHasBeenSet = true; m_adBreakMetadata.push_back(std::move(value)); return *this; } - ///@} - ///@{ /** *

    The SCTE-35 ad insertion type. Accepted value: SPLICE_INSERT, @@ -123,10 +108,22 @@ namespace Model inline AdBreak& WithTimeSignalMessage(const TimeSignalMessage& value) { SetTimeSignalMessage(value); return *this;} inline AdBreak& WithTimeSignalMessage(TimeSignalMessage&& value) { SetTimeSignalMessage(std::move(value)); return *this;} ///@} - private: - Aws::Vector m_adBreakMetadata; - bool m_adBreakMetadataHasBeenSet = false; + ///@{ + /** + *

    Defines a list of key/value pairs that MediaTailor generates within the + * EXT-X-ASSETtag for SCTE35_ENHANCED output.

    + */ + inline const Aws::Vector& GetAdBreakMetadata() const{ return m_adBreakMetadata; } + inline bool AdBreakMetadataHasBeenSet() const { return m_adBreakMetadataHasBeenSet; } + inline void SetAdBreakMetadata(const Aws::Vector& value) { m_adBreakMetadataHasBeenSet = true; m_adBreakMetadata = value; } + inline void SetAdBreakMetadata(Aws::Vector&& value) { m_adBreakMetadataHasBeenSet = true; m_adBreakMetadata = std::move(value); } + inline AdBreak& WithAdBreakMetadata(const Aws::Vector& value) { SetAdBreakMetadata(value); return *this;} + inline AdBreak& WithAdBreakMetadata(Aws::Vector&& value) { SetAdBreakMetadata(std::move(value)); return *this;} + inline AdBreak& AddAdBreakMetadata(const KeyValuePair& value) { m_adBreakMetadataHasBeenSet = true; m_adBreakMetadata.push_back(value); return *this; } + inline AdBreak& AddAdBreakMetadata(KeyValuePair&& value) { m_adBreakMetadataHasBeenSet = true; m_adBreakMetadata.push_back(std::move(value)); return *this; } + ///@} + private: MessageType m_messageType; bool m_messageTypeHasBeenSet = false; @@ -142,6 +139,9 @@ namespace Model TimeSignalMessage m_timeSignalMessage; bool m_timeSignalMessageHasBeenSet = false; + + Aws::Vector m_adBreakMetadata; + bool m_adBreakMetadataHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-mediatailor/include/aws/mediatailor/model/AdConditioningConfiguration.h b/generated/src/aws-cpp-sdk-mediatailor/include/aws/mediatailor/model/AdConditioningConfiguration.h new file mode 100644 index 00000000000..c21e6c837de --- /dev/null +++ b/generated/src/aws-cpp-sdk-mediatailor/include/aws/mediatailor/model/AdConditioningConfiguration.h @@ -0,0 +1,66 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace MediaTailor +{ +namespace Model +{ + + /** + *

    The setting that indicates what conditioning MediaTailor will perform on ads + * that the ad decision server (ADS) returns.

    See Also:

    AWS + * API Reference

    + */ + class AdConditioningConfiguration + { + public: + AWS_MEDIATAILOR_API AdConditioningConfiguration(); + AWS_MEDIATAILOR_API AdConditioningConfiguration(Aws::Utils::Json::JsonView jsonValue); + AWS_MEDIATAILOR_API AdConditioningConfiguration& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_MEDIATAILOR_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

    For ads that have media files with streaming delivery, indicates what + * transcoding action MediaTailor it first receives these ads from the ADS. + * TRANSCODE indicates that MediaTailor must transcode the ads. + * NONE indicates that you have already transcoded the ads outside of + * MediaTailor and don't need them transcoded as part of the ad insertion workflow. + * For more information about ad conditioning see https://docs.aws.amazon.com/precondition-ads.html.

    + */ + inline const StreamingMediaFileConditioning& GetStreamingMediaFileConditioning() const{ return m_streamingMediaFileConditioning; } + inline bool StreamingMediaFileConditioningHasBeenSet() const { return m_streamingMediaFileConditioningHasBeenSet; } + inline void SetStreamingMediaFileConditioning(const StreamingMediaFileConditioning& value) { m_streamingMediaFileConditioningHasBeenSet = true; m_streamingMediaFileConditioning = value; } + inline void SetStreamingMediaFileConditioning(StreamingMediaFileConditioning&& value) { m_streamingMediaFileConditioningHasBeenSet = true; m_streamingMediaFileConditioning = std::move(value); } + inline AdConditioningConfiguration& WithStreamingMediaFileConditioning(const StreamingMediaFileConditioning& value) { SetStreamingMediaFileConditioning(value); return *this;} + inline AdConditioningConfiguration& WithStreamingMediaFileConditioning(StreamingMediaFileConditioning&& value) { SetStreamingMediaFileConditioning(std::move(value)); return *this;} + ///@} + private: + + StreamingMediaFileConditioning m_streamingMediaFileConditioning; + bool m_streamingMediaFileConditioningHasBeenSet = false; + }; + +} // namespace Model +} // namespace MediaTailor +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mediatailor/include/aws/mediatailor/model/Alert.h b/generated/src/aws-cpp-sdk-mediatailor/include/aws/mediatailor/model/Alert.h index 8aab7bb2490..6426bb8874c 100644 --- a/generated/src/aws-cpp-sdk-mediatailor/include/aws/mediatailor/model/Alert.h +++ b/generated/src/aws-cpp-sdk-mediatailor/include/aws/mediatailor/model/Alert.h @@ -6,9 +6,9 @@ #pragma once #include #include -#include #include #include +#include #include namespace Aws @@ -69,18 +69,6 @@ namespace Model inline Alert& WithAlertMessage(const char* value) { SetAlertMessage(value); return *this;} ///@} - ///@{ - /** - *

    The category that MediaTailor assigns to the alert.

    - */ - inline const AlertCategory& GetCategory() const{ return m_category; } - inline bool CategoryHasBeenSet() const { return m_categoryHasBeenSet; } - inline void SetCategory(const AlertCategory& value) { m_categoryHasBeenSet = true; m_category = value; } - inline void SetCategory(AlertCategory&& value) { m_categoryHasBeenSet = true; m_category = std::move(value); } - inline Alert& WithCategory(const AlertCategory& value) { SetCategory(value); return *this;} - inline Alert& WithCategory(AlertCategory&& value) { SetCategory(std::move(value)); return *this;} - ///@} - ///@{ /** *

    The timestamp when the alert was last modified.

    @@ -121,6 +109,18 @@ namespace Model inline Alert& WithResourceArn(Aws::String&& value) { SetResourceArn(std::move(value)); return *this;} inline Alert& WithResourceArn(const char* value) { SetResourceArn(value); return *this;} ///@} + + ///@{ + /** + *

    The category that MediaTailor assigns to the alert.

    + */ + inline const AlertCategory& GetCategory() const{ return m_category; } + inline bool CategoryHasBeenSet() const { return m_categoryHasBeenSet; } + inline void SetCategory(const AlertCategory& value) { m_categoryHasBeenSet = true; m_category = value; } + inline void SetCategory(AlertCategory&& value) { m_categoryHasBeenSet = true; m_category = std::move(value); } + inline Alert& WithCategory(const AlertCategory& value) { SetCategory(value); return *this;} + inline Alert& WithCategory(AlertCategory&& value) { SetCategory(std::move(value)); return *this;} + ///@} private: Aws::String m_alertCode; @@ -129,9 +129,6 @@ namespace Model Aws::String m_alertMessage; bool m_alertMessageHasBeenSet = false; - AlertCategory m_category; - bool m_categoryHasBeenSet = false; - Aws::Utils::DateTime m_lastModifiedTime; bool m_lastModifiedTimeHasBeenSet = false; @@ -140,6 +137,9 @@ namespace Model Aws::String m_resourceArn; bool m_resourceArnHasBeenSet = false; + + AlertCategory m_category; + bool m_categoryHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-mediatailor/include/aws/mediatailor/model/AlternateMedia.h b/generated/src/aws-cpp-sdk-mediatailor/include/aws/mediatailor/model/AlternateMedia.h index b128b24c90f..a8bc66b84f7 100644 --- a/generated/src/aws-cpp-sdk-mediatailor/include/aws/mediatailor/model/AlternateMedia.h +++ b/generated/src/aws-cpp-sdk-mediatailor/include/aws/mediatailor/model/AlternateMedia.h @@ -5,9 +5,9 @@ #pragma once #include -#include -#include #include +#include +#include #include #include @@ -43,36 +43,16 @@ namespace Model ///@{ /** - *

    Ad break configuration parameters defined in AlternateMedia.

    - */ - inline const Aws::Vector& GetAdBreaks() const{ return m_adBreaks; } - inline bool AdBreaksHasBeenSet() const { return m_adBreaksHasBeenSet; } - inline void SetAdBreaks(const Aws::Vector& value) { m_adBreaksHasBeenSet = true; m_adBreaks = value; } - inline void SetAdBreaks(Aws::Vector&& value) { m_adBreaksHasBeenSet = true; m_adBreaks = std::move(value); } - inline AlternateMedia& WithAdBreaks(const Aws::Vector& value) { SetAdBreaks(value); return *this;} - inline AlternateMedia& WithAdBreaks(Aws::Vector&& value) { SetAdBreaks(std::move(value)); return *this;} - inline AlternateMedia& AddAdBreaks(const AdBreak& value) { m_adBreaksHasBeenSet = true; m_adBreaks.push_back(value); return *this; } - inline AlternateMedia& AddAdBreaks(AdBreak&& value) { m_adBreaksHasBeenSet = true; m_adBreaks.push_back(std::move(value)); return *this; } - ///@} - - ///@{ - - inline const ClipRange& GetClipRange() const{ return m_clipRange; } - inline bool ClipRangeHasBeenSet() const { return m_clipRangeHasBeenSet; } - inline void SetClipRange(const ClipRange& value) { m_clipRangeHasBeenSet = true; m_clipRange = value; } - inline void SetClipRange(ClipRange&& value) { m_clipRangeHasBeenSet = true; m_clipRange = std::move(value); } - inline AlternateMedia& WithClipRange(const ClipRange& value) { SetClipRange(value); return *this;} - inline AlternateMedia& WithClipRange(ClipRange&& value) { SetClipRange(std::move(value)); return *this;} - ///@} - - ///@{ - /** - *

    The duration of the alternateMedia in milliseconds.

    + *

    The name of the source location for alternateMedia.

    */ - inline long long GetDurationMillis() const{ return m_durationMillis; } - inline bool DurationMillisHasBeenSet() const { return m_durationMillisHasBeenSet; } - inline void SetDurationMillis(long long value) { m_durationMillisHasBeenSet = true; m_durationMillis = value; } - inline AlternateMedia& WithDurationMillis(long long value) { SetDurationMillis(value); return *this;} + inline const Aws::String& GetSourceLocationName() const{ return m_sourceLocationName; } + inline bool SourceLocationNameHasBeenSet() const { return m_sourceLocationNameHasBeenSet; } + inline void SetSourceLocationName(const Aws::String& value) { m_sourceLocationNameHasBeenSet = true; m_sourceLocationName = value; } + inline void SetSourceLocationName(Aws::String&& value) { m_sourceLocationNameHasBeenSet = true; m_sourceLocationName = std::move(value); } + inline void SetSourceLocationName(const char* value) { m_sourceLocationNameHasBeenSet = true; m_sourceLocationName.assign(value); } + inline AlternateMedia& WithSourceLocationName(const Aws::String& value) { SetSourceLocationName(value); return *this;} + inline AlternateMedia& WithSourceLocationName(Aws::String&& value) { SetSourceLocationName(std::move(value)); return *this;} + inline AlternateMedia& WithSourceLocationName(const char* value) { SetSourceLocationName(value); return *this;} ///@} ///@{ @@ -89,6 +69,30 @@ namespace Model inline AlternateMedia& WithLiveSourceName(const char* value) { SetLiveSourceName(value); return *this;} ///@} + ///@{ + /** + *

    The name of the VOD source for alternateMedia.

    + */ + inline const Aws::String& GetVodSourceName() const{ return m_vodSourceName; } + inline bool VodSourceNameHasBeenSet() const { return m_vodSourceNameHasBeenSet; } + inline void SetVodSourceName(const Aws::String& value) { m_vodSourceNameHasBeenSet = true; m_vodSourceName = value; } + inline void SetVodSourceName(Aws::String&& value) { m_vodSourceNameHasBeenSet = true; m_vodSourceName = std::move(value); } + inline void SetVodSourceName(const char* value) { m_vodSourceNameHasBeenSet = true; m_vodSourceName.assign(value); } + inline AlternateMedia& WithVodSourceName(const Aws::String& value) { SetVodSourceName(value); return *this;} + inline AlternateMedia& WithVodSourceName(Aws::String&& value) { SetVodSourceName(std::move(value)); return *this;} + inline AlternateMedia& WithVodSourceName(const char* value) { SetVodSourceName(value); return *this;} + ///@} + + ///@{ + + inline const ClipRange& GetClipRange() const{ return m_clipRange; } + inline bool ClipRangeHasBeenSet() const { return m_clipRangeHasBeenSet; } + inline void SetClipRange(const ClipRange& value) { m_clipRangeHasBeenSet = true; m_clipRange = value; } + inline void SetClipRange(ClipRange&& value) { m_clipRangeHasBeenSet = true; m_clipRange = std::move(value); } + inline AlternateMedia& WithClipRange(const ClipRange& value) { SetClipRange(value); return *this;} + inline AlternateMedia& WithClipRange(ClipRange&& value) { SetClipRange(std::move(value)); return *this;} + ///@} + ///@{ /** *

    The date and time that the alternateMedia is scheduled to start, in epoch @@ -102,53 +106,49 @@ namespace Model ///@{ /** - *

    The name of the source location for alternateMedia.

    + *

    Ad break configuration parameters defined in AlternateMedia.

    */ - inline const Aws::String& GetSourceLocationName() const{ return m_sourceLocationName; } - inline bool SourceLocationNameHasBeenSet() const { return m_sourceLocationNameHasBeenSet; } - inline void SetSourceLocationName(const Aws::String& value) { m_sourceLocationNameHasBeenSet = true; m_sourceLocationName = value; } - inline void SetSourceLocationName(Aws::String&& value) { m_sourceLocationNameHasBeenSet = true; m_sourceLocationName = std::move(value); } - inline void SetSourceLocationName(const char* value) { m_sourceLocationNameHasBeenSet = true; m_sourceLocationName.assign(value); } - inline AlternateMedia& WithSourceLocationName(const Aws::String& value) { SetSourceLocationName(value); return *this;} - inline AlternateMedia& WithSourceLocationName(Aws::String&& value) { SetSourceLocationName(std::move(value)); return *this;} - inline AlternateMedia& WithSourceLocationName(const char* value) { SetSourceLocationName(value); return *this;} + inline const Aws::Vector& GetAdBreaks() const{ return m_adBreaks; } + inline bool AdBreaksHasBeenSet() const { return m_adBreaksHasBeenSet; } + inline void SetAdBreaks(const Aws::Vector& value) { m_adBreaksHasBeenSet = true; m_adBreaks = value; } + inline void SetAdBreaks(Aws::Vector&& value) { m_adBreaksHasBeenSet = true; m_adBreaks = std::move(value); } + inline AlternateMedia& WithAdBreaks(const Aws::Vector& value) { SetAdBreaks(value); return *this;} + inline AlternateMedia& WithAdBreaks(Aws::Vector&& value) { SetAdBreaks(std::move(value)); return *this;} + inline AlternateMedia& AddAdBreaks(const AdBreak& value) { m_adBreaksHasBeenSet = true; m_adBreaks.push_back(value); return *this; } + inline AlternateMedia& AddAdBreaks(AdBreak&& value) { m_adBreaksHasBeenSet = true; m_adBreaks.push_back(std::move(value)); return *this; } ///@} ///@{ /** - *

    The name of the VOD source for alternateMedia.

    + *

    The duration of the alternateMedia in milliseconds.

    */ - inline const Aws::String& GetVodSourceName() const{ return m_vodSourceName; } - inline bool VodSourceNameHasBeenSet() const { return m_vodSourceNameHasBeenSet; } - inline void SetVodSourceName(const Aws::String& value) { m_vodSourceNameHasBeenSet = true; m_vodSourceName = value; } - inline void SetVodSourceName(Aws::String&& value) { m_vodSourceNameHasBeenSet = true; m_vodSourceName = std::move(value); } - inline void SetVodSourceName(const char* value) { m_vodSourceNameHasBeenSet = true; m_vodSourceName.assign(value); } - inline AlternateMedia& WithVodSourceName(const Aws::String& value) { SetVodSourceName(value); return *this;} - inline AlternateMedia& WithVodSourceName(Aws::String&& value) { SetVodSourceName(std::move(value)); return *this;} - inline AlternateMedia& WithVodSourceName(const char* value) { SetVodSourceName(value); return *this;} + inline long long GetDurationMillis() const{ return m_durationMillis; } + inline bool DurationMillisHasBeenSet() const { return m_durationMillisHasBeenSet; } + inline void SetDurationMillis(long long value) { m_durationMillisHasBeenSet = true; m_durationMillis = value; } + inline AlternateMedia& WithDurationMillis(long long value) { SetDurationMillis(value); return *this;} ///@} private: - Aws::Vector m_adBreaks; - bool m_adBreaksHasBeenSet = false; - - ClipRange m_clipRange; - bool m_clipRangeHasBeenSet = false; - - long long m_durationMillis; - bool m_durationMillisHasBeenSet = false; + Aws::String m_sourceLocationName; + bool m_sourceLocationNameHasBeenSet = false; Aws::String m_liveSourceName; bool m_liveSourceNameHasBeenSet = false; + Aws::String m_vodSourceName; + bool m_vodSourceNameHasBeenSet = false; + + ClipRange m_clipRange; + bool m_clipRangeHasBeenSet = false; + long long m_scheduledStartTimeMillis; bool m_scheduledStartTimeMillisHasBeenSet = false; - Aws::String m_sourceLocationName; - bool m_sourceLocationNameHasBeenSet = false; + Aws::Vector m_adBreaks; + bool m_adBreaksHasBeenSet = false; - Aws::String m_vodSourceName; - bool m_vodSourceNameHasBeenSet = false; + long long m_durationMillis; + bool m_durationMillisHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-mediatailor/include/aws/mediatailor/model/AudienceMedia.h b/generated/src/aws-cpp-sdk-mediatailor/include/aws/mediatailor/model/AudienceMedia.h index 95feb0cdcde..b30b8bb8d45 100644 --- a/generated/src/aws-cpp-sdk-mediatailor/include/aws/mediatailor/model/AudienceMedia.h +++ b/generated/src/aws-cpp-sdk-mediatailor/include/aws/mediatailor/model/AudienceMedia.h @@ -5,8 +5,8 @@ #pragma once #include -#include #include +#include #include #include @@ -40,20 +40,6 @@ namespace Model AWS_MEDIATAILOR_API Aws::Utils::Json::JsonValue Jsonize() const; - ///@{ - /** - *

    The list of AlternateMedia defined in AudienceMedia.

    - */ - inline const Aws::Vector& GetAlternateMedia() const{ return m_alternateMedia; } - inline bool AlternateMediaHasBeenSet() const { return m_alternateMediaHasBeenSet; } - inline void SetAlternateMedia(const Aws::Vector& value) { m_alternateMediaHasBeenSet = true; m_alternateMedia = value; } - inline void SetAlternateMedia(Aws::Vector&& value) { m_alternateMediaHasBeenSet = true; m_alternateMedia = std::move(value); } - inline AudienceMedia& WithAlternateMedia(const Aws::Vector& value) { SetAlternateMedia(value); return *this;} - inline AudienceMedia& WithAlternateMedia(Aws::Vector&& value) { SetAlternateMedia(std::move(value)); return *this;} - inline AudienceMedia& AddAlternateMedia(const AlternateMedia& value) { m_alternateMediaHasBeenSet = true; m_alternateMedia.push_back(value); return *this; } - inline AudienceMedia& AddAlternateMedia(AlternateMedia&& value) { m_alternateMediaHasBeenSet = true; m_alternateMedia.push_back(std::move(value)); return *this; } - ///@} - ///@{ /** *

    The Audience defined in AudienceMedia.

    @@ -67,13 +53,27 @@ namespace Model inline AudienceMedia& WithAudience(Aws::String&& value) { SetAudience(std::move(value)); return *this;} inline AudienceMedia& WithAudience(const char* value) { SetAudience(value); return *this;} ///@} - private: - Aws::Vector m_alternateMedia; - bool m_alternateMediaHasBeenSet = false; + ///@{ + /** + *

    The list of AlternateMedia defined in AudienceMedia.

    + */ + inline const Aws::Vector& GetAlternateMedia() const{ return m_alternateMedia; } + inline bool AlternateMediaHasBeenSet() const { return m_alternateMediaHasBeenSet; } + inline void SetAlternateMedia(const Aws::Vector& value) { m_alternateMediaHasBeenSet = true; m_alternateMedia = value; } + inline void SetAlternateMedia(Aws::Vector&& value) { m_alternateMediaHasBeenSet = true; m_alternateMedia = std::move(value); } + inline AudienceMedia& WithAlternateMedia(const Aws::Vector& value) { SetAlternateMedia(value); return *this;} + inline AudienceMedia& WithAlternateMedia(Aws::Vector&& value) { SetAlternateMedia(std::move(value)); return *this;} + inline AudienceMedia& AddAlternateMedia(const AlternateMedia& value) { m_alternateMediaHasBeenSet = true; m_alternateMedia.push_back(value); return *this; } + inline AudienceMedia& AddAlternateMedia(AlternateMedia&& value) { m_alternateMediaHasBeenSet = true; m_alternateMedia.push_back(std::move(value)); return *this; } + ///@} + private: Aws::String m_audience; bool m_audienceHasBeenSet = false; + + Aws::Vector m_alternateMedia; + bool m_alternateMediaHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-mediatailor/include/aws/mediatailor/model/AvailSuppression.h b/generated/src/aws-cpp-sdk-mediatailor/include/aws/mediatailor/model/AvailSuppression.h index 67e77b7e953..e4db57399ae 100644 --- a/generated/src/aws-cpp-sdk-mediatailor/include/aws/mediatailor/model/AvailSuppression.h +++ b/generated/src/aws-cpp-sdk-mediatailor/include/aws/mediatailor/model/AvailSuppression.h @@ -5,9 +5,9 @@ #pragma once #include -#include #include #include +#include #include namespace Aws @@ -42,21 +42,6 @@ namespace Model AWS_MEDIATAILOR_API Aws::Utils::Json::JsonValue Jsonize() const; - ///@{ - /** - *

    Defines the policy to apply to the avail suppression mode. - * BEHIND_LIVE_EDGE will always use the full avail suppression policy. - * AFTER_LIVE_EDGE mode can be used to invoke partial ad break fills - * when a session starts mid-break.

    - */ - inline const FillPolicy& GetFillPolicy() const{ return m_fillPolicy; } - inline bool FillPolicyHasBeenSet() const { return m_fillPolicyHasBeenSet; } - inline void SetFillPolicy(const FillPolicy& value) { m_fillPolicyHasBeenSet = true; m_fillPolicy = value; } - inline void SetFillPolicy(FillPolicy&& value) { m_fillPolicyHasBeenSet = true; m_fillPolicy = std::move(value); } - inline AvailSuppression& WithFillPolicy(const FillPolicy& value) { SetFillPolicy(value); return *this;} - inline AvailSuppression& WithFillPolicy(FillPolicy&& value) { SetFillPolicy(std::move(value)); return *this;} - ///@} - ///@{ /** *

    Sets the ad suppression mode. By default, ad suppression is off and all ad @@ -95,16 +80,31 @@ namespace Model inline AvailSuppression& WithValue(Aws::String&& value) { SetValue(std::move(value)); return *this;} inline AvailSuppression& WithValue(const char* value) { SetValue(value); return *this;} ///@} - private: - FillPolicy m_fillPolicy; - bool m_fillPolicyHasBeenSet = false; + ///@{ + /** + *

    Defines the policy to apply to the avail suppression mode. + * BEHIND_LIVE_EDGE will always use the full avail suppression policy. + * AFTER_LIVE_EDGE mode can be used to invoke partial ad break fills + * when a session starts mid-break.

    + */ + inline const FillPolicy& GetFillPolicy() const{ return m_fillPolicy; } + inline bool FillPolicyHasBeenSet() const { return m_fillPolicyHasBeenSet; } + inline void SetFillPolicy(const FillPolicy& value) { m_fillPolicyHasBeenSet = true; m_fillPolicy = value; } + inline void SetFillPolicy(FillPolicy&& value) { m_fillPolicyHasBeenSet = true; m_fillPolicy = std::move(value); } + inline AvailSuppression& WithFillPolicy(const FillPolicy& value) { SetFillPolicy(value); return *this;} + inline AvailSuppression& WithFillPolicy(FillPolicy&& value) { SetFillPolicy(std::move(value)); return *this;} + ///@} + private: Mode m_mode; bool m_modeHasBeenSet = false; Aws::String m_value; bool m_valueHasBeenSet = false; + + FillPolicy m_fillPolicy; + bool m_fillPolicyHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-mediatailor/include/aws/mediatailor/model/Channel.h b/generated/src/aws-cpp-sdk-mediatailor/include/aws/mediatailor/model/Channel.h index e1df7efea36..4d3afbc5eba 100644 --- a/generated/src/aws-cpp-sdk-mediatailor/include/aws/mediatailor/model/Channel.h +++ b/generated/src/aws-cpp-sdk-mediatailor/include/aws/mediatailor/model/Channel.h @@ -6,11 +6,11 @@ #pragma once #include #include -#include #include #include -#include +#include #include +#include #include #include @@ -61,21 +61,6 @@ namespace Model inline Channel& WithArn(const char* value) { SetArn(value); return *this;} ///@} - ///@{ - /** - *

    The list of audiences defined in channel.

    - */ - inline const Aws::Vector& GetAudiences() const{ return m_audiences; } - inline bool AudiencesHasBeenSet() const { return m_audiencesHasBeenSet; } - inline void SetAudiences(const Aws::Vector& value) { m_audiencesHasBeenSet = true; m_audiences = value; } - inline void SetAudiences(Aws::Vector&& value) { m_audiencesHasBeenSet = true; m_audiences = std::move(value); } - inline Channel& WithAudiences(const Aws::Vector& value) { SetAudiences(value); return *this;} - inline Channel& WithAudiences(Aws::Vector&& value) { SetAudiences(std::move(value)); return *this;} - inline Channel& AddAudiences(const Aws::String& value) { m_audiencesHasBeenSet = true; m_audiences.push_back(value); return *this; } - inline Channel& AddAudiences(Aws::String&& value) { m_audiencesHasBeenSet = true; m_audiences.push_back(std::move(value)); return *this; } - inline Channel& AddAudiences(const char* value) { m_audiencesHasBeenSet = true; m_audiences.push_back(value); return *this; } - ///@} - ///@{ /** *

    The name of the channel.

    @@ -143,18 +128,6 @@ namespace Model inline Channel& WithLastModifiedTime(Aws::Utils::DateTime&& value) { SetLastModifiedTime(std::move(value)); return *this;} ///@} - ///@{ - /** - *

    The log configuration.

    - */ - inline const LogConfigurationForChannel& GetLogConfiguration() const{ return m_logConfiguration; } - inline bool LogConfigurationHasBeenSet() const { return m_logConfigurationHasBeenSet; } - inline void SetLogConfiguration(const LogConfigurationForChannel& value) { m_logConfigurationHasBeenSet = true; m_logConfiguration = value; } - inline void SetLogConfiguration(LogConfigurationForChannel&& value) { m_logConfigurationHasBeenSet = true; m_logConfiguration = std::move(value); } - inline Channel& WithLogConfiguration(const LogConfigurationForChannel& value) { SetLogConfiguration(value); return *this;} - inline Channel& WithLogConfiguration(LogConfigurationForChannel&& value) { SetLogConfiguration(std::move(value)); return *this;} - ///@} - ///@{ /** *

    The channel's output properties.

    @@ -223,14 +196,38 @@ namespace Model inline Channel& WithTier(Aws::String&& value) { SetTier(std::move(value)); return *this;} inline Channel& WithTier(const char* value) { SetTier(value); return *this;} ///@} + + ///@{ + /** + *

    The log configuration.

    + */ + inline const LogConfigurationForChannel& GetLogConfiguration() const{ return m_logConfiguration; } + inline bool LogConfigurationHasBeenSet() const { return m_logConfigurationHasBeenSet; } + inline void SetLogConfiguration(const LogConfigurationForChannel& value) { m_logConfigurationHasBeenSet = true; m_logConfiguration = value; } + inline void SetLogConfiguration(LogConfigurationForChannel&& value) { m_logConfigurationHasBeenSet = true; m_logConfiguration = std::move(value); } + inline Channel& WithLogConfiguration(const LogConfigurationForChannel& value) { SetLogConfiguration(value); return *this;} + inline Channel& WithLogConfiguration(LogConfigurationForChannel&& value) { SetLogConfiguration(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

    The list of audiences defined in channel.

    + */ + inline const Aws::Vector& GetAudiences() const{ return m_audiences; } + inline bool AudiencesHasBeenSet() const { return m_audiencesHasBeenSet; } + inline void SetAudiences(const Aws::Vector& value) { m_audiencesHasBeenSet = true; m_audiences = value; } + inline void SetAudiences(Aws::Vector&& value) { m_audiencesHasBeenSet = true; m_audiences = std::move(value); } + inline Channel& WithAudiences(const Aws::Vector& value) { SetAudiences(value); return *this;} + inline Channel& WithAudiences(Aws::Vector&& value) { SetAudiences(std::move(value)); return *this;} + inline Channel& AddAudiences(const Aws::String& value) { m_audiencesHasBeenSet = true; m_audiences.push_back(value); return *this; } + inline Channel& AddAudiences(Aws::String&& value) { m_audiencesHasBeenSet = true; m_audiences.push_back(std::move(value)); return *this; } + inline Channel& AddAudiences(const char* value) { m_audiencesHasBeenSet = true; m_audiences.push_back(value); return *this; } + ///@} private: Aws::String m_arn; bool m_arnHasBeenSet = false; - Aws::Vector m_audiences; - bool m_audiencesHasBeenSet = false; - Aws::String m_channelName; bool m_channelNameHasBeenSet = false; @@ -246,9 +243,6 @@ namespace Model Aws::Utils::DateTime m_lastModifiedTime; bool m_lastModifiedTimeHasBeenSet = false; - LogConfigurationForChannel m_logConfiguration; - bool m_logConfigurationHasBeenSet = false; - Aws::Vector m_outputs; bool m_outputsHasBeenSet = false; @@ -260,6 +254,12 @@ namespace Model Aws::String m_tier; bool m_tierHasBeenSet = false; + + LogConfigurationForChannel m_logConfiguration; + bool m_logConfigurationHasBeenSet = false; + + Aws::Vector m_audiences; + bool m_audiencesHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-mediatailor/include/aws/mediatailor/model/ConfigureLogsForPlaybackConfigurationRequest.h b/generated/src/aws-cpp-sdk-mediatailor/include/aws/mediatailor/model/ConfigureLogsForPlaybackConfigurationRequest.h index abce2060b04..bb715cba440 100644 --- a/generated/src/aws-cpp-sdk-mediatailor/include/aws/mediatailor/model/ConfigureLogsForPlaybackConfigurationRequest.h +++ b/generated/src/aws-cpp-sdk-mediatailor/include/aws/mediatailor/model/ConfigureLogsForPlaybackConfigurationRequest.h @@ -38,7 +38,7 @@ namespace Model ///@{ /** - *

    The percentage of session logs that MediaTailor sends to your Cloudwatch Logs + *

    The percentage of session logs that MediaTailor sends to your CloudWatch Logs * account. For example, if your playback configuration has 1000 sessions and * percentEnabled is set to 60, MediaTailor sends logs for 600 of the * sessions to CloudWatch Logs. MediaTailor decides at random which of the playback diff --git a/generated/src/aws-cpp-sdk-mediatailor/include/aws/mediatailor/model/CreateChannelRequest.h b/generated/src/aws-cpp-sdk-mediatailor/include/aws/mediatailor/model/CreateChannelRequest.h index f9c3ef903c8..afadf0b7a8c 100644 --- a/generated/src/aws-cpp-sdk-mediatailor/include/aws/mediatailor/model/CreateChannelRequest.h +++ b/generated/src/aws-cpp-sdk-mediatailor/include/aws/mediatailor/model/CreateChannelRequest.h @@ -6,9 +6,9 @@ #pragma once #include #include -#include #include #include +#include #include #include #include @@ -39,21 +39,6 @@ namespace Model AWS_MEDIATAILOR_API Aws::String SerializePayload() const override; - ///@{ - /** - *

    The list of audiences defined in channel.

    - */ - inline const Aws::Vector& GetAudiences() const{ return m_audiences; } - inline bool AudiencesHasBeenSet() const { return m_audiencesHasBeenSet; } - inline void SetAudiences(const Aws::Vector& value) { m_audiencesHasBeenSet = true; m_audiences = value; } - inline void SetAudiences(Aws::Vector&& value) { m_audiencesHasBeenSet = true; m_audiences = std::move(value); } - inline CreateChannelRequest& WithAudiences(const Aws::Vector& value) { SetAudiences(value); return *this;} - inline CreateChannelRequest& WithAudiences(Aws::Vector&& value) { SetAudiences(std::move(value)); return *this;} - inline CreateChannelRequest& AddAudiences(const Aws::String& value) { m_audiencesHasBeenSet = true; m_audiences.push_back(value); return *this; } - inline CreateChannelRequest& AddAudiences(Aws::String&& value) { m_audiencesHasBeenSet = true; m_audiences.push_back(std::move(value)); return *this; } - inline CreateChannelRequest& AddAudiences(const char* value) { m_audiencesHasBeenSet = true; m_audiences.push_back(value); return *this; } - ///@} - ///@{ /** *

    The name of the channel.

    @@ -160,10 +145,22 @@ namespace Model inline CreateChannelRequest& WithTimeShiftConfiguration(const TimeShiftConfiguration& value) { SetTimeShiftConfiguration(value); return *this;} inline CreateChannelRequest& WithTimeShiftConfiguration(TimeShiftConfiguration&& value) { SetTimeShiftConfiguration(std::move(value)); return *this;} ///@} - private: - Aws::Vector m_audiences; - bool m_audiencesHasBeenSet = false; + ///@{ + /** + *

    The list of audiences defined in channel.

    + */ + inline const Aws::Vector& GetAudiences() const{ return m_audiences; } + inline bool AudiencesHasBeenSet() const { return m_audiencesHasBeenSet; } + inline void SetAudiences(const Aws::Vector& value) { m_audiencesHasBeenSet = true; m_audiences = value; } + inline void SetAudiences(Aws::Vector&& value) { m_audiencesHasBeenSet = true; m_audiences = std::move(value); } + inline CreateChannelRequest& WithAudiences(const Aws::Vector& value) { SetAudiences(value); return *this;} + inline CreateChannelRequest& WithAudiences(Aws::Vector&& value) { SetAudiences(std::move(value)); return *this;} + inline CreateChannelRequest& AddAudiences(const Aws::String& value) { m_audiencesHasBeenSet = true; m_audiences.push_back(value); return *this; } + inline CreateChannelRequest& AddAudiences(Aws::String&& value) { m_audiencesHasBeenSet = true; m_audiences.push_back(std::move(value)); return *this; } + inline CreateChannelRequest& AddAudiences(const char* value) { m_audiencesHasBeenSet = true; m_audiences.push_back(value); return *this; } + ///@} + private: Aws::String m_channelName; bool m_channelNameHasBeenSet = false; @@ -185,6 +182,9 @@ namespace Model TimeShiftConfiguration m_timeShiftConfiguration; bool m_timeShiftConfigurationHasBeenSet = false; + + Aws::Vector m_audiences; + bool m_audiencesHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-mediatailor/include/aws/mediatailor/model/CreateChannelResult.h b/generated/src/aws-cpp-sdk-mediatailor/include/aws/mediatailor/model/CreateChannelResult.h index 1e9c880e84d..cd53ab68ba8 100644 --- a/generated/src/aws-cpp-sdk-mediatailor/include/aws/mediatailor/model/CreateChannelResult.h +++ b/generated/src/aws-cpp-sdk-mediatailor/include/aws/mediatailor/model/CreateChannelResult.h @@ -6,10 +6,10 @@ #pragma once #include #include -#include #include #include #include +#include #include #include #include @@ -52,20 +52,6 @@ namespace Model inline CreateChannelResult& WithArn(const char* value) { SetArn(value); return *this;} ///@} - ///@{ - /** - *

    The list of audiences defined in channel.

    - */ - inline const Aws::Vector& GetAudiences() const{ return m_audiences; } - inline void SetAudiences(const Aws::Vector& value) { m_audiences = value; } - inline void SetAudiences(Aws::Vector&& value) { m_audiences = std::move(value); } - inline CreateChannelResult& WithAudiences(const Aws::Vector& value) { SetAudiences(value); return *this;} - inline CreateChannelResult& WithAudiences(Aws::Vector&& value) { SetAudiences(std::move(value)); return *this;} - inline CreateChannelResult& AddAudiences(const Aws::String& value) { m_audiences.push_back(value); return *this; } - inline CreateChannelResult& AddAudiences(Aws::String&& value) { m_audiences.push_back(std::move(value)); return *this; } - inline CreateChannelResult& AddAudiences(const char* value) { m_audiences.push_back(value); return *this; } - ///@} - ///@{ /** *

    The name to assign to the channel.

    @@ -196,6 +182,20 @@ namespace Model inline CreateChannelResult& WithTimeShiftConfiguration(TimeShiftConfiguration&& value) { SetTimeShiftConfiguration(std::move(value)); return *this;} ///@} + ///@{ + /** + *

    The list of audiences defined in channel.

    + */ + inline const Aws::Vector& GetAudiences() const{ return m_audiences; } + inline void SetAudiences(const Aws::Vector& value) { m_audiences = value; } + inline void SetAudiences(Aws::Vector&& value) { m_audiences = std::move(value); } + inline CreateChannelResult& WithAudiences(const Aws::Vector& value) { SetAudiences(value); return *this;} + inline CreateChannelResult& WithAudiences(Aws::Vector&& value) { SetAudiences(std::move(value)); return *this;} + inline CreateChannelResult& AddAudiences(const Aws::String& value) { m_audiences.push_back(value); return *this; } + inline CreateChannelResult& AddAudiences(Aws::String&& value) { m_audiences.push_back(std::move(value)); return *this; } + inline CreateChannelResult& AddAudiences(const char* value) { m_audiences.push_back(value); return *this; } + ///@} + ///@{ inline const Aws::String& GetRequestId() const{ return m_requestId; } @@ -210,8 +210,6 @@ namespace Model Aws::String m_arn; - Aws::Vector m_audiences; - Aws::String m_channelName; ChannelState m_channelState; @@ -232,6 +230,8 @@ namespace Model TimeShiftConfiguration m_timeShiftConfiguration; + Aws::Vector m_audiences; + Aws::String m_requestId; }; diff --git a/generated/src/aws-cpp-sdk-mediatailor/include/aws/mediatailor/model/CreateProgramRequest.h b/generated/src/aws-cpp-sdk-mediatailor/include/aws/mediatailor/model/CreateProgramRequest.h index 1f1068fb3f2..2e2cd0868bc 100644 --- a/generated/src/aws-cpp-sdk-mediatailor/include/aws/mediatailor/model/CreateProgramRequest.h +++ b/generated/src/aws-cpp-sdk-mediatailor/include/aws/mediatailor/model/CreateProgramRequest.h @@ -50,20 +50,6 @@ namespace Model inline CreateProgramRequest& AddAdBreaks(AdBreak&& value) { m_adBreaksHasBeenSet = true; m_adBreaks.push_back(std::move(value)); return *this; } ///@} - ///@{ - /** - *

    The list of AudienceMedia defined in program.

    - */ - inline const Aws::Vector& GetAudienceMedia() const{ return m_audienceMedia; } - inline bool AudienceMediaHasBeenSet() const { return m_audienceMediaHasBeenSet; } - inline void SetAudienceMedia(const Aws::Vector& value) { m_audienceMediaHasBeenSet = true; m_audienceMedia = value; } - inline void SetAudienceMedia(Aws::Vector&& value) { m_audienceMediaHasBeenSet = true; m_audienceMedia = std::move(value); } - inline CreateProgramRequest& WithAudienceMedia(const Aws::Vector& value) { SetAudienceMedia(value); return *this;} - inline CreateProgramRequest& WithAudienceMedia(Aws::Vector&& value) { SetAudienceMedia(std::move(value)); return *this;} - inline CreateProgramRequest& AddAudienceMedia(const AudienceMedia& value) { m_audienceMediaHasBeenSet = true; m_audienceMedia.push_back(value); return *this; } - inline CreateProgramRequest& AddAudienceMedia(AudienceMedia&& value) { m_audienceMediaHasBeenSet = true; m_audienceMedia.push_back(std::move(value)); return *this; } - ///@} - ///@{ /** *

    The name of the channel for this Program.

    @@ -145,14 +131,25 @@ namespace Model inline CreateProgramRequest& WithVodSourceName(Aws::String&& value) { SetVodSourceName(std::move(value)); return *this;} inline CreateProgramRequest& WithVodSourceName(const char* value) { SetVodSourceName(value); return *this;} ///@} + + ///@{ + /** + *

    The list of AudienceMedia defined in program.

    + */ + inline const Aws::Vector& GetAudienceMedia() const{ return m_audienceMedia; } + inline bool AudienceMediaHasBeenSet() const { return m_audienceMediaHasBeenSet; } + inline void SetAudienceMedia(const Aws::Vector& value) { m_audienceMediaHasBeenSet = true; m_audienceMedia = value; } + inline void SetAudienceMedia(Aws::Vector&& value) { m_audienceMediaHasBeenSet = true; m_audienceMedia = std::move(value); } + inline CreateProgramRequest& WithAudienceMedia(const Aws::Vector& value) { SetAudienceMedia(value); return *this;} + inline CreateProgramRequest& WithAudienceMedia(Aws::Vector&& value) { SetAudienceMedia(std::move(value)); return *this;} + inline CreateProgramRequest& AddAudienceMedia(const AudienceMedia& value) { m_audienceMediaHasBeenSet = true; m_audienceMedia.push_back(value); return *this; } + inline CreateProgramRequest& AddAudienceMedia(AudienceMedia&& value) { m_audienceMediaHasBeenSet = true; m_audienceMedia.push_back(std::move(value)); return *this; } + ///@} private: Aws::Vector m_adBreaks; bool m_adBreaksHasBeenSet = false; - Aws::Vector m_audienceMedia; - bool m_audienceMediaHasBeenSet = false; - Aws::String m_channelName; bool m_channelNameHasBeenSet = false; @@ -170,6 +167,9 @@ namespace Model Aws::String m_vodSourceName; bool m_vodSourceNameHasBeenSet = false; + + Aws::Vector m_audienceMedia; + bool m_audienceMediaHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-mediatailor/include/aws/mediatailor/model/CreateProgramResult.h b/generated/src/aws-cpp-sdk-mediatailor/include/aws/mediatailor/model/CreateProgramResult.h index d8386bc7c11..2d3d0dc7f68 100644 --- a/generated/src/aws-cpp-sdk-mediatailor/include/aws/mediatailor/model/CreateProgramResult.h +++ b/generated/src/aws-cpp-sdk-mediatailor/include/aws/mediatailor/model/CreateProgramResult.h @@ -7,8 +7,8 @@ #include #include #include -#include #include +#include #include #include #include @@ -63,19 +63,6 @@ namespace Model inline CreateProgramResult& WithArn(const char* value) { SetArn(value); return *this;} ///@} - ///@{ - /** - *

    The list of AudienceMedia defined in program.

    - */ - inline const Aws::Vector& GetAudienceMedia() const{ return m_audienceMedia; } - inline void SetAudienceMedia(const Aws::Vector& value) { m_audienceMedia = value; } - inline void SetAudienceMedia(Aws::Vector&& value) { m_audienceMedia = std::move(value); } - inline CreateProgramResult& WithAudienceMedia(const Aws::Vector& value) { SetAudienceMedia(value); return *this;} - inline CreateProgramResult& WithAudienceMedia(Aws::Vector&& value) { SetAudienceMedia(std::move(value)); return *this;} - inline CreateProgramResult& AddAudienceMedia(const AudienceMedia& value) { m_audienceMedia.push_back(value); return *this; } - inline CreateProgramResult& AddAudienceMedia(AudienceMedia&& value) { m_audienceMedia.push_back(std::move(value)); return *this; } - ///@} - ///@{ /** *

    The name to assign to the channel for this program.

    @@ -89,17 +76,6 @@ namespace Model inline CreateProgramResult& WithChannelName(const char* value) { SetChannelName(value); return *this;} ///@} - ///@{ - /** - *

    The clip range configuration settings.

    - */ - inline const ClipRange& GetClipRange() const{ return m_clipRange; } - inline void SetClipRange(const ClipRange& value) { m_clipRange = value; } - inline void SetClipRange(ClipRange&& value) { m_clipRange = std::move(value); } - inline CreateProgramResult& WithClipRange(const ClipRange& value) { SetClipRange(value); return *this;} - inline CreateProgramResult& WithClipRange(ClipRange&& value) { SetClipRange(std::move(value)); return *this;} - ///@} - ///@{ /** *

    The time the program was created.

    @@ -111,15 +87,6 @@ namespace Model inline CreateProgramResult& WithCreationTime(Aws::Utils::DateTime&& value) { SetCreationTime(std::move(value)); return *this;} ///@} - ///@{ - /** - *

    The duration of the live program in milliseconds.

    - */ - inline long long GetDurationMillis() const{ return m_durationMillis; } - inline void SetDurationMillis(long long value) { m_durationMillis = value; } - inline CreateProgramResult& WithDurationMillis(long long value) { SetDurationMillis(value); return *this;} - ///@} - ///@{ /** *

    The name of the LiveSource for this Program.

    @@ -183,6 +150,39 @@ namespace Model inline CreateProgramResult& WithVodSourceName(const char* value) { SetVodSourceName(value); return *this;} ///@} + ///@{ + /** + *

    The clip range configuration settings.

    + */ + inline const ClipRange& GetClipRange() const{ return m_clipRange; } + inline void SetClipRange(const ClipRange& value) { m_clipRange = value; } + inline void SetClipRange(ClipRange&& value) { m_clipRange = std::move(value); } + inline CreateProgramResult& WithClipRange(const ClipRange& value) { SetClipRange(value); return *this;} + inline CreateProgramResult& WithClipRange(ClipRange&& value) { SetClipRange(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

    The duration of the live program in milliseconds.

    + */ + inline long long GetDurationMillis() const{ return m_durationMillis; } + inline void SetDurationMillis(long long value) { m_durationMillis = value; } + inline CreateProgramResult& WithDurationMillis(long long value) { SetDurationMillis(value); return *this;} + ///@} + + ///@{ + /** + *

    The list of AudienceMedia defined in program.

    + */ + inline const Aws::Vector& GetAudienceMedia() const{ return m_audienceMedia; } + inline void SetAudienceMedia(const Aws::Vector& value) { m_audienceMedia = value; } + inline void SetAudienceMedia(Aws::Vector&& value) { m_audienceMedia = std::move(value); } + inline CreateProgramResult& WithAudienceMedia(const Aws::Vector& value) { SetAudienceMedia(value); return *this;} + inline CreateProgramResult& WithAudienceMedia(Aws::Vector&& value) { SetAudienceMedia(std::move(value)); return *this;} + inline CreateProgramResult& AddAudienceMedia(const AudienceMedia& value) { m_audienceMedia.push_back(value); return *this; } + inline CreateProgramResult& AddAudienceMedia(AudienceMedia&& value) { m_audienceMedia.push_back(std::move(value)); return *this; } + ///@} + ///@{ inline const Aws::String& GetRequestId() const{ return m_requestId; } @@ -199,16 +199,10 @@ namespace Model Aws::String m_arn; - Aws::Vector m_audienceMedia; - Aws::String m_channelName; - ClipRange m_clipRange; - Aws::Utils::DateTime m_creationTime; - long long m_durationMillis; - Aws::String m_liveSourceName; Aws::String m_programName; @@ -219,6 +213,12 @@ namespace Model Aws::String m_vodSourceName; + ClipRange m_clipRange; + + long long m_durationMillis; + + Aws::Vector m_audienceMedia; + Aws::String m_requestId; }; diff --git a/generated/src/aws-cpp-sdk-mediatailor/include/aws/mediatailor/model/DescribeChannelResult.h b/generated/src/aws-cpp-sdk-mediatailor/include/aws/mediatailor/model/DescribeChannelResult.h index 0a2aa96dbb1..abb82ab2f3d 100644 --- a/generated/src/aws-cpp-sdk-mediatailor/include/aws/mediatailor/model/DescribeChannelResult.h +++ b/generated/src/aws-cpp-sdk-mediatailor/include/aws/mediatailor/model/DescribeChannelResult.h @@ -6,12 +6,12 @@ #pragma once #include #include -#include #include #include #include -#include +#include #include +#include #include #include #include @@ -53,20 +53,6 @@ namespace Model inline DescribeChannelResult& WithArn(const char* value) { SetArn(value); return *this;} ///@} - ///@{ - /** - *

    The list of audiences defined in channel.

    - */ - inline const Aws::Vector& GetAudiences() const{ return m_audiences; } - inline void SetAudiences(const Aws::Vector& value) { m_audiences = value; } - inline void SetAudiences(Aws::Vector&& value) { m_audiences = std::move(value); } - inline DescribeChannelResult& WithAudiences(const Aws::Vector& value) { SetAudiences(value); return *this;} - inline DescribeChannelResult& WithAudiences(Aws::Vector&& value) { SetAudiences(std::move(value)); return *this;} - inline DescribeChannelResult& AddAudiences(const Aws::String& value) { m_audiences.push_back(value); return *this; } - inline DescribeChannelResult& AddAudiences(Aws::String&& value) { m_audiences.push_back(std::move(value)); return *this; } - inline DescribeChannelResult& AddAudiences(const char* value) { m_audiences.push_back(value); return *this; } - ///@} - ///@{ /** *

    The name of the channel.

    @@ -125,17 +111,6 @@ namespace Model inline DescribeChannelResult& WithLastModifiedTime(Aws::Utils::DateTime&& value) { SetLastModifiedTime(std::move(value)); return *this;} ///@} - ///@{ - /** - *

    The log configuration for the channel.

    - */ - inline const LogConfigurationForChannel& GetLogConfiguration() const{ return m_logConfiguration; } - inline void SetLogConfiguration(const LogConfigurationForChannel& value) { m_logConfiguration = value; } - inline void SetLogConfiguration(LogConfigurationForChannel&& value) { m_logConfiguration = std::move(value); } - inline DescribeChannelResult& WithLogConfiguration(const LogConfigurationForChannel& value) { SetLogConfiguration(value); return *this;} - inline DescribeChannelResult& WithLogConfiguration(LogConfigurationForChannel&& value) { SetLogConfiguration(std::move(value)); return *this;} - ///@} - ///@{ /** *

    The channel's output properties.

    @@ -197,6 +172,17 @@ namespace Model inline DescribeChannelResult& WithTier(const char* value) { SetTier(value); return *this;} ///@} + ///@{ + /** + *

    The log configuration for the channel.

    + */ + inline const LogConfigurationForChannel& GetLogConfiguration() const{ return m_logConfiguration; } + inline void SetLogConfiguration(const LogConfigurationForChannel& value) { m_logConfiguration = value; } + inline void SetLogConfiguration(LogConfigurationForChannel&& value) { m_logConfiguration = std::move(value); } + inline DescribeChannelResult& WithLogConfiguration(const LogConfigurationForChannel& value) { SetLogConfiguration(value); return *this;} + inline DescribeChannelResult& WithLogConfiguration(LogConfigurationForChannel&& value) { SetLogConfiguration(std::move(value)); return *this;} + ///@} + ///@{ /** *

    The time-shifted viewing configuration for the channel.

    @@ -208,6 +194,20 @@ namespace Model inline DescribeChannelResult& WithTimeShiftConfiguration(TimeShiftConfiguration&& value) { SetTimeShiftConfiguration(std::move(value)); return *this;} ///@} + ///@{ + /** + *

    The list of audiences defined in channel.

    + */ + inline const Aws::Vector& GetAudiences() const{ return m_audiences; } + inline void SetAudiences(const Aws::Vector& value) { m_audiences = value; } + inline void SetAudiences(Aws::Vector&& value) { m_audiences = std::move(value); } + inline DescribeChannelResult& WithAudiences(const Aws::Vector& value) { SetAudiences(value); return *this;} + inline DescribeChannelResult& WithAudiences(Aws::Vector&& value) { SetAudiences(std::move(value)); return *this;} + inline DescribeChannelResult& AddAudiences(const Aws::String& value) { m_audiences.push_back(value); return *this; } + inline DescribeChannelResult& AddAudiences(Aws::String&& value) { m_audiences.push_back(std::move(value)); return *this; } + inline DescribeChannelResult& AddAudiences(const char* value) { m_audiences.push_back(value); return *this; } + ///@} + ///@{ inline const Aws::String& GetRequestId() const{ return m_requestId; } @@ -222,8 +222,6 @@ namespace Model Aws::String m_arn; - Aws::Vector m_audiences; - Aws::String m_channelName; ChannelState m_channelState; @@ -234,8 +232,6 @@ namespace Model Aws::Utils::DateTime m_lastModifiedTime; - LogConfigurationForChannel m_logConfiguration; - Aws::Vector m_outputs; Aws::String m_playbackMode; @@ -244,8 +240,12 @@ namespace Model Aws::String m_tier; + LogConfigurationForChannel m_logConfiguration; + TimeShiftConfiguration m_timeShiftConfiguration; + Aws::Vector m_audiences; + Aws::String m_requestId; }; diff --git a/generated/src/aws-cpp-sdk-mediatailor/include/aws/mediatailor/model/DescribeProgramResult.h b/generated/src/aws-cpp-sdk-mediatailor/include/aws/mediatailor/model/DescribeProgramResult.h index 7c2d0b4e073..5e09e9c3381 100644 --- a/generated/src/aws-cpp-sdk-mediatailor/include/aws/mediatailor/model/DescribeProgramResult.h +++ b/generated/src/aws-cpp-sdk-mediatailor/include/aws/mediatailor/model/DescribeProgramResult.h @@ -7,8 +7,8 @@ #include #include #include -#include #include +#include #include #include #include @@ -63,19 +63,6 @@ namespace Model inline DescribeProgramResult& WithArn(const char* value) { SetArn(value); return *this;} ///@} - ///@{ - /** - *

    The list of AudienceMedia defined in program.

    - */ - inline const Aws::Vector& GetAudienceMedia() const{ return m_audienceMedia; } - inline void SetAudienceMedia(const Aws::Vector& value) { m_audienceMedia = value; } - inline void SetAudienceMedia(Aws::Vector&& value) { m_audienceMedia = std::move(value); } - inline DescribeProgramResult& WithAudienceMedia(const Aws::Vector& value) { SetAudienceMedia(value); return *this;} - inline DescribeProgramResult& WithAudienceMedia(Aws::Vector&& value) { SetAudienceMedia(std::move(value)); return *this;} - inline DescribeProgramResult& AddAudienceMedia(const AudienceMedia& value) { m_audienceMedia.push_back(value); return *this; } - inline DescribeProgramResult& AddAudienceMedia(AudienceMedia&& value) { m_audienceMedia.push_back(std::move(value)); return *this; } - ///@} - ///@{ /** *

    The name of the channel that the program belongs to.

    @@ -89,17 +76,6 @@ namespace Model inline DescribeProgramResult& WithChannelName(const char* value) { SetChannelName(value); return *this;} ///@} - ///@{ - /** - *

    The clip range configuration settings.

    - */ - inline const ClipRange& GetClipRange() const{ return m_clipRange; } - inline void SetClipRange(const ClipRange& value) { m_clipRange = value; } - inline void SetClipRange(ClipRange&& value) { m_clipRange = std::move(value); } - inline DescribeProgramResult& WithClipRange(const ClipRange& value) { SetClipRange(value); return *this;} - inline DescribeProgramResult& WithClipRange(ClipRange&& value) { SetClipRange(std::move(value)); return *this;} - ///@} - ///@{ /** *

    The timestamp of when the program was created.

    @@ -111,15 +87,6 @@ namespace Model inline DescribeProgramResult& WithCreationTime(Aws::Utils::DateTime&& value) { SetCreationTime(std::move(value)); return *this;} ///@} - ///@{ - /** - *

    The duration of the live program in milliseconds.

    - */ - inline long long GetDurationMillis() const{ return m_durationMillis; } - inline void SetDurationMillis(long long value) { m_durationMillis = value; } - inline DescribeProgramResult& WithDurationMillis(long long value) { SetDurationMillis(value); return *this;} - ///@} - ///@{ /** *

    The name of the LiveSource for this Program.

    @@ -185,6 +152,39 @@ namespace Model inline DescribeProgramResult& WithVodSourceName(const char* value) { SetVodSourceName(value); return *this;} ///@} + ///@{ + /** + *

    The clip range configuration settings.

    + */ + inline const ClipRange& GetClipRange() const{ return m_clipRange; } + inline void SetClipRange(const ClipRange& value) { m_clipRange = value; } + inline void SetClipRange(ClipRange&& value) { m_clipRange = std::move(value); } + inline DescribeProgramResult& WithClipRange(const ClipRange& value) { SetClipRange(value); return *this;} + inline DescribeProgramResult& WithClipRange(ClipRange&& value) { SetClipRange(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

    The duration of the live program in milliseconds.

    + */ + inline long long GetDurationMillis() const{ return m_durationMillis; } + inline void SetDurationMillis(long long value) { m_durationMillis = value; } + inline DescribeProgramResult& WithDurationMillis(long long value) { SetDurationMillis(value); return *this;} + ///@} + + ///@{ + /** + *

    The list of AudienceMedia defined in program.

    + */ + inline const Aws::Vector& GetAudienceMedia() const{ return m_audienceMedia; } + inline void SetAudienceMedia(const Aws::Vector& value) { m_audienceMedia = value; } + inline void SetAudienceMedia(Aws::Vector&& value) { m_audienceMedia = std::move(value); } + inline DescribeProgramResult& WithAudienceMedia(const Aws::Vector& value) { SetAudienceMedia(value); return *this;} + inline DescribeProgramResult& WithAudienceMedia(Aws::Vector&& value) { SetAudienceMedia(std::move(value)); return *this;} + inline DescribeProgramResult& AddAudienceMedia(const AudienceMedia& value) { m_audienceMedia.push_back(value); return *this; } + inline DescribeProgramResult& AddAudienceMedia(AudienceMedia&& value) { m_audienceMedia.push_back(std::move(value)); return *this; } + ///@} + ///@{ inline const Aws::String& GetRequestId() const{ return m_requestId; } @@ -201,16 +201,10 @@ namespace Model Aws::String m_arn; - Aws::Vector m_audienceMedia; - Aws::String m_channelName; - ClipRange m_clipRange; - Aws::Utils::DateTime m_creationTime; - long long m_durationMillis; - Aws::String m_liveSourceName; Aws::String m_programName; @@ -221,6 +215,12 @@ namespace Model Aws::String m_vodSourceName; + ClipRange m_clipRange; + + long long m_durationMillis; + + Aws::Vector m_audienceMedia; + Aws::String m_requestId; }; diff --git a/generated/src/aws-cpp-sdk-mediatailor/include/aws/mediatailor/model/GetChannelScheduleRequest.h b/generated/src/aws-cpp-sdk-mediatailor/include/aws/mediatailor/model/GetChannelScheduleRequest.h index 5b2e1b80746..240b1a32b05 100644 --- a/generated/src/aws-cpp-sdk-mediatailor/include/aws/mediatailor/model/GetChannelScheduleRequest.h +++ b/generated/src/aws-cpp-sdk-mediatailor/include/aws/mediatailor/model/GetChannelScheduleRequest.h @@ -38,20 +38,6 @@ namespace Model AWS_MEDIATAILOR_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; - ///@{ - /** - *

    The single audience for GetChannelScheduleRequest.

    - */ - inline const Aws::String& GetAudience() const{ return m_audience; } - inline bool AudienceHasBeenSet() const { return m_audienceHasBeenSet; } - inline void SetAudience(const Aws::String& value) { m_audienceHasBeenSet = true; m_audience = value; } - inline void SetAudience(Aws::String&& value) { m_audienceHasBeenSet = true; m_audience = std::move(value); } - inline void SetAudience(const char* value) { m_audienceHasBeenSet = true; m_audience.assign(value); } - inline GetChannelScheduleRequest& WithAudience(const Aws::String& value) { SetAudience(value); return *this;} - inline GetChannelScheduleRequest& WithAudience(Aws::String&& value) { SetAudience(std::move(value)); return *this;} - inline GetChannelScheduleRequest& WithAudience(const char* value) { SetAudience(value); return *this;} - ///@} - ///@{ /** *

    The name of the channel associated with this Channel Schedule.

    @@ -113,10 +99,21 @@ namespace Model inline GetChannelScheduleRequest& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} inline GetChannelScheduleRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;} ///@} - private: - Aws::String m_audience; - bool m_audienceHasBeenSet = false; + ///@{ + /** + *

    The single audience for GetChannelScheduleRequest.

    + */ + inline const Aws::String& GetAudience() const{ return m_audience; } + inline bool AudienceHasBeenSet() const { return m_audienceHasBeenSet; } + inline void SetAudience(const Aws::String& value) { m_audienceHasBeenSet = true; m_audience = value; } + inline void SetAudience(Aws::String&& value) { m_audienceHasBeenSet = true; m_audience = std::move(value); } + inline void SetAudience(const char* value) { m_audienceHasBeenSet = true; m_audience.assign(value); } + inline GetChannelScheduleRequest& WithAudience(const Aws::String& value) { SetAudience(value); return *this;} + inline GetChannelScheduleRequest& WithAudience(Aws::String&& value) { SetAudience(std::move(value)); return *this;} + inline GetChannelScheduleRequest& WithAudience(const char* value) { SetAudience(value); return *this;} + ///@} + private: Aws::String m_channelName; bool m_channelNameHasBeenSet = false; @@ -129,6 +126,9 @@ namespace Model Aws::String m_nextToken; bool m_nextTokenHasBeenSet = false; + + Aws::String m_audience; + bool m_audienceHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-mediatailor/include/aws/mediatailor/model/GetPlaybackConfigurationResult.h b/generated/src/aws-cpp-sdk-mediatailor/include/aws/mediatailor/model/GetPlaybackConfigurationResult.h index 8642dfeefdd..585c0240b0e 100644 --- a/generated/src/aws-cpp-sdk-mediatailor/include/aws/mediatailor/model/GetPlaybackConfigurationResult.h +++ b/generated/src/aws-cpp-sdk-mediatailor/include/aws/mediatailor/model/GetPlaybackConfigurationResult.h @@ -16,6 +16,7 @@ #include #include #include +#include #include namespace Aws @@ -103,7 +104,7 @@ namespace Model /** *

    The player parameters and aliases used as dynamic variables during session * initialization. For more information, see Domain + * href="https://docs.aws.amazon.com/mediatailor/latest/ug/variables-domains.html">Domain * Variables.

    */ inline const Aws::Map>& GetConfigurationAliases() const{ return m_configurationAliases; } @@ -170,7 +171,8 @@ namespace Model ///@{ /** - *

    The Amazon CloudWatch log settings for a playback configuration.

    + *

    The configuration that defines where AWS Elemental MediaTailor sends logs for + * the playback configuration.

    */ inline const LogConfiguration& GetLogConfiguration() const{ return m_logConfiguration; } inline void SetLogConfiguration(const LogConfiguration& value) { m_logConfiguration = value; } @@ -332,6 +334,18 @@ namespace Model inline GetPlaybackConfigurationResult& WithVideoContentSourceUrl(const char* value) { SetVideoContentSourceUrl(value); return *this;} ///@} + ///@{ + /** + *

    The setting that indicates what conditioning MediaTailor will perform on ads + * that the ad decision server (ADS) returns.

    + */ + inline const AdConditioningConfiguration& GetAdConditioningConfiguration() const{ return m_adConditioningConfiguration; } + inline void SetAdConditioningConfiguration(const AdConditioningConfiguration& value) { m_adConditioningConfiguration = value; } + inline void SetAdConditioningConfiguration(AdConditioningConfiguration&& value) { m_adConditioningConfiguration = std::move(value); } + inline GetPlaybackConfigurationResult& WithAdConditioningConfiguration(const AdConditioningConfiguration& value) { SetAdConditioningConfiguration(value); return *this;} + inline GetPlaybackConfigurationResult& WithAdConditioningConfiguration(AdConditioningConfiguration&& value) { SetAdConditioningConfiguration(std::move(value)); return *this;} + ///@} + ///@{ inline const Aws::String& GetRequestId() const{ return m_requestId; } @@ -384,6 +398,8 @@ namespace Model Aws::String m_videoContentSourceUrl; + AdConditioningConfiguration m_adConditioningConfiguration; + Aws::String m_requestId; }; diff --git a/generated/src/aws-cpp-sdk-mediatailor/include/aws/mediatailor/model/HlsPlaylistSettings.h b/generated/src/aws-cpp-sdk-mediatailor/include/aws/mediatailor/model/HlsPlaylistSettings.h index 57bd12554cd..4462a6f00c2 100644 --- a/generated/src/aws-cpp-sdk-mediatailor/include/aws/mediatailor/model/HlsPlaylistSettings.h +++ b/generated/src/aws-cpp-sdk-mediatailor/include/aws/mediatailor/model/HlsPlaylistSettings.h @@ -38,6 +38,17 @@ namespace Model AWS_MEDIATAILOR_API Aws::Utils::Json::JsonValue Jsonize() const; + ///@{ + /** + *

    The total duration (in seconds) of each manifest. Minimum value: + * 30 seconds. Maximum value: 3600 seconds.

    + */ + inline int GetManifestWindowSeconds() const{ return m_manifestWindowSeconds; } + inline bool ManifestWindowSecondsHasBeenSet() const { return m_manifestWindowSecondsHasBeenSet; } + inline void SetManifestWindowSeconds(int value) { m_manifestWindowSecondsHasBeenSet = true; m_manifestWindowSeconds = value; } + inline HlsPlaylistSettings& WithManifestWindowSeconds(int value) { SetManifestWindowSeconds(value); return *this;} + ///@} + ///@{ /** *

    Determines the type of SCTE 35 tags to use in ad markup. Specify @@ -54,24 +65,13 @@ namespace Model inline HlsPlaylistSettings& AddAdMarkupType(const AdMarkupType& value) { m_adMarkupTypeHasBeenSet = true; m_adMarkupType.push_back(value); return *this; } inline HlsPlaylistSettings& AddAdMarkupType(AdMarkupType&& value) { m_adMarkupTypeHasBeenSet = true; m_adMarkupType.push_back(std::move(value)); return *this; } ///@} - - ///@{ - /** - *

    The total duration (in seconds) of each manifest. Minimum value: - * 30 seconds. Maximum value: 3600 seconds.

    - */ - inline int GetManifestWindowSeconds() const{ return m_manifestWindowSeconds; } - inline bool ManifestWindowSecondsHasBeenSet() const { return m_manifestWindowSecondsHasBeenSet; } - inline void SetManifestWindowSeconds(int value) { m_manifestWindowSecondsHasBeenSet = true; m_manifestWindowSeconds = value; } - inline HlsPlaylistSettings& WithManifestWindowSeconds(int value) { SetManifestWindowSeconds(value); return *this;} - ///@} private: - Aws::Vector m_adMarkupType; - bool m_adMarkupTypeHasBeenSet = false; - int m_manifestWindowSeconds; bool m_manifestWindowSecondsHasBeenSet = false; + + Aws::Vector m_adMarkupType; + bool m_adMarkupTypeHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-mediatailor/include/aws/mediatailor/model/LogConfiguration.h b/generated/src/aws-cpp-sdk-mediatailor/include/aws/mediatailor/model/LogConfiguration.h index c15c7e76f99..4f379d57968 100644 --- a/generated/src/aws-cpp-sdk-mediatailor/include/aws/mediatailor/model/LogConfiguration.h +++ b/generated/src/aws-cpp-sdk-mediatailor/include/aws/mediatailor/model/LogConfiguration.h @@ -22,7 +22,7 @@ namespace Model { /** - *

    Returns Amazon CloudWatch log settings for a playback + *

    Defines where AWS Elemental MediaTailor sends logs for the playback * configuration.

    See Also:

    AWS * API Reference

    @@ -38,8 +38,8 @@ namespace Model ///@{ /** - *

    The percentage of session logs that MediaTailor sends to your Cloudwatch Logs - * account. For example, if your playback configuration has 1000 sessions and + *

    The percentage of session logs that MediaTailor sends to your configured log + * destination. For example, if your playback configuration has 1000 sessions and * percentEnabled is set to 60, MediaTailor sends logs * for 600 of the sessions to CloudWatch Logs. MediaTailor decides at random which * of the playback configuration sessions to send logs for. If you want to view diff --git a/generated/src/aws-cpp-sdk-mediatailor/include/aws/mediatailor/model/PlaybackConfiguration.h b/generated/src/aws-cpp-sdk-mediatailor/include/aws/mediatailor/model/PlaybackConfiguration.h index 1c9f06dd551..6d9b2260168 100644 --- a/generated/src/aws-cpp-sdk-mediatailor/include/aws/mediatailor/model/PlaybackConfiguration.h +++ b/generated/src/aws-cpp-sdk-mediatailor/include/aws/mediatailor/model/PlaybackConfiguration.h @@ -16,6 +16,7 @@ #include #include #include +#include #include namespace Aws @@ -116,7 +117,7 @@ namespace Model /** *

    The player parameters and aliases used as dynamic variables during session * initialization. For more information, see Domain + * href="https://docs.aws.amazon.com/mediatailor/latest/ug/variables-domains.html">Domain * Variables.

    */ inline const Aws::Map>& GetConfigurationAliases() const{ return m_configurationAliases; } @@ -188,7 +189,8 @@ namespace Model ///@{ /** - *

    The Amazon CloudWatch log settings for a playback configuration.

    + *

    Defines where AWS Elemental MediaTailor sends logs for the playback + * configuration.

    */ inline const LogConfiguration& GetLogConfiguration() const{ return m_logConfiguration; } inline bool LogConfigurationHasBeenSet() const { return m_logConfigurationHasBeenSet; } @@ -360,6 +362,19 @@ namespace Model inline PlaybackConfiguration& WithVideoContentSourceUrl(Aws::String&& value) { SetVideoContentSourceUrl(std::move(value)); return *this;} inline PlaybackConfiguration& WithVideoContentSourceUrl(const char* value) { SetVideoContentSourceUrl(value); return *this;} ///@} + + ///@{ + /** + *

    The setting that indicates what conditioning MediaTailor will perform on ads + * that the ad decision server (ADS) returns.

    + */ + inline const AdConditioningConfiguration& GetAdConditioningConfiguration() const{ return m_adConditioningConfiguration; } + inline bool AdConditioningConfigurationHasBeenSet() const { return m_adConditioningConfigurationHasBeenSet; } + inline void SetAdConditioningConfiguration(const AdConditioningConfiguration& value) { m_adConditioningConfigurationHasBeenSet = true; m_adConditioningConfiguration = value; } + inline void SetAdConditioningConfiguration(AdConditioningConfiguration&& value) { m_adConditioningConfigurationHasBeenSet = true; m_adConditioningConfiguration = std::move(value); } + inline PlaybackConfiguration& WithAdConditioningConfiguration(const AdConditioningConfiguration& value) { SetAdConditioningConfiguration(value); return *this;} + inline PlaybackConfiguration& WithAdConditioningConfiguration(AdConditioningConfiguration&& value) { SetAdConditioningConfiguration(std::move(value)); return *this;} + ///@} private: Aws::String m_adDecisionServerUrl; @@ -421,6 +436,9 @@ namespace Model Aws::String m_videoContentSourceUrl; bool m_videoContentSourceUrlHasBeenSet = false; + + AdConditioningConfiguration m_adConditioningConfiguration; + bool m_adConditioningConfigurationHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-mediatailor/include/aws/mediatailor/model/PrefetchConsumption.h b/generated/src/aws-cpp-sdk-mediatailor/include/aws/mediatailor/model/PrefetchConsumption.h index 5f14f260c0d..0860c81e935 100644 --- a/generated/src/aws-cpp-sdk-mediatailor/include/aws/mediatailor/model/PrefetchConsumption.h +++ b/generated/src/aws-cpp-sdk-mediatailor/include/aws/mediatailor/model/PrefetchConsumption.h @@ -76,7 +76,7 @@ namespace Model /** *

    The time when prefetched ads are considered for use in an ad break. If you * don't specify StartTime, the prefetched ads are available after - * MediaTailor retrives them from the ad decision server.

    + * MediaTailor retrieves them from the ad decision server.

    */ inline const Aws::Utils::DateTime& GetStartTime() const{ return m_startTime; } inline bool StartTimeHasBeenSet() const { return m_startTimeHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-mediatailor/include/aws/mediatailor/model/PutPlaybackConfigurationRequest.h b/generated/src/aws-cpp-sdk-mediatailor/include/aws/mediatailor/model/PutPlaybackConfigurationRequest.h index c8a2f9a2964..e75a2fa973b 100644 --- a/generated/src/aws-cpp-sdk-mediatailor/include/aws/mediatailor/model/PutPlaybackConfigurationRequest.h +++ b/generated/src/aws-cpp-sdk-mediatailor/include/aws/mediatailor/model/PutPlaybackConfigurationRequest.h @@ -15,6 +15,7 @@ #include #include #include +#include #include namespace Aws @@ -105,7 +106,7 @@ namespace Model /** *

    The player parameters and aliases used as dynamic variables during session * initialization. For more information, see Domain + * href="https://docs.aws.amazon.com/mediatailor/latest/ug/variables-domains.html">Domain * Variables.

    */ inline const Aws::Map>& GetConfigurationAliases() const{ return m_configurationAliases; } @@ -281,6 +282,19 @@ namespace Model inline PutPlaybackConfigurationRequest& WithVideoContentSourceUrl(Aws::String&& value) { SetVideoContentSourceUrl(std::move(value)); return *this;} inline PutPlaybackConfigurationRequest& WithVideoContentSourceUrl(const char* value) { SetVideoContentSourceUrl(value); return *this;} ///@} + + ///@{ + /** + *

    The setting that indicates what conditioning MediaTailor will perform on ads + * that the ad decision server (ADS) returns.

    + */ + inline const AdConditioningConfiguration& GetAdConditioningConfiguration() const{ return m_adConditioningConfiguration; } + inline bool AdConditioningConfigurationHasBeenSet() const { return m_adConditioningConfigurationHasBeenSet; } + inline void SetAdConditioningConfiguration(const AdConditioningConfiguration& value) { m_adConditioningConfigurationHasBeenSet = true; m_adConditioningConfiguration = value; } + inline void SetAdConditioningConfiguration(AdConditioningConfiguration&& value) { m_adConditioningConfigurationHasBeenSet = true; m_adConditioningConfiguration = std::move(value); } + inline PutPlaybackConfigurationRequest& WithAdConditioningConfiguration(const AdConditioningConfiguration& value) { SetAdConditioningConfiguration(value); return *this;} + inline PutPlaybackConfigurationRequest& WithAdConditioningConfiguration(AdConditioningConfiguration&& value) { SetAdConditioningConfiguration(std::move(value)); return *this;} + ///@} private: Aws::String m_adDecisionServerUrl; @@ -327,6 +341,9 @@ namespace Model Aws::String m_videoContentSourceUrl; bool m_videoContentSourceUrlHasBeenSet = false; + + AdConditioningConfiguration m_adConditioningConfiguration; + bool m_adConditioningConfigurationHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-mediatailor/include/aws/mediatailor/model/PutPlaybackConfigurationResult.h b/generated/src/aws-cpp-sdk-mediatailor/include/aws/mediatailor/model/PutPlaybackConfigurationResult.h index 2df4e8969c2..7e3a3fda037 100644 --- a/generated/src/aws-cpp-sdk-mediatailor/include/aws/mediatailor/model/PutPlaybackConfigurationResult.h +++ b/generated/src/aws-cpp-sdk-mediatailor/include/aws/mediatailor/model/PutPlaybackConfigurationResult.h @@ -16,6 +16,7 @@ #include #include #include +#include #include namespace Aws @@ -103,7 +104,7 @@ namespace Model /** *

    The player parameters and aliases used as dynamic variables during session * initialization. For more information, see Domain + * href="https://docs.aws.amazon.com/mediatailor/latest/ug/variables-domains.html">Domain * Variables.

    */ inline const Aws::Map>& GetConfigurationAliases() const{ return m_configurationAliases; } @@ -170,7 +171,8 @@ namespace Model ///@{ /** - *

    The Amazon CloudWatch log settings for a playback configuration.

    + *

    The configuration that defines where AWS Elemental MediaTailor sends logs for + * the playback configuration.

    */ inline const LogConfiguration& GetLogConfiguration() const{ return m_logConfiguration; } inline void SetLogConfiguration(const LogConfiguration& value) { m_logConfiguration = value; } @@ -332,6 +334,18 @@ namespace Model inline PutPlaybackConfigurationResult& WithVideoContentSourceUrl(const char* value) { SetVideoContentSourceUrl(value); return *this;} ///@} + ///@{ + /** + *

    The setting that indicates what conditioning MediaTailor will perform on ads + * that the ad decision server (ADS) returns.

    + */ + inline const AdConditioningConfiguration& GetAdConditioningConfiguration() const{ return m_adConditioningConfiguration; } + inline void SetAdConditioningConfiguration(const AdConditioningConfiguration& value) { m_adConditioningConfiguration = value; } + inline void SetAdConditioningConfiguration(AdConditioningConfiguration&& value) { m_adConditioningConfiguration = std::move(value); } + inline PutPlaybackConfigurationResult& WithAdConditioningConfiguration(const AdConditioningConfiguration& value) { SetAdConditioningConfiguration(value); return *this;} + inline PutPlaybackConfigurationResult& WithAdConditioningConfiguration(AdConditioningConfiguration&& value) { SetAdConditioningConfiguration(std::move(value)); return *this;} + ///@} + ///@{ inline const Aws::String& GetRequestId() const{ return m_requestId; } @@ -384,6 +398,8 @@ namespace Model Aws::String m_videoContentSourceUrl; + AdConditioningConfiguration m_adConditioningConfiguration; + Aws::String m_requestId; }; diff --git a/generated/src/aws-cpp-sdk-mediatailor/include/aws/mediatailor/model/ScheduleConfiguration.h b/generated/src/aws-cpp-sdk-mediatailor/include/aws/mediatailor/model/ScheduleConfiguration.h index 03199fddbaa..7dd3efe3030 100644 --- a/generated/src/aws-cpp-sdk-mediatailor/include/aws/mediatailor/model/ScheduleConfiguration.h +++ b/generated/src/aws-cpp-sdk-mediatailor/include/aws/mediatailor/model/ScheduleConfiguration.h @@ -5,8 +5,8 @@ #pragma once #include -#include #include +#include #include namespace Aws @@ -39,18 +39,6 @@ namespace Model AWS_MEDIATAILOR_API Aws::Utils::Json::JsonValue Jsonize() const; - ///@{ - /** - *

    Program clip range configuration.

    - */ - inline const ClipRange& GetClipRange() const{ return m_clipRange; } - inline bool ClipRangeHasBeenSet() const { return m_clipRangeHasBeenSet; } - inline void SetClipRange(const ClipRange& value) { m_clipRangeHasBeenSet = true; m_clipRange = value; } - inline void SetClipRange(ClipRange&& value) { m_clipRangeHasBeenSet = true; m_clipRange = std::move(value); } - inline ScheduleConfiguration& WithClipRange(const ClipRange& value) { SetClipRange(value); return *this;} - inline ScheduleConfiguration& WithClipRange(ClipRange&& value) { SetClipRange(std::move(value)); return *this;} - ///@} - ///@{ /** *

    Program transition configurations.

    @@ -62,13 +50,25 @@ namespace Model inline ScheduleConfiguration& WithTransition(const Transition& value) { SetTransition(value); return *this;} inline ScheduleConfiguration& WithTransition(Transition&& value) { SetTransition(std::move(value)); return *this;} ///@} - private: - ClipRange m_clipRange; - bool m_clipRangeHasBeenSet = false; + ///@{ + /** + *

    Program clip range configuration.

    + */ + inline const ClipRange& GetClipRange() const{ return m_clipRange; } + inline bool ClipRangeHasBeenSet() const { return m_clipRangeHasBeenSet; } + inline void SetClipRange(const ClipRange& value) { m_clipRangeHasBeenSet = true; m_clipRange = value; } + inline void SetClipRange(ClipRange&& value) { m_clipRangeHasBeenSet = true; m_clipRange = std::move(value); } + inline ScheduleConfiguration& WithClipRange(const ClipRange& value) { SetClipRange(value); return *this;} + inline ScheduleConfiguration& WithClipRange(ClipRange&& value) { SetClipRange(std::move(value)); return *this;} + ///@} + private: Transition m_transition; bool m_transitionHasBeenSet = false; + + ClipRange m_clipRange; + bool m_clipRangeHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-mediatailor/include/aws/mediatailor/model/ScheduleEntry.h b/generated/src/aws-cpp-sdk-mediatailor/include/aws/mediatailor/model/ScheduleEntry.h index fd18c9a42ab..66f350699af 100644 --- a/generated/src/aws-cpp-sdk-mediatailor/include/aws/mediatailor/model/ScheduleEntry.h +++ b/generated/src/aws-cpp-sdk-mediatailor/include/aws/mediatailor/model/ScheduleEntry.h @@ -77,21 +77,6 @@ namespace Model inline ScheduleEntry& WithArn(const char* value) { SetArn(value); return *this;} ///@} - ///@{ - /** - *

    The list of audiences defined in ScheduleEntry.

    - */ - inline const Aws::Vector& GetAudiences() const{ return m_audiences; } - inline bool AudiencesHasBeenSet() const { return m_audiencesHasBeenSet; } - inline void SetAudiences(const Aws::Vector& value) { m_audiencesHasBeenSet = true; m_audiences = value; } - inline void SetAudiences(Aws::Vector&& value) { m_audiencesHasBeenSet = true; m_audiences = std::move(value); } - inline ScheduleEntry& WithAudiences(const Aws::Vector& value) { SetAudiences(value); return *this;} - inline ScheduleEntry& WithAudiences(Aws::Vector&& value) { SetAudiences(std::move(value)); return *this;} - inline ScheduleEntry& AddAudiences(const Aws::String& value) { m_audiencesHasBeenSet = true; m_audiences.push_back(value); return *this; } - inline ScheduleEntry& AddAudiences(Aws::String&& value) { m_audiencesHasBeenSet = true; m_audiences.push_back(std::move(value)); return *this; } - inline ScheduleEntry& AddAudiences(const char* value) { m_audiencesHasBeenSet = true; m_audiences.push_back(value); return *this; } - ///@} - ///@{ /** *

    The name of the channel that uses this schedule.

    @@ -187,6 +172,21 @@ namespace Model inline ScheduleEntry& WithVodSourceName(Aws::String&& value) { SetVodSourceName(std::move(value)); return *this;} inline ScheduleEntry& WithVodSourceName(const char* value) { SetVodSourceName(value); return *this;} ///@} + + ///@{ + /** + *

    The list of audiences defined in ScheduleEntry.

    + */ + inline const Aws::Vector& GetAudiences() const{ return m_audiences; } + inline bool AudiencesHasBeenSet() const { return m_audiencesHasBeenSet; } + inline void SetAudiences(const Aws::Vector& value) { m_audiencesHasBeenSet = true; m_audiences = value; } + inline void SetAudiences(Aws::Vector&& value) { m_audiencesHasBeenSet = true; m_audiences = std::move(value); } + inline ScheduleEntry& WithAudiences(const Aws::Vector& value) { SetAudiences(value); return *this;} + inline ScheduleEntry& WithAudiences(Aws::Vector&& value) { SetAudiences(std::move(value)); return *this;} + inline ScheduleEntry& AddAudiences(const Aws::String& value) { m_audiencesHasBeenSet = true; m_audiences.push_back(value); return *this; } + inline ScheduleEntry& AddAudiences(Aws::String&& value) { m_audiencesHasBeenSet = true; m_audiences.push_back(std::move(value)); return *this; } + inline ScheduleEntry& AddAudiences(const char* value) { m_audiencesHasBeenSet = true; m_audiences.push_back(value); return *this; } + ///@} private: long long m_approximateDurationSeconds; @@ -198,9 +198,6 @@ namespace Model Aws::String m_arn; bool m_arnHasBeenSet = false; - Aws::Vector m_audiences; - bool m_audiencesHasBeenSet = false; - Aws::String m_channelName; bool m_channelNameHasBeenSet = false; @@ -221,6 +218,9 @@ namespace Model Aws::String m_vodSourceName; bool m_vodSourceNameHasBeenSet = false; + + Aws::Vector m_audiences; + bool m_audiencesHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-mediatailor/include/aws/mediatailor/model/SegmentationDescriptor.h b/generated/src/aws-cpp-sdk-mediatailor/include/aws/mediatailor/model/SegmentationDescriptor.h index 4fbc24fd1d9..fb08c27583c 100644 --- a/generated/src/aws-cpp-sdk-mediatailor/include/aws/mediatailor/model/SegmentationDescriptor.h +++ b/generated/src/aws-cpp-sdk-mediatailor/include/aws/mediatailor/model/SegmentationDescriptor.h @@ -44,19 +44,6 @@ namespace Model AWS_MEDIATAILOR_API Aws::Utils::Json::JsonValue Jsonize() const; - ///@{ - /** - *

    The segment number to assign to the - * segmentation_descriptor.segment_num message, as defined in section - * 10.3.3.1 of the 2022 SCTE-35 specification Values must be between 0 and 256, - * inclusive. The default value is 0.

    - */ - inline int GetSegmentNum() const{ return m_segmentNum; } - inline bool SegmentNumHasBeenSet() const { return m_segmentNumHasBeenSet; } - inline void SetSegmentNum(int value) { m_segmentNumHasBeenSet = true; m_segmentNum = value; } - inline SegmentationDescriptor& WithSegmentNum(int value) { SetSegmentNum(value); return *this;} - ///@} - ///@{ /** *

    The Event Identifier to assign to the @@ -72,15 +59,15 @@ namespace Model ///@{ /** - *

    The Type Identifier to assign to the - * segmentation_descriptor.segmentation_type_id message, as defined in - * section 10.3.3.1 of the 2022 SCTE-35 specification. Values must be between 0 and - * 256, inclusive. The default value is 48.

    + *

    The Upid Type to assign to the + * segmentation_descriptor.segmentation_upid_type message, as defined + * in section 10.3.3.1 of the 2022 SCTE-35 specification. Values must be between 0 + * and 256, inclusive. The default value is 14.

    */ - inline int GetSegmentationTypeId() const{ return m_segmentationTypeId; } - inline bool SegmentationTypeIdHasBeenSet() const { return m_segmentationTypeIdHasBeenSet; } - inline void SetSegmentationTypeId(int value) { m_segmentationTypeIdHasBeenSet = true; m_segmentationTypeId = value; } - inline SegmentationDescriptor& WithSegmentationTypeId(int value) { SetSegmentationTypeId(value); return *this;} + inline int GetSegmentationUpidType() const{ return m_segmentationUpidType; } + inline bool SegmentationUpidTypeHasBeenSet() const { return m_segmentationUpidTypeHasBeenSet; } + inline void SetSegmentationUpidType(int value) { m_segmentationUpidTypeHasBeenSet = true; m_segmentationUpidType = value; } + inline SegmentationDescriptor& WithSegmentationUpidType(int value) { SetSegmentationUpidType(value); return *this;} ///@} ///@{ @@ -103,15 +90,28 @@ namespace Model ///@{ /** - *

    The Upid Type to assign to the - * segmentation_descriptor.segmentation_upid_type message, as defined - * in section 10.3.3.1 of the 2022 SCTE-35 specification. Values must be between 0 - * and 256, inclusive. The default value is 14.

    + *

    The Type Identifier to assign to the + * segmentation_descriptor.segmentation_type_id message, as defined in + * section 10.3.3.1 of the 2022 SCTE-35 specification. Values must be between 0 and + * 256, inclusive. The default value is 48.

    */ - inline int GetSegmentationUpidType() const{ return m_segmentationUpidType; } - inline bool SegmentationUpidTypeHasBeenSet() const { return m_segmentationUpidTypeHasBeenSet; } - inline void SetSegmentationUpidType(int value) { m_segmentationUpidTypeHasBeenSet = true; m_segmentationUpidType = value; } - inline SegmentationDescriptor& WithSegmentationUpidType(int value) { SetSegmentationUpidType(value); return *this;} + inline int GetSegmentationTypeId() const{ return m_segmentationTypeId; } + inline bool SegmentationTypeIdHasBeenSet() const { return m_segmentationTypeIdHasBeenSet; } + inline void SetSegmentationTypeId(int value) { m_segmentationTypeIdHasBeenSet = true; m_segmentationTypeId = value; } + inline SegmentationDescriptor& WithSegmentationTypeId(int value) { SetSegmentationTypeId(value); return *this;} + ///@} + + ///@{ + /** + *

    The segment number to assign to the + * segmentation_descriptor.segment_num message, as defined in section + * 10.3.3.1 of the 2022 SCTE-35 specification Values must be between 0 and 256, + * inclusive. The default value is 0.

    + */ + inline int GetSegmentNum() const{ return m_segmentNum; } + inline bool SegmentNumHasBeenSet() const { return m_segmentNumHasBeenSet; } + inline void SetSegmentNum(int value) { m_segmentNumHasBeenSet = true; m_segmentNum = value; } + inline SegmentationDescriptor& WithSegmentNum(int value) { SetSegmentNum(value); return *this;} ///@} ///@{ @@ -154,20 +154,20 @@ namespace Model ///@} private: - int m_segmentNum; - bool m_segmentNumHasBeenSet = false; - int m_segmentationEventId; bool m_segmentationEventIdHasBeenSet = false; - int m_segmentationTypeId; - bool m_segmentationTypeIdHasBeenSet = false; + int m_segmentationUpidType; + bool m_segmentationUpidTypeHasBeenSet = false; Aws::String m_segmentationUpid; bool m_segmentationUpidHasBeenSet = false; - int m_segmentationUpidType; - bool m_segmentationUpidTypeHasBeenSet = false; + int m_segmentationTypeId; + bool m_segmentationTypeIdHasBeenSet = false; + + int m_segmentNum; + bool m_segmentNumHasBeenSet = false; int m_segmentsExpected; bool m_segmentsExpectedHasBeenSet = false; diff --git a/generated/src/aws-cpp-sdk-mediatailor/include/aws/mediatailor/model/StreamingMediaFileConditioning.h b/generated/src/aws-cpp-sdk-mediatailor/include/aws/mediatailor/model/StreamingMediaFileConditioning.h new file mode 100644 index 00000000000..164d89321c3 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mediatailor/include/aws/mediatailor/model/StreamingMediaFileConditioning.h @@ -0,0 +1,31 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace MediaTailor +{ +namespace Model +{ + enum class StreamingMediaFileConditioning + { + NOT_SET, + TRANSCODE, + NONE + }; + +namespace StreamingMediaFileConditioningMapper +{ +AWS_MEDIATAILOR_API StreamingMediaFileConditioning GetStreamingMediaFileConditioningForName(const Aws::String& name); + +AWS_MEDIATAILOR_API Aws::String GetNameForStreamingMediaFileConditioning(StreamingMediaFileConditioning value); +} // namespace StreamingMediaFileConditioningMapper +} // namespace Model +} // namespace MediaTailor +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mediatailor/include/aws/mediatailor/model/UpdateChannelRequest.h b/generated/src/aws-cpp-sdk-mediatailor/include/aws/mediatailor/model/UpdateChannelRequest.h index c5090e64aaa..4e7fbe94dad 100644 --- a/generated/src/aws-cpp-sdk-mediatailor/include/aws/mediatailor/model/UpdateChannelRequest.h +++ b/generated/src/aws-cpp-sdk-mediatailor/include/aws/mediatailor/model/UpdateChannelRequest.h @@ -6,9 +6,9 @@ #pragma once #include #include -#include #include #include +#include #include #include #include @@ -36,21 +36,6 @@ namespace Model AWS_MEDIATAILOR_API Aws::String SerializePayload() const override; - ///@{ - /** - *

    The list of audiences defined in channel.

    - */ - inline const Aws::Vector& GetAudiences() const{ return m_audiences; } - inline bool AudiencesHasBeenSet() const { return m_audiencesHasBeenSet; } - inline void SetAudiences(const Aws::Vector& value) { m_audiencesHasBeenSet = true; m_audiences = value; } - inline void SetAudiences(Aws::Vector&& value) { m_audiencesHasBeenSet = true; m_audiences = std::move(value); } - inline UpdateChannelRequest& WithAudiences(const Aws::Vector& value) { SetAudiences(value); return *this;} - inline UpdateChannelRequest& WithAudiences(Aws::Vector&& value) { SetAudiences(std::move(value)); return *this;} - inline UpdateChannelRequest& AddAudiences(const Aws::String& value) { m_audiencesHasBeenSet = true; m_audiences.push_back(value); return *this; } - inline UpdateChannelRequest& AddAudiences(Aws::String&& value) { m_audiencesHasBeenSet = true; m_audiences.push_back(std::move(value)); return *this; } - inline UpdateChannelRequest& AddAudiences(const char* value) { m_audiencesHasBeenSet = true; m_audiences.push_back(value); return *this; } - ///@} - ///@{ /** *

    The name of the channel.

    @@ -106,10 +91,22 @@ namespace Model inline UpdateChannelRequest& WithTimeShiftConfiguration(const TimeShiftConfiguration& value) { SetTimeShiftConfiguration(value); return *this;} inline UpdateChannelRequest& WithTimeShiftConfiguration(TimeShiftConfiguration&& value) { SetTimeShiftConfiguration(std::move(value)); return *this;} ///@} - private: - Aws::Vector m_audiences; - bool m_audiencesHasBeenSet = false; + ///@{ + /** + *

    The list of audiences defined in channel.

    + */ + inline const Aws::Vector& GetAudiences() const{ return m_audiences; } + inline bool AudiencesHasBeenSet() const { return m_audiencesHasBeenSet; } + inline void SetAudiences(const Aws::Vector& value) { m_audiencesHasBeenSet = true; m_audiences = value; } + inline void SetAudiences(Aws::Vector&& value) { m_audiencesHasBeenSet = true; m_audiences = std::move(value); } + inline UpdateChannelRequest& WithAudiences(const Aws::Vector& value) { SetAudiences(value); return *this;} + inline UpdateChannelRequest& WithAudiences(Aws::Vector&& value) { SetAudiences(std::move(value)); return *this;} + inline UpdateChannelRequest& AddAudiences(const Aws::String& value) { m_audiencesHasBeenSet = true; m_audiences.push_back(value); return *this; } + inline UpdateChannelRequest& AddAudiences(Aws::String&& value) { m_audiencesHasBeenSet = true; m_audiences.push_back(std::move(value)); return *this; } + inline UpdateChannelRequest& AddAudiences(const char* value) { m_audiencesHasBeenSet = true; m_audiences.push_back(value); return *this; } + ///@} + private: Aws::String m_channelName; bool m_channelNameHasBeenSet = false; @@ -122,6 +119,9 @@ namespace Model TimeShiftConfiguration m_timeShiftConfiguration; bool m_timeShiftConfigurationHasBeenSet = false; + + Aws::Vector m_audiences; + bool m_audiencesHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-mediatailor/include/aws/mediatailor/model/UpdateChannelResult.h b/generated/src/aws-cpp-sdk-mediatailor/include/aws/mediatailor/model/UpdateChannelResult.h index c406567a3bd..e8f6fffa089 100644 --- a/generated/src/aws-cpp-sdk-mediatailor/include/aws/mediatailor/model/UpdateChannelResult.h +++ b/generated/src/aws-cpp-sdk-mediatailor/include/aws/mediatailor/model/UpdateChannelResult.h @@ -6,10 +6,10 @@ #pragma once #include #include -#include #include #include #include +#include #include #include #include @@ -52,20 +52,6 @@ namespace Model inline UpdateChannelResult& WithArn(const char* value) { SetArn(value); return *this;} ///@} - ///@{ - /** - *

    The list of audiences defined in channel.

    - */ - inline const Aws::Vector& GetAudiences() const{ return m_audiences; } - inline void SetAudiences(const Aws::Vector& value) { m_audiences = value; } - inline void SetAudiences(Aws::Vector&& value) { m_audiences = std::move(value); } - inline UpdateChannelResult& WithAudiences(const Aws::Vector& value) { SetAudiences(value); return *this;} - inline UpdateChannelResult& WithAudiences(Aws::Vector&& value) { SetAudiences(std::move(value)); return *this;} - inline UpdateChannelResult& AddAudiences(const Aws::String& value) { m_audiences.push_back(value); return *this; } - inline UpdateChannelResult& AddAudiences(Aws::String&& value) { m_audiences.push_back(std::move(value)); return *this; } - inline UpdateChannelResult& AddAudiences(const char* value) { m_audiences.push_back(value); return *this; } - ///@} - ///@{ /** *

    The name of the channel.

    @@ -201,6 +187,20 @@ namespace Model inline UpdateChannelResult& WithTimeShiftConfiguration(TimeShiftConfiguration&& value) { SetTimeShiftConfiguration(std::move(value)); return *this;} ///@} + ///@{ + /** + *

    The list of audiences defined in channel.

    + */ + inline const Aws::Vector& GetAudiences() const{ return m_audiences; } + inline void SetAudiences(const Aws::Vector& value) { m_audiences = value; } + inline void SetAudiences(Aws::Vector&& value) { m_audiences = std::move(value); } + inline UpdateChannelResult& WithAudiences(const Aws::Vector& value) { SetAudiences(value); return *this;} + inline UpdateChannelResult& WithAudiences(Aws::Vector&& value) { SetAudiences(std::move(value)); return *this;} + inline UpdateChannelResult& AddAudiences(const Aws::String& value) { m_audiences.push_back(value); return *this; } + inline UpdateChannelResult& AddAudiences(Aws::String&& value) { m_audiences.push_back(std::move(value)); return *this; } + inline UpdateChannelResult& AddAudiences(const char* value) { m_audiences.push_back(value); return *this; } + ///@} + ///@{ inline const Aws::String& GetRequestId() const{ return m_requestId; } @@ -215,8 +215,6 @@ namespace Model Aws::String m_arn; - Aws::Vector m_audiences; - Aws::String m_channelName; ChannelState m_channelState; @@ -237,6 +235,8 @@ namespace Model TimeShiftConfiguration m_timeShiftConfiguration; + Aws::Vector m_audiences; + Aws::String m_requestId; }; diff --git a/generated/src/aws-cpp-sdk-mediatailor/include/aws/mediatailor/model/UpdateProgramRequest.h b/generated/src/aws-cpp-sdk-mediatailor/include/aws/mediatailor/model/UpdateProgramRequest.h index b557ecce1f1..1df4357e444 100644 --- a/generated/src/aws-cpp-sdk-mediatailor/include/aws/mediatailor/model/UpdateProgramRequest.h +++ b/generated/src/aws-cpp-sdk-mediatailor/include/aws/mediatailor/model/UpdateProgramRequest.h @@ -50,20 +50,6 @@ namespace Model inline UpdateProgramRequest& AddAdBreaks(AdBreak&& value) { m_adBreaksHasBeenSet = true; m_adBreaks.push_back(std::move(value)); return *this; } ///@} - ///@{ - /** - *

    The list of AudienceMedia defined in program.

    - */ - inline const Aws::Vector& GetAudienceMedia() const{ return m_audienceMedia; } - inline bool AudienceMediaHasBeenSet() const { return m_audienceMediaHasBeenSet; } - inline void SetAudienceMedia(const Aws::Vector& value) { m_audienceMediaHasBeenSet = true; m_audienceMedia = value; } - inline void SetAudienceMedia(Aws::Vector&& value) { m_audienceMediaHasBeenSet = true; m_audienceMedia = std::move(value); } - inline UpdateProgramRequest& WithAudienceMedia(const Aws::Vector& value) { SetAudienceMedia(value); return *this;} - inline UpdateProgramRequest& WithAudienceMedia(Aws::Vector&& value) { SetAudienceMedia(std::move(value)); return *this;} - inline UpdateProgramRequest& AddAudienceMedia(const AudienceMedia& value) { m_audienceMediaHasBeenSet = true; m_audienceMedia.push_back(value); return *this; } - inline UpdateProgramRequest& AddAudienceMedia(AudienceMedia&& value) { m_audienceMediaHasBeenSet = true; m_audienceMedia.push_back(std::move(value)); return *this; } - ///@} - ///@{ /** *

    The name of the channel for this Program.

    @@ -103,14 +89,25 @@ namespace Model inline UpdateProgramRequest& WithScheduleConfiguration(const UpdateProgramScheduleConfiguration& value) { SetScheduleConfiguration(value); return *this;} inline UpdateProgramRequest& WithScheduleConfiguration(UpdateProgramScheduleConfiguration&& value) { SetScheduleConfiguration(std::move(value)); return *this;} ///@} + + ///@{ + /** + *

    The list of AudienceMedia defined in program.

    + */ + inline const Aws::Vector& GetAudienceMedia() const{ return m_audienceMedia; } + inline bool AudienceMediaHasBeenSet() const { return m_audienceMediaHasBeenSet; } + inline void SetAudienceMedia(const Aws::Vector& value) { m_audienceMediaHasBeenSet = true; m_audienceMedia = value; } + inline void SetAudienceMedia(Aws::Vector&& value) { m_audienceMediaHasBeenSet = true; m_audienceMedia = std::move(value); } + inline UpdateProgramRequest& WithAudienceMedia(const Aws::Vector& value) { SetAudienceMedia(value); return *this;} + inline UpdateProgramRequest& WithAudienceMedia(Aws::Vector&& value) { SetAudienceMedia(std::move(value)); return *this;} + inline UpdateProgramRequest& AddAudienceMedia(const AudienceMedia& value) { m_audienceMediaHasBeenSet = true; m_audienceMedia.push_back(value); return *this; } + inline UpdateProgramRequest& AddAudienceMedia(AudienceMedia&& value) { m_audienceMediaHasBeenSet = true; m_audienceMedia.push_back(std::move(value)); return *this; } + ///@} private: Aws::Vector m_adBreaks; bool m_adBreaksHasBeenSet = false; - Aws::Vector m_audienceMedia; - bool m_audienceMediaHasBeenSet = false; - Aws::String m_channelName; bool m_channelNameHasBeenSet = false; @@ -119,6 +116,9 @@ namespace Model UpdateProgramScheduleConfiguration m_scheduleConfiguration; bool m_scheduleConfigurationHasBeenSet = false; + + Aws::Vector m_audienceMedia; + bool m_audienceMediaHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-mediatailor/include/aws/mediatailor/model/UpdateProgramResult.h b/generated/src/aws-cpp-sdk-mediatailor/include/aws/mediatailor/model/UpdateProgramResult.h index ed849ec9405..b90be83abdc 100644 --- a/generated/src/aws-cpp-sdk-mediatailor/include/aws/mediatailor/model/UpdateProgramResult.h +++ b/generated/src/aws-cpp-sdk-mediatailor/include/aws/mediatailor/model/UpdateProgramResult.h @@ -7,8 +7,8 @@ #include #include #include -#include #include +#include #include #include #include @@ -63,19 +63,6 @@ namespace Model inline UpdateProgramResult& WithArn(const char* value) { SetArn(value); return *this;} ///@} - ///@{ - /** - *

    The list of AudienceMedia defined in program.

    - */ - inline const Aws::Vector& GetAudienceMedia() const{ return m_audienceMedia; } - inline void SetAudienceMedia(const Aws::Vector& value) { m_audienceMedia = value; } - inline void SetAudienceMedia(Aws::Vector&& value) { m_audienceMedia = std::move(value); } - inline UpdateProgramResult& WithAudienceMedia(const Aws::Vector& value) { SetAudienceMedia(value); return *this;} - inline UpdateProgramResult& WithAudienceMedia(Aws::Vector&& value) { SetAudienceMedia(std::move(value)); return *this;} - inline UpdateProgramResult& AddAudienceMedia(const AudienceMedia& value) { m_audienceMedia.push_back(value); return *this; } - inline UpdateProgramResult& AddAudienceMedia(AudienceMedia&& value) { m_audienceMedia.push_back(std::move(value)); return *this; } - ///@} - ///@{ /** *

    The name to assign to the channel for this program.

    @@ -89,17 +76,6 @@ namespace Model inline UpdateProgramResult& WithChannelName(const char* value) { SetChannelName(value); return *this;} ///@} - ///@{ - /** - *

    The clip range configuration settings.

    - */ - inline const ClipRange& GetClipRange() const{ return m_clipRange; } - inline void SetClipRange(const ClipRange& value) { m_clipRange = value; } - inline void SetClipRange(ClipRange&& value) { m_clipRange = std::move(value); } - inline UpdateProgramResult& WithClipRange(const ClipRange& value) { SetClipRange(value); return *this;} - inline UpdateProgramResult& WithClipRange(ClipRange&& value) { SetClipRange(std::move(value)); return *this;} - ///@} - ///@{ /** *

    The time the program was created.

    @@ -111,28 +87,6 @@ namespace Model inline UpdateProgramResult& WithCreationTime(Aws::Utils::DateTime&& value) { SetCreationTime(std::move(value)); return *this;} ///@} - ///@{ - /** - *

    The duration of the live program in milliseconds.

    - */ - inline long long GetDurationMillis() const{ return m_durationMillis; } - inline void SetDurationMillis(long long value) { m_durationMillis = value; } - inline UpdateProgramResult& WithDurationMillis(long long value) { SetDurationMillis(value); return *this;} - ///@} - - ///@{ - /** - *

    The name of the LiveSource for this Program.

    - */ - inline const Aws::String& GetLiveSourceName() const{ return m_liveSourceName; } - inline void SetLiveSourceName(const Aws::String& value) { m_liveSourceName = value; } - inline void SetLiveSourceName(Aws::String&& value) { m_liveSourceName = std::move(value); } - inline void SetLiveSourceName(const char* value) { m_liveSourceName.assign(value); } - inline UpdateProgramResult& WithLiveSourceName(const Aws::String& value) { SetLiveSourceName(value); return *this;} - inline UpdateProgramResult& WithLiveSourceName(Aws::String&& value) { SetLiveSourceName(std::move(value)); return *this;} - inline UpdateProgramResult& WithLiveSourceName(const char* value) { SetLiveSourceName(value); return *this;} - ///@} - ///@{ /** *

    The name to assign to this program.

    @@ -146,17 +100,6 @@ namespace Model inline UpdateProgramResult& WithProgramName(const char* value) { SetProgramName(value); return *this;} ///@} - ///@{ - /** - *

    The scheduled start time for this Program.

    - */ - inline const Aws::Utils::DateTime& GetScheduledStartTime() const{ return m_scheduledStartTime; } - inline void SetScheduledStartTime(const Aws::Utils::DateTime& value) { m_scheduledStartTime = value; } - inline void SetScheduledStartTime(Aws::Utils::DateTime&& value) { m_scheduledStartTime = std::move(value); } - inline UpdateProgramResult& WithScheduledStartTime(const Aws::Utils::DateTime& value) { SetScheduledStartTime(value); return *this;} - inline UpdateProgramResult& WithScheduledStartTime(Aws::Utils::DateTime&& value) { SetScheduledStartTime(std::move(value)); return *this;} - ///@} - ///@{ /** *

    The name to assign to the source location for this program.

    @@ -183,6 +126,63 @@ namespace Model inline UpdateProgramResult& WithVodSourceName(const char* value) { SetVodSourceName(value); return *this;} ///@} + ///@{ + /** + *

    The name of the LiveSource for this Program.

    + */ + inline const Aws::String& GetLiveSourceName() const{ return m_liveSourceName; } + inline void SetLiveSourceName(const Aws::String& value) { m_liveSourceName = value; } + inline void SetLiveSourceName(Aws::String&& value) { m_liveSourceName = std::move(value); } + inline void SetLiveSourceName(const char* value) { m_liveSourceName.assign(value); } + inline UpdateProgramResult& WithLiveSourceName(const Aws::String& value) { SetLiveSourceName(value); return *this;} + inline UpdateProgramResult& WithLiveSourceName(Aws::String&& value) { SetLiveSourceName(std::move(value)); return *this;} + inline UpdateProgramResult& WithLiveSourceName(const char* value) { SetLiveSourceName(value); return *this;} + ///@} + + ///@{ + /** + *

    The clip range configuration settings.

    + */ + inline const ClipRange& GetClipRange() const{ return m_clipRange; } + inline void SetClipRange(const ClipRange& value) { m_clipRange = value; } + inline void SetClipRange(ClipRange&& value) { m_clipRange = std::move(value); } + inline UpdateProgramResult& WithClipRange(const ClipRange& value) { SetClipRange(value); return *this;} + inline UpdateProgramResult& WithClipRange(ClipRange&& value) { SetClipRange(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

    The duration of the live program in milliseconds.

    + */ + inline long long GetDurationMillis() const{ return m_durationMillis; } + inline void SetDurationMillis(long long value) { m_durationMillis = value; } + inline UpdateProgramResult& WithDurationMillis(long long value) { SetDurationMillis(value); return *this;} + ///@} + + ///@{ + /** + *

    The scheduled start time for this Program.

    + */ + inline const Aws::Utils::DateTime& GetScheduledStartTime() const{ return m_scheduledStartTime; } + inline void SetScheduledStartTime(const Aws::Utils::DateTime& value) { m_scheduledStartTime = value; } + inline void SetScheduledStartTime(Aws::Utils::DateTime&& value) { m_scheduledStartTime = std::move(value); } + inline UpdateProgramResult& WithScheduledStartTime(const Aws::Utils::DateTime& value) { SetScheduledStartTime(value); return *this;} + inline UpdateProgramResult& WithScheduledStartTime(Aws::Utils::DateTime&& value) { SetScheduledStartTime(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

    The list of AudienceMedia defined in program.

    + */ + inline const Aws::Vector& GetAudienceMedia() const{ return m_audienceMedia; } + inline void SetAudienceMedia(const Aws::Vector& value) { m_audienceMedia = value; } + inline void SetAudienceMedia(Aws::Vector&& value) { m_audienceMedia = std::move(value); } + inline UpdateProgramResult& WithAudienceMedia(const Aws::Vector& value) { SetAudienceMedia(value); return *this;} + inline UpdateProgramResult& WithAudienceMedia(Aws::Vector&& value) { SetAudienceMedia(std::move(value)); return *this;} + inline UpdateProgramResult& AddAudienceMedia(const AudienceMedia& value) { m_audienceMedia.push_back(value); return *this; } + inline UpdateProgramResult& AddAudienceMedia(AudienceMedia&& value) { m_audienceMedia.push_back(std::move(value)); return *this; } + ///@} + ///@{ inline const Aws::String& GetRequestId() const{ return m_requestId; } @@ -199,25 +199,25 @@ namespace Model Aws::String m_arn; - Aws::Vector m_audienceMedia; - Aws::String m_channelName; - ClipRange m_clipRange; - Aws::Utils::DateTime m_creationTime; - long long m_durationMillis; + Aws::String m_programName; + + Aws::String m_sourceLocationName; + + Aws::String m_vodSourceName; Aws::String m_liveSourceName; - Aws::String m_programName; + ClipRange m_clipRange; - Aws::Utils::DateTime m_scheduledStartTime; + long long m_durationMillis; - Aws::String m_sourceLocationName; + Aws::Utils::DateTime m_scheduledStartTime; - Aws::String m_vodSourceName; + Aws::Vector m_audienceMedia; Aws::String m_requestId; }; diff --git a/generated/src/aws-cpp-sdk-mediatailor/include/aws/mediatailor/model/UpdateProgramScheduleConfiguration.h b/generated/src/aws-cpp-sdk-mediatailor/include/aws/mediatailor/model/UpdateProgramScheduleConfiguration.h index b43829bfa42..b766f5aef1e 100644 --- a/generated/src/aws-cpp-sdk-mediatailor/include/aws/mediatailor/model/UpdateProgramScheduleConfiguration.h +++ b/generated/src/aws-cpp-sdk-mediatailor/include/aws/mediatailor/model/UpdateProgramScheduleConfiguration.h @@ -5,8 +5,8 @@ #pragma once #include -#include #include +#include #include namespace Aws @@ -38,18 +38,6 @@ namespace Model AWS_MEDIATAILOR_API Aws::Utils::Json::JsonValue Jsonize() const; - ///@{ - /** - *

    Program clip range configuration.

    - */ - inline const ClipRange& GetClipRange() const{ return m_clipRange; } - inline bool ClipRangeHasBeenSet() const { return m_clipRangeHasBeenSet; } - inline void SetClipRange(const ClipRange& value) { m_clipRangeHasBeenSet = true; m_clipRange = value; } - inline void SetClipRange(ClipRange&& value) { m_clipRangeHasBeenSet = true; m_clipRange = std::move(value); } - inline UpdateProgramScheduleConfiguration& WithClipRange(const ClipRange& value) { SetClipRange(value); return *this;} - inline UpdateProgramScheduleConfiguration& WithClipRange(ClipRange&& value) { SetClipRange(std::move(value)); return *this;} - ///@} - ///@{ /** *

    Program transition configuration.

    @@ -61,13 +49,25 @@ namespace Model inline UpdateProgramScheduleConfiguration& WithTransition(const UpdateProgramTransition& value) { SetTransition(value); return *this;} inline UpdateProgramScheduleConfiguration& WithTransition(UpdateProgramTransition&& value) { SetTransition(std::move(value)); return *this;} ///@} - private: - ClipRange m_clipRange; - bool m_clipRangeHasBeenSet = false; + ///@{ + /** + *

    Program clip range configuration.

    + */ + inline const ClipRange& GetClipRange() const{ return m_clipRange; } + inline bool ClipRangeHasBeenSet() const { return m_clipRangeHasBeenSet; } + inline void SetClipRange(const ClipRange& value) { m_clipRangeHasBeenSet = true; m_clipRange = value; } + inline void SetClipRange(ClipRange&& value) { m_clipRangeHasBeenSet = true; m_clipRange = std::move(value); } + inline UpdateProgramScheduleConfiguration& WithClipRange(const ClipRange& value) { SetClipRange(value); return *this;} + inline UpdateProgramScheduleConfiguration& WithClipRange(ClipRange&& value) { SetClipRange(std::move(value)); return *this;} + ///@} + private: UpdateProgramTransition m_transition; bool m_transitionHasBeenSet = false; + + ClipRange m_clipRange; + bool m_clipRangeHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-mediatailor/include/aws/mediatailor/model/UpdateProgramTransition.h b/generated/src/aws-cpp-sdk-mediatailor/include/aws/mediatailor/model/UpdateProgramTransition.h index a2f1091a1a8..3dc09dcbf31 100644 --- a/generated/src/aws-cpp-sdk-mediatailor/include/aws/mediatailor/model/UpdateProgramTransition.h +++ b/generated/src/aws-cpp-sdk-mediatailor/include/aws/mediatailor/model/UpdateProgramTransition.h @@ -35,16 +35,6 @@ namespace Model AWS_MEDIATAILOR_API Aws::Utils::Json::JsonValue Jsonize() const; - ///@{ - /** - *

    The duration of the live program in seconds.

    - */ - inline long long GetDurationMillis() const{ return m_durationMillis; } - inline bool DurationMillisHasBeenSet() const { return m_durationMillisHasBeenSet; } - inline void SetDurationMillis(long long value) { m_durationMillisHasBeenSet = true; m_durationMillis = value; } - inline UpdateProgramTransition& WithDurationMillis(long long value) { SetDurationMillis(value); return *this;} - ///@} - ///@{ /** *

    The date and time that the program is scheduled to start, in epoch @@ -55,13 +45,23 @@ namespace Model inline void SetScheduledStartTimeMillis(long long value) { m_scheduledStartTimeMillisHasBeenSet = true; m_scheduledStartTimeMillis = value; } inline UpdateProgramTransition& WithScheduledStartTimeMillis(long long value) { SetScheduledStartTimeMillis(value); return *this;} ///@} - private: - long long m_durationMillis; - bool m_durationMillisHasBeenSet = false; + ///@{ + /** + *

    The duration of the live program in seconds.

    + */ + inline long long GetDurationMillis() const{ return m_durationMillis; } + inline bool DurationMillisHasBeenSet() const { return m_durationMillisHasBeenSet; } + inline void SetDurationMillis(long long value) { m_durationMillisHasBeenSet = true; m_durationMillis = value; } + inline UpdateProgramTransition& WithDurationMillis(long long value) { SetDurationMillis(value); return *this;} + ///@} + private: long long m_scheduledStartTimeMillis; bool m_scheduledStartTimeMillisHasBeenSet = false; + + long long m_durationMillis; + bool m_durationMillisHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-mediatailor/source/model/AdBreak.cpp b/generated/src/aws-cpp-sdk-mediatailor/source/model/AdBreak.cpp index eabfa40e845..d9346a6d1e8 100644 --- a/generated/src/aws-cpp-sdk-mediatailor/source/model/AdBreak.cpp +++ b/generated/src/aws-cpp-sdk-mediatailor/source/model/AdBreak.cpp @@ -19,14 +19,14 @@ namespace Model { AdBreak::AdBreak() : - m_adBreakMetadataHasBeenSet(false), m_messageType(MessageType::NOT_SET), m_messageTypeHasBeenSet(false), m_offsetMillis(0), m_offsetMillisHasBeenSet(false), m_slateHasBeenSet(false), m_spliceInsertMessageHasBeenSet(false), - m_timeSignalMessageHasBeenSet(false) + m_timeSignalMessageHasBeenSet(false), + m_adBreakMetadataHasBeenSet(false) { } @@ -38,16 +38,6 @@ AdBreak::AdBreak(JsonView jsonValue) AdBreak& AdBreak::operator =(JsonView jsonValue) { - if(jsonValue.ValueExists("AdBreakMetadata")) - { - Aws::Utils::Array adBreakMetadataJsonList = jsonValue.GetArray("AdBreakMetadata"); - for(unsigned adBreakMetadataIndex = 0; adBreakMetadataIndex < adBreakMetadataJsonList.GetLength(); ++adBreakMetadataIndex) - { - m_adBreakMetadata.push_back(adBreakMetadataJsonList[adBreakMetadataIndex].AsObject()); - } - m_adBreakMetadataHasBeenSet = true; - } - if(jsonValue.ValueExists("MessageType")) { m_messageType = MessageTypeMapper::GetMessageTypeForName(jsonValue.GetString("MessageType")); @@ -83,6 +73,16 @@ AdBreak& AdBreak::operator =(JsonView jsonValue) m_timeSignalMessageHasBeenSet = true; } + if(jsonValue.ValueExists("AdBreakMetadata")) + { + Aws::Utils::Array adBreakMetadataJsonList = jsonValue.GetArray("AdBreakMetadata"); + for(unsigned adBreakMetadataIndex = 0; adBreakMetadataIndex < adBreakMetadataJsonList.GetLength(); ++adBreakMetadataIndex) + { + m_adBreakMetadata.push_back(adBreakMetadataJsonList[adBreakMetadataIndex].AsObject()); + } + m_adBreakMetadataHasBeenSet = true; + } + return *this; } @@ -90,17 +90,6 @@ JsonValue AdBreak::Jsonize() const { JsonValue payload; - if(m_adBreakMetadataHasBeenSet) - { - Aws::Utils::Array adBreakMetadataJsonList(m_adBreakMetadata.size()); - for(unsigned adBreakMetadataIndex = 0; adBreakMetadataIndex < adBreakMetadataJsonList.GetLength(); ++adBreakMetadataIndex) - { - adBreakMetadataJsonList[adBreakMetadataIndex].AsObject(m_adBreakMetadata[adBreakMetadataIndex].Jsonize()); - } - payload.WithArray("AdBreakMetadata", std::move(adBreakMetadataJsonList)); - - } - if(m_messageTypeHasBeenSet) { payload.WithString("MessageType", MessageTypeMapper::GetNameForMessageType(m_messageType)); @@ -130,6 +119,17 @@ JsonValue AdBreak::Jsonize() const } + if(m_adBreakMetadataHasBeenSet) + { + Aws::Utils::Array adBreakMetadataJsonList(m_adBreakMetadata.size()); + for(unsigned adBreakMetadataIndex = 0; adBreakMetadataIndex < adBreakMetadataJsonList.GetLength(); ++adBreakMetadataIndex) + { + adBreakMetadataJsonList[adBreakMetadataIndex].AsObject(m_adBreakMetadata[adBreakMetadataIndex].Jsonize()); + } + payload.WithArray("AdBreakMetadata", std::move(adBreakMetadataJsonList)); + + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-mediatailor/source/model/AdConditioningConfiguration.cpp b/generated/src/aws-cpp-sdk-mediatailor/source/model/AdConditioningConfiguration.cpp new file mode 100644 index 00000000000..7dd61145b6b --- /dev/null +++ b/generated/src/aws-cpp-sdk-mediatailor/source/model/AdConditioningConfiguration.cpp @@ -0,0 +1,59 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace MediaTailor +{ +namespace Model +{ + +AdConditioningConfiguration::AdConditioningConfiguration() : + m_streamingMediaFileConditioning(StreamingMediaFileConditioning::NOT_SET), + m_streamingMediaFileConditioningHasBeenSet(false) +{ +} + +AdConditioningConfiguration::AdConditioningConfiguration(JsonView jsonValue) + : AdConditioningConfiguration() +{ + *this = jsonValue; +} + +AdConditioningConfiguration& AdConditioningConfiguration::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("StreamingMediaFileConditioning")) + { + m_streamingMediaFileConditioning = StreamingMediaFileConditioningMapper::GetStreamingMediaFileConditioningForName(jsonValue.GetString("StreamingMediaFileConditioning")); + + m_streamingMediaFileConditioningHasBeenSet = true; + } + + return *this; +} + +JsonValue AdConditioningConfiguration::Jsonize() const +{ + JsonValue payload; + + if(m_streamingMediaFileConditioningHasBeenSet) + { + payload.WithString("StreamingMediaFileConditioning", StreamingMediaFileConditioningMapper::GetNameForStreamingMediaFileConditioning(m_streamingMediaFileConditioning)); + } + + return payload; +} + +} // namespace Model +} // namespace MediaTailor +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mediatailor/source/model/Alert.cpp b/generated/src/aws-cpp-sdk-mediatailor/source/model/Alert.cpp index ee99f4ec38d..cbe09554a66 100644 --- a/generated/src/aws-cpp-sdk-mediatailor/source/model/Alert.cpp +++ b/generated/src/aws-cpp-sdk-mediatailor/source/model/Alert.cpp @@ -21,11 +21,11 @@ namespace Model Alert::Alert() : m_alertCodeHasBeenSet(false), m_alertMessageHasBeenSet(false), - m_category(AlertCategory::NOT_SET), - m_categoryHasBeenSet(false), m_lastModifiedTimeHasBeenSet(false), m_relatedResourceArnsHasBeenSet(false), - m_resourceArnHasBeenSet(false) + m_resourceArnHasBeenSet(false), + m_category(AlertCategory::NOT_SET), + m_categoryHasBeenSet(false) { } @@ -51,13 +51,6 @@ Alert& Alert::operator =(JsonView jsonValue) m_alertMessageHasBeenSet = true; } - if(jsonValue.ValueExists("Category")) - { - m_category = AlertCategoryMapper::GetAlertCategoryForName(jsonValue.GetString("Category")); - - m_categoryHasBeenSet = true; - } - if(jsonValue.ValueExists("LastModifiedTime")) { m_lastModifiedTime = jsonValue.GetDouble("LastModifiedTime"); @@ -82,6 +75,13 @@ Alert& Alert::operator =(JsonView jsonValue) m_resourceArnHasBeenSet = true; } + if(jsonValue.ValueExists("Category")) + { + m_category = AlertCategoryMapper::GetAlertCategoryForName(jsonValue.GetString("Category")); + + m_categoryHasBeenSet = true; + } + return *this; } @@ -101,11 +101,6 @@ JsonValue Alert::Jsonize() const } - if(m_categoryHasBeenSet) - { - payload.WithString("Category", AlertCategoryMapper::GetNameForAlertCategory(m_category)); - } - if(m_lastModifiedTimeHasBeenSet) { payload.WithDouble("LastModifiedTime", m_lastModifiedTime.SecondsWithMSPrecision()); @@ -128,6 +123,11 @@ JsonValue Alert::Jsonize() const } + if(m_categoryHasBeenSet) + { + payload.WithString("Category", AlertCategoryMapper::GetNameForAlertCategory(m_category)); + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-mediatailor/source/model/AlternateMedia.cpp b/generated/src/aws-cpp-sdk-mediatailor/source/model/AlternateMedia.cpp index 45b2d08d2bd..c9cdab9bbfe 100644 --- a/generated/src/aws-cpp-sdk-mediatailor/source/model/AlternateMedia.cpp +++ b/generated/src/aws-cpp-sdk-mediatailor/source/model/AlternateMedia.cpp @@ -19,15 +19,15 @@ namespace Model { AlternateMedia::AlternateMedia() : - m_adBreaksHasBeenSet(false), - m_clipRangeHasBeenSet(false), - m_durationMillis(0), - m_durationMillisHasBeenSet(false), + m_sourceLocationNameHasBeenSet(false), m_liveSourceNameHasBeenSet(false), + m_vodSourceNameHasBeenSet(false), + m_clipRangeHasBeenSet(false), m_scheduledStartTimeMillis(0), m_scheduledStartTimeMillisHasBeenSet(false), - m_sourceLocationNameHasBeenSet(false), - m_vodSourceNameHasBeenSet(false) + m_adBreaksHasBeenSet(false), + m_durationMillis(0), + m_durationMillisHasBeenSet(false) { } @@ -39,35 +39,32 @@ AlternateMedia::AlternateMedia(JsonView jsonValue) AlternateMedia& AlternateMedia::operator =(JsonView jsonValue) { - if(jsonValue.ValueExists("AdBreaks")) + if(jsonValue.ValueExists("SourceLocationName")) { - Aws::Utils::Array adBreaksJsonList = jsonValue.GetArray("AdBreaks"); - for(unsigned adBreaksIndex = 0; adBreaksIndex < adBreaksJsonList.GetLength(); ++adBreaksIndex) - { - m_adBreaks.push_back(adBreaksJsonList[adBreaksIndex].AsObject()); - } - m_adBreaksHasBeenSet = true; + m_sourceLocationName = jsonValue.GetString("SourceLocationName"); + + m_sourceLocationNameHasBeenSet = true; } - if(jsonValue.ValueExists("ClipRange")) + if(jsonValue.ValueExists("LiveSourceName")) { - m_clipRange = jsonValue.GetObject("ClipRange"); + m_liveSourceName = jsonValue.GetString("LiveSourceName"); - m_clipRangeHasBeenSet = true; + m_liveSourceNameHasBeenSet = true; } - if(jsonValue.ValueExists("DurationMillis")) + if(jsonValue.ValueExists("VodSourceName")) { - m_durationMillis = jsonValue.GetInt64("DurationMillis"); + m_vodSourceName = jsonValue.GetString("VodSourceName"); - m_durationMillisHasBeenSet = true; + m_vodSourceNameHasBeenSet = true; } - if(jsonValue.ValueExists("LiveSourceName")) + if(jsonValue.ValueExists("ClipRange")) { - m_liveSourceName = jsonValue.GetString("LiveSourceName"); + m_clipRange = jsonValue.GetObject("ClipRange"); - m_liveSourceNameHasBeenSet = true; + m_clipRangeHasBeenSet = true; } if(jsonValue.ValueExists("ScheduledStartTimeMillis")) @@ -77,18 +74,21 @@ AlternateMedia& AlternateMedia::operator =(JsonView jsonValue) m_scheduledStartTimeMillisHasBeenSet = true; } - if(jsonValue.ValueExists("SourceLocationName")) + if(jsonValue.ValueExists("AdBreaks")) { - m_sourceLocationName = jsonValue.GetString("SourceLocationName"); - - m_sourceLocationNameHasBeenSet = true; + Aws::Utils::Array adBreaksJsonList = jsonValue.GetArray("AdBreaks"); + for(unsigned adBreaksIndex = 0; adBreaksIndex < adBreaksJsonList.GetLength(); ++adBreaksIndex) + { + m_adBreaks.push_back(adBreaksJsonList[adBreaksIndex].AsObject()); + } + m_adBreaksHasBeenSet = true; } - if(jsonValue.ValueExists("VodSourceName")) + if(jsonValue.ValueExists("DurationMillis")) { - m_vodSourceName = jsonValue.GetString("VodSourceName"); + m_durationMillis = jsonValue.GetInt64("DurationMillis"); - m_vodSourceNameHasBeenSet = true; + m_durationMillisHasBeenSet = true; } return *this; @@ -98,32 +98,27 @@ JsonValue AlternateMedia::Jsonize() const { JsonValue payload; - if(m_adBreaksHasBeenSet) + if(m_sourceLocationNameHasBeenSet) { - Aws::Utils::Array adBreaksJsonList(m_adBreaks.size()); - for(unsigned adBreaksIndex = 0; adBreaksIndex < adBreaksJsonList.GetLength(); ++adBreaksIndex) - { - adBreaksJsonList[adBreaksIndex].AsObject(m_adBreaks[adBreaksIndex].Jsonize()); - } - payload.WithArray("AdBreaks", std::move(adBreaksJsonList)); + payload.WithString("SourceLocationName", m_sourceLocationName); } - if(m_clipRangeHasBeenSet) + if(m_liveSourceNameHasBeenSet) { - payload.WithObject("ClipRange", m_clipRange.Jsonize()); + payload.WithString("LiveSourceName", m_liveSourceName); } - if(m_durationMillisHasBeenSet) + if(m_vodSourceNameHasBeenSet) { - payload.WithInt64("DurationMillis", m_durationMillis); + payload.WithString("VodSourceName", m_vodSourceName); } - if(m_liveSourceNameHasBeenSet) + if(m_clipRangeHasBeenSet) { - payload.WithString("LiveSourceName", m_liveSourceName); + payload.WithObject("ClipRange", m_clipRange.Jsonize()); } @@ -133,15 +128,20 @@ JsonValue AlternateMedia::Jsonize() const } - if(m_sourceLocationNameHasBeenSet) + if(m_adBreaksHasBeenSet) { - payload.WithString("SourceLocationName", m_sourceLocationName); + Aws::Utils::Array adBreaksJsonList(m_adBreaks.size()); + for(unsigned adBreaksIndex = 0; adBreaksIndex < adBreaksJsonList.GetLength(); ++adBreaksIndex) + { + adBreaksJsonList[adBreaksIndex].AsObject(m_adBreaks[adBreaksIndex].Jsonize()); + } + payload.WithArray("AdBreaks", std::move(adBreaksJsonList)); } - if(m_vodSourceNameHasBeenSet) + if(m_durationMillisHasBeenSet) { - payload.WithString("VodSourceName", m_vodSourceName); + payload.WithInt64("DurationMillis", m_durationMillis); } diff --git a/generated/src/aws-cpp-sdk-mediatailor/source/model/AudienceMedia.cpp b/generated/src/aws-cpp-sdk-mediatailor/source/model/AudienceMedia.cpp index fb38076fcb7..4ece0be9b55 100644 --- a/generated/src/aws-cpp-sdk-mediatailor/source/model/AudienceMedia.cpp +++ b/generated/src/aws-cpp-sdk-mediatailor/source/model/AudienceMedia.cpp @@ -19,8 +19,8 @@ namespace Model { AudienceMedia::AudienceMedia() : - m_alternateMediaHasBeenSet(false), - m_audienceHasBeenSet(false) + m_audienceHasBeenSet(false), + m_alternateMediaHasBeenSet(false) { } @@ -32,6 +32,13 @@ AudienceMedia::AudienceMedia(JsonView jsonValue) AudienceMedia& AudienceMedia::operator =(JsonView jsonValue) { + if(jsonValue.ValueExists("Audience")) + { + m_audience = jsonValue.GetString("Audience"); + + m_audienceHasBeenSet = true; + } + if(jsonValue.ValueExists("AlternateMedia")) { Aws::Utils::Array alternateMediaJsonList = jsonValue.GetArray("AlternateMedia"); @@ -42,13 +49,6 @@ AudienceMedia& AudienceMedia::operator =(JsonView jsonValue) m_alternateMediaHasBeenSet = true; } - if(jsonValue.ValueExists("Audience")) - { - m_audience = jsonValue.GetString("Audience"); - - m_audienceHasBeenSet = true; - } - return *this; } @@ -56,6 +56,12 @@ JsonValue AudienceMedia::Jsonize() const { JsonValue payload; + if(m_audienceHasBeenSet) + { + payload.WithString("Audience", m_audience); + + } + if(m_alternateMediaHasBeenSet) { Aws::Utils::Array alternateMediaJsonList(m_alternateMedia.size()); @@ -67,12 +73,6 @@ JsonValue AudienceMedia::Jsonize() const } - if(m_audienceHasBeenSet) - { - payload.WithString("Audience", m_audience); - - } - return payload; } diff --git a/generated/src/aws-cpp-sdk-mediatailor/source/model/AvailSuppression.cpp b/generated/src/aws-cpp-sdk-mediatailor/source/model/AvailSuppression.cpp index b7f03e002ff..16a9e00b809 100644 --- a/generated/src/aws-cpp-sdk-mediatailor/source/model/AvailSuppression.cpp +++ b/generated/src/aws-cpp-sdk-mediatailor/source/model/AvailSuppression.cpp @@ -19,11 +19,11 @@ namespace Model { AvailSuppression::AvailSuppression() : - m_fillPolicy(FillPolicy::NOT_SET), - m_fillPolicyHasBeenSet(false), m_mode(Mode::NOT_SET), m_modeHasBeenSet(false), - m_valueHasBeenSet(false) + m_valueHasBeenSet(false), + m_fillPolicy(FillPolicy::NOT_SET), + m_fillPolicyHasBeenSet(false) { } @@ -35,13 +35,6 @@ AvailSuppression::AvailSuppression(JsonView jsonValue) AvailSuppression& AvailSuppression::operator =(JsonView jsonValue) { - if(jsonValue.ValueExists("FillPolicy")) - { - m_fillPolicy = FillPolicyMapper::GetFillPolicyForName(jsonValue.GetString("FillPolicy")); - - m_fillPolicyHasBeenSet = true; - } - if(jsonValue.ValueExists("Mode")) { m_mode = ModeMapper::GetModeForName(jsonValue.GetString("Mode")); @@ -56,6 +49,13 @@ AvailSuppression& AvailSuppression::operator =(JsonView jsonValue) m_valueHasBeenSet = true; } + if(jsonValue.ValueExists("FillPolicy")) + { + m_fillPolicy = FillPolicyMapper::GetFillPolicyForName(jsonValue.GetString("FillPolicy")); + + m_fillPolicyHasBeenSet = true; + } + return *this; } @@ -63,11 +63,6 @@ JsonValue AvailSuppression::Jsonize() const { JsonValue payload; - if(m_fillPolicyHasBeenSet) - { - payload.WithString("FillPolicy", FillPolicyMapper::GetNameForFillPolicy(m_fillPolicy)); - } - if(m_modeHasBeenSet) { payload.WithString("Mode", ModeMapper::GetNameForMode(m_mode)); @@ -79,6 +74,11 @@ JsonValue AvailSuppression::Jsonize() const } + if(m_fillPolicyHasBeenSet) + { + payload.WithString("FillPolicy", FillPolicyMapper::GetNameForFillPolicy(m_fillPolicy)); + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-mediatailor/source/model/Channel.cpp b/generated/src/aws-cpp-sdk-mediatailor/source/model/Channel.cpp index f4e75555ad6..116cd6a331b 100644 --- a/generated/src/aws-cpp-sdk-mediatailor/source/model/Channel.cpp +++ b/generated/src/aws-cpp-sdk-mediatailor/source/model/Channel.cpp @@ -20,17 +20,17 @@ namespace Model Channel::Channel() : m_arnHasBeenSet(false), - m_audiencesHasBeenSet(false), m_channelNameHasBeenSet(false), m_channelStateHasBeenSet(false), m_creationTimeHasBeenSet(false), m_fillerSlateHasBeenSet(false), m_lastModifiedTimeHasBeenSet(false), - m_logConfigurationHasBeenSet(false), m_outputsHasBeenSet(false), m_playbackModeHasBeenSet(false), m_tagsHasBeenSet(false), - m_tierHasBeenSet(false) + m_tierHasBeenSet(false), + m_logConfigurationHasBeenSet(false), + m_audiencesHasBeenSet(false) { } @@ -49,16 +49,6 @@ Channel& Channel::operator =(JsonView jsonValue) m_arnHasBeenSet = true; } - if(jsonValue.ValueExists("Audiences")) - { - Aws::Utils::Array audiencesJsonList = jsonValue.GetArray("Audiences"); - for(unsigned audiencesIndex = 0; audiencesIndex < audiencesJsonList.GetLength(); ++audiencesIndex) - { - m_audiences.push_back(audiencesJsonList[audiencesIndex].AsString()); - } - m_audiencesHasBeenSet = true; - } - if(jsonValue.ValueExists("ChannelName")) { m_channelName = jsonValue.GetString("ChannelName"); @@ -94,13 +84,6 @@ Channel& Channel::operator =(JsonView jsonValue) m_lastModifiedTimeHasBeenSet = true; } - if(jsonValue.ValueExists("LogConfiguration")) - { - m_logConfiguration = jsonValue.GetObject("LogConfiguration"); - - m_logConfigurationHasBeenSet = true; - } - if(jsonValue.ValueExists("Outputs")) { Aws::Utils::Array outputsJsonList = jsonValue.GetArray("Outputs"); @@ -135,6 +118,23 @@ Channel& Channel::operator =(JsonView jsonValue) m_tierHasBeenSet = true; } + if(jsonValue.ValueExists("LogConfiguration")) + { + m_logConfiguration = jsonValue.GetObject("LogConfiguration"); + + m_logConfigurationHasBeenSet = true; + } + + if(jsonValue.ValueExists("Audiences")) + { + Aws::Utils::Array audiencesJsonList = jsonValue.GetArray("Audiences"); + for(unsigned audiencesIndex = 0; audiencesIndex < audiencesJsonList.GetLength(); ++audiencesIndex) + { + m_audiences.push_back(audiencesJsonList[audiencesIndex].AsString()); + } + m_audiencesHasBeenSet = true; + } + return *this; } @@ -148,17 +148,6 @@ JsonValue Channel::Jsonize() const } - if(m_audiencesHasBeenSet) - { - Aws::Utils::Array audiencesJsonList(m_audiences.size()); - for(unsigned audiencesIndex = 0; audiencesIndex < audiencesJsonList.GetLength(); ++audiencesIndex) - { - audiencesJsonList[audiencesIndex].AsString(m_audiences[audiencesIndex]); - } - payload.WithArray("Audiences", std::move(audiencesJsonList)); - - } - if(m_channelNameHasBeenSet) { payload.WithString("ChannelName", m_channelName); @@ -187,12 +176,6 @@ JsonValue Channel::Jsonize() const payload.WithDouble("LastModifiedTime", m_lastModifiedTime.SecondsWithMSPrecision()); } - if(m_logConfigurationHasBeenSet) - { - payload.WithObject("LogConfiguration", m_logConfiguration.Jsonize()); - - } - if(m_outputsHasBeenSet) { Aws::Utils::Array outputsJsonList(m_outputs.size()); @@ -227,6 +210,23 @@ JsonValue Channel::Jsonize() const } + if(m_logConfigurationHasBeenSet) + { + payload.WithObject("LogConfiguration", m_logConfiguration.Jsonize()); + + } + + if(m_audiencesHasBeenSet) + { + Aws::Utils::Array audiencesJsonList(m_audiences.size()); + for(unsigned audiencesIndex = 0; audiencesIndex < audiencesJsonList.GetLength(); ++audiencesIndex) + { + audiencesJsonList[audiencesIndex].AsString(m_audiences[audiencesIndex]); + } + payload.WithArray("Audiences", std::move(audiencesJsonList)); + + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-mediatailor/source/model/CreateChannelRequest.cpp b/generated/src/aws-cpp-sdk-mediatailor/source/model/CreateChannelRequest.cpp index 508a59e02af..1761b611bf7 100644 --- a/generated/src/aws-cpp-sdk-mediatailor/source/model/CreateChannelRequest.cpp +++ b/generated/src/aws-cpp-sdk-mediatailor/source/model/CreateChannelRequest.cpp @@ -13,7 +13,6 @@ using namespace Aws::Utils::Json; using namespace Aws::Utils; CreateChannelRequest::CreateChannelRequest() : - m_audiencesHasBeenSet(false), m_channelNameHasBeenSet(false), m_fillerSlateHasBeenSet(false), m_outputsHasBeenSet(false), @@ -22,7 +21,8 @@ CreateChannelRequest::CreateChannelRequest() : m_tagsHasBeenSet(false), m_tier(Tier::NOT_SET), m_tierHasBeenSet(false), - m_timeShiftConfigurationHasBeenSet(false) + m_timeShiftConfigurationHasBeenSet(false), + m_audiencesHasBeenSet(false) { } @@ -30,17 +30,6 @@ Aws::String CreateChannelRequest::SerializePayload() const { JsonValue payload; - if(m_audiencesHasBeenSet) - { - Aws::Utils::Array audiencesJsonList(m_audiences.size()); - for(unsigned audiencesIndex = 0; audiencesIndex < audiencesJsonList.GetLength(); ++audiencesIndex) - { - audiencesJsonList[audiencesIndex].AsString(m_audiences[audiencesIndex]); - } - payload.WithArray("Audiences", std::move(audiencesJsonList)); - - } - if(m_fillerSlateHasBeenSet) { payload.WithObject("FillerSlate", m_fillerSlate.Jsonize()); @@ -85,6 +74,17 @@ Aws::String CreateChannelRequest::SerializePayload() const } + if(m_audiencesHasBeenSet) + { + Aws::Utils::Array audiencesJsonList(m_audiences.size()); + for(unsigned audiencesIndex = 0; audiencesIndex < audiencesJsonList.GetLength(); ++audiencesIndex) + { + audiencesJsonList[audiencesIndex].AsString(m_audiences[audiencesIndex]); + } + payload.WithArray("Audiences", std::move(audiencesJsonList)); + + } + return payload.View().WriteReadable(); } diff --git a/generated/src/aws-cpp-sdk-mediatailor/source/model/CreateChannelResult.cpp b/generated/src/aws-cpp-sdk-mediatailor/source/model/CreateChannelResult.cpp index 3b213b61a0a..5f4bced2c69 100644 --- a/generated/src/aws-cpp-sdk-mediatailor/source/model/CreateChannelResult.cpp +++ b/generated/src/aws-cpp-sdk-mediatailor/source/model/CreateChannelResult.cpp @@ -37,15 +37,6 @@ CreateChannelResult& CreateChannelResult::operator =(const Aws::AmazonWebService } - if(jsonValue.ValueExists("Audiences")) - { - Aws::Utils::Array audiencesJsonList = jsonValue.GetArray("Audiences"); - for(unsigned audiencesIndex = 0; audiencesIndex < audiencesJsonList.GetLength(); ++audiencesIndex) - { - m_audiences.push_back(audiencesJsonList[audiencesIndex].AsString()); - } - } - if(jsonValue.ValueExists("ChannelName")) { m_channelName = jsonValue.GetString("ChannelName"); @@ -112,6 +103,15 @@ CreateChannelResult& CreateChannelResult::operator =(const Aws::AmazonWebService } + if(jsonValue.ValueExists("Audiences")) + { + Aws::Utils::Array audiencesJsonList = jsonValue.GetArray("Audiences"); + for(unsigned audiencesIndex = 0; audiencesIndex < audiencesJsonList.GetLength(); ++audiencesIndex) + { + m_audiences.push_back(audiencesJsonList[audiencesIndex].AsString()); + } + } + const auto& headers = result.GetHeaderValueCollection(); const auto& requestIdIter = headers.find("x-amzn-requestid"); diff --git a/generated/src/aws-cpp-sdk-mediatailor/source/model/CreateProgramRequest.cpp b/generated/src/aws-cpp-sdk-mediatailor/source/model/CreateProgramRequest.cpp index e60e2221dc6..760862cfd13 100644 --- a/generated/src/aws-cpp-sdk-mediatailor/source/model/CreateProgramRequest.cpp +++ b/generated/src/aws-cpp-sdk-mediatailor/source/model/CreateProgramRequest.cpp @@ -14,13 +14,13 @@ using namespace Aws::Utils; CreateProgramRequest::CreateProgramRequest() : m_adBreaksHasBeenSet(false), - m_audienceMediaHasBeenSet(false), m_channelNameHasBeenSet(false), m_liveSourceNameHasBeenSet(false), m_programNameHasBeenSet(false), m_scheduleConfigurationHasBeenSet(false), m_sourceLocationNameHasBeenSet(false), - m_vodSourceNameHasBeenSet(false) + m_vodSourceNameHasBeenSet(false), + m_audienceMediaHasBeenSet(false) { } @@ -39,17 +39,6 @@ Aws::String CreateProgramRequest::SerializePayload() const } - if(m_audienceMediaHasBeenSet) - { - Aws::Utils::Array audienceMediaJsonList(m_audienceMedia.size()); - for(unsigned audienceMediaIndex = 0; audienceMediaIndex < audienceMediaJsonList.GetLength(); ++audienceMediaIndex) - { - audienceMediaJsonList[audienceMediaIndex].AsObject(m_audienceMedia[audienceMediaIndex].Jsonize()); - } - payload.WithArray("AudienceMedia", std::move(audienceMediaJsonList)); - - } - if(m_liveSourceNameHasBeenSet) { payload.WithString("LiveSourceName", m_liveSourceName); @@ -74,6 +63,17 @@ Aws::String CreateProgramRequest::SerializePayload() const } + if(m_audienceMediaHasBeenSet) + { + Aws::Utils::Array audienceMediaJsonList(m_audienceMedia.size()); + for(unsigned audienceMediaIndex = 0; audienceMediaIndex < audienceMediaJsonList.GetLength(); ++audienceMediaIndex) + { + audienceMediaJsonList[audienceMediaIndex].AsObject(m_audienceMedia[audienceMediaIndex].Jsonize()); + } + payload.WithArray("AudienceMedia", std::move(audienceMediaJsonList)); + + } + return payload.View().WriteReadable(); } diff --git a/generated/src/aws-cpp-sdk-mediatailor/source/model/CreateProgramResult.cpp b/generated/src/aws-cpp-sdk-mediatailor/source/model/CreateProgramResult.cpp index 16632bfcf57..ad41215c37e 100644 --- a/generated/src/aws-cpp-sdk-mediatailor/source/model/CreateProgramResult.cpp +++ b/generated/src/aws-cpp-sdk-mediatailor/source/model/CreateProgramResult.cpp @@ -46,39 +46,18 @@ CreateProgramResult& CreateProgramResult::operator =(const Aws::AmazonWebService } - if(jsonValue.ValueExists("AudienceMedia")) - { - Aws::Utils::Array audienceMediaJsonList = jsonValue.GetArray("AudienceMedia"); - for(unsigned audienceMediaIndex = 0; audienceMediaIndex < audienceMediaJsonList.GetLength(); ++audienceMediaIndex) - { - m_audienceMedia.push_back(audienceMediaJsonList[audienceMediaIndex].AsObject()); - } - } - if(jsonValue.ValueExists("ChannelName")) { m_channelName = jsonValue.GetString("ChannelName"); } - if(jsonValue.ValueExists("ClipRange")) - { - m_clipRange = jsonValue.GetObject("ClipRange"); - - } - if(jsonValue.ValueExists("CreationTime")) { m_creationTime = jsonValue.GetDouble("CreationTime"); } - if(jsonValue.ValueExists("DurationMillis")) - { - m_durationMillis = jsonValue.GetInt64("DurationMillis"); - - } - if(jsonValue.ValueExists("LiveSourceName")) { m_liveSourceName = jsonValue.GetString("LiveSourceName"); @@ -109,6 +88,27 @@ CreateProgramResult& CreateProgramResult::operator =(const Aws::AmazonWebService } + if(jsonValue.ValueExists("ClipRange")) + { + m_clipRange = jsonValue.GetObject("ClipRange"); + + } + + if(jsonValue.ValueExists("DurationMillis")) + { + m_durationMillis = jsonValue.GetInt64("DurationMillis"); + + } + + if(jsonValue.ValueExists("AudienceMedia")) + { + Aws::Utils::Array audienceMediaJsonList = jsonValue.GetArray("AudienceMedia"); + for(unsigned audienceMediaIndex = 0; audienceMediaIndex < audienceMediaJsonList.GetLength(); ++audienceMediaIndex) + { + m_audienceMedia.push_back(audienceMediaJsonList[audienceMediaIndex].AsObject()); + } + } + const auto& headers = result.GetHeaderValueCollection(); const auto& requestIdIter = headers.find("x-amzn-requestid"); diff --git a/generated/src/aws-cpp-sdk-mediatailor/source/model/DescribeChannelResult.cpp b/generated/src/aws-cpp-sdk-mediatailor/source/model/DescribeChannelResult.cpp index 3b2f4a1cde1..4263b9571e2 100644 --- a/generated/src/aws-cpp-sdk-mediatailor/source/model/DescribeChannelResult.cpp +++ b/generated/src/aws-cpp-sdk-mediatailor/source/model/DescribeChannelResult.cpp @@ -37,15 +37,6 @@ DescribeChannelResult& DescribeChannelResult::operator =(const Aws::AmazonWebSer } - if(jsonValue.ValueExists("Audiences")) - { - Aws::Utils::Array audiencesJsonList = jsonValue.GetArray("Audiences"); - for(unsigned audiencesIndex = 0; audiencesIndex < audiencesJsonList.GetLength(); ++audiencesIndex) - { - m_audiences.push_back(audiencesJsonList[audiencesIndex].AsString()); - } - } - if(jsonValue.ValueExists("ChannelName")) { m_channelName = jsonValue.GetString("ChannelName"); @@ -76,12 +67,6 @@ DescribeChannelResult& DescribeChannelResult::operator =(const Aws::AmazonWebSer } - if(jsonValue.ValueExists("LogConfiguration")) - { - m_logConfiguration = jsonValue.GetObject("LogConfiguration"); - - } - if(jsonValue.ValueExists("Outputs")) { Aws::Utils::Array outputsJsonList = jsonValue.GetArray("Outputs"); @@ -112,12 +97,27 @@ DescribeChannelResult& DescribeChannelResult::operator =(const Aws::AmazonWebSer } + if(jsonValue.ValueExists("LogConfiguration")) + { + m_logConfiguration = jsonValue.GetObject("LogConfiguration"); + + } + if(jsonValue.ValueExists("TimeShiftConfiguration")) { m_timeShiftConfiguration = jsonValue.GetObject("TimeShiftConfiguration"); } + if(jsonValue.ValueExists("Audiences")) + { + Aws::Utils::Array audiencesJsonList = jsonValue.GetArray("Audiences"); + for(unsigned audiencesIndex = 0; audiencesIndex < audiencesJsonList.GetLength(); ++audiencesIndex) + { + m_audiences.push_back(audiencesJsonList[audiencesIndex].AsString()); + } + } + const auto& headers = result.GetHeaderValueCollection(); const auto& requestIdIter = headers.find("x-amzn-requestid"); diff --git a/generated/src/aws-cpp-sdk-mediatailor/source/model/DescribeProgramResult.cpp b/generated/src/aws-cpp-sdk-mediatailor/source/model/DescribeProgramResult.cpp index b833d061907..271fa9dd4db 100644 --- a/generated/src/aws-cpp-sdk-mediatailor/source/model/DescribeProgramResult.cpp +++ b/generated/src/aws-cpp-sdk-mediatailor/source/model/DescribeProgramResult.cpp @@ -46,39 +46,18 @@ DescribeProgramResult& DescribeProgramResult::operator =(const Aws::AmazonWebSer } - if(jsonValue.ValueExists("AudienceMedia")) - { - Aws::Utils::Array audienceMediaJsonList = jsonValue.GetArray("AudienceMedia"); - for(unsigned audienceMediaIndex = 0; audienceMediaIndex < audienceMediaJsonList.GetLength(); ++audienceMediaIndex) - { - m_audienceMedia.push_back(audienceMediaJsonList[audienceMediaIndex].AsObject()); - } - } - if(jsonValue.ValueExists("ChannelName")) { m_channelName = jsonValue.GetString("ChannelName"); } - if(jsonValue.ValueExists("ClipRange")) - { - m_clipRange = jsonValue.GetObject("ClipRange"); - - } - if(jsonValue.ValueExists("CreationTime")) { m_creationTime = jsonValue.GetDouble("CreationTime"); } - if(jsonValue.ValueExists("DurationMillis")) - { - m_durationMillis = jsonValue.GetInt64("DurationMillis"); - - } - if(jsonValue.ValueExists("LiveSourceName")) { m_liveSourceName = jsonValue.GetString("LiveSourceName"); @@ -109,6 +88,27 @@ DescribeProgramResult& DescribeProgramResult::operator =(const Aws::AmazonWebSer } + if(jsonValue.ValueExists("ClipRange")) + { + m_clipRange = jsonValue.GetObject("ClipRange"); + + } + + if(jsonValue.ValueExists("DurationMillis")) + { + m_durationMillis = jsonValue.GetInt64("DurationMillis"); + + } + + if(jsonValue.ValueExists("AudienceMedia")) + { + Aws::Utils::Array audienceMediaJsonList = jsonValue.GetArray("AudienceMedia"); + for(unsigned audienceMediaIndex = 0; audienceMediaIndex < audienceMediaJsonList.GetLength(); ++audienceMediaIndex) + { + m_audienceMedia.push_back(audienceMediaJsonList[audienceMediaIndex].AsObject()); + } + } + const auto& headers = result.GetHeaderValueCollection(); const auto& requestIdIter = headers.find("x-amzn-requestid"); diff --git a/generated/src/aws-cpp-sdk-mediatailor/source/model/GetChannelScheduleRequest.cpp b/generated/src/aws-cpp-sdk-mediatailor/source/model/GetChannelScheduleRequest.cpp index 1789288795f..ca059c95e0a 100644 --- a/generated/src/aws-cpp-sdk-mediatailor/source/model/GetChannelScheduleRequest.cpp +++ b/generated/src/aws-cpp-sdk-mediatailor/source/model/GetChannelScheduleRequest.cpp @@ -16,12 +16,12 @@ using namespace Aws::Utils; using namespace Aws::Http; GetChannelScheduleRequest::GetChannelScheduleRequest() : - m_audienceHasBeenSet(false), m_channelNameHasBeenSet(false), m_durationMinutesHasBeenSet(false), m_maxResults(0), m_maxResultsHasBeenSet(false), - m_nextTokenHasBeenSet(false) + m_nextTokenHasBeenSet(false), + m_audienceHasBeenSet(false) { } @@ -33,13 +33,6 @@ Aws::String GetChannelScheduleRequest::SerializePayload() const void GetChannelScheduleRequest::AddQueryStringParameters(URI& uri) const { Aws::StringStream ss; - if(m_audienceHasBeenSet) - { - ss << m_audience; - uri.AddQueryStringParameter("audience", ss.str()); - ss.str(""); - } - if(m_durationMinutesHasBeenSet) { ss << m_durationMinutes; @@ -61,6 +54,13 @@ void GetChannelScheduleRequest::AddQueryStringParameters(URI& uri) const ss.str(""); } + if(m_audienceHasBeenSet) + { + ss << m_audience; + uri.AddQueryStringParameter("audience", ss.str()); + ss.str(""); + } + } diff --git a/generated/src/aws-cpp-sdk-mediatailor/source/model/GetPlaybackConfigurationResult.cpp b/generated/src/aws-cpp-sdk-mediatailor/source/model/GetPlaybackConfigurationResult.cpp index a96aa6c31a5..cb8e9b07595 100644 --- a/generated/src/aws-cpp-sdk-mediatailor/source/model/GetPlaybackConfigurationResult.cpp +++ b/generated/src/aws-cpp-sdk-mediatailor/source/model/GetPlaybackConfigurationResult.cpp @@ -164,6 +164,12 @@ GetPlaybackConfigurationResult& GetPlaybackConfigurationResult::operator =(const } + if(jsonValue.ValueExists("AdConditioningConfiguration")) + { + m_adConditioningConfiguration = jsonValue.GetObject("AdConditioningConfiguration"); + + } + const auto& headers = result.GetHeaderValueCollection(); const auto& requestIdIter = headers.find("x-amzn-requestid"); diff --git a/generated/src/aws-cpp-sdk-mediatailor/source/model/HlsPlaylistSettings.cpp b/generated/src/aws-cpp-sdk-mediatailor/source/model/HlsPlaylistSettings.cpp index c0ac17f698e..601c5dd5558 100644 --- a/generated/src/aws-cpp-sdk-mediatailor/source/model/HlsPlaylistSettings.cpp +++ b/generated/src/aws-cpp-sdk-mediatailor/source/model/HlsPlaylistSettings.cpp @@ -19,9 +19,9 @@ namespace Model { HlsPlaylistSettings::HlsPlaylistSettings() : - m_adMarkupTypeHasBeenSet(false), m_manifestWindowSeconds(0), - m_manifestWindowSecondsHasBeenSet(false) + m_manifestWindowSecondsHasBeenSet(false), + m_adMarkupTypeHasBeenSet(false) { } @@ -33,6 +33,13 @@ HlsPlaylistSettings::HlsPlaylistSettings(JsonView jsonValue) HlsPlaylistSettings& HlsPlaylistSettings::operator =(JsonView jsonValue) { + if(jsonValue.ValueExists("ManifestWindowSeconds")) + { + m_manifestWindowSeconds = jsonValue.GetInteger("ManifestWindowSeconds"); + + m_manifestWindowSecondsHasBeenSet = true; + } + if(jsonValue.ValueExists("AdMarkupType")) { Aws::Utils::Array adMarkupTypeJsonList = jsonValue.GetArray("AdMarkupType"); @@ -43,13 +50,6 @@ HlsPlaylistSettings& HlsPlaylistSettings::operator =(JsonView jsonValue) m_adMarkupTypeHasBeenSet = true; } - if(jsonValue.ValueExists("ManifestWindowSeconds")) - { - m_manifestWindowSeconds = jsonValue.GetInteger("ManifestWindowSeconds"); - - m_manifestWindowSecondsHasBeenSet = true; - } - return *this; } @@ -57,6 +57,12 @@ JsonValue HlsPlaylistSettings::Jsonize() const { JsonValue payload; + if(m_manifestWindowSecondsHasBeenSet) + { + payload.WithInteger("ManifestWindowSeconds", m_manifestWindowSeconds); + + } + if(m_adMarkupTypeHasBeenSet) { Aws::Utils::Array adMarkupTypeJsonList(m_adMarkupType.size()); @@ -68,12 +74,6 @@ JsonValue HlsPlaylistSettings::Jsonize() const } - if(m_manifestWindowSecondsHasBeenSet) - { - payload.WithInteger("ManifestWindowSeconds", m_manifestWindowSeconds); - - } - return payload; } diff --git a/generated/src/aws-cpp-sdk-mediatailor/source/model/PlaybackConfiguration.cpp b/generated/src/aws-cpp-sdk-mediatailor/source/model/PlaybackConfiguration.cpp index 8fea008da42..fee1d9d5300 100644 --- a/generated/src/aws-cpp-sdk-mediatailor/source/model/PlaybackConfiguration.cpp +++ b/generated/src/aws-cpp-sdk-mediatailor/source/model/PlaybackConfiguration.cpp @@ -40,7 +40,8 @@ PlaybackConfiguration::PlaybackConfiguration() : m_slateAdUrlHasBeenSet(false), m_tagsHasBeenSet(false), m_transcodeProfileNameHasBeenSet(false), - m_videoContentSourceUrlHasBeenSet(false) + m_videoContentSourceUrlHasBeenSet(false), + m_adConditioningConfigurationHasBeenSet(false) { } @@ -204,6 +205,13 @@ PlaybackConfiguration& PlaybackConfiguration::operator =(JsonView jsonValue) m_videoContentSourceUrlHasBeenSet = true; } + if(jsonValue.ValueExists("AdConditioningConfiguration")) + { + m_adConditioningConfiguration = jsonValue.GetObject("AdConditioningConfiguration"); + + m_adConditioningConfigurationHasBeenSet = true; + } + return *this; } @@ -345,6 +353,12 @@ JsonValue PlaybackConfiguration::Jsonize() const } + if(m_adConditioningConfigurationHasBeenSet) + { + payload.WithObject("AdConditioningConfiguration", m_adConditioningConfiguration.Jsonize()); + + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-mediatailor/source/model/PutPlaybackConfigurationRequest.cpp b/generated/src/aws-cpp-sdk-mediatailor/source/model/PutPlaybackConfigurationRequest.cpp index 1e7c9962101..a0adc4c6329 100644 --- a/generated/src/aws-cpp-sdk-mediatailor/source/model/PutPlaybackConfigurationRequest.cpp +++ b/generated/src/aws-cpp-sdk-mediatailor/source/model/PutPlaybackConfigurationRequest.cpp @@ -29,7 +29,8 @@ PutPlaybackConfigurationRequest::PutPlaybackConfigurationRequest() : m_slateAdUrlHasBeenSet(false), m_tagsHasBeenSet(false), m_transcodeProfileNameHasBeenSet(false), - m_videoContentSourceUrlHasBeenSet(false) + m_videoContentSourceUrlHasBeenSet(false), + m_adConditioningConfigurationHasBeenSet(false) { } @@ -141,6 +142,12 @@ Aws::String PutPlaybackConfigurationRequest::SerializePayload() const } + if(m_adConditioningConfigurationHasBeenSet) + { + payload.WithObject("AdConditioningConfiguration", m_adConditioningConfiguration.Jsonize()); + + } + return payload.View().WriteReadable(); } diff --git a/generated/src/aws-cpp-sdk-mediatailor/source/model/PutPlaybackConfigurationResult.cpp b/generated/src/aws-cpp-sdk-mediatailor/source/model/PutPlaybackConfigurationResult.cpp index 4945776ff18..6b0295f006e 100644 --- a/generated/src/aws-cpp-sdk-mediatailor/source/model/PutPlaybackConfigurationResult.cpp +++ b/generated/src/aws-cpp-sdk-mediatailor/source/model/PutPlaybackConfigurationResult.cpp @@ -164,6 +164,12 @@ PutPlaybackConfigurationResult& PutPlaybackConfigurationResult::operator =(const } + if(jsonValue.ValueExists("AdConditioningConfiguration")) + { + m_adConditioningConfiguration = jsonValue.GetObject("AdConditioningConfiguration"); + + } + const auto& headers = result.GetHeaderValueCollection(); const auto& requestIdIter = headers.find("x-amzn-requestid"); diff --git a/generated/src/aws-cpp-sdk-mediatailor/source/model/ScheduleConfiguration.cpp b/generated/src/aws-cpp-sdk-mediatailor/source/model/ScheduleConfiguration.cpp index 7f5a176f75e..e894ae88375 100644 --- a/generated/src/aws-cpp-sdk-mediatailor/source/model/ScheduleConfiguration.cpp +++ b/generated/src/aws-cpp-sdk-mediatailor/source/model/ScheduleConfiguration.cpp @@ -19,8 +19,8 @@ namespace Model { ScheduleConfiguration::ScheduleConfiguration() : - m_clipRangeHasBeenSet(false), - m_transitionHasBeenSet(false) + m_transitionHasBeenSet(false), + m_clipRangeHasBeenSet(false) { } @@ -32,18 +32,18 @@ ScheduleConfiguration::ScheduleConfiguration(JsonView jsonValue) ScheduleConfiguration& ScheduleConfiguration::operator =(JsonView jsonValue) { - if(jsonValue.ValueExists("ClipRange")) + if(jsonValue.ValueExists("Transition")) { - m_clipRange = jsonValue.GetObject("ClipRange"); + m_transition = jsonValue.GetObject("Transition"); - m_clipRangeHasBeenSet = true; + m_transitionHasBeenSet = true; } - if(jsonValue.ValueExists("Transition")) + if(jsonValue.ValueExists("ClipRange")) { - m_transition = jsonValue.GetObject("Transition"); + m_clipRange = jsonValue.GetObject("ClipRange"); - m_transitionHasBeenSet = true; + m_clipRangeHasBeenSet = true; } return *this; @@ -53,15 +53,15 @@ JsonValue ScheduleConfiguration::Jsonize() const { JsonValue payload; - if(m_clipRangeHasBeenSet) + if(m_transitionHasBeenSet) { - payload.WithObject("ClipRange", m_clipRange.Jsonize()); + payload.WithObject("Transition", m_transition.Jsonize()); } - if(m_transitionHasBeenSet) + if(m_clipRangeHasBeenSet) { - payload.WithObject("Transition", m_transition.Jsonize()); + payload.WithObject("ClipRange", m_clipRange.Jsonize()); } diff --git a/generated/src/aws-cpp-sdk-mediatailor/source/model/ScheduleEntry.cpp b/generated/src/aws-cpp-sdk-mediatailor/source/model/ScheduleEntry.cpp index 1e7bbb3a88f..1f81cde83f7 100644 --- a/generated/src/aws-cpp-sdk-mediatailor/source/model/ScheduleEntry.cpp +++ b/generated/src/aws-cpp-sdk-mediatailor/source/model/ScheduleEntry.cpp @@ -23,7 +23,6 @@ ScheduleEntry::ScheduleEntry() : m_approximateDurationSecondsHasBeenSet(false), m_approximateStartTimeHasBeenSet(false), m_arnHasBeenSet(false), - m_audiencesHasBeenSet(false), m_channelNameHasBeenSet(false), m_liveSourceNameHasBeenSet(false), m_programNameHasBeenSet(false), @@ -31,7 +30,8 @@ ScheduleEntry::ScheduleEntry() : m_scheduleEntryType(ScheduleEntryType::NOT_SET), m_scheduleEntryTypeHasBeenSet(false), m_sourceLocationNameHasBeenSet(false), - m_vodSourceNameHasBeenSet(false) + m_vodSourceNameHasBeenSet(false), + m_audiencesHasBeenSet(false) { } @@ -64,16 +64,6 @@ ScheduleEntry& ScheduleEntry::operator =(JsonView jsonValue) m_arnHasBeenSet = true; } - if(jsonValue.ValueExists("Audiences")) - { - Aws::Utils::Array audiencesJsonList = jsonValue.GetArray("Audiences"); - for(unsigned audiencesIndex = 0; audiencesIndex < audiencesJsonList.GetLength(); ++audiencesIndex) - { - m_audiences.push_back(audiencesJsonList[audiencesIndex].AsString()); - } - m_audiencesHasBeenSet = true; - } - if(jsonValue.ValueExists("ChannelName")) { m_channelName = jsonValue.GetString("ChannelName"); @@ -126,6 +116,16 @@ ScheduleEntry& ScheduleEntry::operator =(JsonView jsonValue) m_vodSourceNameHasBeenSet = true; } + if(jsonValue.ValueExists("Audiences")) + { + Aws::Utils::Array audiencesJsonList = jsonValue.GetArray("Audiences"); + for(unsigned audiencesIndex = 0; audiencesIndex < audiencesJsonList.GetLength(); ++audiencesIndex) + { + m_audiences.push_back(audiencesJsonList[audiencesIndex].AsString()); + } + m_audiencesHasBeenSet = true; + } + return *this; } @@ -150,17 +150,6 @@ JsonValue ScheduleEntry::Jsonize() const } - if(m_audiencesHasBeenSet) - { - Aws::Utils::Array audiencesJsonList(m_audiences.size()); - for(unsigned audiencesIndex = 0; audiencesIndex < audiencesJsonList.GetLength(); ++audiencesIndex) - { - audiencesJsonList[audiencesIndex].AsString(m_audiences[audiencesIndex]); - } - payload.WithArray("Audiences", std::move(audiencesJsonList)); - - } - if(m_channelNameHasBeenSet) { payload.WithString("ChannelName", m_channelName); @@ -207,6 +196,17 @@ JsonValue ScheduleEntry::Jsonize() const } + if(m_audiencesHasBeenSet) + { + Aws::Utils::Array audiencesJsonList(m_audiences.size()); + for(unsigned audiencesIndex = 0; audiencesIndex < audiencesJsonList.GetLength(); ++audiencesIndex) + { + audiencesJsonList[audiencesIndex].AsString(m_audiences[audiencesIndex]); + } + payload.WithArray("Audiences", std::move(audiencesJsonList)); + + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-mediatailor/source/model/SegmentationDescriptor.cpp b/generated/src/aws-cpp-sdk-mediatailor/source/model/SegmentationDescriptor.cpp index 415c86cf56f..060fea769af 100644 --- a/generated/src/aws-cpp-sdk-mediatailor/source/model/SegmentationDescriptor.cpp +++ b/generated/src/aws-cpp-sdk-mediatailor/source/model/SegmentationDescriptor.cpp @@ -19,15 +19,15 @@ namespace Model { SegmentationDescriptor::SegmentationDescriptor() : - m_segmentNum(0), - m_segmentNumHasBeenSet(false), m_segmentationEventId(0), m_segmentationEventIdHasBeenSet(false), - m_segmentationTypeId(0), - m_segmentationTypeIdHasBeenSet(false), - m_segmentationUpidHasBeenSet(false), m_segmentationUpidType(0), m_segmentationUpidTypeHasBeenSet(false), + m_segmentationUpidHasBeenSet(false), + m_segmentationTypeId(0), + m_segmentationTypeIdHasBeenSet(false), + m_segmentNum(0), + m_segmentNumHasBeenSet(false), m_segmentsExpected(0), m_segmentsExpectedHasBeenSet(false), m_subSegmentNum(0), @@ -45,13 +45,6 @@ SegmentationDescriptor::SegmentationDescriptor(JsonView jsonValue) SegmentationDescriptor& SegmentationDescriptor::operator =(JsonView jsonValue) { - if(jsonValue.ValueExists("SegmentNum")) - { - m_segmentNum = jsonValue.GetInteger("SegmentNum"); - - m_segmentNumHasBeenSet = true; - } - if(jsonValue.ValueExists("SegmentationEventId")) { m_segmentationEventId = jsonValue.GetInteger("SegmentationEventId"); @@ -59,11 +52,11 @@ SegmentationDescriptor& SegmentationDescriptor::operator =(JsonView jsonValue) m_segmentationEventIdHasBeenSet = true; } - if(jsonValue.ValueExists("SegmentationTypeId")) + if(jsonValue.ValueExists("SegmentationUpidType")) { - m_segmentationTypeId = jsonValue.GetInteger("SegmentationTypeId"); + m_segmentationUpidType = jsonValue.GetInteger("SegmentationUpidType"); - m_segmentationTypeIdHasBeenSet = true; + m_segmentationUpidTypeHasBeenSet = true; } if(jsonValue.ValueExists("SegmentationUpid")) @@ -73,11 +66,18 @@ SegmentationDescriptor& SegmentationDescriptor::operator =(JsonView jsonValue) m_segmentationUpidHasBeenSet = true; } - if(jsonValue.ValueExists("SegmentationUpidType")) + if(jsonValue.ValueExists("SegmentationTypeId")) { - m_segmentationUpidType = jsonValue.GetInteger("SegmentationUpidType"); + m_segmentationTypeId = jsonValue.GetInteger("SegmentationTypeId"); - m_segmentationUpidTypeHasBeenSet = true; + m_segmentationTypeIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("SegmentNum")) + { + m_segmentNum = jsonValue.GetInteger("SegmentNum"); + + m_segmentNumHasBeenSet = true; } if(jsonValue.ValueExists("SegmentsExpected")) @@ -108,21 +108,15 @@ JsonValue SegmentationDescriptor::Jsonize() const { JsonValue payload; - if(m_segmentNumHasBeenSet) - { - payload.WithInteger("SegmentNum", m_segmentNum); - - } - if(m_segmentationEventIdHasBeenSet) { payload.WithInteger("SegmentationEventId", m_segmentationEventId); } - if(m_segmentationTypeIdHasBeenSet) + if(m_segmentationUpidTypeHasBeenSet) { - payload.WithInteger("SegmentationTypeId", m_segmentationTypeId); + payload.WithInteger("SegmentationUpidType", m_segmentationUpidType); } @@ -132,9 +126,15 @@ JsonValue SegmentationDescriptor::Jsonize() const } - if(m_segmentationUpidTypeHasBeenSet) + if(m_segmentationTypeIdHasBeenSet) { - payload.WithInteger("SegmentationUpidType", m_segmentationUpidType); + payload.WithInteger("SegmentationTypeId", m_segmentationTypeId); + + } + + if(m_segmentNumHasBeenSet) + { + payload.WithInteger("SegmentNum", m_segmentNum); } diff --git a/generated/src/aws-cpp-sdk-mediatailor/source/model/StreamingMediaFileConditioning.cpp b/generated/src/aws-cpp-sdk-mediatailor/source/model/StreamingMediaFileConditioning.cpp new file mode 100644 index 00000000000..545891e00c2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mediatailor/source/model/StreamingMediaFileConditioning.cpp @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace MediaTailor + { + namespace Model + { + namespace StreamingMediaFileConditioningMapper + { + + static const int TRANSCODE_HASH = HashingUtils::HashString("TRANSCODE"); + static const int NONE_HASH = HashingUtils::HashString("NONE"); + + + StreamingMediaFileConditioning GetStreamingMediaFileConditioningForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == TRANSCODE_HASH) + { + return StreamingMediaFileConditioning::TRANSCODE; + } + else if (hashCode == NONE_HASH) + { + return StreamingMediaFileConditioning::NONE; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return StreamingMediaFileConditioning::NOT_SET; + } + + Aws::String GetNameForStreamingMediaFileConditioning(StreamingMediaFileConditioning enumValue) + { + switch(enumValue) + { + case StreamingMediaFileConditioning::NOT_SET: + return {}; + case StreamingMediaFileConditioning::TRANSCODE: + return "TRANSCODE"; + case StreamingMediaFileConditioning::NONE: + return "NONE"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace StreamingMediaFileConditioningMapper + } // namespace Model + } // namespace MediaTailor +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mediatailor/source/model/UpdateChannelRequest.cpp b/generated/src/aws-cpp-sdk-mediatailor/source/model/UpdateChannelRequest.cpp index 09470c36968..99efd691da5 100644 --- a/generated/src/aws-cpp-sdk-mediatailor/source/model/UpdateChannelRequest.cpp +++ b/generated/src/aws-cpp-sdk-mediatailor/source/model/UpdateChannelRequest.cpp @@ -13,11 +13,11 @@ using namespace Aws::Utils::Json; using namespace Aws::Utils; UpdateChannelRequest::UpdateChannelRequest() : - m_audiencesHasBeenSet(false), m_channelNameHasBeenSet(false), m_fillerSlateHasBeenSet(false), m_outputsHasBeenSet(false), - m_timeShiftConfigurationHasBeenSet(false) + m_timeShiftConfigurationHasBeenSet(false), + m_audiencesHasBeenSet(false) { } @@ -25,17 +25,6 @@ Aws::String UpdateChannelRequest::SerializePayload() const { JsonValue payload; - if(m_audiencesHasBeenSet) - { - Aws::Utils::Array audiencesJsonList(m_audiences.size()); - for(unsigned audiencesIndex = 0; audiencesIndex < audiencesJsonList.GetLength(); ++audiencesIndex) - { - audiencesJsonList[audiencesIndex].AsString(m_audiences[audiencesIndex]); - } - payload.WithArray("Audiences", std::move(audiencesJsonList)); - - } - if(m_fillerSlateHasBeenSet) { payload.WithObject("FillerSlate", m_fillerSlate.Jsonize()); @@ -59,6 +48,17 @@ Aws::String UpdateChannelRequest::SerializePayload() const } + if(m_audiencesHasBeenSet) + { + Aws::Utils::Array audiencesJsonList(m_audiences.size()); + for(unsigned audiencesIndex = 0; audiencesIndex < audiencesJsonList.GetLength(); ++audiencesIndex) + { + audiencesJsonList[audiencesIndex].AsString(m_audiences[audiencesIndex]); + } + payload.WithArray("Audiences", std::move(audiencesJsonList)); + + } + return payload.View().WriteReadable(); } diff --git a/generated/src/aws-cpp-sdk-mediatailor/source/model/UpdateChannelResult.cpp b/generated/src/aws-cpp-sdk-mediatailor/source/model/UpdateChannelResult.cpp index 2ae1bf77c38..7a7b9e44a17 100644 --- a/generated/src/aws-cpp-sdk-mediatailor/source/model/UpdateChannelResult.cpp +++ b/generated/src/aws-cpp-sdk-mediatailor/source/model/UpdateChannelResult.cpp @@ -37,15 +37,6 @@ UpdateChannelResult& UpdateChannelResult::operator =(const Aws::AmazonWebService } - if(jsonValue.ValueExists("Audiences")) - { - Aws::Utils::Array audiencesJsonList = jsonValue.GetArray("Audiences"); - for(unsigned audiencesIndex = 0; audiencesIndex < audiencesJsonList.GetLength(); ++audiencesIndex) - { - m_audiences.push_back(audiencesJsonList[audiencesIndex].AsString()); - } - } - if(jsonValue.ValueExists("ChannelName")) { m_channelName = jsonValue.GetString("ChannelName"); @@ -112,6 +103,15 @@ UpdateChannelResult& UpdateChannelResult::operator =(const Aws::AmazonWebService } + if(jsonValue.ValueExists("Audiences")) + { + Aws::Utils::Array audiencesJsonList = jsonValue.GetArray("Audiences"); + for(unsigned audiencesIndex = 0; audiencesIndex < audiencesJsonList.GetLength(); ++audiencesIndex) + { + m_audiences.push_back(audiencesJsonList[audiencesIndex].AsString()); + } + } + const auto& headers = result.GetHeaderValueCollection(); const auto& requestIdIter = headers.find("x-amzn-requestid"); diff --git a/generated/src/aws-cpp-sdk-mediatailor/source/model/UpdateProgramRequest.cpp b/generated/src/aws-cpp-sdk-mediatailor/source/model/UpdateProgramRequest.cpp index 4637e0522bb..7c197af4bb2 100644 --- a/generated/src/aws-cpp-sdk-mediatailor/source/model/UpdateProgramRequest.cpp +++ b/generated/src/aws-cpp-sdk-mediatailor/source/model/UpdateProgramRequest.cpp @@ -14,10 +14,10 @@ using namespace Aws::Utils; UpdateProgramRequest::UpdateProgramRequest() : m_adBreaksHasBeenSet(false), - m_audienceMediaHasBeenSet(false), m_channelNameHasBeenSet(false), m_programNameHasBeenSet(false), - m_scheduleConfigurationHasBeenSet(false) + m_scheduleConfigurationHasBeenSet(false), + m_audienceMediaHasBeenSet(false) { } @@ -36,6 +36,12 @@ Aws::String UpdateProgramRequest::SerializePayload() const } + if(m_scheduleConfigurationHasBeenSet) + { + payload.WithObject("ScheduleConfiguration", m_scheduleConfiguration.Jsonize()); + + } + if(m_audienceMediaHasBeenSet) { Aws::Utils::Array audienceMediaJsonList(m_audienceMedia.size()); @@ -47,12 +53,6 @@ Aws::String UpdateProgramRequest::SerializePayload() const } - if(m_scheduleConfigurationHasBeenSet) - { - payload.WithObject("ScheduleConfiguration", m_scheduleConfiguration.Jsonize()); - - } - return payload.View().WriteReadable(); } diff --git a/generated/src/aws-cpp-sdk-mediatailor/source/model/UpdateProgramResult.cpp b/generated/src/aws-cpp-sdk-mediatailor/source/model/UpdateProgramResult.cpp index eaa36c0f267..96be9825872 100644 --- a/generated/src/aws-cpp-sdk-mediatailor/source/model/UpdateProgramResult.cpp +++ b/generated/src/aws-cpp-sdk-mediatailor/source/model/UpdateProgramResult.cpp @@ -46,36 +46,33 @@ UpdateProgramResult& UpdateProgramResult::operator =(const Aws::AmazonWebService } - if(jsonValue.ValueExists("AudienceMedia")) + if(jsonValue.ValueExists("ChannelName")) { - Aws::Utils::Array audienceMediaJsonList = jsonValue.GetArray("AudienceMedia"); - for(unsigned audienceMediaIndex = 0; audienceMediaIndex < audienceMediaJsonList.GetLength(); ++audienceMediaIndex) - { - m_audienceMedia.push_back(audienceMediaJsonList[audienceMediaIndex].AsObject()); - } + m_channelName = jsonValue.GetString("ChannelName"); + } - if(jsonValue.ValueExists("ChannelName")) + if(jsonValue.ValueExists("CreationTime")) { - m_channelName = jsonValue.GetString("ChannelName"); + m_creationTime = jsonValue.GetDouble("CreationTime"); } - if(jsonValue.ValueExists("ClipRange")) + if(jsonValue.ValueExists("ProgramName")) { - m_clipRange = jsonValue.GetObject("ClipRange"); + m_programName = jsonValue.GetString("ProgramName"); } - if(jsonValue.ValueExists("CreationTime")) + if(jsonValue.ValueExists("SourceLocationName")) { - m_creationTime = jsonValue.GetDouble("CreationTime"); + m_sourceLocationName = jsonValue.GetString("SourceLocationName"); } - if(jsonValue.ValueExists("DurationMillis")) + if(jsonValue.ValueExists("VodSourceName")) { - m_durationMillis = jsonValue.GetInt64("DurationMillis"); + m_vodSourceName = jsonValue.GetString("VodSourceName"); } @@ -85,28 +82,31 @@ UpdateProgramResult& UpdateProgramResult::operator =(const Aws::AmazonWebService } - if(jsonValue.ValueExists("ProgramName")) + if(jsonValue.ValueExists("ClipRange")) { - m_programName = jsonValue.GetString("ProgramName"); + m_clipRange = jsonValue.GetObject("ClipRange"); } - if(jsonValue.ValueExists("ScheduledStartTime")) + if(jsonValue.ValueExists("DurationMillis")) { - m_scheduledStartTime = jsonValue.GetDouble("ScheduledStartTime"); + m_durationMillis = jsonValue.GetInt64("DurationMillis"); } - if(jsonValue.ValueExists("SourceLocationName")) + if(jsonValue.ValueExists("ScheduledStartTime")) { - m_sourceLocationName = jsonValue.GetString("SourceLocationName"); + m_scheduledStartTime = jsonValue.GetDouble("ScheduledStartTime"); } - if(jsonValue.ValueExists("VodSourceName")) + if(jsonValue.ValueExists("AudienceMedia")) { - m_vodSourceName = jsonValue.GetString("VodSourceName"); - + Aws::Utils::Array audienceMediaJsonList = jsonValue.GetArray("AudienceMedia"); + for(unsigned audienceMediaIndex = 0; audienceMediaIndex < audienceMediaJsonList.GetLength(); ++audienceMediaIndex) + { + m_audienceMedia.push_back(audienceMediaJsonList[audienceMediaIndex].AsObject()); + } } diff --git a/generated/src/aws-cpp-sdk-mediatailor/source/model/UpdateProgramScheduleConfiguration.cpp b/generated/src/aws-cpp-sdk-mediatailor/source/model/UpdateProgramScheduleConfiguration.cpp index 133a63a3ca6..2aa01acc8b5 100644 --- a/generated/src/aws-cpp-sdk-mediatailor/source/model/UpdateProgramScheduleConfiguration.cpp +++ b/generated/src/aws-cpp-sdk-mediatailor/source/model/UpdateProgramScheduleConfiguration.cpp @@ -19,8 +19,8 @@ namespace Model { UpdateProgramScheduleConfiguration::UpdateProgramScheduleConfiguration() : - m_clipRangeHasBeenSet(false), - m_transitionHasBeenSet(false) + m_transitionHasBeenSet(false), + m_clipRangeHasBeenSet(false) { } @@ -32,18 +32,18 @@ UpdateProgramScheduleConfiguration::UpdateProgramScheduleConfiguration(JsonView UpdateProgramScheduleConfiguration& UpdateProgramScheduleConfiguration::operator =(JsonView jsonValue) { - if(jsonValue.ValueExists("ClipRange")) + if(jsonValue.ValueExists("Transition")) { - m_clipRange = jsonValue.GetObject("ClipRange"); + m_transition = jsonValue.GetObject("Transition"); - m_clipRangeHasBeenSet = true; + m_transitionHasBeenSet = true; } - if(jsonValue.ValueExists("Transition")) + if(jsonValue.ValueExists("ClipRange")) { - m_transition = jsonValue.GetObject("Transition"); + m_clipRange = jsonValue.GetObject("ClipRange"); - m_transitionHasBeenSet = true; + m_clipRangeHasBeenSet = true; } return *this; @@ -53,15 +53,15 @@ JsonValue UpdateProgramScheduleConfiguration::Jsonize() const { JsonValue payload; - if(m_clipRangeHasBeenSet) + if(m_transitionHasBeenSet) { - payload.WithObject("ClipRange", m_clipRange.Jsonize()); + payload.WithObject("Transition", m_transition.Jsonize()); } - if(m_transitionHasBeenSet) + if(m_clipRangeHasBeenSet) { - payload.WithObject("Transition", m_transition.Jsonize()); + payload.WithObject("ClipRange", m_clipRange.Jsonize()); } diff --git a/generated/src/aws-cpp-sdk-mediatailor/source/model/UpdateProgramTransition.cpp b/generated/src/aws-cpp-sdk-mediatailor/source/model/UpdateProgramTransition.cpp index 89a10737177..56a63c597a3 100644 --- a/generated/src/aws-cpp-sdk-mediatailor/source/model/UpdateProgramTransition.cpp +++ b/generated/src/aws-cpp-sdk-mediatailor/source/model/UpdateProgramTransition.cpp @@ -19,10 +19,10 @@ namespace Model { UpdateProgramTransition::UpdateProgramTransition() : - m_durationMillis(0), - m_durationMillisHasBeenSet(false), m_scheduledStartTimeMillis(0), - m_scheduledStartTimeMillisHasBeenSet(false) + m_scheduledStartTimeMillisHasBeenSet(false), + m_durationMillis(0), + m_durationMillisHasBeenSet(false) { } @@ -34,18 +34,18 @@ UpdateProgramTransition::UpdateProgramTransition(JsonView jsonValue) UpdateProgramTransition& UpdateProgramTransition::operator =(JsonView jsonValue) { - if(jsonValue.ValueExists("DurationMillis")) + if(jsonValue.ValueExists("ScheduledStartTimeMillis")) { - m_durationMillis = jsonValue.GetInt64("DurationMillis"); + m_scheduledStartTimeMillis = jsonValue.GetInt64("ScheduledStartTimeMillis"); - m_durationMillisHasBeenSet = true; + m_scheduledStartTimeMillisHasBeenSet = true; } - if(jsonValue.ValueExists("ScheduledStartTimeMillis")) + if(jsonValue.ValueExists("DurationMillis")) { - m_scheduledStartTimeMillis = jsonValue.GetInt64("ScheduledStartTimeMillis"); + m_durationMillis = jsonValue.GetInt64("DurationMillis"); - m_scheduledStartTimeMillisHasBeenSet = true; + m_durationMillisHasBeenSet = true; } return *this; @@ -55,15 +55,15 @@ JsonValue UpdateProgramTransition::Jsonize() const { JsonValue payload; - if(m_durationMillisHasBeenSet) + if(m_scheduledStartTimeMillisHasBeenSet) { - payload.WithInt64("DurationMillis", m_durationMillis); + payload.WithInt64("ScheduledStartTimeMillis", m_scheduledStartTimeMillis); } - if(m_scheduledStartTimeMillisHasBeenSet) + if(m_durationMillisHasBeenSet) { - payload.WithInt64("ScheduledStartTimeMillis", m_scheduledStartTimeMillis); + payload.WithInt64("DurationMillis", m_durationMillis); } diff --git a/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/QBusinessClient.h b/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/QBusinessClient.h index b0fdfb99047..c294df82914 100644 --- a/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/QBusinessClient.h +++ b/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/QBusinessClient.h @@ -100,11 +100,11 @@ namespace QBusiness virtual ~QBusinessClient(); /** - *

    Adds or updates a permission policy for a Q Business application, allowing - * cross-account access for an ISV. This operation creates a new policy statement - * for the specified Q Business application. The policy statement defines the IAM - * actions that the ISV is allowed to perform on the Q Business application's - * resources.

    See Also:

    Adds or updates a permission policy for a Amazon Q Business application, + * allowing cross-account access for an ISV. This operation creates a new policy + * statement for the specified Amazon Q Business application. The policy statement + * defines the IAM actions that the ISV is allowed to perform on the Amazon Q + * Business application's resources.

    See Also:

    AWS * API Reference

    */ @@ -188,6 +188,33 @@ namespace QBusiness return SubmitAsync(&QBusinessClient::BatchPutDocument, request, handler, context); } + /** + *

    Unsubscribes a user or a group from their pricing tier in an Amazon Q + * Business application. An unsubscribed user or group loses all Amazon Q Business + * feature access at the start of next month.

    See Also:

    AWS + * API Reference

    + */ + virtual Model::CancelSubscriptionOutcome CancelSubscription(const Model::CancelSubscriptionRequest& request) const; + + /** + * A Callable wrapper for CancelSubscription that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::CancelSubscriptionOutcomeCallable CancelSubscriptionCallable(const CancelSubscriptionRequestT& request) const + { + return SubmitCallable(&QBusinessClient::CancelSubscription, request); + } + + /** + * An Async wrapper for CancelSubscription that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void CancelSubscriptionAsync(const CancelSubscriptionRequestT& request, const CancelSubscriptionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&QBusinessClient::CancelSubscription, request, handler, context); + } + /** *

    Starts or continues a streaming Amazon Q Business conversation.

    See * Also:

    Creates a new data accessor for an ISV to access data from a Q Business - * application. The data accessor is an entity that represents the ISV's access to - * the Q Business application's data. It includes the IAM role ARN for the ISV, a - * friendly name, and a set of action configurations that define the specific - * actions the ISV is allowed to perform and any associated data filters. When the - * data accessor is created, an AWS IAM Identity Center application is also created - * to manage the ISV's identity and authentication for accessing the Q Business - * application.

    See Also:

    Creates a new data accessor for an ISV to access data from a Amazon Q + * Business application. The data accessor is an entity that represents the ISV's + * access to the Amazon Q Business application's data. It includes the IAM role ARN + * for the ISV, a friendly name, and a set of action configurations that define the + * specific actions the ISV is allowed to perform and any associated data filters. + * When the data accessor is created, an IAM Identity Center application is also + * created to manage the ISV's identity and authentication for accessing the Amazon + * Q Business application.

    See Also:

    AWS * API Reference

    */ @@ -414,6 +441,37 @@ namespace QBusiness return SubmitAsync(&QBusinessClient::CreateRetriever, request, handler, context); } + /** + *

    Subscribes an IAM Identity Center user or a group to a pricing tier for an + * Amazon Q Business application.

    Amazon Q Business offers two subscription + * tiers: Q_LITE and Q_BUSINESS. Subscription tier + * determines feature access for the user. For more information on subscriptions + * and pricing tiers, see Amazon Q Business + * pricing.

    See Also:

    AWS + * API Reference

    + */ + virtual Model::CreateSubscriptionOutcome CreateSubscription(const Model::CreateSubscriptionRequest& request) const; + + /** + * A Callable wrapper for CreateSubscription that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::CreateSubscriptionOutcomeCallable CreateSubscriptionCallable(const CreateSubscriptionRequestT& request) const + { + return SubmitCallable(&QBusinessClient::CreateSubscription, request); + } + + /** + * An Async wrapper for CreateSubscription that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void CreateSubscriptionAsync(const CreateSubscriptionRequestT& request, const CreateSubscriptionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&QBusinessClient::CreateSubscription, request, handler, context); + } + /** *

    Creates a universally unique identifier (UUID) mapped to a list of local user * ids within an application.

    See Also:

    Deletes a specified data accessor. This operation permanently removes the - * data accessor and its associated AWS IAM Identity Center application. Any access - * granted to the ISV through this data accessor will be revoked

    See + * data accessor and its associated IAM Identity Center application. Any access + * granted to the ISV through this data accessor will be revoked.

    See * Also:

    AWS * API Reference

    @@ -759,8 +817,8 @@ namespace QBusiness } /** - *

    Removes a permission policy from a Q Business application, revoking the - * cross-account access that was previously granted to an ISV. This operation + *

    Removes a permission policy from a Amazon Q Business application, revoking + * the cross-account access that was previously granted to an ISV. This operation * deletes the specified policy statement from the application's permission * policy.

    See Also:

    AWS @@ -841,7 +899,7 @@ namespace QBusiness /** *

    Retrieves information about a specified data accessor. This operation returns * details about the data accessor, including its display name, unique identifier, - * Amazon Resource Name (ARN), the associated Q Business application and AWS IAM + * Amazon Resource Name (ARN), the associated Amazon Q Business application and IAM * Identity Center application, the IAM role for the ISV, the action * configurations, and the timestamps for when the data accessor was created and * last updated.

    See Also:

    Retrieves the current permission policy for a Q Business application. The - * policy is returned as a JSON-formatted string and defines the IAM actions that - * are allowed or denied for the application's resources.

    See Also:

    - *
    Retrieves the current permission policy for a Amazon Q Business application. + * The policy is returned as a JSON-formatted string and defines the IAM actions + * that are allowed or denied for the application's resources.

    See + * Also:

    AWS * API Reference

    */ @@ -1191,10 +1249,10 @@ namespace QBusiness } /** - *

    Lists the data accessors for a Q Business application. This operation returns - * a paginated list of data accessor summaries, including the friendly name, unique - * identifier, ARN, associated IAM role, and creation/update timestamps for each - * data accessor.

    See Also:

    Lists the data accessors for a Amazon Q Business application. This operation + * returns a paginated list of data accessor summaries, including the friendly + * name, unique identifier, ARN, associated IAM role, and creation/update + * timestamps for each data accessor.

    See Also:

    AWS * API Reference

    */ @@ -1502,6 +1560,32 @@ namespace QBusiness return SubmitAsync(&QBusinessClient::ListRetrievers, request, handler, context); } + /** + *

    Lists all subscriptions created in an Amazon Q Business application. + *

    See Also:

    AWS + * API Reference

    + */ + virtual Model::ListSubscriptionsOutcome ListSubscriptions(const Model::ListSubscriptionsRequest& request) const; + + /** + * A Callable wrapper for ListSubscriptions that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::ListSubscriptionsOutcomeCallable ListSubscriptionsCallable(const ListSubscriptionsRequestT& request) const + { + return SubmitCallable(&QBusinessClient::ListSubscriptions, request); + } + + /** + * An Async wrapper for ListSubscriptions that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void ListSubscriptionsAsync(const ListSubscriptionsRequestT& request, const ListSubscriptionsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&QBusinessClient::ListSubscriptions, request, handler, context); + } + /** *

    Gets a list of tags associated with a specified resource. Amazon Q Business * applications and data sources can have tags associated with them.

    See @@ -1588,7 +1672,13 @@ namespace QBusiness * "Engineering". These sub groups include their own list of users or people who * work in these teams. Only users who work in research and engineering, and * therefore belong in the intellectual property group, can see top-secret company - * documents in their Amazon Q Business chat results.

    See Also:

    There are two options + * for creating groups, either passing group members inline or using an S3 file via + * the S3PathForGroupMembers field. For inline groups, there is a limit of 1000 + * members per group and for provided S3 files there is a limit of 100 thousand + * members. When creating a group using an S3 file, you provide both an S3 file and + * a RoleArn for Amazon Q Buisness to access the file.

    See + * Also:

    AWS * API Reference

    */ @@ -1613,13 +1703,13 @@ namespace QBusiness } /** - *

    Searches for relevant content in a Q Business application based on a query. - * This operation takes a search query text, the Q Business application identifier, - * and optional filters (such as content source and maximum results) as input. It - * returns a list of relevant content items, where each item includes the content - * text, the unique document identifier, the document title, the document URI, any - * relevant document attributes, and score attributes indicating the confidence - * level of the relevance.

    See Also:

    Searches for relevant content in a Amazon Q Business application based on a + * query. This operation takes a search query text, the Amazon Q Business + * application identifier, and optional filters (such as content source and maximum + * results) as input. It returns a list of relevant content items, where each item + * includes the content text, the unique document identifier, the document title, + * the document URI, any relevant document attributes, and score attributes + * indicating the confidence level of the relevance.

    See Also:

    AWS * API Reference

    */ @@ -1940,6 +2030,36 @@ namespace QBusiness return SubmitAsync(&QBusinessClient::UpdateRetriever, request, handler, context); } + /** + *

    Updates the pricing tier for an Amazon Q Business subscription. Upgrades are + * instant. Downgrades apply at the start of the next month. Subscription tier + * determines feature access for the user. For more information on subscriptions + * and pricing tiers, see Amazon Q Business + * pricing.

    See Also:

    AWS + * API Reference

    + */ + virtual Model::UpdateSubscriptionOutcome UpdateSubscription(const Model::UpdateSubscriptionRequest& request) const; + + /** + * A Callable wrapper for UpdateSubscription that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::UpdateSubscriptionOutcomeCallable UpdateSubscriptionCallable(const UpdateSubscriptionRequestT& request) const + { + return SubmitCallable(&QBusinessClient::UpdateSubscription, request); + } + + /** + * An Async wrapper for UpdateSubscription that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void UpdateSubscriptionAsync(const UpdateSubscriptionRequestT& request, const UpdateSubscriptionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&QBusinessClient::UpdateSubscription, request, handler, context); + } + /** *

    Updates a information associated with a user id.

    See Also:

    * #include #include +#include #include #include #include @@ -28,6 +29,7 @@ #include #include #include +#include #include #include #include @@ -69,6 +71,7 @@ #include #include #include +#include #include #include #include @@ -84,6 +87,7 @@ #include #include #include +#include #include #include #include @@ -137,6 +141,7 @@ namespace Aws class AssociatePermissionRequest; class BatchDeleteDocumentRequest; class BatchPutDocumentRequest; + class CancelSubscriptionRequest; class ChatRequest; class ChatInputStream; class ChatSyncRequest; @@ -146,6 +151,7 @@ namespace Aws class CreateIndexRequest; class CreatePluginRequest; class CreateRetrieverRequest; + class CreateSubscriptionRequest; class CreateUserRequest; class CreateWebExperienceRequest; class DeleteApplicationRequest; @@ -187,6 +193,7 @@ namespace Aws class ListPluginTypeMetadataRequest; class ListPluginsRequest; class ListRetrieversRequest; + class ListSubscriptionsRequest; class ListTagsForResourceRequest; class ListWebExperiencesRequest; class PutFeedbackRequest; @@ -203,6 +210,7 @@ namespace Aws class UpdateIndexRequest; class UpdatePluginRequest; class UpdateRetrieverRequest; + class UpdateSubscriptionRequest; class UpdateUserRequest; class UpdateWebExperienceRequest; /* End of service model forward declarations required in QBusinessClient header */ @@ -211,6 +219,7 @@ namespace Aws typedef Aws::Utils::Outcome AssociatePermissionOutcome; typedef Aws::Utils::Outcome BatchDeleteDocumentOutcome; typedef Aws::Utils::Outcome BatchPutDocumentOutcome; + typedef Aws::Utils::Outcome CancelSubscriptionOutcome; typedef Aws::Utils::Outcome ChatOutcome; typedef Aws::Utils::Outcome ChatSyncOutcome; typedef Aws::Utils::Outcome CreateApplicationOutcome; @@ -219,6 +228,7 @@ namespace Aws typedef Aws::Utils::Outcome CreateIndexOutcome; typedef Aws::Utils::Outcome CreatePluginOutcome; typedef Aws::Utils::Outcome CreateRetrieverOutcome; + typedef Aws::Utils::Outcome CreateSubscriptionOutcome; typedef Aws::Utils::Outcome CreateUserOutcome; typedef Aws::Utils::Outcome CreateWebExperienceOutcome; typedef Aws::Utils::Outcome DeleteApplicationOutcome; @@ -260,6 +270,7 @@ namespace Aws typedef Aws::Utils::Outcome ListPluginTypeMetadataOutcome; typedef Aws::Utils::Outcome ListPluginsOutcome; typedef Aws::Utils::Outcome ListRetrieversOutcome; + typedef Aws::Utils::Outcome ListSubscriptionsOutcome; typedef Aws::Utils::Outcome ListTagsForResourceOutcome; typedef Aws::Utils::Outcome ListWebExperiencesOutcome; typedef Aws::Utils::Outcome PutFeedbackOutcome; @@ -276,6 +287,7 @@ namespace Aws typedef Aws::Utils::Outcome UpdateIndexOutcome; typedef Aws::Utils::Outcome UpdatePluginOutcome; typedef Aws::Utils::Outcome UpdateRetrieverOutcome; + typedef Aws::Utils::Outcome UpdateSubscriptionOutcome; typedef Aws::Utils::Outcome UpdateUserOutcome; typedef Aws::Utils::Outcome UpdateWebExperienceOutcome; /* End of service model Outcome class definitions */ @@ -284,6 +296,7 @@ namespace Aws typedef std::future AssociatePermissionOutcomeCallable; typedef std::future BatchDeleteDocumentOutcomeCallable; typedef std::future BatchPutDocumentOutcomeCallable; + typedef std::future CancelSubscriptionOutcomeCallable; typedef std::future ChatOutcomeCallable; typedef std::future ChatSyncOutcomeCallable; typedef std::future CreateApplicationOutcomeCallable; @@ -292,6 +305,7 @@ namespace Aws typedef std::future CreateIndexOutcomeCallable; typedef std::future CreatePluginOutcomeCallable; typedef std::future CreateRetrieverOutcomeCallable; + typedef std::future CreateSubscriptionOutcomeCallable; typedef std::future CreateUserOutcomeCallable; typedef std::future CreateWebExperienceOutcomeCallable; typedef std::future DeleteApplicationOutcomeCallable; @@ -333,6 +347,7 @@ namespace Aws typedef std::future ListPluginTypeMetadataOutcomeCallable; typedef std::future ListPluginsOutcomeCallable; typedef std::future ListRetrieversOutcomeCallable; + typedef std::future ListSubscriptionsOutcomeCallable; typedef std::future ListTagsForResourceOutcomeCallable; typedef std::future ListWebExperiencesOutcomeCallable; typedef std::future PutFeedbackOutcomeCallable; @@ -349,6 +364,7 @@ namespace Aws typedef std::future UpdateIndexOutcomeCallable; typedef std::future UpdatePluginOutcomeCallable; typedef std::future UpdateRetrieverOutcomeCallable; + typedef std::future UpdateSubscriptionOutcomeCallable; typedef std::future UpdateUserOutcomeCallable; typedef std::future UpdateWebExperienceOutcomeCallable; /* End of service model Outcome callable definitions */ @@ -360,6 +376,7 @@ namespace Aws typedef std::function&) > AssociatePermissionResponseReceivedHandler; typedef std::function&) > BatchDeleteDocumentResponseReceivedHandler; typedef std::function&) > BatchPutDocumentResponseReceivedHandler; + typedef std::function&) > CancelSubscriptionResponseReceivedHandler; typedef std::function ChatStreamReadyHandler; typedef std::function&) > ChatResponseReceivedHandler; typedef std::function&) > ChatSyncResponseReceivedHandler; @@ -369,6 +386,7 @@ namespace Aws typedef std::function&) > CreateIndexResponseReceivedHandler; typedef std::function&) > CreatePluginResponseReceivedHandler; typedef std::function&) > CreateRetrieverResponseReceivedHandler; + typedef std::function&) > CreateSubscriptionResponseReceivedHandler; typedef std::function&) > CreateUserResponseReceivedHandler; typedef std::function&) > CreateWebExperienceResponseReceivedHandler; typedef std::function&) > DeleteApplicationResponseReceivedHandler; @@ -410,6 +428,7 @@ namespace Aws typedef std::function&) > ListPluginTypeMetadataResponseReceivedHandler; typedef std::function&) > ListPluginsResponseReceivedHandler; typedef std::function&) > ListRetrieversResponseReceivedHandler; + typedef std::function&) > ListSubscriptionsResponseReceivedHandler; typedef std::function&) > ListTagsForResourceResponseReceivedHandler; typedef std::function&) > ListWebExperiencesResponseReceivedHandler; typedef std::function&) > PutFeedbackResponseReceivedHandler; @@ -426,6 +445,7 @@ namespace Aws typedef std::function&) > UpdateIndexResponseReceivedHandler; typedef std::function&) > UpdatePluginResponseReceivedHandler; typedef std::function&) > UpdateRetrieverResponseReceivedHandler; + typedef std::function&) > UpdateSubscriptionResponseReceivedHandler; typedef std::function&) > UpdateUserResponseReceivedHandler; typedef std::function&) > UpdateWebExperienceResponseReceivedHandler; /* End of service model async handlers definitions */ diff --git a/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/ActionConfiguration.h b/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/ActionConfiguration.h index 8cd03573386..c9b7faaead0 100644 --- a/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/ActionConfiguration.h +++ b/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/ActionConfiguration.h @@ -41,7 +41,7 @@ namespace Model ///@{ /** - *

    The Q Business action that is allowed.

    + *

    The Amazon Q Business action that is allowed.

    */ inline const Aws::String& GetAction() const{ return m_action; } inline bool ActionHasBeenSet() const { return m_actionHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/AssociatePermissionRequest.h b/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/AssociatePermissionRequest.h index f95047c6e61..b5eafcc647c 100644 --- a/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/AssociatePermissionRequest.h +++ b/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/AssociatePermissionRequest.h @@ -35,7 +35,7 @@ namespace Model ///@{ /** - *

    The unique identifier of the Q Business application.

    + *

    The unique identifier of the Amazon Q Business application.

    */ inline const Aws::String& GetApplicationId() const{ return m_applicationId; } inline bool ApplicationIdHasBeenSet() const { return m_applicationIdHasBeenSet; } @@ -63,7 +63,7 @@ namespace Model ///@{ /** - *

    The list of Q Business actions that the ISV is allowed to perform.

    + *

    The list of Amazon Q Business actions that the ISV is allowed to perform.

    */ inline const Aws::Vector& GetActions() const{ return m_actions; } inline bool ActionsHasBeenSet() const { return m_actionsHasBeenSet; } @@ -78,8 +78,8 @@ namespace Model ///@{ /** - *

    The Amazon Resource Name (ARN) of the IAM role for the ISV that is being - * granted permission.

    + *

    The Amazon Resource Name of the IAM role for the ISV that is being granted + * permission.

    */ inline const Aws::String& GetPrincipal() const{ return m_principal; } inline bool PrincipalHasBeenSet() const { return m_principalHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/CancelSubscriptionRequest.h b/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/CancelSubscriptionRequest.h new file mode 100644 index 00000000000..1f1b4c906d3 --- /dev/null +++ b/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/CancelSubscriptionRequest.h @@ -0,0 +1,74 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace QBusiness +{ +namespace Model +{ + + /** + */ + class CancelSubscriptionRequest : public QBusinessRequest + { + public: + AWS_QBUSINESS_API CancelSubscriptionRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "CancelSubscription"; } + + AWS_QBUSINESS_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

    The identifier of the Amazon Q Business application for which the + * subscription is being cancelled.

    + */ + inline const Aws::String& GetApplicationId() const{ return m_applicationId; } + inline bool ApplicationIdHasBeenSet() const { return m_applicationIdHasBeenSet; } + inline void SetApplicationId(const Aws::String& value) { m_applicationIdHasBeenSet = true; m_applicationId = value; } + inline void SetApplicationId(Aws::String&& value) { m_applicationIdHasBeenSet = true; m_applicationId = std::move(value); } + inline void SetApplicationId(const char* value) { m_applicationIdHasBeenSet = true; m_applicationId.assign(value); } + inline CancelSubscriptionRequest& WithApplicationId(const Aws::String& value) { SetApplicationId(value); return *this;} + inline CancelSubscriptionRequest& WithApplicationId(Aws::String&& value) { SetApplicationId(std::move(value)); return *this;} + inline CancelSubscriptionRequest& WithApplicationId(const char* value) { SetApplicationId(value); return *this;} + ///@} + + ///@{ + /** + *

    The identifier of the Amazon Q Business subscription being cancelled.

    + */ + inline const Aws::String& GetSubscriptionId() const{ return m_subscriptionId; } + inline bool SubscriptionIdHasBeenSet() const { return m_subscriptionIdHasBeenSet; } + inline void SetSubscriptionId(const Aws::String& value) { m_subscriptionIdHasBeenSet = true; m_subscriptionId = value; } + inline void SetSubscriptionId(Aws::String&& value) { m_subscriptionIdHasBeenSet = true; m_subscriptionId = std::move(value); } + inline void SetSubscriptionId(const char* value) { m_subscriptionIdHasBeenSet = true; m_subscriptionId.assign(value); } + inline CancelSubscriptionRequest& WithSubscriptionId(const Aws::String& value) { SetSubscriptionId(value); return *this;} + inline CancelSubscriptionRequest& WithSubscriptionId(Aws::String&& value) { SetSubscriptionId(std::move(value)); return *this;} + inline CancelSubscriptionRequest& WithSubscriptionId(const char* value) { SetSubscriptionId(value); return *this;} + ///@} + private: + + Aws::String m_applicationId; + bool m_applicationIdHasBeenSet = false; + + Aws::String m_subscriptionId; + bool m_subscriptionIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace QBusiness +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/CancelSubscriptionResult.h b/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/CancelSubscriptionResult.h new file mode 100644 index 00000000000..a4b6e343249 --- /dev/null +++ b/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/CancelSubscriptionResult.h @@ -0,0 +1,95 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace QBusiness +{ +namespace Model +{ + class CancelSubscriptionResult + { + public: + AWS_QBUSINESS_API CancelSubscriptionResult(); + AWS_QBUSINESS_API CancelSubscriptionResult(const Aws::AmazonWebServiceResult& result); + AWS_QBUSINESS_API CancelSubscriptionResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

    The Amazon Resource Name (ARN) of the Amazon Q Business subscription being + * cancelled.

    + */ + inline const Aws::String& GetSubscriptionArn() const{ return m_subscriptionArn; } + inline void SetSubscriptionArn(const Aws::String& value) { m_subscriptionArn = value; } + inline void SetSubscriptionArn(Aws::String&& value) { m_subscriptionArn = std::move(value); } + inline void SetSubscriptionArn(const char* value) { m_subscriptionArn.assign(value); } + inline CancelSubscriptionResult& WithSubscriptionArn(const Aws::String& value) { SetSubscriptionArn(value); return *this;} + inline CancelSubscriptionResult& WithSubscriptionArn(Aws::String&& value) { SetSubscriptionArn(std::move(value)); return *this;} + inline CancelSubscriptionResult& WithSubscriptionArn(const char* value) { SetSubscriptionArn(value); return *this;} + ///@} + + ///@{ + /** + *

    The type of your current Amazon Q Business subscription.

    + */ + inline const SubscriptionDetails& GetCurrentSubscription() const{ return m_currentSubscription; } + inline void SetCurrentSubscription(const SubscriptionDetails& value) { m_currentSubscription = value; } + inline void SetCurrentSubscription(SubscriptionDetails&& value) { m_currentSubscription = std::move(value); } + inline CancelSubscriptionResult& WithCurrentSubscription(const SubscriptionDetails& value) { SetCurrentSubscription(value); return *this;} + inline CancelSubscriptionResult& WithCurrentSubscription(SubscriptionDetails&& value) { SetCurrentSubscription(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

    The type of the Amazon Q Business subscription for the next month.

    + */ + inline const SubscriptionDetails& GetNextSubscription() const{ return m_nextSubscription; } + inline void SetNextSubscription(const SubscriptionDetails& value) { m_nextSubscription = value; } + inline void SetNextSubscription(SubscriptionDetails&& value) { m_nextSubscription = std::move(value); } + inline CancelSubscriptionResult& WithNextSubscription(const SubscriptionDetails& value) { SetNextSubscription(value); return *this;} + inline CancelSubscriptionResult& WithNextSubscription(SubscriptionDetails&& value) { SetNextSubscription(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline CancelSubscriptionResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline CancelSubscriptionResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline CancelSubscriptionResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_subscriptionArn; + + SubscriptionDetails m_currentSubscription; + + SubscriptionDetails m_nextSubscription; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace QBusiness +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/CreateDataAccessorRequest.h b/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/CreateDataAccessorRequest.h index 02f52829912..b3335558f7c 100644 --- a/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/CreateDataAccessorRequest.h +++ b/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/CreateDataAccessorRequest.h @@ -38,7 +38,7 @@ namespace Model ///@{ /** - *

    The unique identifier of the Q Business application.

    + *

    The unique identifier of the Amazon Q Business application.

    */ inline const Aws::String& GetApplicationId() const{ return m_applicationId; } inline bool ApplicationIdHasBeenSet() const { return m_applicationIdHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/CreateDataAccessorResult.h b/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/CreateDataAccessorResult.h index 04f39cc523b..f81ba6cc01a 100644 --- a/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/CreateDataAccessorResult.h +++ b/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/CreateDataAccessorResult.h @@ -47,8 +47,8 @@ namespace Model ///@{ /** - *

    The Amazon Resource Name (ARN) of the AWS IAM Identity Center application - * created for this data accessor.

    + *

    The Amazon Resource Name (ARN) of the IAM Identity Center application created + * for this data accessor.

    */ inline const Aws::String& GetIdcApplicationArn() const{ return m_idcApplicationArn; } inline void SetIdcApplicationArn(const Aws::String& value) { m_idcApplicationArn = value; } diff --git a/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/CreateSubscriptionRequest.h b/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/CreateSubscriptionRequest.h new file mode 100644 index 00000000000..71471839115 --- /dev/null +++ b/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/CreateSubscriptionRequest.h @@ -0,0 +1,110 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace QBusiness +{ +namespace Model +{ + + /** + */ + class CreateSubscriptionRequest : public QBusinessRequest + { + public: + AWS_QBUSINESS_API CreateSubscriptionRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "CreateSubscription"; } + + AWS_QBUSINESS_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

    The identifier of the Amazon Q Business application the subscription should + * be added to.

    + */ + inline const Aws::String& GetApplicationId() const{ return m_applicationId; } + inline bool ApplicationIdHasBeenSet() const { return m_applicationIdHasBeenSet; } + inline void SetApplicationId(const Aws::String& value) { m_applicationIdHasBeenSet = true; m_applicationId = value; } + inline void SetApplicationId(Aws::String&& value) { m_applicationIdHasBeenSet = true; m_applicationId = std::move(value); } + inline void SetApplicationId(const char* value) { m_applicationIdHasBeenSet = true; m_applicationId.assign(value); } + inline CreateSubscriptionRequest& WithApplicationId(const Aws::String& value) { SetApplicationId(value); return *this;} + inline CreateSubscriptionRequest& WithApplicationId(Aws::String&& value) { SetApplicationId(std::move(value)); return *this;} + inline CreateSubscriptionRequest& WithApplicationId(const char* value) { SetApplicationId(value); return *this;} + ///@} + + ///@{ + /** + *

    The IAM Identity Center UserId or GroupId of a user + * or group in the IAM Identity Center instance connected to the Amazon Q Business + * application.

    + */ + inline const SubscriptionPrincipal& GetPrincipal() const{ return m_principal; } + inline bool PrincipalHasBeenSet() const { return m_principalHasBeenSet; } + inline void SetPrincipal(const SubscriptionPrincipal& value) { m_principalHasBeenSet = true; m_principal = value; } + inline void SetPrincipal(SubscriptionPrincipal&& value) { m_principalHasBeenSet = true; m_principal = std::move(value); } + inline CreateSubscriptionRequest& WithPrincipal(const SubscriptionPrincipal& value) { SetPrincipal(value); return *this;} + inline CreateSubscriptionRequest& WithPrincipal(SubscriptionPrincipal&& value) { SetPrincipal(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

    The type of Amazon Q Business subscription you want to create.

    + */ + inline const SubscriptionType& GetType() const{ return m_type; } + inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } + inline void SetType(const SubscriptionType& value) { m_typeHasBeenSet = true; m_type = value; } + inline void SetType(SubscriptionType&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } + inline CreateSubscriptionRequest& WithType(const SubscriptionType& value) { SetType(value); return *this;} + inline CreateSubscriptionRequest& WithType(SubscriptionType&& value) { SetType(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

    A token that you provide to identify the request to create a subscription for + * your Amazon Q Business application.

    + */ + inline const Aws::String& GetClientToken() const{ return m_clientToken; } + inline bool ClientTokenHasBeenSet() const { return m_clientTokenHasBeenSet; } + inline void SetClientToken(const Aws::String& value) { m_clientTokenHasBeenSet = true; m_clientToken = value; } + inline void SetClientToken(Aws::String&& value) { m_clientTokenHasBeenSet = true; m_clientToken = std::move(value); } + inline void SetClientToken(const char* value) { m_clientTokenHasBeenSet = true; m_clientToken.assign(value); } + inline CreateSubscriptionRequest& WithClientToken(const Aws::String& value) { SetClientToken(value); return *this;} + inline CreateSubscriptionRequest& WithClientToken(Aws::String&& value) { SetClientToken(std::move(value)); return *this;} + inline CreateSubscriptionRequest& WithClientToken(const char* value) { SetClientToken(value); return *this;} + ///@} + private: + + Aws::String m_applicationId; + bool m_applicationIdHasBeenSet = false; + + SubscriptionPrincipal m_principal; + bool m_principalHasBeenSet = false; + + SubscriptionType m_type; + bool m_typeHasBeenSet = false; + + Aws::String m_clientToken; + bool m_clientTokenHasBeenSet = false; + }; + +} // namespace Model +} // namespace QBusiness +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/CreateSubscriptionResult.h b/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/CreateSubscriptionResult.h new file mode 100644 index 00000000000..bcbb59efd7c --- /dev/null +++ b/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/CreateSubscriptionResult.h @@ -0,0 +1,110 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace QBusiness +{ +namespace Model +{ + class CreateSubscriptionResult + { + public: + AWS_QBUSINESS_API CreateSubscriptionResult(); + AWS_QBUSINESS_API CreateSubscriptionResult(const Aws::AmazonWebServiceResult& result); + AWS_QBUSINESS_API CreateSubscriptionResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

    The identifier of the Amazon Q Business subscription created.

    + */ + inline const Aws::String& GetSubscriptionId() const{ return m_subscriptionId; } + inline void SetSubscriptionId(const Aws::String& value) { m_subscriptionId = value; } + inline void SetSubscriptionId(Aws::String&& value) { m_subscriptionId = std::move(value); } + inline void SetSubscriptionId(const char* value) { m_subscriptionId.assign(value); } + inline CreateSubscriptionResult& WithSubscriptionId(const Aws::String& value) { SetSubscriptionId(value); return *this;} + inline CreateSubscriptionResult& WithSubscriptionId(Aws::String&& value) { SetSubscriptionId(std::move(value)); return *this;} + inline CreateSubscriptionResult& WithSubscriptionId(const char* value) { SetSubscriptionId(value); return *this;} + ///@} + + ///@{ + /** + *

    The Amazon Resource Name (ARN) of the Amazon Q Business subscription + * created.

    + */ + inline const Aws::String& GetSubscriptionArn() const{ return m_subscriptionArn; } + inline void SetSubscriptionArn(const Aws::String& value) { m_subscriptionArn = value; } + inline void SetSubscriptionArn(Aws::String&& value) { m_subscriptionArn = std::move(value); } + inline void SetSubscriptionArn(const char* value) { m_subscriptionArn.assign(value); } + inline CreateSubscriptionResult& WithSubscriptionArn(const Aws::String& value) { SetSubscriptionArn(value); return *this;} + inline CreateSubscriptionResult& WithSubscriptionArn(Aws::String&& value) { SetSubscriptionArn(std::move(value)); return *this;} + inline CreateSubscriptionResult& WithSubscriptionArn(const char* value) { SetSubscriptionArn(value); return *this;} + ///@} + + ///@{ + /** + *

    The type of your current Amazon Q Business subscription.

    + */ + inline const SubscriptionDetails& GetCurrentSubscription() const{ return m_currentSubscription; } + inline void SetCurrentSubscription(const SubscriptionDetails& value) { m_currentSubscription = value; } + inline void SetCurrentSubscription(SubscriptionDetails&& value) { m_currentSubscription = std::move(value); } + inline CreateSubscriptionResult& WithCurrentSubscription(const SubscriptionDetails& value) { SetCurrentSubscription(value); return *this;} + inline CreateSubscriptionResult& WithCurrentSubscription(SubscriptionDetails&& value) { SetCurrentSubscription(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

    The type of the Amazon Q Business subscription for the next month.

    + */ + inline const SubscriptionDetails& GetNextSubscription() const{ return m_nextSubscription; } + inline void SetNextSubscription(const SubscriptionDetails& value) { m_nextSubscription = value; } + inline void SetNextSubscription(SubscriptionDetails&& value) { m_nextSubscription = std::move(value); } + inline CreateSubscriptionResult& WithNextSubscription(const SubscriptionDetails& value) { SetNextSubscription(value); return *this;} + inline CreateSubscriptionResult& WithNextSubscription(SubscriptionDetails&& value) { SetNextSubscription(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline CreateSubscriptionResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline CreateSubscriptionResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline CreateSubscriptionResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_subscriptionId; + + Aws::String m_subscriptionArn; + + SubscriptionDetails m_currentSubscription; + + SubscriptionDetails m_nextSubscription; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace QBusiness +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/DataAccessor.h b/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/DataAccessor.h index 723608cfcf2..3607cec3bd3 100644 --- a/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/DataAccessor.h +++ b/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/DataAccessor.h @@ -83,7 +83,7 @@ namespace Model ///@{ /** - *

    The Amazon Resource Name (ARN) of the associated AWS IAM Identity Center + *

    The Amazon Resource Name (ARN) of the associated IAM Identity Center * application.

    */ inline const Aws::String& GetIdcApplicationArn() const{ return m_idcApplicationArn; } diff --git a/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/DeleteDataAccessorRequest.h b/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/DeleteDataAccessorRequest.h index 18899164bb0..49bf383d8be 100644 --- a/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/DeleteDataAccessorRequest.h +++ b/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/DeleteDataAccessorRequest.h @@ -34,7 +34,7 @@ namespace Model ///@{ /** - *

    The unique identifier of the Q Business application.

    + *

    The unique identifier of the Amazon Q Business application.

    */ inline const Aws::String& GetApplicationId() const{ return m_applicationId; } inline bool ApplicationIdHasBeenSet() const { return m_applicationIdHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/DisassociatePermissionRequest.h b/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/DisassociatePermissionRequest.h index 0620d3b6ba2..054e25c2838 100644 --- a/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/DisassociatePermissionRequest.h +++ b/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/DisassociatePermissionRequest.h @@ -34,7 +34,7 @@ namespace Model ///@{ /** - *

    The unique identifier of the Q Business application.

    + *

    The unique identifier of the Amazon Q Business application.

    */ inline const Aws::String& GetApplicationId() const{ return m_applicationId; } inline bool ApplicationIdHasBeenSet() const { return m_applicationIdHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/GetDataAccessorRequest.h b/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/GetDataAccessorRequest.h index 1442f8026b1..adbb014d873 100644 --- a/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/GetDataAccessorRequest.h +++ b/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/GetDataAccessorRequest.h @@ -34,7 +34,7 @@ namespace Model ///@{ /** - *

    The unique identifier of the Q Business application.

    + *

    The unique identifier of the Amazon Q Business application.

    */ inline const Aws::String& GetApplicationId() const{ return m_applicationId; } inline bool ApplicationIdHasBeenSet() const { return m_applicationIdHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/GetDataAccessorResult.h b/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/GetDataAccessorResult.h index 8ffd8e6ff4e..87cbc392d1e 100644 --- a/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/GetDataAccessorResult.h +++ b/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/GetDataAccessorResult.h @@ -76,8 +76,8 @@ namespace Model ///@{ /** - *

    The unique identifier of the Q Business application associated with this data - * accessor.

    + *

    The unique identifier of the Amazon Q Business application associated with + * this data accessor.

    */ inline const Aws::String& GetApplicationId() const{ return m_applicationId; } inline void SetApplicationId(const Aws::String& value) { m_applicationId = value; } @@ -90,7 +90,7 @@ namespace Model ///@{ /** - *

    The Amazon Resource Name (ARN) of the AWS IAM Identity Center application + *

    The Amazon Resource Name (ARN) of the IAM Identity Center application * associated with this data accessor.

    */ inline const Aws::String& GetIdcApplicationArn() const{ return m_idcApplicationArn; } diff --git a/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/GetPolicyRequest.h b/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/GetPolicyRequest.h index a9710820e6c..5d129d64e34 100644 --- a/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/GetPolicyRequest.h +++ b/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/GetPolicyRequest.h @@ -34,7 +34,7 @@ namespace Model ///@{ /** - *

    The unique identifier of the Q Business application.

    + *

    The unique identifier of the Amazon Q Business application.

    */ inline const Aws::String& GetApplicationId() const{ return m_applicationId; } inline bool ApplicationIdHasBeenSet() const { return m_applicationIdHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/ListDataAccessorsRequest.h b/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/ListDataAccessorsRequest.h index 8d92b320774..73ede04798a 100644 --- a/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/ListDataAccessorsRequest.h +++ b/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/ListDataAccessorsRequest.h @@ -40,7 +40,7 @@ namespace Model ///@{ /** - *

    The unique identifier of the Q Business application.

    + *

    The unique identifier of the Amazon Q Business application.

    */ inline const Aws::String& GetApplicationId() const{ return m_applicationId; } inline bool ApplicationIdHasBeenSet() const { return m_applicationIdHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/ListSubscriptionsRequest.h b/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/ListSubscriptionsRequest.h new file mode 100644 index 00000000000..6408f9f88c0 --- /dev/null +++ b/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/ListSubscriptionsRequest.h @@ -0,0 +1,96 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace QBusiness +{ +namespace Model +{ + + /** + */ + class ListSubscriptionsRequest : public QBusinessRequest + { + public: + AWS_QBUSINESS_API ListSubscriptionsRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "ListSubscriptions"; } + + AWS_QBUSINESS_API Aws::String SerializePayload() const override; + + AWS_QBUSINESS_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + + ///@{ + /** + *

    The identifier of the Amazon Q Business application linked to the + * subscription.

    + */ + inline const Aws::String& GetApplicationId() const{ return m_applicationId; } + inline bool ApplicationIdHasBeenSet() const { return m_applicationIdHasBeenSet; } + inline void SetApplicationId(const Aws::String& value) { m_applicationIdHasBeenSet = true; m_applicationId = value; } + inline void SetApplicationId(Aws::String&& value) { m_applicationIdHasBeenSet = true; m_applicationId = std::move(value); } + inline void SetApplicationId(const char* value) { m_applicationIdHasBeenSet = true; m_applicationId.assign(value); } + inline ListSubscriptionsRequest& WithApplicationId(const Aws::String& value) { SetApplicationId(value); return *this;} + inline ListSubscriptionsRequest& WithApplicationId(Aws::String&& value) { SetApplicationId(std::move(value)); return *this;} + inline ListSubscriptionsRequest& WithApplicationId(const char* value) { SetApplicationId(value); return *this;} + ///@} + + ///@{ + /** + *

    If the maxResults response was incomplete because there is more + * data to retrieve, Amazon Q Business returns a pagination token in the response. + * You can use this pagination token to retrieve the next set of Amazon Q Business + * subscriptions.

    + */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; } + inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; } + inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); } + inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); } + inline ListSubscriptionsRequest& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + inline ListSubscriptionsRequest& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + inline ListSubscriptionsRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;} + ///@} + + ///@{ + /** + *

    The maximum number of Amazon Q Business subscriptions to return.

    + */ + inline int GetMaxResults() const{ return m_maxResults; } + inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; } + inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; } + inline ListSubscriptionsRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;} + ///@} + private: + + Aws::String m_applicationId; + bool m_applicationIdHasBeenSet = false; + + Aws::String m_nextToken; + bool m_nextTokenHasBeenSet = false; + + int m_maxResults; + bool m_maxResultsHasBeenSet = false; + }; + +} // namespace Model +} // namespace QBusiness +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/ListSubscriptionsResult.h b/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/ListSubscriptionsResult.h new file mode 100644 index 00000000000..09fb10be549 --- /dev/null +++ b/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/ListSubscriptionsResult.h @@ -0,0 +1,87 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace QBusiness +{ +namespace Model +{ + class ListSubscriptionsResult + { + public: + AWS_QBUSINESS_API ListSubscriptionsResult(); + AWS_QBUSINESS_API ListSubscriptionsResult(const Aws::AmazonWebServiceResult& result); + AWS_QBUSINESS_API ListSubscriptionsResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

    If the response is truncated, Amazon Q Business returns this token. You can + * use this token in a subsequent request to retrieve the next set of + * subscriptions.

    + */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + inline void SetNextToken(const Aws::String& value) { m_nextToken = value; } + inline void SetNextToken(Aws::String&& value) { m_nextToken = std::move(value); } + inline void SetNextToken(const char* value) { m_nextToken.assign(value); } + inline ListSubscriptionsResult& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + inline ListSubscriptionsResult& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + inline ListSubscriptionsResult& WithNextToken(const char* value) { SetNextToken(value); return *this;} + ///@} + + ///@{ + /** + *

    An array of summary information on the subscriptions configured for an Amazon + * Q Business application.

    + */ + inline const Aws::Vector& GetSubscriptions() const{ return m_subscriptions; } + inline void SetSubscriptions(const Aws::Vector& value) { m_subscriptions = value; } + inline void SetSubscriptions(Aws::Vector&& value) { m_subscriptions = std::move(value); } + inline ListSubscriptionsResult& WithSubscriptions(const Aws::Vector& value) { SetSubscriptions(value); return *this;} + inline ListSubscriptionsResult& WithSubscriptions(Aws::Vector&& value) { SetSubscriptions(std::move(value)); return *this;} + inline ListSubscriptionsResult& AddSubscriptions(const Subscription& value) { m_subscriptions.push_back(value); return *this; } + inline ListSubscriptionsResult& AddSubscriptions(Subscription&& value) { m_subscriptions.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline ListSubscriptionsResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline ListSubscriptionsResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline ListSubscriptionsResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_nextToken; + + Aws::Vector m_subscriptions; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace QBusiness +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/PutGroupRequest.h b/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/PutGroupRequest.h index d747a6626a8..6538a87896f 100644 --- a/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/PutGroupRequest.h +++ b/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/PutGroupRequest.h @@ -125,9 +125,7 @@ namespace Model ///@{ /** *

    The Amazon Resource Name (ARN) of an IAM role that has access to the S3 file - * that contains your list of users that belong to a group.The Amazon Resource Name - * (ARN) of an IAM role that has access to the S3 file that contains your list of - * users that belong to a group.

    + * that contains your list of users that belong to a group.

    */ inline const Aws::String& GetRoleArn() const{ return m_roleArn; } inline bool RoleArnHasBeenSet() const { return m_roleArnHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/SearchRelevantContentRequest.h b/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/SearchRelevantContentRequest.h index 98b0d457dcc..c34f0e541d8 100644 --- a/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/SearchRelevantContentRequest.h +++ b/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/SearchRelevantContentRequest.h @@ -36,7 +36,7 @@ namespace Model ///@{ /** - *

    The unique identifier of the Q Business application to search.

    + *

    The unique identifier of the Amazon Q Business application to search.

    */ inline const Aws::String& GetApplicationId() const{ return m_applicationId; } inline bool ApplicationIdHasBeenSet() const { return m_applicationIdHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/Subscription.h b/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/Subscription.h new file mode 100644 index 00000000000..52fc77137a9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/Subscription.h @@ -0,0 +1,134 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace QBusiness +{ +namespace Model +{ + + /** + *

    Information about an Amazon Q Business subscription.

    Subscriptions are + * used to provide access for an IAM Identity Center user or a group to an Amazon Q + * Business application.

    Amazon Q Business offers two subscription tiers: + * Q_LITE and Q_BUSINESS. Subscription tier determines + * feature access for the user. For more information on subscriptions and pricing + * tiers, see Amazon Q + * Business pricing.

    See Also:

    AWS + * API Reference

    + */ + class Subscription + { + public: + AWS_QBUSINESS_API Subscription(); + AWS_QBUSINESS_API Subscription(Aws::Utils::Json::JsonView jsonValue); + AWS_QBUSINESS_API Subscription& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_QBUSINESS_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

    The identifier of the Amazon Q Business subscription to be updated.

    + */ + inline const Aws::String& GetSubscriptionId() const{ return m_subscriptionId; } + inline bool SubscriptionIdHasBeenSet() const { return m_subscriptionIdHasBeenSet; } + inline void SetSubscriptionId(const Aws::String& value) { m_subscriptionIdHasBeenSet = true; m_subscriptionId = value; } + inline void SetSubscriptionId(Aws::String&& value) { m_subscriptionIdHasBeenSet = true; m_subscriptionId = std::move(value); } + inline void SetSubscriptionId(const char* value) { m_subscriptionIdHasBeenSet = true; m_subscriptionId.assign(value); } + inline Subscription& WithSubscriptionId(const Aws::String& value) { SetSubscriptionId(value); return *this;} + inline Subscription& WithSubscriptionId(Aws::String&& value) { SetSubscriptionId(std::move(value)); return *this;} + inline Subscription& WithSubscriptionId(const char* value) { SetSubscriptionId(value); return *this;} + ///@} + + ///@{ + /** + *

    The Amazon Resource Name (ARN) of the Amazon Q Business subscription that was + * updated.

    + */ + inline const Aws::String& GetSubscriptionArn() const{ return m_subscriptionArn; } + inline bool SubscriptionArnHasBeenSet() const { return m_subscriptionArnHasBeenSet; } + inline void SetSubscriptionArn(const Aws::String& value) { m_subscriptionArnHasBeenSet = true; m_subscriptionArn = value; } + inline void SetSubscriptionArn(Aws::String&& value) { m_subscriptionArnHasBeenSet = true; m_subscriptionArn = std::move(value); } + inline void SetSubscriptionArn(const char* value) { m_subscriptionArnHasBeenSet = true; m_subscriptionArn.assign(value); } + inline Subscription& WithSubscriptionArn(const Aws::String& value) { SetSubscriptionArn(value); return *this;} + inline Subscription& WithSubscriptionArn(Aws::String&& value) { SetSubscriptionArn(std::move(value)); return *this;} + inline Subscription& WithSubscriptionArn(const char* value) { SetSubscriptionArn(value); return *this;} + ///@} + + ///@{ + /** + *

    The IAM Identity Center UserId or GroupId of a user + * or group in the IAM Identity Center instance connected to the Amazon Q Business + * application.

    + */ + inline const SubscriptionPrincipal& GetPrincipal() const{ return m_principal; } + inline bool PrincipalHasBeenSet() const { return m_principalHasBeenSet; } + inline void SetPrincipal(const SubscriptionPrincipal& value) { m_principalHasBeenSet = true; m_principal = value; } + inline void SetPrincipal(SubscriptionPrincipal&& value) { m_principalHasBeenSet = true; m_principal = std::move(value); } + inline Subscription& WithPrincipal(const SubscriptionPrincipal& value) { SetPrincipal(value); return *this;} + inline Subscription& WithPrincipal(SubscriptionPrincipal&& value) { SetPrincipal(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

    The type of your current Amazon Q Business subscription.

    + */ + inline const SubscriptionDetails& GetCurrentSubscription() const{ return m_currentSubscription; } + inline bool CurrentSubscriptionHasBeenSet() const { return m_currentSubscriptionHasBeenSet; } + inline void SetCurrentSubscription(const SubscriptionDetails& value) { m_currentSubscriptionHasBeenSet = true; m_currentSubscription = value; } + inline void SetCurrentSubscription(SubscriptionDetails&& value) { m_currentSubscriptionHasBeenSet = true; m_currentSubscription = std::move(value); } + inline Subscription& WithCurrentSubscription(const SubscriptionDetails& value) { SetCurrentSubscription(value); return *this;} + inline Subscription& WithCurrentSubscription(SubscriptionDetails&& value) { SetCurrentSubscription(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

    The type of the Amazon Q Business subscription for the next month.

    + */ + inline const SubscriptionDetails& GetNextSubscription() const{ return m_nextSubscription; } + inline bool NextSubscriptionHasBeenSet() const { return m_nextSubscriptionHasBeenSet; } + inline void SetNextSubscription(const SubscriptionDetails& value) { m_nextSubscriptionHasBeenSet = true; m_nextSubscription = value; } + inline void SetNextSubscription(SubscriptionDetails&& value) { m_nextSubscriptionHasBeenSet = true; m_nextSubscription = std::move(value); } + inline Subscription& WithNextSubscription(const SubscriptionDetails& value) { SetNextSubscription(value); return *this;} + inline Subscription& WithNextSubscription(SubscriptionDetails&& value) { SetNextSubscription(std::move(value)); return *this;} + ///@} + private: + + Aws::String m_subscriptionId; + bool m_subscriptionIdHasBeenSet = false; + + Aws::String m_subscriptionArn; + bool m_subscriptionArnHasBeenSet = false; + + SubscriptionPrincipal m_principal; + bool m_principalHasBeenSet = false; + + SubscriptionDetails m_currentSubscription; + bool m_currentSubscriptionHasBeenSet = false; + + SubscriptionDetails m_nextSubscription; + bool m_nextSubscriptionHasBeenSet = false; + }; + +} // namespace Model +} // namespace QBusiness +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/SubscriptionDetails.h b/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/SubscriptionDetails.h new file mode 100644 index 00000000000..4036ceec32f --- /dev/null +++ b/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/SubscriptionDetails.h @@ -0,0 +1,60 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace QBusiness +{ +namespace Model +{ + + /** + *

    The details of an Amazon Q Business subscription.

    See Also:

    + * AWS + * API Reference

    + */ + class SubscriptionDetails + { + public: + AWS_QBUSINESS_API SubscriptionDetails(); + AWS_QBUSINESS_API SubscriptionDetails(Aws::Utils::Json::JsonView jsonValue); + AWS_QBUSINESS_API SubscriptionDetails& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_QBUSINESS_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

    The type of an Amazon Q Business subscription.

    + */ + inline const SubscriptionType& GetType() const{ return m_type; } + inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } + inline void SetType(const SubscriptionType& value) { m_typeHasBeenSet = true; m_type = value; } + inline void SetType(SubscriptionType&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } + inline SubscriptionDetails& WithType(const SubscriptionType& value) { SetType(value); return *this;} + inline SubscriptionDetails& WithType(SubscriptionType&& value) { SetType(std::move(value)); return *this;} + ///@} + private: + + SubscriptionType m_type; + bool m_typeHasBeenSet = false; + }; + +} // namespace Model +} // namespace QBusiness +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/SubscriptionPrincipal.h b/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/SubscriptionPrincipal.h new file mode 100644 index 00000000000..df1bb5f095f --- /dev/null +++ b/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/SubscriptionPrincipal.h @@ -0,0 +1,81 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace QBusiness +{ +namespace Model +{ + + /** + *

    A user or group in the IAM Identity Center instance connected to the Amazon Q + * Business application.

    See Also:

    AWS + * API Reference

    + */ + class SubscriptionPrincipal + { + public: + AWS_QBUSINESS_API SubscriptionPrincipal(); + AWS_QBUSINESS_API SubscriptionPrincipal(Aws::Utils::Json::JsonView jsonValue); + AWS_QBUSINESS_API SubscriptionPrincipal& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_QBUSINESS_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

    The identifier of a user in the IAM Identity Center instance connected to the + * Amazon Q Business application.

    + */ + inline const Aws::String& GetUser() const{ return m_user; } + inline bool UserHasBeenSet() const { return m_userHasBeenSet; } + inline void SetUser(const Aws::String& value) { m_userHasBeenSet = true; m_user = value; } + inline void SetUser(Aws::String&& value) { m_userHasBeenSet = true; m_user = std::move(value); } + inline void SetUser(const char* value) { m_userHasBeenSet = true; m_user.assign(value); } + inline SubscriptionPrincipal& WithUser(const Aws::String& value) { SetUser(value); return *this;} + inline SubscriptionPrincipal& WithUser(Aws::String&& value) { SetUser(std::move(value)); return *this;} + inline SubscriptionPrincipal& WithUser(const char* value) { SetUser(value); return *this;} + ///@} + + ///@{ + /** + *

    The identifier of a group in the IAM Identity Center instance connected to + * the Amazon Q Business application.

    + */ + inline const Aws::String& GetGroup() const{ return m_group; } + inline bool GroupHasBeenSet() const { return m_groupHasBeenSet; } + inline void SetGroup(const Aws::String& value) { m_groupHasBeenSet = true; m_group = value; } + inline void SetGroup(Aws::String&& value) { m_groupHasBeenSet = true; m_group = std::move(value); } + inline void SetGroup(const char* value) { m_groupHasBeenSet = true; m_group.assign(value); } + inline SubscriptionPrincipal& WithGroup(const Aws::String& value) { SetGroup(value); return *this;} + inline SubscriptionPrincipal& WithGroup(Aws::String&& value) { SetGroup(std::move(value)); return *this;} + inline SubscriptionPrincipal& WithGroup(const char* value) { SetGroup(value); return *this;} + ///@} + private: + + Aws::String m_user; + bool m_userHasBeenSet = false; + + Aws::String m_group; + bool m_groupHasBeenSet = false; + }; + +} // namespace Model +} // namespace QBusiness +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/UpdateDataAccessorRequest.h b/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/UpdateDataAccessorRequest.h index 02b6eea3258..63fe747803d 100644 --- a/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/UpdateDataAccessorRequest.h +++ b/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/UpdateDataAccessorRequest.h @@ -36,7 +36,7 @@ namespace Model ///@{ /** - *

    The unique identifier of the Q Business application.

    + *

    The unique identifier of the Amazon Q Business application.

    */ inline const Aws::String& GetApplicationId() const{ return m_applicationId; } inline bool ApplicationIdHasBeenSet() const { return m_applicationIdHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/UpdateSubscriptionRequest.h b/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/UpdateSubscriptionRequest.h new file mode 100644 index 00000000000..0c244888882 --- /dev/null +++ b/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/UpdateSubscriptionRequest.h @@ -0,0 +1,90 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace QBusiness +{ +namespace Model +{ + + /** + */ + class UpdateSubscriptionRequest : public QBusinessRequest + { + public: + AWS_QBUSINESS_API UpdateSubscriptionRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "UpdateSubscription"; } + + AWS_QBUSINESS_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

    The identifier of the Amazon Q Business application where the subscription + * update should take effect.

    + */ + inline const Aws::String& GetApplicationId() const{ return m_applicationId; } + inline bool ApplicationIdHasBeenSet() const { return m_applicationIdHasBeenSet; } + inline void SetApplicationId(const Aws::String& value) { m_applicationIdHasBeenSet = true; m_applicationId = value; } + inline void SetApplicationId(Aws::String&& value) { m_applicationIdHasBeenSet = true; m_applicationId = std::move(value); } + inline void SetApplicationId(const char* value) { m_applicationIdHasBeenSet = true; m_applicationId.assign(value); } + inline UpdateSubscriptionRequest& WithApplicationId(const Aws::String& value) { SetApplicationId(value); return *this;} + inline UpdateSubscriptionRequest& WithApplicationId(Aws::String&& value) { SetApplicationId(std::move(value)); return *this;} + inline UpdateSubscriptionRequest& WithApplicationId(const char* value) { SetApplicationId(value); return *this;} + ///@} + + ///@{ + /** + *

    The identifier of the Amazon Q Business subscription to be updated.

    + */ + inline const Aws::String& GetSubscriptionId() const{ return m_subscriptionId; } + inline bool SubscriptionIdHasBeenSet() const { return m_subscriptionIdHasBeenSet; } + inline void SetSubscriptionId(const Aws::String& value) { m_subscriptionIdHasBeenSet = true; m_subscriptionId = value; } + inline void SetSubscriptionId(Aws::String&& value) { m_subscriptionIdHasBeenSet = true; m_subscriptionId = std::move(value); } + inline void SetSubscriptionId(const char* value) { m_subscriptionIdHasBeenSet = true; m_subscriptionId.assign(value); } + inline UpdateSubscriptionRequest& WithSubscriptionId(const Aws::String& value) { SetSubscriptionId(value); return *this;} + inline UpdateSubscriptionRequest& WithSubscriptionId(Aws::String&& value) { SetSubscriptionId(std::move(value)); return *this;} + inline UpdateSubscriptionRequest& WithSubscriptionId(const char* value) { SetSubscriptionId(value); return *this;} + ///@} + + ///@{ + /** + *

    The type of the Amazon Q Business subscription to be updated.

    + */ + inline const SubscriptionType& GetType() const{ return m_type; } + inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } + inline void SetType(const SubscriptionType& value) { m_typeHasBeenSet = true; m_type = value; } + inline void SetType(SubscriptionType&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } + inline UpdateSubscriptionRequest& WithType(const SubscriptionType& value) { SetType(value); return *this;} + inline UpdateSubscriptionRequest& WithType(SubscriptionType&& value) { SetType(std::move(value)); return *this;} + ///@} + private: + + Aws::String m_applicationId; + bool m_applicationIdHasBeenSet = false; + + Aws::String m_subscriptionId; + bool m_subscriptionIdHasBeenSet = false; + + SubscriptionType m_type; + bool m_typeHasBeenSet = false; + }; + +} // namespace Model +} // namespace QBusiness +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/UpdateSubscriptionResult.h b/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/UpdateSubscriptionResult.h new file mode 100644 index 00000000000..35321acb80f --- /dev/null +++ b/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/model/UpdateSubscriptionResult.h @@ -0,0 +1,95 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace QBusiness +{ +namespace Model +{ + class UpdateSubscriptionResult + { + public: + AWS_QBUSINESS_API UpdateSubscriptionResult(); + AWS_QBUSINESS_API UpdateSubscriptionResult(const Aws::AmazonWebServiceResult& result); + AWS_QBUSINESS_API UpdateSubscriptionResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

    The Amazon Resource Name (ARN) of the Amazon Q Business subscription that was + * updated.

    + */ + inline const Aws::String& GetSubscriptionArn() const{ return m_subscriptionArn; } + inline void SetSubscriptionArn(const Aws::String& value) { m_subscriptionArn = value; } + inline void SetSubscriptionArn(Aws::String&& value) { m_subscriptionArn = std::move(value); } + inline void SetSubscriptionArn(const char* value) { m_subscriptionArn.assign(value); } + inline UpdateSubscriptionResult& WithSubscriptionArn(const Aws::String& value) { SetSubscriptionArn(value); return *this;} + inline UpdateSubscriptionResult& WithSubscriptionArn(Aws::String&& value) { SetSubscriptionArn(std::move(value)); return *this;} + inline UpdateSubscriptionResult& WithSubscriptionArn(const char* value) { SetSubscriptionArn(value); return *this;} + ///@} + + ///@{ + /** + *

    The type of your current Amazon Q Business subscription.

    + */ + inline const SubscriptionDetails& GetCurrentSubscription() const{ return m_currentSubscription; } + inline void SetCurrentSubscription(const SubscriptionDetails& value) { m_currentSubscription = value; } + inline void SetCurrentSubscription(SubscriptionDetails&& value) { m_currentSubscription = std::move(value); } + inline UpdateSubscriptionResult& WithCurrentSubscription(const SubscriptionDetails& value) { SetCurrentSubscription(value); return *this;} + inline UpdateSubscriptionResult& WithCurrentSubscription(SubscriptionDetails&& value) { SetCurrentSubscription(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

    The type of the Amazon Q Business subscription for the next month.

    + */ + inline const SubscriptionDetails& GetNextSubscription() const{ return m_nextSubscription; } + inline void SetNextSubscription(const SubscriptionDetails& value) { m_nextSubscription = value; } + inline void SetNextSubscription(SubscriptionDetails&& value) { m_nextSubscription = std::move(value); } + inline UpdateSubscriptionResult& WithNextSubscription(const SubscriptionDetails& value) { SetNextSubscription(value); return *this;} + inline UpdateSubscriptionResult& WithNextSubscription(SubscriptionDetails&& value) { SetNextSubscription(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline UpdateSubscriptionResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline UpdateSubscriptionResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline UpdateSubscriptionResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_subscriptionArn; + + SubscriptionDetails m_currentSubscription; + + SubscriptionDetails m_nextSubscription; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace QBusiness +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-qbusiness/source/QBusinessClient.cpp b/generated/src/aws-cpp-sdk-qbusiness/source/QBusinessClient.cpp index 56a69f010d1..4e75e412d0e 100644 --- a/generated/src/aws-cpp-sdk-qbusiness/source/QBusinessClient.cpp +++ b/generated/src/aws-cpp-sdk-qbusiness/source/QBusinessClient.cpp @@ -25,6 +25,7 @@ #include #include #include +#include #include #include #include @@ -33,6 +34,7 @@ #include #include #include +#include #include #include #include @@ -74,6 +76,7 @@ #include #include #include +#include #include #include #include @@ -90,6 +93,7 @@ #include #include #include +#include #include #include @@ -351,6 +355,46 @@ BatchPutDocumentOutcome QBusinessClient::BatchPutDocument(const BatchPutDocument {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +CancelSubscriptionOutcome QBusinessClient::CancelSubscription(const CancelSubscriptionRequest& request) const +{ + AWS_OPERATION_GUARD(CancelSubscription); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, CancelSubscription, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.ApplicationIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("CancelSubscription", "Required field: ApplicationId, is not set"); + return CancelSubscriptionOutcome(Aws::Client::AWSError(QBusinessErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [ApplicationId]", false)); + } + if (!request.SubscriptionIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("CancelSubscription", "Required field: SubscriptionId, is not set"); + return CancelSubscriptionOutcome(Aws::Client::AWSError(QBusinessErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [SubscriptionId]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, CancelSubscription, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, CancelSubscription, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".CancelSubscription", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> CancelSubscriptionOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, CancelSubscription, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/applications/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetApplicationId()); + endpointResolutionOutcome.GetResult().AddPathSegments("/subscriptions/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetSubscriptionId()); + return CancelSubscriptionOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_DELETE, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + void QBusinessClient::ChatAsync(Model::ChatRequest& request, const ChatStreamReadyHandler& streamReadyHandler, const ChatResponseReceivedHandler& handler, @@ -648,6 +692,40 @@ CreateRetrieverOutcome QBusinessClient::CreateRetriever(const CreateRetrieverReq {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +CreateSubscriptionOutcome QBusinessClient::CreateSubscription(const CreateSubscriptionRequest& request) const +{ + AWS_OPERATION_GUARD(CreateSubscription); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, CreateSubscription, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.ApplicationIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("CreateSubscription", "Required field: ApplicationId, is not set"); + return CreateSubscriptionOutcome(Aws::Client::AWSError(QBusinessErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [ApplicationId]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, CreateSubscription, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, CreateSubscription, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".CreateSubscription", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> CreateSubscriptionOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, CreateSubscription, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/applications/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetApplicationId()); + endpointResolutionOutcome.GetResult().AddPathSegments("/subscriptions"); + return CreateSubscriptionOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + CreateUserOutcome QBusinessClient::CreateUser(const CreateUserRequest& request) const { AWS_OPERATION_GUARD(CreateUser); @@ -2235,6 +2313,40 @@ ListRetrieversOutcome QBusinessClient::ListRetrievers(const ListRetrieversReques {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +ListSubscriptionsOutcome QBusinessClient::ListSubscriptions(const ListSubscriptionsRequest& request) const +{ + AWS_OPERATION_GUARD(ListSubscriptions); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, ListSubscriptions, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.ApplicationIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("ListSubscriptions", "Required field: ApplicationId, is not set"); + return ListSubscriptionsOutcome(Aws::Client::AWSError(QBusinessErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [ApplicationId]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, ListSubscriptions, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, ListSubscriptions, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".ListSubscriptions", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> ListSubscriptionsOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, ListSubscriptions, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/applications/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetApplicationId()); + endpointResolutionOutcome.GetResult().AddPathSegments("/subscriptions"); + return ListSubscriptionsOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + ListTagsForResourceOutcome QBusinessClient::ListTagsForResource(const ListTagsForResourceRequest& request) const { AWS_OPERATION_GUARD(ListTagsForResource); @@ -2866,6 +2978,46 @@ UpdateRetrieverOutcome QBusinessClient::UpdateRetriever(const UpdateRetrieverReq {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +UpdateSubscriptionOutcome QBusinessClient::UpdateSubscription(const UpdateSubscriptionRequest& request) const +{ + AWS_OPERATION_GUARD(UpdateSubscription); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, UpdateSubscription, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.ApplicationIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("UpdateSubscription", "Required field: ApplicationId, is not set"); + return UpdateSubscriptionOutcome(Aws::Client::AWSError(QBusinessErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [ApplicationId]", false)); + } + if (!request.SubscriptionIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("UpdateSubscription", "Required field: SubscriptionId, is not set"); + return UpdateSubscriptionOutcome(Aws::Client::AWSError(QBusinessErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [SubscriptionId]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, UpdateSubscription, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, UpdateSubscription, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".UpdateSubscription", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> UpdateSubscriptionOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, UpdateSubscription, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/applications/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetApplicationId()); + endpointResolutionOutcome.GetResult().AddPathSegments("/subscriptions/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetSubscriptionId()); + return UpdateSubscriptionOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_PUT, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + UpdateUserOutcome QBusinessClient::UpdateUser(const UpdateUserRequest& request) const { AWS_OPERATION_GUARD(UpdateUser); diff --git a/generated/src/aws-cpp-sdk-qbusiness/source/model/CancelSubscriptionRequest.cpp b/generated/src/aws-cpp-sdk-qbusiness/source/model/CancelSubscriptionRequest.cpp new file mode 100644 index 00000000000..039dd9debc2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-qbusiness/source/model/CancelSubscriptionRequest.cpp @@ -0,0 +1,28 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::QBusiness::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +CancelSubscriptionRequest::CancelSubscriptionRequest() : + m_applicationIdHasBeenSet(false), + m_subscriptionIdHasBeenSet(false) +{ +} + +Aws::String CancelSubscriptionRequest::SerializePayload() const +{ + return {}; +} + + + + diff --git a/generated/src/aws-cpp-sdk-qbusiness/source/model/CancelSubscriptionResult.cpp b/generated/src/aws-cpp-sdk-qbusiness/source/model/CancelSubscriptionResult.cpp new file mode 100644 index 00000000000..87e6a75eee7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-qbusiness/source/model/CancelSubscriptionResult.cpp @@ -0,0 +1,60 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::QBusiness::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +CancelSubscriptionResult::CancelSubscriptionResult() +{ +} + +CancelSubscriptionResult::CancelSubscriptionResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +CancelSubscriptionResult& CancelSubscriptionResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("subscriptionArn")) + { + m_subscriptionArn = jsonValue.GetString("subscriptionArn"); + + } + + if(jsonValue.ValueExists("currentSubscription")) + { + m_currentSubscription = jsonValue.GetObject("currentSubscription"); + + } + + if(jsonValue.ValueExists("nextSubscription")) + { + m_nextSubscription = jsonValue.GetObject("nextSubscription"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-qbusiness/source/model/CreateSubscriptionRequest.cpp b/generated/src/aws-cpp-sdk-qbusiness/source/model/CreateSubscriptionRequest.cpp new file mode 100644 index 00000000000..3f350b63a18 --- /dev/null +++ b/generated/src/aws-cpp-sdk-qbusiness/source/model/CreateSubscriptionRequest.cpp @@ -0,0 +1,51 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::QBusiness::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +CreateSubscriptionRequest::CreateSubscriptionRequest() : + m_applicationIdHasBeenSet(false), + m_principalHasBeenSet(false), + m_type(SubscriptionType::NOT_SET), + m_typeHasBeenSet(false), + m_clientToken(Aws::Utils::UUID::PseudoRandomUUID()), + m_clientTokenHasBeenSet(true) +{ +} + +Aws::String CreateSubscriptionRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_principalHasBeenSet) + { + payload.WithObject("principal", m_principal.Jsonize()); + + } + + if(m_typeHasBeenSet) + { + payload.WithString("type", SubscriptionTypeMapper::GetNameForSubscriptionType(m_type)); + } + + if(m_clientTokenHasBeenSet) + { + payload.WithString("clientToken", m_clientToken); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-qbusiness/source/model/CreateSubscriptionResult.cpp b/generated/src/aws-cpp-sdk-qbusiness/source/model/CreateSubscriptionResult.cpp new file mode 100644 index 00000000000..c85682c2d90 --- /dev/null +++ b/generated/src/aws-cpp-sdk-qbusiness/source/model/CreateSubscriptionResult.cpp @@ -0,0 +1,66 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::QBusiness::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +CreateSubscriptionResult::CreateSubscriptionResult() +{ +} + +CreateSubscriptionResult::CreateSubscriptionResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +CreateSubscriptionResult& CreateSubscriptionResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("subscriptionId")) + { + m_subscriptionId = jsonValue.GetString("subscriptionId"); + + } + + if(jsonValue.ValueExists("subscriptionArn")) + { + m_subscriptionArn = jsonValue.GetString("subscriptionArn"); + + } + + if(jsonValue.ValueExists("currentSubscription")) + { + m_currentSubscription = jsonValue.GetObject("currentSubscription"); + + } + + if(jsonValue.ValueExists("nextSubscription")) + { + m_nextSubscription = jsonValue.GetObject("nextSubscription"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-qbusiness/source/model/ListSubscriptionsRequest.cpp b/generated/src/aws-cpp-sdk-qbusiness/source/model/ListSubscriptionsRequest.cpp new file mode 100644 index 00000000000..f4ff6283e16 --- /dev/null +++ b/generated/src/aws-cpp-sdk-qbusiness/source/model/ListSubscriptionsRequest.cpp @@ -0,0 +1,51 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::QBusiness::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws::Http; + +ListSubscriptionsRequest::ListSubscriptionsRequest() : + m_applicationIdHasBeenSet(false), + m_nextTokenHasBeenSet(false), + m_maxResults(0), + m_maxResultsHasBeenSet(false) +{ +} + +Aws::String ListSubscriptionsRequest::SerializePayload() const +{ + return {}; +} + +void ListSubscriptionsRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(m_nextTokenHasBeenSet) + { + ss << m_nextToken; + uri.AddQueryStringParameter("nextToken", ss.str()); + ss.str(""); + } + + if(m_maxResultsHasBeenSet) + { + ss << m_maxResults; + uri.AddQueryStringParameter("maxResults", ss.str()); + ss.str(""); + } + +} + + + diff --git a/generated/src/aws-cpp-sdk-qbusiness/source/model/ListSubscriptionsResult.cpp b/generated/src/aws-cpp-sdk-qbusiness/source/model/ListSubscriptionsResult.cpp new file mode 100644 index 00000000000..0938855515b --- /dev/null +++ b/generated/src/aws-cpp-sdk-qbusiness/source/model/ListSubscriptionsResult.cpp @@ -0,0 +1,57 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::QBusiness::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +ListSubscriptionsResult::ListSubscriptionsResult() +{ +} + +ListSubscriptionsResult::ListSubscriptionsResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +ListSubscriptionsResult& ListSubscriptionsResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("nextToken")) + { + m_nextToken = jsonValue.GetString("nextToken"); + + } + + if(jsonValue.ValueExists("subscriptions")) + { + Aws::Utils::Array subscriptionsJsonList = jsonValue.GetArray("subscriptions"); + for(unsigned subscriptionsIndex = 0; subscriptionsIndex < subscriptionsJsonList.GetLength(); ++subscriptionsIndex) + { + m_subscriptions.push_back(subscriptionsJsonList[subscriptionsIndex].AsObject()); + } + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-qbusiness/source/model/Subscription.cpp b/generated/src/aws-cpp-sdk-qbusiness/source/model/Subscription.cpp new file mode 100644 index 00000000000..090e8bb3b6f --- /dev/null +++ b/generated/src/aws-cpp-sdk-qbusiness/source/model/Subscription.cpp @@ -0,0 +1,115 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace QBusiness +{ +namespace Model +{ + +Subscription::Subscription() : + m_subscriptionIdHasBeenSet(false), + m_subscriptionArnHasBeenSet(false), + m_principalHasBeenSet(false), + m_currentSubscriptionHasBeenSet(false), + m_nextSubscriptionHasBeenSet(false) +{ +} + +Subscription::Subscription(JsonView jsonValue) + : Subscription() +{ + *this = jsonValue; +} + +Subscription& Subscription::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("subscriptionId")) + { + m_subscriptionId = jsonValue.GetString("subscriptionId"); + + m_subscriptionIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("subscriptionArn")) + { + m_subscriptionArn = jsonValue.GetString("subscriptionArn"); + + m_subscriptionArnHasBeenSet = true; + } + + if(jsonValue.ValueExists("principal")) + { + m_principal = jsonValue.GetObject("principal"); + + m_principalHasBeenSet = true; + } + + if(jsonValue.ValueExists("currentSubscription")) + { + m_currentSubscription = jsonValue.GetObject("currentSubscription"); + + m_currentSubscriptionHasBeenSet = true; + } + + if(jsonValue.ValueExists("nextSubscription")) + { + m_nextSubscription = jsonValue.GetObject("nextSubscription"); + + m_nextSubscriptionHasBeenSet = true; + } + + return *this; +} + +JsonValue Subscription::Jsonize() const +{ + JsonValue payload; + + if(m_subscriptionIdHasBeenSet) + { + payload.WithString("subscriptionId", m_subscriptionId); + + } + + if(m_subscriptionArnHasBeenSet) + { + payload.WithString("subscriptionArn", m_subscriptionArn); + + } + + if(m_principalHasBeenSet) + { + payload.WithObject("principal", m_principal.Jsonize()); + + } + + if(m_currentSubscriptionHasBeenSet) + { + payload.WithObject("currentSubscription", m_currentSubscription.Jsonize()); + + } + + if(m_nextSubscriptionHasBeenSet) + { + payload.WithObject("nextSubscription", m_nextSubscription.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace QBusiness +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-qbusiness/source/model/SubscriptionDetails.cpp b/generated/src/aws-cpp-sdk-qbusiness/source/model/SubscriptionDetails.cpp new file mode 100644 index 00000000000..c94640387ae --- /dev/null +++ b/generated/src/aws-cpp-sdk-qbusiness/source/model/SubscriptionDetails.cpp @@ -0,0 +1,59 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace QBusiness +{ +namespace Model +{ + +SubscriptionDetails::SubscriptionDetails() : + m_type(SubscriptionType::NOT_SET), + m_typeHasBeenSet(false) +{ +} + +SubscriptionDetails::SubscriptionDetails(JsonView jsonValue) + : SubscriptionDetails() +{ + *this = jsonValue; +} + +SubscriptionDetails& SubscriptionDetails::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("type")) + { + m_type = SubscriptionTypeMapper::GetSubscriptionTypeForName(jsonValue.GetString("type")); + + m_typeHasBeenSet = true; + } + + return *this; +} + +JsonValue SubscriptionDetails::Jsonize() const +{ + JsonValue payload; + + if(m_typeHasBeenSet) + { + payload.WithString("type", SubscriptionTypeMapper::GetNameForSubscriptionType(m_type)); + } + + return payload; +} + +} // namespace Model +} // namespace QBusiness +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-qbusiness/source/model/SubscriptionPrincipal.cpp b/generated/src/aws-cpp-sdk-qbusiness/source/model/SubscriptionPrincipal.cpp new file mode 100644 index 00000000000..0931966f3f5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-qbusiness/source/model/SubscriptionPrincipal.cpp @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace QBusiness +{ +namespace Model +{ + +SubscriptionPrincipal::SubscriptionPrincipal() : + m_userHasBeenSet(false), + m_groupHasBeenSet(false) +{ +} + +SubscriptionPrincipal::SubscriptionPrincipal(JsonView jsonValue) + : SubscriptionPrincipal() +{ + *this = jsonValue; +} + +SubscriptionPrincipal& SubscriptionPrincipal::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("user")) + { + m_user = jsonValue.GetString("user"); + + m_userHasBeenSet = true; + } + + if(jsonValue.ValueExists("group")) + { + m_group = jsonValue.GetString("group"); + + m_groupHasBeenSet = true; + } + + return *this; +} + +JsonValue SubscriptionPrincipal::Jsonize() const +{ + JsonValue payload; + + if(m_userHasBeenSet) + { + payload.WithString("user", m_user); + + } + + if(m_groupHasBeenSet) + { + payload.WithString("group", m_group); + + } + + return payload; +} + +} // namespace Model +} // namespace QBusiness +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-qbusiness/source/model/UpdateSubscriptionRequest.cpp b/generated/src/aws-cpp-sdk-qbusiness/source/model/UpdateSubscriptionRequest.cpp new file mode 100644 index 00000000000..44ffda9f3fa --- /dev/null +++ b/generated/src/aws-cpp-sdk-qbusiness/source/model/UpdateSubscriptionRequest.cpp @@ -0,0 +1,37 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::QBusiness::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +UpdateSubscriptionRequest::UpdateSubscriptionRequest() : + m_applicationIdHasBeenSet(false), + m_subscriptionIdHasBeenSet(false), + m_type(SubscriptionType::NOT_SET), + m_typeHasBeenSet(false) +{ +} + +Aws::String UpdateSubscriptionRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_typeHasBeenSet) + { + payload.WithString("type", SubscriptionTypeMapper::GetNameForSubscriptionType(m_type)); + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-qbusiness/source/model/UpdateSubscriptionResult.cpp b/generated/src/aws-cpp-sdk-qbusiness/source/model/UpdateSubscriptionResult.cpp new file mode 100644 index 00000000000..cfa3b9bbad1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-qbusiness/source/model/UpdateSubscriptionResult.cpp @@ -0,0 +1,60 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::QBusiness::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +UpdateSubscriptionResult::UpdateSubscriptionResult() +{ +} + +UpdateSubscriptionResult::UpdateSubscriptionResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +UpdateSubscriptionResult& UpdateSubscriptionResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("subscriptionArn")) + { + m_subscriptionArn = jsonValue.GetString("subscriptionArn"); + + } + + if(jsonValue.ValueExists("currentSubscription")) + { + m_currentSubscription = jsonValue.GetObject("currentSubscription"); + + } + + if(jsonValue.ValueExists("nextSubscription")) + { + m_nextSubscription = jsonValue.GetObject("nextSubscription"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/CompleteMultipartUploadRequest.h b/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/CompleteMultipartUploadRequest.h index ef8b172a58c..f8c5f5d9bb1 100644 --- a/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/CompleteMultipartUploadRequest.h +++ b/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/CompleteMultipartUploadRequest.h @@ -254,10 +254,10 @@ namespace Model * mismatch between the specified object size value and the actual object size * value, it results in an HTTP 400 InvalidRequest error.

    */ - inline int GetMpuObjectSize() const{ return m_mpuObjectSize; } + inline long long GetMpuObjectSize() const{ return m_mpuObjectSize; } inline bool MpuObjectSizeHasBeenSet() const { return m_mpuObjectSizeHasBeenSet; } - inline void SetMpuObjectSize(int value) { m_mpuObjectSizeHasBeenSet = true; m_mpuObjectSize = value; } - inline CompleteMultipartUploadRequest& WithMpuObjectSize(int value) { SetMpuObjectSize(value); return *this;} + inline void SetMpuObjectSize(long long value) { m_mpuObjectSizeHasBeenSet = true; m_mpuObjectSize = value; } + inline CompleteMultipartUploadRequest& WithMpuObjectSize(long long value) { SetMpuObjectSize(value); return *this;} ///@} ///@{ @@ -439,7 +439,7 @@ namespace Model ChecksumType m_checksumType; bool m_checksumTypeHasBeenSet = false; - int m_mpuObjectSize; + long long m_mpuObjectSize; bool m_mpuObjectSizeHasBeenSet = false; RequestPayer m_requestPayer; diff --git a/generated/src/aws-cpp-sdk-s3-crt/source/model/ObjectIdentifier.cpp b/generated/src/aws-cpp-sdk-s3-crt/source/model/ObjectIdentifier.cpp index cdac3cfd4f4..33889f73f58 100644 --- a/generated/src/aws-cpp-sdk-s3-crt/source/model/ObjectIdentifier.cpp +++ b/generated/src/aws-cpp-sdk-s3-crt/source/model/ObjectIdentifier.cpp @@ -101,7 +101,7 @@ void ObjectIdentifier::AddToNode(XmlNode& parentNode) const if(m_lastModifiedTimeHasBeenSet) { XmlNode lastModifiedTimeNode = parentNode.CreateChildElement("LastModifiedTime"); - lastModifiedTimeNode.SetText(m_lastModifiedTime.ToGmtString(Aws::Utils::DateFormat::ISO_8601)); + lastModifiedTimeNode.SetText(m_lastModifiedTime.ToGmtString(Aws::Utils::DateFormat::RFC822)); } if(m_sizeHasBeenSet) diff --git a/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/CompleteMultipartUploadRequest.h b/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/CompleteMultipartUploadRequest.h index f9fcc6b627c..04829af83a1 100644 --- a/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/CompleteMultipartUploadRequest.h +++ b/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/CompleteMultipartUploadRequest.h @@ -254,10 +254,10 @@ namespace Model * mismatch between the specified object size value and the actual object size * value, it results in an HTTP 400 InvalidRequest error.

    */ - inline int GetMpuObjectSize() const{ return m_mpuObjectSize; } + inline long long GetMpuObjectSize() const{ return m_mpuObjectSize; } inline bool MpuObjectSizeHasBeenSet() const { return m_mpuObjectSizeHasBeenSet; } - inline void SetMpuObjectSize(int value) { m_mpuObjectSizeHasBeenSet = true; m_mpuObjectSize = value; } - inline CompleteMultipartUploadRequest& WithMpuObjectSize(int value) { SetMpuObjectSize(value); return *this;} + inline void SetMpuObjectSize(long long value) { m_mpuObjectSizeHasBeenSet = true; m_mpuObjectSize = value; } + inline CompleteMultipartUploadRequest& WithMpuObjectSize(long long value) { SetMpuObjectSize(value); return *this;} ///@} ///@{ @@ -439,7 +439,7 @@ namespace Model ChecksumType m_checksumType; bool m_checksumTypeHasBeenSet = false; - int m_mpuObjectSize; + long long m_mpuObjectSize; bool m_mpuObjectSizeHasBeenSet = false; RequestPayer m_requestPayer; diff --git a/generated/src/aws-cpp-sdk-s3/source/model/ObjectIdentifier.cpp b/generated/src/aws-cpp-sdk-s3/source/model/ObjectIdentifier.cpp index 5fa0baeddf9..c923b6e97b7 100644 --- a/generated/src/aws-cpp-sdk-s3/source/model/ObjectIdentifier.cpp +++ b/generated/src/aws-cpp-sdk-s3/source/model/ObjectIdentifier.cpp @@ -101,7 +101,7 @@ void ObjectIdentifier::AddToNode(XmlNode& parentNode) const if(m_lastModifiedTimeHasBeenSet) { XmlNode lastModifiedTimeNode = parentNode.CreateChildElement("LastModifiedTime"); - lastModifiedTimeNode.SetText(m_lastModifiedTime.ToGmtString(Aws::Utils::DateFormat::ISO_8601)); + lastModifiedTimeNode.SetText(m_lastModifiedTime.ToGmtString(Aws::Utils::DateFormat::RFC822)); } if(m_sizeHasBeenSet) diff --git a/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/LifecycleExpiration.h b/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/LifecycleExpiration.h index 4406b3c0f15..16b3acb7b7d 100644 --- a/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/LifecycleExpiration.h +++ b/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/LifecycleExpiration.h @@ -67,7 +67,9 @@ namespace Model *

    Indicates whether Amazon S3 will remove a delete marker with no noncurrent * versions. If set to true, the delete marker will be expired. If set to false, * the policy takes no action. This cannot be specified with Days or Date in a - * Lifecycle Expiration Policy.

    + * Lifecycle Expiration Policy. To learn more about delete markers, see Working + * with delete markers.

    */ inline bool GetExpiredObjectDeleteMarker() const{ return m_expiredObjectDeleteMarker; } inline bool ExpiredObjectDeleteMarkerHasBeenSet() const { return m_expiredObjectDeleteMarkerHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/S3CopyObjectOperation.h b/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/S3CopyObjectOperation.h index 201b5c9ea72..dbe7552191b 100644 --- a/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/S3CopyObjectOperation.h +++ b/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/S3CopyObjectOperation.h @@ -61,10 +61,16 @@ namespace Model * destinationBucket, set the TargetResource property to * arn:aws:s3:::destinationBucket.

  • Directory * buckets - For example, to copy objects to a directory bucket named - * destinationBucket in the Availability Zone; identified by the AZ ID + * destinationBucket in the Availability Zone identified by the AZ ID * usw2-az1, set the TargetResource property to - * arn:aws:s3express:region:account_id:/bucket/destination_bucket_base_name--usw2-az1--x-s3.

    - *
  • + * arn:aws:s3express:region:account_id:/bucket/destination_bucket_base_name--usw2-az1--x-s3. + * A directory bucket as a destination bucket can be in Availability Zone or Local + * Zone.

    Copying objects across different Amazon Web Services + * Regions isn't supported when the source or destination bucket is in Amazon Web + * Services Local Zones. The source and destination buckets must have the same + * parent Amazon Web Services Region. Otherwise, you get an HTTP 400 Bad + * Request error with the error code InvalidRequest.

    + * */ inline const Aws::String& GetTargetResource() const{ return m_targetResource; } inline bool TargetResourceHasBeenSet() const { return m_targetResourceHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-s3control/source/model/LambdaInvokeOperation.cpp b/generated/src/aws-cpp-sdk-s3control/source/model/LambdaInvokeOperation.cpp index 663ed63b52c..d26802e9b97 100644 --- a/generated/src/aws-cpp-sdk-s3control/source/model/LambdaInvokeOperation.cpp +++ b/generated/src/aws-cpp-sdk-s3control/source/model/LambdaInvokeOperation.cpp @@ -89,6 +89,15 @@ void LambdaInvokeOperation::AddToNode(XmlNode& parentNode) const if(m_userArgumentsHasBeenSet) { + XmlNode userArgumentsParentNode = parentNode.CreateChildElement("UserArguments"); + for(const auto& mapItem : m_userArguments) + { + XmlNode userArgumentsMapEntryNode = userArgumentsParentNode.CreateChildElement("entry"); + XmlNode userArgumentsKeyNode = userArgumentsMapEntryNode.CreateChildElement("key"); + userArgumentsKeyNode.SetText(mapItem.first); + XmlNode userArgumentsValueNode = userArgumentsMapEntryNode.CreateChildElement("value"); + userArgumentsValueNode.SetText(mapItem.second); + } } } diff --git a/generated/src/aws-cpp-sdk-s3control/source/model/S3ObjectMetadata.cpp b/generated/src/aws-cpp-sdk-s3control/source/model/S3ObjectMetadata.cpp index c1ff8c7f78f..c136a1ad706 100644 --- a/generated/src/aws-cpp-sdk-s3control/source/model/S3ObjectMetadata.cpp +++ b/generated/src/aws-cpp-sdk-s3control/source/model/S3ObjectMetadata.cpp @@ -160,6 +160,15 @@ void S3ObjectMetadata::AddToNode(XmlNode& parentNode) const if(m_userMetadataHasBeenSet) { + XmlNode userMetadataParentNode = parentNode.CreateChildElement("UserMetadata"); + for(const auto& mapItem : m_userMetadata) + { + XmlNode userMetadataMapEntryNode = userMetadataParentNode.CreateChildElement("entry"); + XmlNode userMetadataKeyNode = userMetadataMapEntryNode.CreateChildElement("key"); + userMetadataKeyNode.SetText(mapItem.first); + XmlNode userMetadataValueNode = userMetadataMapEntryNode.CreateChildElement("value"); + userMetadataValueNode.SetText(mapItem.second); + } } if(m_contentLengthHasBeenSet) diff --git a/generated/src/aws-cpp-sdk-s3tables/include/aws/s3tables/S3TablesClient.h b/generated/src/aws-cpp-sdk-s3tables/include/aws/s3tables/S3TablesClient.h index eb0f426ef29..5e22c1e781c 100644 --- a/generated/src/aws-cpp-sdk-s3tables/include/aws/s3tables/S3TablesClient.h +++ b/generated/src/aws-cpp-sdk-s3tables/include/aws/s3tables/S3TablesClient.h @@ -106,8 +106,11 @@ namespace S3Tables /** *

    Creates a namespace. A namespace is a logical grouping of tables within your * table bucket, which you can use to organize tables. For more information, see Table - * namespaces.

    See Also:

    Create + * a namespace in the Amazon Simple Storage Service User Guide.

    + *
    Permissions

    You must have the + * s3tables:CreateNamespace permission to use this operation.

    + *

    See Also:

    AWS * API Reference

    */ @@ -132,8 +135,15 @@ namespace S3Tables } /** - *

    Creates a new table associated with the given namespace in a table - * bucket.

    See Also:

    Creates a new table associated with the given namespace in a table bucket. + * For more information, see Creating + * an Amazon S3 table in the Amazon Simple Storage Service User + * Guide.

    Permissions

    You must have the + * s3tables:CreateTable permission to use this operation.

    + *

    Additionally, you must have the s3tables:PutTableData permission + * to use this operation with the optional metadata request parameter. + *

    See Also:

    AWS * API Reference

    */ @@ -158,7 +168,12 @@ namespace S3Tables } /** - *

    Creates a table bucket.

    See Also:

    Creates a table bucket. For more information, see Creating + * a table bucket in the Amazon Simple Storage Service User Guide.

    + *
    Permissions

    You must have the + * s3tables:CreateTableBucket permission to use this operation.

    + *

    See Also:

    AWS * API Reference

    */ @@ -183,7 +198,12 @@ namespace S3Tables } /** - *

    Deletes a namespace.

    See Also:

    Deletes a namespace. For more information, see Delete + * a namespace in the Amazon Simple Storage Service User Guide.

    + *
    Permissions

    You must have the + * s3tables:DeleteNamespace permission to use this operation.

    + *

    See Also:

    AWS * API Reference

    */ @@ -208,7 +228,12 @@ namespace S3Tables } /** - *

    Deletes a table.

    See Also:

    Deletes a table. For more information, see Deleting + * an Amazon S3 table in the Amazon Simple Storage Service User + * Guide.

    Permissions

    You must have the + * s3tables:DeleteTable permission to use this operation.

    + *

    See Also:

    AWS * API Reference

    */ @@ -233,7 +258,12 @@ namespace S3Tables } /** - *

    Deletes a table bucket.

    See Also:

    Deletes a table bucket. For more information, see Deleting + * a table bucket in the Amazon Simple Storage Service User Guide.

    + *
    Permissions

    You must have the + * s3tables:DeleteTableBucket permission to use this operation.

    + *

    See Also:

    AWS * API Reference

    */ @@ -258,7 +288,12 @@ namespace S3Tables } /** - *

    Deletes a table bucket policy.

    See Also:

    Deletes a table bucket policy. For more information, see Deleting + * a table bucket policy in the Amazon Simple Storage Service User + * Guide.

    Permissions

    You must have the + * s3tables:DeleteTableBucketPolicy permission to use this operation. + *

    See Also:

    AWS * API Reference

    */ @@ -283,7 +318,12 @@ namespace S3Tables } /** - *

    Deletes a table policy.

    See Also:

    Deletes a table policy. For more information, see Deleting + * a table policy in the Amazon Simple Storage Service User Guide.

    + *
    Permissions

    You must have the + * s3tables:DeleteTablePolicy permission to use this operation.

    + *

    See Also:

    AWS * API Reference

    */ @@ -308,7 +348,12 @@ namespace S3Tables } /** - *

    Gets details about a namespace.

    See Also:

    Gets details about a namespace. For more information, see Table + * namespaces in the Amazon Simple Storage Service User Guide.

    + *
    Permissions

    You must have the + * s3tables:GetNamespace permission to use this operation.

    + *

    See Also:

    AWS * API Reference

    */ @@ -333,7 +378,11 @@ namespace S3Tables } /** - *

    Gets details about a table.

    See Also:

    Gets details about a table. For more information, see S3 + * Tables in the Amazon Simple Storage Service User Guide.

    + *
    Permissions

    You must have the s3tables:GetTable + * permission to use this operation.

    See Also:

    AWS * API Reference

    */ @@ -358,7 +407,12 @@ namespace S3Tables } /** - *

    Gets details on a table bucket.

    See Also:

    Gets details on a table bucket. For more information, see Viewing + * details about an Amazon S3 table bucket in the Amazon Simple Storage + * Service User Guide.

    Permissions

    You must have the + * s3tables:GetTableBucket permission to use this operation.

    + *

    See Also:

    AWS * API Reference

    */ @@ -383,8 +437,13 @@ namespace S3Tables } /** - *

    Gets details about a maintenance configuration for a given table - * bucket.

    See Also:

    Gets details about a maintenance configuration for a given table bucket. For + * more information, see Amazon + * S3 table bucket maintenance in the Amazon Simple Storage Service User + * Guide.

    Permissions

    You must have the + * s3tables:GetTableBucketMaintenanceConfiguration permission to use + * this operation.

    See Also:

    AWS * API Reference

    */ @@ -409,7 +468,12 @@ namespace S3Tables } /** - *

    Gets details about a table bucket policy.

    See Also:

    Gets details about a table bucket policy. For more information, see Viewing + * a table bucket policy in the Amazon Simple Storage Service User + * Guide.

    Permissions

    You must have the + * s3tables:GetTableBucketPolicy permission to use this operation. + *

    See Also:

    AWS * API Reference

    */ @@ -434,8 +498,13 @@ namespace S3Tables } /** - *

    Gets details about the maintenance configuration of a table.

    See - * Also:

    Gets details about the maintenance configuration of a table. For more + * information, see S3 + * Tables maintenance in the Amazon Simple Storage Service User + * Guide.

    Permissions

    You must have the + * s3tables:GetTableMaintenanceConfiguration permission to use this + * operation.

    See Also:

    AWS * API Reference

    */ @@ -460,8 +529,13 @@ namespace S3Tables } /** - *

    Gets the status of a maintenance job for a table.

    See Also:

    + *

    Gets the status of a maintenance job for a table. For more information, see * S3 + * Tables maintenance in the Amazon Simple Storage Service User + * Guide.

    Permissions

    You must have the + * s3tables:GetTableMaintenanceJobStatus permission to use this + * operation.

    See Also:

    AWS * API Reference

    */ @@ -486,7 +560,9 @@ namespace S3Tables } /** - *

    Gets the location of the table metadata.

    See Also:

    Gets the location of the table metadata.

    Permissions
    + *

    You must have the s3tables:GetTableMetadataLocation permission + * to use this operation.

    See Also:

    AWS * API Reference

    */ @@ -511,7 +587,12 @@ namespace S3Tables } /** - *

    Gets details about a table policy.

    See Also:

    Gets details about a table policy. For more information, see Viewing + * a table policy in the Amazon Simple Storage Service User Guide.

    + *
    Permissions

    You must have the + * s3tables:GetTablePolicy permission to use this operation.

    + *

    See Also:

    AWS * API Reference

    */ @@ -536,7 +617,12 @@ namespace S3Tables } /** - *

    Lists the namespaces within a table bucket.

    See Also:

    Lists the namespaces within a table bucket. For more information, see Table + * namespaces in the Amazon Simple Storage Service User Guide.

    + *
    Permissions

    You must have the + * s3tables:ListNamespaces permission to use this operation.

    + *

    See Also:

    AWS * API Reference

    */ @@ -561,7 +647,12 @@ namespace S3Tables } /** - *

    Lists table buckets for your account.

    See Also:

    Lists table buckets for your account. For more information, see S3 + * Table buckets in the Amazon Simple Storage Service User Guide.

    + *
    Permissions

    You must have the + * s3tables:ListTableBuckets permission to use this operation.

    + *

    See Also:

    AWS * API Reference

    */ @@ -586,7 +677,11 @@ namespace S3Tables } /** - *

    List tables in the given table bucket.

    See Also:

    List tables in the given table bucket. For more information, see S3 + * Tables in the Amazon Simple Storage Service User Guide.

    + *
    Permissions

    You must have the s3tables:ListTables + * permission to use this operation.

    See Also:

    AWS * API Reference

    */ @@ -612,7 +707,12 @@ namespace S3Tables /** *

    Creates a new maintenance configuration or replaces an existing maintenance - * configuration for a table bucket.

    See Also:

    Amazon + * S3 table bucket maintenance in the Amazon Simple Storage Service User + * Guide.

    Permissions

    You must have the + * s3tables:PutTableBucketMaintenanceConfiguration permission to use + * this operation.

    See Also:

    AWS * API Reference

    */ @@ -638,7 +738,12 @@ namespace S3Tables /** *

    Creates a new maintenance configuration or replaces an existing table bucket - * policy for a table bucket.

    See Also:

    Adding + * a table bucket policy in the Amazon Simple Storage Service User + * Guide.

    Permissions

    You must have the + * s3tables:PutTableBucketPolicy permission to use this operation. + *

    See Also:

    AWS * API Reference

    */ @@ -664,7 +769,12 @@ namespace S3Tables /** *

    Creates a new maintenance configuration or replaces an existing maintenance - * configuration for a table.

    See Also:

    S3 + * Tables maintenance in the Amazon Simple Storage Service User + * Guide.

    Permissions

    You must have the + * s3tables:PutTableMaintenanceConfiguration permission to use this + * operation.

    See Also:

    AWS * API Reference

    */ @@ -690,7 +800,12 @@ namespace S3Tables /** *

    Creates a new maintenance configuration or replaces an existing table policy - * for a table.

    See Also:

    Adding + * a table policy in the Amazon Simple Storage Service User Guide.

    + *
    Permissions

    You must have the + * s3tables:PutTablePolicy permission to use this operation.

    + *

    See Also:

    AWS * API Reference

    */ @@ -715,7 +830,11 @@ namespace S3Tables } /** - *

    Renames a table or a namespace.

    See Also:

    Renames a table or a namespace. For more information, see S3 + * Tables in the Amazon Simple Storage Service User Guide.

    + *
    Permissions

    You must have the s3tables:RenameTable + * permission to use this operation.

    See Also:

    AWS * API Reference

    */ @@ -740,7 +859,13 @@ namespace S3Tables } /** - *

    Updates the metadata location for a table.

    See Also:

    Updates the metadata location for a table. The metadata location of a table + * must be an S3 URI that begins with the table's warehouse location. The metadata + * location for an Apache Iceberg table must end with .metadata.json, + * or if the metadata file is Gzip-compressed, .metadata.json.gz.

    + *
    Permissions

    You must have the + * s3tables:UpdateTableMetadataLocation permission to use this + * operation.

    See Also:

    AWS * API Reference

    */ diff --git a/generated/src/aws-cpp-sdk-s3tables/include/aws/s3tables/model/CreateTableRequest.h b/generated/src/aws-cpp-sdk-s3tables/include/aws/s3tables/model/CreateTableRequest.h index 53e4270af29..09b3129bd61 100644 --- a/generated/src/aws-cpp-sdk-s3tables/include/aws/s3tables/model/CreateTableRequest.h +++ b/generated/src/aws-cpp-sdk-s3tables/include/aws/s3tables/model/CreateTableRequest.h @@ -8,6 +8,7 @@ #include #include #include +#include #include namespace Aws @@ -87,6 +88,18 @@ namespace Model inline CreateTableRequest& WithFormat(const OpenTableFormat& value) { SetFormat(value); return *this;} inline CreateTableRequest& WithFormat(OpenTableFormat&& value) { SetFormat(std::move(value)); return *this;} ///@} + + ///@{ + /** + *

    The metadata for the table.

    + */ + inline const TableMetadata& GetMetadata() const{ return m_metadata; } + inline bool MetadataHasBeenSet() const { return m_metadataHasBeenSet; } + inline void SetMetadata(const TableMetadata& value) { m_metadataHasBeenSet = true; m_metadata = value; } + inline void SetMetadata(TableMetadata&& value) { m_metadataHasBeenSet = true; m_metadata = std::move(value); } + inline CreateTableRequest& WithMetadata(const TableMetadata& value) { SetMetadata(value); return *this;} + inline CreateTableRequest& WithMetadata(TableMetadata&& value) { SetMetadata(std::move(value)); return *this;} + ///@} private: Aws::String m_tableBucketARN; @@ -100,6 +113,9 @@ namespace Model OpenTableFormat m_format; bool m_formatHasBeenSet = false; + + TableMetadata m_metadata; + bool m_metadataHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-s3tables/include/aws/s3tables/model/DeleteTableBucketPolicyRequest.h b/generated/src/aws-cpp-sdk-s3tables/include/aws/s3tables/model/DeleteTableBucketPolicyRequest.h index 0dc573c6563..6e48ad40ba8 100644 --- a/generated/src/aws-cpp-sdk-s3tables/include/aws/s3tables/model/DeleteTableBucketPolicyRequest.h +++ b/generated/src/aws-cpp-sdk-s3tables/include/aws/s3tables/model/DeleteTableBucketPolicyRequest.h @@ -34,7 +34,7 @@ namespace Model ///@{ /** - *

    The Amazon Resource Number (ARN) of the table bucket.

    + *

    The Amazon Resource Name (ARN) of the table bucket.

    */ inline const Aws::String& GetTableBucketARN() const{ return m_tableBucketARN; } inline bool TableBucketARNHasBeenSet() const { return m_tableBucketARNHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-s3tables/include/aws/s3tables/model/DeleteTablePolicyRequest.h b/generated/src/aws-cpp-sdk-s3tables/include/aws/s3tables/model/DeleteTablePolicyRequest.h index e99c65be95f..b4c712aacd7 100644 --- a/generated/src/aws-cpp-sdk-s3tables/include/aws/s3tables/model/DeleteTablePolicyRequest.h +++ b/generated/src/aws-cpp-sdk-s3tables/include/aws/s3tables/model/DeleteTablePolicyRequest.h @@ -34,7 +34,7 @@ namespace Model ///@{ /** - *

    The Amazon Resource Number (ARN) of the table bucket that contains the + *

    The Amazon Resource Name (ARN) of the table bucket that contains the * table.

    */ inline const Aws::String& GetTableBucketARN() const{ return m_tableBucketARN; } diff --git a/generated/src/aws-cpp-sdk-s3tables/include/aws/s3tables/model/GetTableBucketPolicyRequest.h b/generated/src/aws-cpp-sdk-s3tables/include/aws/s3tables/model/GetTableBucketPolicyRequest.h index d0e5cf3b955..4e06946e7e2 100644 --- a/generated/src/aws-cpp-sdk-s3tables/include/aws/s3tables/model/GetTableBucketPolicyRequest.h +++ b/generated/src/aws-cpp-sdk-s3tables/include/aws/s3tables/model/GetTableBucketPolicyRequest.h @@ -34,7 +34,7 @@ namespace Model ///@{ /** - *

    The Amazon Resource Number (ARN) of the table bucket.

    + *

    The Amazon Resource Name (ARN) of the table bucket.

    */ inline const Aws::String& GetTableBucketARN() const{ return m_tableBucketARN; } inline bool TableBucketARNHasBeenSet() const { return m_tableBucketARNHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-s3tables/include/aws/s3tables/model/GetTableBucketPolicyResult.h b/generated/src/aws-cpp-sdk-s3tables/include/aws/s3tables/model/GetTableBucketPolicyResult.h index ffdd39d97f5..9759c1e9d6a 100644 --- a/generated/src/aws-cpp-sdk-s3tables/include/aws/s3tables/model/GetTableBucketPolicyResult.h +++ b/generated/src/aws-cpp-sdk-s3tables/include/aws/s3tables/model/GetTableBucketPolicyResult.h @@ -34,7 +34,7 @@ namespace Model ///@{ /** - *

    The name of the resource policy.

    + *

    The JSON that defines the policy.

    */ inline const Aws::String& GetResourcePolicy() const{ return m_resourcePolicy; } inline void SetResourcePolicy(const Aws::String& value) { m_resourcePolicy = value; } diff --git a/generated/src/aws-cpp-sdk-s3tables/include/aws/s3tables/model/GetTablePolicyRequest.h b/generated/src/aws-cpp-sdk-s3tables/include/aws/s3tables/model/GetTablePolicyRequest.h index de6fe44ba6e..c62317b45d9 100644 --- a/generated/src/aws-cpp-sdk-s3tables/include/aws/s3tables/model/GetTablePolicyRequest.h +++ b/generated/src/aws-cpp-sdk-s3tables/include/aws/s3tables/model/GetTablePolicyRequest.h @@ -34,7 +34,7 @@ namespace Model ///@{ /** - *

    The Amazon Resource Number (ARN) of the table bucket that contains the + *

    The Amazon Resource Name (ARN) of the table bucket that contains the * table.

    */ inline const Aws::String& GetTableBucketARN() const{ return m_tableBucketARN; } diff --git a/generated/src/aws-cpp-sdk-s3tables/include/aws/s3tables/model/GetTablePolicyResult.h b/generated/src/aws-cpp-sdk-s3tables/include/aws/s3tables/model/GetTablePolicyResult.h index 75672d17816..36192fa140a 100644 --- a/generated/src/aws-cpp-sdk-s3tables/include/aws/s3tables/model/GetTablePolicyResult.h +++ b/generated/src/aws-cpp-sdk-s3tables/include/aws/s3tables/model/GetTablePolicyResult.h @@ -34,7 +34,7 @@ namespace Model ///@{ /** - *

    The name of the resource policy.

    + *

    The JSON that defines the policy.

    */ inline const Aws::String& GetResourcePolicy() const{ return m_resourcePolicy; } inline void SetResourcePolicy(const Aws::String& value) { m_resourcePolicy = value; } diff --git a/generated/src/aws-cpp-sdk-s3tables/include/aws/s3tables/model/IcebergMetadata.h b/generated/src/aws-cpp-sdk-s3tables/include/aws/s3tables/model/IcebergMetadata.h new file mode 100644 index 00000000000..78191d72e7b --- /dev/null +++ b/generated/src/aws-cpp-sdk-s3tables/include/aws/s3tables/model/IcebergMetadata.h @@ -0,0 +1,60 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace S3Tables +{ +namespace Model +{ + + /** + *

    Contains details about the metadata for an Iceberg table.

    See + * Also:

    AWS + * API Reference

    + */ + class IcebergMetadata + { + public: + AWS_S3TABLES_API IcebergMetadata(); + AWS_S3TABLES_API IcebergMetadata(Aws::Utils::Json::JsonView jsonValue); + AWS_S3TABLES_API IcebergMetadata& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_S3TABLES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

    The schema for an Iceberg table.

    + */ + inline const IcebergSchema& GetSchema() const{ return m_schema; } + inline bool SchemaHasBeenSet() const { return m_schemaHasBeenSet; } + inline void SetSchema(const IcebergSchema& value) { m_schemaHasBeenSet = true; m_schema = value; } + inline void SetSchema(IcebergSchema&& value) { m_schemaHasBeenSet = true; m_schema = std::move(value); } + inline IcebergMetadata& WithSchema(const IcebergSchema& value) { SetSchema(value); return *this;} + inline IcebergMetadata& WithSchema(IcebergSchema&& value) { SetSchema(std::move(value)); return *this;} + ///@} + private: + + IcebergSchema m_schema; + bool m_schemaHasBeenSet = false; + }; + +} // namespace Model +} // namespace S3Tables +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-s3tables/include/aws/s3tables/model/IcebergSchema.h b/generated/src/aws-cpp-sdk-s3tables/include/aws/s3tables/model/IcebergSchema.h new file mode 100644 index 00000000000..0f4fa1e3b88 --- /dev/null +++ b/generated/src/aws-cpp-sdk-s3tables/include/aws/s3tables/model/IcebergSchema.h @@ -0,0 +1,63 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace S3Tables +{ +namespace Model +{ + + /** + *

    Contains details about the schema for an Iceberg table.

    See + * Also:

    AWS + * API Reference

    + */ + class IcebergSchema + { + public: + AWS_S3TABLES_API IcebergSchema(); + AWS_S3TABLES_API IcebergSchema(Aws::Utils::Json::JsonView jsonValue); + AWS_S3TABLES_API IcebergSchema& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_S3TABLES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

    The schema fields for the table

    + */ + inline const Aws::Vector& GetFields() const{ return m_fields; } + inline bool FieldsHasBeenSet() const { return m_fieldsHasBeenSet; } + inline void SetFields(const Aws::Vector& value) { m_fieldsHasBeenSet = true; m_fields = value; } + inline void SetFields(Aws::Vector&& value) { m_fieldsHasBeenSet = true; m_fields = std::move(value); } + inline IcebergSchema& WithFields(const Aws::Vector& value) { SetFields(value); return *this;} + inline IcebergSchema& WithFields(Aws::Vector&& value) { SetFields(std::move(value)); return *this;} + inline IcebergSchema& AddFields(const SchemaField& value) { m_fieldsHasBeenSet = true; m_fields.push_back(value); return *this; } + inline IcebergSchema& AddFields(SchemaField&& value) { m_fieldsHasBeenSet = true; m_fields.push_back(std::move(value)); return *this; } + ///@} + private: + + Aws::Vector m_fields; + bool m_fieldsHasBeenSet = false; + }; + +} // namespace Model +} // namespace S3Tables +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-s3tables/include/aws/s3tables/model/ListTablesRequest.h b/generated/src/aws-cpp-sdk-s3tables/include/aws/s3tables/model/ListTablesRequest.h index aa4a8527e94..c7df3c74b88 100644 --- a/generated/src/aws-cpp-sdk-s3tables/include/aws/s3tables/model/ListTablesRequest.h +++ b/generated/src/aws-cpp-sdk-s3tables/include/aws/s3tables/model/ListTablesRequest.h @@ -40,7 +40,7 @@ namespace Model ///@{ /** - *

    The Amazon resource Number (ARN) of the table bucket.

    + *

    The Amazon resource Name (ARN) of the table bucket.

    */ inline const Aws::String& GetTableBucketARN() const{ return m_tableBucketARN; } inline bool TableBucketARNHasBeenSet() const { return m_tableBucketARNHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-s3tables/include/aws/s3tables/model/PutTableBucketPolicyRequest.h b/generated/src/aws-cpp-sdk-s3tables/include/aws/s3tables/model/PutTableBucketPolicyRequest.h index fbf0c668aa0..b4e592516a2 100644 --- a/generated/src/aws-cpp-sdk-s3tables/include/aws/s3tables/model/PutTableBucketPolicyRequest.h +++ b/generated/src/aws-cpp-sdk-s3tables/include/aws/s3tables/model/PutTableBucketPolicyRequest.h @@ -34,7 +34,7 @@ namespace Model ///@{ /** - *

    The Amazon Resource Number (ARN) of the table bucket.

    + *

    The Amazon Resource Name (ARN) of the table bucket.

    */ inline const Aws::String& GetTableBucketARN() const{ return m_tableBucketARN; } inline bool TableBucketARNHasBeenSet() const { return m_tableBucketARNHasBeenSet; } @@ -48,7 +48,7 @@ namespace Model ///@{ /** - *

    The name of the resource policy.

    + *

    The JSON that defines the policy.

    */ inline const Aws::String& GetResourcePolicy() const{ return m_resourcePolicy; } inline bool ResourcePolicyHasBeenSet() const { return m_resourcePolicyHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-s3tables/include/aws/s3tables/model/PutTablePolicyRequest.h b/generated/src/aws-cpp-sdk-s3tables/include/aws/s3tables/model/PutTablePolicyRequest.h index 6c949ebbf5d..7868eea5e95 100644 --- a/generated/src/aws-cpp-sdk-s3tables/include/aws/s3tables/model/PutTablePolicyRequest.h +++ b/generated/src/aws-cpp-sdk-s3tables/include/aws/s3tables/model/PutTablePolicyRequest.h @@ -34,7 +34,7 @@ namespace Model ///@{ /** - *

    The Amazon Resource Number (ARN) of the table bucket that contains the + *

    The Amazon Resource Name (ARN) of the table bucket that contains the * table.

    */ inline const Aws::String& GetTableBucketARN() const{ return m_tableBucketARN; } @@ -77,7 +77,7 @@ namespace Model ///@{ /** - *

    The name of the resource policy.

    + *

    The JSON that defines the policy.

    */ inline const Aws::String& GetResourcePolicy() const{ return m_resourcePolicy; } inline bool ResourcePolicyHasBeenSet() const { return m_resourcePolicyHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-s3tables/include/aws/s3tables/model/SchemaField.h b/generated/src/aws-cpp-sdk-s3tables/include/aws/s3tables/model/SchemaField.h new file mode 100644 index 00000000000..09de3a0c945 --- /dev/null +++ b/generated/src/aws-cpp-sdk-s3tables/include/aws/s3tables/model/SchemaField.h @@ -0,0 +1,97 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace S3Tables +{ +namespace Model +{ + + /** + *

    Contains details about a schema field.

    See Also:

    AWS + * API Reference

    + */ + class SchemaField + { + public: + AWS_S3TABLES_API SchemaField(); + AWS_S3TABLES_API SchemaField(Aws::Utils::Json::JsonView jsonValue); + AWS_S3TABLES_API SchemaField& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_S3TABLES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

    The name of the field.

    + */ + inline const Aws::String& GetName() const{ return m_name; } + inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } + inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } + inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } + inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } + inline SchemaField& WithName(const Aws::String& value) { SetName(value); return *this;} + inline SchemaField& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} + inline SchemaField& WithName(const char* value) { SetName(value); return *this;} + ///@} + + ///@{ + /** + *

    The field type. S3 Tables supports all Apache Iceberg primitive types. For + * more information, see the Apache Iceberg + * documentation.

    + */ + inline const Aws::String& GetType() const{ return m_type; } + inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } + inline void SetType(const Aws::String& value) { m_typeHasBeenSet = true; m_type = value; } + inline void SetType(Aws::String&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } + inline void SetType(const char* value) { m_typeHasBeenSet = true; m_type.assign(value); } + inline SchemaField& WithType(const Aws::String& value) { SetType(value); return *this;} + inline SchemaField& WithType(Aws::String&& value) { SetType(std::move(value)); return *this;} + inline SchemaField& WithType(const char* value) { SetType(value); return *this;} + ///@} + + ///@{ + /** + *

    A Boolean value that specifies whether values are required for each row in + * this field. By default, this is false and null values are allowed + * in the field. If this is true the field does not allow null + * values.

    + */ + inline bool GetRequired() const{ return m_required; } + inline bool RequiredHasBeenSet() const { return m_requiredHasBeenSet; } + inline void SetRequired(bool value) { m_requiredHasBeenSet = true; m_required = value; } + inline SchemaField& WithRequired(bool value) { SetRequired(value); return *this;} + ///@} + private: + + Aws::String m_name; + bool m_nameHasBeenSet = false; + + Aws::String m_type; + bool m_typeHasBeenSet = false; + + bool m_required; + bool m_requiredHasBeenSet = false; + }; + +} // namespace Model +} // namespace S3Tables +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-s3tables/include/aws/s3tables/model/TableBucketSummary.h b/generated/src/aws-cpp-sdk-s3tables/include/aws/s3tables/model/TableBucketSummary.h index 06245619945..c3aea1df2c6 100644 --- a/generated/src/aws-cpp-sdk-s3tables/include/aws/s3tables/model/TableBucketSummary.h +++ b/generated/src/aws-cpp-sdk-s3tables/include/aws/s3tables/model/TableBucketSummary.h @@ -40,7 +40,7 @@ namespace Model ///@{ /** - *

    The Amazon Resource Number (ARN) of the table bucket.

    + *

    The Amazon Resource Name (ARN) of the table bucket.

    */ inline const Aws::String& GetArn() const{ return m_arn; } inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-s3tables/include/aws/s3tables/model/TableMetadata.h b/generated/src/aws-cpp-sdk-s3tables/include/aws/s3tables/model/TableMetadata.h new file mode 100644 index 00000000000..0bf15b85f5b --- /dev/null +++ b/generated/src/aws-cpp-sdk-s3tables/include/aws/s3tables/model/TableMetadata.h @@ -0,0 +1,59 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace S3Tables +{ +namespace Model +{ + + /** + *

    Contains details about the table metadata.

    See Also:

    AWS + * API Reference

    + */ + class TableMetadata + { + public: + AWS_S3TABLES_API TableMetadata(); + AWS_S3TABLES_API TableMetadata(Aws::Utils::Json::JsonView jsonValue); + AWS_S3TABLES_API TableMetadata& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_S3TABLES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

    Contains details about the metadata of an Iceberg table.

    + */ + inline const IcebergMetadata& GetIceberg() const{ return m_iceberg; } + inline bool IcebergHasBeenSet() const { return m_icebergHasBeenSet; } + inline void SetIceberg(const IcebergMetadata& value) { m_icebergHasBeenSet = true; m_iceberg = value; } + inline void SetIceberg(IcebergMetadata&& value) { m_icebergHasBeenSet = true; m_iceberg = std::move(value); } + inline TableMetadata& WithIceberg(const IcebergMetadata& value) { SetIceberg(value); return *this;} + inline TableMetadata& WithIceberg(IcebergMetadata&& value) { SetIceberg(std::move(value)); return *this;} + ///@} + private: + + IcebergMetadata m_iceberg; + bool m_icebergHasBeenSet = false; + }; + +} // namespace Model +} // namespace S3Tables +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-s3tables/include/aws/s3tables/model/TableSummary.h b/generated/src/aws-cpp-sdk-s3tables/include/aws/s3tables/model/TableSummary.h index bdd0a3ca0e9..0ed35cc2769 100644 --- a/generated/src/aws-cpp-sdk-s3tables/include/aws/s3tables/model/TableSummary.h +++ b/generated/src/aws-cpp-sdk-s3tables/include/aws/s3tables/model/TableSummary.h @@ -83,7 +83,7 @@ namespace Model ///@{ /** - *

    The Amazon Resource Number (ARN) of the table.

    + *

    The Amazon Resource Name (ARN) of the table.

    */ inline const Aws::String& GetTableARN() const{ return m_tableARN; } inline bool TableARNHasBeenSet() const { return m_tableARNHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-s3tables/include/aws/s3tables/model/UpdateTableMetadataLocationResult.h b/generated/src/aws-cpp-sdk-s3tables/include/aws/s3tables/model/UpdateTableMetadataLocationResult.h index 32e59327db2..b85788e7a94 100644 --- a/generated/src/aws-cpp-sdk-s3tables/include/aws/s3tables/model/UpdateTableMetadataLocationResult.h +++ b/generated/src/aws-cpp-sdk-s3tables/include/aws/s3tables/model/UpdateTableMetadataLocationResult.h @@ -48,7 +48,7 @@ namespace Model ///@{ /** - *

    The Amazon Resource Number (ARN) of the table.

    + *

    The Amazon Resource Name (ARN) of the table.

    */ inline const Aws::String& GetTableARN() const{ return m_tableARN; } inline void SetTableARN(const Aws::String& value) { m_tableARN = value; } diff --git a/generated/src/aws-cpp-sdk-s3tables/source/model/CreateTableRequest.cpp b/generated/src/aws-cpp-sdk-s3tables/source/model/CreateTableRequest.cpp index af9a6103efe..a0bcfe16574 100644 --- a/generated/src/aws-cpp-sdk-s3tables/source/model/CreateTableRequest.cpp +++ b/generated/src/aws-cpp-sdk-s3tables/source/model/CreateTableRequest.cpp @@ -17,7 +17,8 @@ CreateTableRequest::CreateTableRequest() : m_namespaceHasBeenSet(false), m_nameHasBeenSet(false), m_format(OpenTableFormat::NOT_SET), - m_formatHasBeenSet(false) + m_formatHasBeenSet(false), + m_metadataHasBeenSet(false) { } @@ -36,6 +37,12 @@ Aws::String CreateTableRequest::SerializePayload() const payload.WithString("format", OpenTableFormatMapper::GetNameForOpenTableFormat(m_format)); } + if(m_metadataHasBeenSet) + { + payload.WithObject("metadata", m_metadata.Jsonize()); + + } + return payload.View().WriteReadable(); } diff --git a/generated/src/aws-cpp-sdk-s3tables/source/model/IcebergMetadata.cpp b/generated/src/aws-cpp-sdk-s3tables/source/model/IcebergMetadata.cpp new file mode 100644 index 00000000000..81d40dd0114 --- /dev/null +++ b/generated/src/aws-cpp-sdk-s3tables/source/model/IcebergMetadata.cpp @@ -0,0 +1,59 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace S3Tables +{ +namespace Model +{ + +IcebergMetadata::IcebergMetadata() : + m_schemaHasBeenSet(false) +{ +} + +IcebergMetadata::IcebergMetadata(JsonView jsonValue) + : IcebergMetadata() +{ + *this = jsonValue; +} + +IcebergMetadata& IcebergMetadata::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("schema")) + { + m_schema = jsonValue.GetObject("schema"); + + m_schemaHasBeenSet = true; + } + + return *this; +} + +JsonValue IcebergMetadata::Jsonize() const +{ + JsonValue payload; + + if(m_schemaHasBeenSet) + { + payload.WithObject("schema", m_schema.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace S3Tables +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-s3tables/source/model/IcebergSchema.cpp b/generated/src/aws-cpp-sdk-s3tables/source/model/IcebergSchema.cpp new file mode 100644 index 00000000000..1b4b4dace8f --- /dev/null +++ b/generated/src/aws-cpp-sdk-s3tables/source/model/IcebergSchema.cpp @@ -0,0 +1,67 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace S3Tables +{ +namespace Model +{ + +IcebergSchema::IcebergSchema() : + m_fieldsHasBeenSet(false) +{ +} + +IcebergSchema::IcebergSchema(JsonView jsonValue) + : IcebergSchema() +{ + *this = jsonValue; +} + +IcebergSchema& IcebergSchema::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("fields")) + { + Aws::Utils::Array fieldsJsonList = jsonValue.GetArray("fields"); + for(unsigned fieldsIndex = 0; fieldsIndex < fieldsJsonList.GetLength(); ++fieldsIndex) + { + m_fields.push_back(fieldsJsonList[fieldsIndex].AsObject()); + } + m_fieldsHasBeenSet = true; + } + + return *this; +} + +JsonValue IcebergSchema::Jsonize() const +{ + JsonValue payload; + + if(m_fieldsHasBeenSet) + { + Aws::Utils::Array fieldsJsonList(m_fields.size()); + for(unsigned fieldsIndex = 0; fieldsIndex < fieldsJsonList.GetLength(); ++fieldsIndex) + { + fieldsJsonList[fieldsIndex].AsObject(m_fields[fieldsIndex].Jsonize()); + } + payload.WithArray("fields", std::move(fieldsJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace S3Tables +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-s3tables/source/model/SchemaField.cpp b/generated/src/aws-cpp-sdk-s3tables/source/model/SchemaField.cpp new file mode 100644 index 00000000000..76f1a3eafed --- /dev/null +++ b/generated/src/aws-cpp-sdk-s3tables/source/model/SchemaField.cpp @@ -0,0 +1,88 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace S3Tables +{ +namespace Model +{ + +SchemaField::SchemaField() : + m_nameHasBeenSet(false), + m_typeHasBeenSet(false), + m_required(false), + m_requiredHasBeenSet(false) +{ +} + +SchemaField::SchemaField(JsonView jsonValue) + : SchemaField() +{ + *this = jsonValue; +} + +SchemaField& SchemaField::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("name")) + { + m_name = jsonValue.GetString("name"); + + m_nameHasBeenSet = true; + } + + if(jsonValue.ValueExists("type")) + { + m_type = jsonValue.GetString("type"); + + m_typeHasBeenSet = true; + } + + if(jsonValue.ValueExists("required")) + { + m_required = jsonValue.GetBool("required"); + + m_requiredHasBeenSet = true; + } + + return *this; +} + +JsonValue SchemaField::Jsonize() const +{ + JsonValue payload; + + if(m_nameHasBeenSet) + { + payload.WithString("name", m_name); + + } + + if(m_typeHasBeenSet) + { + payload.WithString("type", m_type); + + } + + if(m_requiredHasBeenSet) + { + payload.WithBool("required", m_required); + + } + + return payload; +} + +} // namespace Model +} // namespace S3Tables +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-s3tables/source/model/TableMetadata.cpp b/generated/src/aws-cpp-sdk-s3tables/source/model/TableMetadata.cpp new file mode 100644 index 00000000000..b0281c68fcd --- /dev/null +++ b/generated/src/aws-cpp-sdk-s3tables/source/model/TableMetadata.cpp @@ -0,0 +1,59 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace S3Tables +{ +namespace Model +{ + +TableMetadata::TableMetadata() : + m_icebergHasBeenSet(false) +{ +} + +TableMetadata::TableMetadata(JsonView jsonValue) + : TableMetadata() +{ + *this = jsonValue; +} + +TableMetadata& TableMetadata::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("iceberg")) + { + m_iceberg = jsonValue.GetObject("iceberg"); + + m_icebergHasBeenSet = true; + } + + return *this; +} + +JsonValue TableMetadata::Jsonize() const +{ + JsonValue payload; + + if(m_icebergHasBeenSet) + { + payload.WithObject("iceberg", m_iceberg.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace S3Tables +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-sdb/source/model/DeletableItem.cpp b/generated/src/aws-cpp-sdk-sdb/source/model/DeletableItem.cpp index 0d68f894e9f..1b8816d8aeb 100644 --- a/generated/src/aws-cpp-sdk-sdb/source/model/DeletableItem.cpp +++ b/generated/src/aws-cpp-sdk-sdb/source/model/DeletableItem.cpp @@ -74,7 +74,7 @@ void DeletableItem::OutputToStream(Aws::OStream& oStream, const char* location, for(auto& item : m_attributes) { Aws::StringStream attributesSs; - attributesSs << location << index << locationValue << ".Attribute." << attributesIdx++; + attributesSs << location << index << locationValue << ".Attributes.Attribute." << attributesIdx++; item.OutputToStream(oStream, attributesSs.str().c_str()); } } diff --git a/generated/src/aws-cpp-sdk-sdb/source/model/Item.cpp b/generated/src/aws-cpp-sdk-sdb/source/model/Item.cpp index 5868ccb5ec0..cdd8a6730aa 100644 --- a/generated/src/aws-cpp-sdk-sdb/source/model/Item.cpp +++ b/generated/src/aws-cpp-sdk-sdb/source/model/Item.cpp @@ -86,7 +86,7 @@ void Item::OutputToStream(Aws::OStream& oStream, const char* location, unsigned for(auto& item : m_attributes) { Aws::StringStream attributesSs; - attributesSs << location << index << locationValue << ".Attribute." << attributesIdx++; + attributesSs << location << index << locationValue << ".Attributes.Attribute." << attributesIdx++; item.OutputToStream(oStream, attributesSs.str().c_str()); } } diff --git a/generated/src/aws-cpp-sdk-sdb/source/model/ReplaceableItem.cpp b/generated/src/aws-cpp-sdk-sdb/source/model/ReplaceableItem.cpp index 1c02ef10bfe..6bb9b28fa98 100644 --- a/generated/src/aws-cpp-sdk-sdb/source/model/ReplaceableItem.cpp +++ b/generated/src/aws-cpp-sdk-sdb/source/model/ReplaceableItem.cpp @@ -74,7 +74,7 @@ void ReplaceableItem::OutputToStream(Aws::OStream& oStream, const char* location for(auto& item : m_attributes) { Aws::StringStream attributesSs; - attributesSs << location << index << locationValue << ".Attribute." << attributesIdx++; + attributesSs << location << index << locationValue << ".Attributes.Attribute." << attributesIdx++; item.OutputToStream(oStream, attributesSs.str().c_str()); } } diff --git a/generated/src/aws-cpp-sdk-ssm/include/aws/ssm/SSMClient.h b/generated/src/aws-cpp-sdk-ssm/include/aws/ssm/SSMClient.h index d9430ff90b7..848fd7215f3 100644 --- a/generated/src/aws-cpp-sdk-ssm/include/aws/ssm/SSMClient.h +++ b/generated/src/aws-cpp-sdk-ssm/include/aws/ssm/SSMClient.h @@ -28,20 +28,20 @@ namespace SSM * Services Systems Manager User Guide. To get started, see Setting * up Amazon Web Services Systems Manager.

    Related - * resources

    • For information about each of the capabilities - * that comprise Systems Manager, see Systems - * Manager capabilities in the Amazon Web Services Systems Manager User + * resources

      • For information about each of the tools that + * comprise Systems Manager, see Using + * Systems Manager tools in the Amazon Web Services Systems Manager User * Guide.

      • For details about predefined runbooks for - * Automation, a capability of Amazon Web Services Systems Manager, see the Systems * Manager Automation runbook reference .

      • For information - * about AppConfig, a capability of Systems Manager, see the AppConfig User * Guide and the AppConfig * API Reference .

      • For information about Incident - * Manager, a capability of Systems Manager, see the Systems * Manager Incident Manager User Guide and the Systems @@ -163,8 +163,8 @@ namespace SSM /** *

        Associates a related item to a Systems Manager OpsCenter OpsItem. For * example, you can associate an Incident Manager incident or analysis with an - * OpsItem. Incident Manager and OpsCenter are capabilities of Amazon Web Services - * Systems Manager.

        See Also:

        See Also:

        AWS * API Reference

        */ @@ -246,10 +246,10 @@ namespace SSM *

        Generates an activation code and activation ID you can use to register your * on-premises servers, edge devices, or virtual machine (VM) with Amazon Web * Services Systems Manager. Registering these machines with Systems Manager makes - * it possible to manage them using Systems Manager capabilities. You use the - * activation code and ID when installing SSM Agent on machines in your hybrid - * environment. For more information about requirements for managing on-premises - * machines using Systems Manager, see Using * Amazon Web Services Systems Manager in hybrid and multicloud environments in * the Amazon Web Services Systems Manager User Guide.

        Amazon @@ -286,13 +286,13 @@ namespace SSM * ports must be closed. For static targets, the association specifies a schedule * for when the configuration is reapplied. For dynamic targets, such as an Amazon * Web Services resource group or an Amazon Web Services autoscaling group, State - * Manager, a capability of Amazon Web Services Systems Manager applies the - * configuration when new managed nodes are added to the group. The association - * also specifies actions to take when applying the configuration. For example, an - * association for anti-virus software might run once a day. If the software isn't - * installed, then State Manager installs it. If the software is installed, but the - * service isn't running, then the association might instruct State Manager to - * start the service.

        See Also:

        See Also:

        AWS * API Reference

        */ @@ -1935,8 +1935,8 @@ namespace SSM /** *

        Deletes the association between an OpsItem and a related item. For example, * this API operation can delete an Incident Manager incident from an OpsItem. - * Incident Manager is a capability of Amazon Web Services Systems - * Manager.

        See Also:

        See + * Also:

        AWS * API Reference

        */ @@ -1997,7 +1997,7 @@ namespace SSM * the command returns the status of OPEN only if all calendars in the * request are open. If one or more calendars in the request are closed, the status * returned is CLOSED.

        For more information about Change - * Calendar, a capability of Amazon Web Services Systems Manager, see Amazon * Web Services Systems Manager Change Calendar in the Amazon Web Services * Systems Manager User Guide.

        See Also:

        AWS-RunShellScript
        document or - * the AWS-RunPowerShellScript document.

        See - * Also:

        AWS-RunShellScript document or the + * AWS-RunPowerShellScript document.

        See Also:

        + *
        AWS * API Reference

        */ @@ -2567,15 +2567,15 @@ namespace SSM } /** - *

        Retrieve information about one or more parameters in a specific hierarchy. - *

        Request results are returned on a best-effort basis. If you specify - * MaxResults in the request, the response includes information up to - * the limit specified. The number of items returned, however, can be between zero - * and the value of MaxResults. If the service reaches an internal - * limit while processing the results, it stops the operation and returns the - * matching values up to that point and a NextToken. You can specify - * the NextToken in a subsequent call to get the next set of - * results.

        See Also:

        Retrieve information about one or more parameters under a specified level in + * a hierarchy.

        Request results are returned on a best-effort basis. If you + * specify MaxResults in the request, the response includes + * information up to the limit specified. The number of items returned, however, + * can be between zero and the value of MaxResults. If the service + * reaches an internal limit while processing the results, it stops the operation + * and returns the matching values up to that point and a NextToken. + * You can specify the NextToken in a subsequent call to get the next + * set of results.

        See Also:

        AWS * API Reference

        */ @@ -2792,7 +2792,7 @@ namespace SSM *

        Returns all State Manager associations in the current Amazon Web Services * account and Amazon Web Services Region. You can limit the results to a specific * State Manager association document or managed node by specifying a filter. State - * Manager is a capability of Amazon Web Services Systems Manager.

        See + * Manager is a tool in Amazon Web Services Systems Manager.

        See * Also:

        AWS * API Reference

        @@ -3116,7 +3116,7 @@ namespace SSM /** *

        Lists all related-item resources associated with a Systems Manager OpsCenter - * OpsItem. OpsCenter is a capability of Amazon Web Services Systems + * OpsItem. OpsCenter is a tool in Amazon Web Services Systems * Manager.

        See Also:

        AWS * API Reference

        diff --git a/generated/src/aws-cpp-sdk-ssm/include/aws/ssm/model/AssociationDescription.h b/generated/src/aws-cpp-sdk-ssm/include/aws/ssm/model/AssociationDescription.h index 2b61deafc08..0c748c4a9c5 100644 --- a/generated/src/aws-cpp-sdk-ssm/include/aws/ssm/model/AssociationDescription.h +++ b/generated/src/aws-cpp-sdk-ssm/include/aws/ssm/model/AssociationDescription.h @@ -157,8 +157,8 @@ namespace Model /** *

        Choose the parameter that will define how your automation will branch out. * This target is required for associations that use an Automation runbook and - * target resources by using rate controls. Automation is a capability of Amazon - * Web Services Systems Manager.

        + * target resources by using rate controls. Automation is a tool in Amazon Web + * Services Systems Manager.

        */ inline const Aws::String& GetAutomationTargetParameterName() const{ return m_automationTargetParameterName; } inline bool AutomationTargetParameterNameHasBeenSet() const { return m_automationTargetParameterNameHasBeenSet; } @@ -349,9 +349,9 @@ namespace Model * the association is NON-COMPLIANT.

        In MANUAL * mode, you must specify the AssociationId as a parameter for the * PutComplianceItems API operation. In this case, compliance data isn't - * managed by State Manager, a capability of Amazon Web Services Systems Manager. - * It is managed by your direct call to the PutComplianceItems API - * operation.

        By default, all associations use AUTO mode.

        + * managed by State Manager, a tool in Amazon Web Services Systems Manager. It is + * managed by your direct call to the PutComplianceItems API operation.

        + *

        By default, all associations use AUTO mode.

        */ inline const AssociationSyncCompliance& GetSyncCompliance() const{ return m_syncCompliance; } inline bool SyncComplianceHasBeenSet() const { return m_syncComplianceHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-ssm/include/aws/ssm/model/AssociationVersionInfo.h b/generated/src/aws-cpp-sdk-ssm/include/aws/ssm/model/AssociationVersionInfo.h index 4019dc9a262..94e6fc9f1fd 100644 --- a/generated/src/aws-cpp-sdk-ssm/include/aws/ssm/model/AssociationVersionInfo.h +++ b/generated/src/aws-cpp-sdk-ssm/include/aws/ssm/model/AssociationVersionInfo.h @@ -259,9 +259,9 @@ namespace Model * the association is NON-COMPLIANT.

        In MANUAL * mode, you must specify the AssociationId as a parameter for the * PutComplianceItems API operation. In this case, compliance data isn't - * managed by State Manager, a capability of Amazon Web Services Systems Manager. - * It is managed by your direct call to the PutComplianceItems API - * operation.

        By default, all associations use AUTO mode.

        + * managed by State Manager, a tool in Amazon Web Services Systems Manager. It is + * managed by your direct call to the PutComplianceItems API operation.

        + *

        By default, all associations use AUTO mode.

        */ inline const AssociationSyncCompliance& GetSyncCompliance() const{ return m_syncCompliance; } inline bool SyncComplianceHasBeenSet() const { return m_syncComplianceHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-ssm/include/aws/ssm/model/Command.h b/generated/src/aws-cpp-sdk-ssm/include/aws/ssm/model/Command.h index 9fcdb484c9d..01a9891b198 100644 --- a/generated/src/aws-cpp-sdk-ssm/include/aws/ssm/model/Command.h +++ b/generated/src/aws-cpp-sdk-ssm/include/aws/ssm/model/Command.h @@ -368,8 +368,8 @@ namespace Model ///@{ /** *

        The Identity and Access Management (IAM) service role that Run Command, a - * capability of Amazon Web Services Systems Manager, uses to act on your behalf - * when sending notifications about command status changes.

        + * tool in Amazon Web Services Systems Manager, uses to act on your behalf when + * sending notifications about command status changes.

        */ inline const Aws::String& GetServiceRole() const{ return m_serviceRole; } inline bool ServiceRoleHasBeenSet() const { return m_serviceRoleHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-ssm/include/aws/ssm/model/CommandInvocation.h b/generated/src/aws-cpp-sdk-ssm/include/aws/ssm/model/CommandInvocation.h index c354f5e06f0..b5359d11499 100644 --- a/generated/src/aws-cpp-sdk-ssm/include/aws/ssm/model/CommandInvocation.h +++ b/generated/src/aws-cpp-sdk-ssm/include/aws/ssm/model/CommandInvocation.h @@ -270,8 +270,8 @@ namespace Model ///@{ /** *

        The Identity and Access Management (IAM) service role that Run Command, a - * capability of Amazon Web Services Systems Manager, uses to act on your behalf - * when sending notifications about command status changes on a per managed node + * tool in Amazon Web Services Systems Manager, uses to act on your behalf when + * sending notifications about command status changes on a per managed node * basis.

        */ inline const Aws::String& GetServiceRole() const{ return m_serviceRole; } diff --git a/generated/src/aws-cpp-sdk-ssm/include/aws/ssm/model/CreateAssociationBatchRequestEntry.h b/generated/src/aws-cpp-sdk-ssm/include/aws/ssm/model/CreateAssociationBatchRequestEntry.h index cee2fa40579..f69da09531d 100644 --- a/generated/src/aws-cpp-sdk-ssm/include/aws/ssm/model/CreateAssociationBatchRequestEntry.h +++ b/generated/src/aws-cpp-sdk-ssm/include/aws/ssm/model/CreateAssociationBatchRequestEntry.h @@ -116,7 +116,7 @@ namespace Model /** *

        Specify the target for the association. This target is required for * associations that use an Automation runbook and target resources by using rate - * controls. Automation is a capability of Amazon Web Services Systems Manager.

        + * controls. Automation is a tool in Amazon Web Services Systems Manager.

        */ inline const Aws::String& GetAutomationTargetParameterName() const{ return m_automationTargetParameterName; } inline bool AutomationTargetParameterNameHasBeenSet() const { return m_automationTargetParameterNameHasBeenSet; } @@ -265,9 +265,9 @@ namespace Model * the association is NON-COMPLIANT.

        In MANUAL * mode, you must specify the AssociationId as a parameter for the * PutComplianceItems API operation. In this case, compliance data isn't - * managed by State Manager, a capability of Amazon Web Services Systems Manager. - * It is managed by your direct call to the PutComplianceItems API - * operation.

        By default, all associations use AUTO mode.

        + * managed by State Manager, a tool in Amazon Web Services Systems Manager. It is + * managed by your direct call to the PutComplianceItems API operation.

        + *

        By default, all associations use AUTO mode.

        */ inline const AssociationSyncCompliance& GetSyncCompliance() const{ return m_syncCompliance; } inline bool SyncComplianceHasBeenSet() const { return m_syncComplianceHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-ssm/include/aws/ssm/model/CreateAssociationRequest.h b/generated/src/aws-cpp-sdk-ssm/include/aws/ssm/model/CreateAssociationRequest.h index 1c00d14b3f9..40f3c6345bd 100644 --- a/generated/src/aws-cpp-sdk-ssm/include/aws/ssm/model/CreateAssociationRequest.h +++ b/generated/src/aws-cpp-sdk-ssm/include/aws/ssm/model/CreateAssociationRequest.h @@ -199,8 +199,8 @@ namespace Model /** *

        Choose the parameter that will define how your automation will branch out. * This target is required for associations that use an Automation runbook and - * target resources by using rate controls. Automation is a capability of Amazon - * Web Services Systems Manager.

        + * target resources by using rate controls. Automation is a tool in Amazon Web + * Services Systems Manager.

        */ inline const Aws::String& GetAutomationTargetParameterName() const{ return m_automationTargetParameterName; } inline bool AutomationTargetParameterNameHasBeenSet() const { return m_automationTargetParameterNameHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-ssm/include/aws/ssm/model/DescribePatchGroupStateResult.h b/generated/src/aws-cpp-sdk-ssm/include/aws/ssm/model/DescribePatchGroupStateResult.h index de85904baf0..58a7a79cd05 100644 --- a/generated/src/aws-cpp-sdk-ssm/include/aws/ssm/model/DescribePatchGroupStateResult.h +++ b/generated/src/aws-cpp-sdk-ssm/include/aws/ssm/model/DescribePatchGroupStateResult.h @@ -119,7 +119,7 @@ namespace Model /** *

        The number of managed nodes with NotApplicable patches beyond * the supported limit, which aren't reported by name to Inventory. Inventory is a - * capability of Amazon Web Services Systems Manager.

        + * tool in Amazon Web Services Systems Manager.

        */ inline int GetInstancesWithUnreportedNotApplicablePatches() const{ return m_instancesWithUnreportedNotApplicablePatches; } inline void SetInstancesWithUnreportedNotApplicablePatches(int value) { m_instancesWithUnreportedNotApplicablePatches = value; } diff --git a/generated/src/aws-cpp-sdk-ssm/include/aws/ssm/model/InstancePatchState.h b/generated/src/aws-cpp-sdk-ssm/include/aws/ssm/model/InstancePatchState.h index 16c44ca2c36..bf5c9f0151f 100644 --- a/generated/src/aws-cpp-sdk-ssm/include/aws/ssm/model/InstancePatchState.h +++ b/generated/src/aws-cpp-sdk-ssm/include/aws/ssm/model/InstancePatchState.h @@ -214,7 +214,7 @@ namespace Model /** *

        The number of patches beyond the supported limit of * NotApplicableCount that aren't reported by name to Inventory. - * Inventory is a capability of Amazon Web Services Systems Manager.

        + * Inventory is a tool in Amazon Web Services Systems Manager.

        */ inline int GetUnreportedNotApplicableCount() const{ return m_unreportedNotApplicableCount; } inline bool UnreportedNotApplicableCountHasBeenSet() const { return m_unreportedNotApplicableCountHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-ssm/include/aws/ssm/model/ParameterInlinePolicy.h b/generated/src/aws-cpp-sdk-ssm/include/aws/ssm/model/ParameterInlinePolicy.h index 15de186c5e7..132f260dc95 100644 --- a/generated/src/aws-cpp-sdk-ssm/include/aws/ssm/model/ParameterInlinePolicy.h +++ b/generated/src/aws-cpp-sdk-ssm/include/aws/ssm/model/ParameterInlinePolicy.h @@ -53,8 +53,8 @@ namespace Model ///@{ /** - *

        The type of policy. Parameter Store, a capability of Amazon Web Services - * Systems Manager, supports the following policy types: Expiration, + *

        The type of policy. Parameter Store, a tool in Amazon Web Services Systems + * Manager, supports the following policy types: Expiration, * ExpirationNotification, and NoChangeNotification.

        */ inline const Aws::String& GetPolicyType() const{ return m_policyType; } diff --git a/generated/src/aws-cpp-sdk-ssm/include/aws/ssm/model/PutParameterRequest.h b/generated/src/aws-cpp-sdk-ssm/include/aws/ssm/model/PutParameterRequest.h index d7e6456c7af..021388e92fd 100644 --- a/generated/src/aws-cpp-sdk-ssm/include/aws/ssm/model/PutParameterRequest.h +++ b/generated/src/aws-cpp-sdk-ssm/include/aws/ssm/model/PutParameterRequest.h @@ -97,8 +97,9 @@ namespace Model *

        The parameter value that you want to add to the system. Standard parameters * have a value limit of 4 KB. Advanced parameters have a value limit of 8 KB.

        *

        Parameters can't be referenced or nested in the values of other - * parameters. You can't include {{}} or - * {{ssm:parameter-name}} in a parameter value.

        + * parameters. You can't include values wrapped in double brackets + * {{}} or {{ssm:parameter-name}} in a parameter + * value.

        */ inline const Aws::String& GetValue() const{ return m_value; } inline bool ValueHasBeenSet() const { return m_valueHasBeenSet; } @@ -259,21 +260,21 @@ namespace Model ///@{ /** *

        One or more policies to apply to a parameter. This operation takes a JSON - * array. Parameter Store, a capability of Amazon Web Services Systems Manager - * supports the following policy types:

        Expiration: This policy deletes the - * parameter after it expires. When you create the policy, you specify the - * expiration date. You can update the expiration date and time by updating the - * policy. Updating the parameter doesn't affect the expiration date and - * time. When the expiration time is reached, Parameter Store deletes the - * parameter.

        ExpirationNotification: This policy initiates an event in - * Amazon CloudWatch Events that notifies you about the expiration. By using this - * policy, you can receive notification before or after the expiration time is - * reached, in units of days or hours.

        NoChangeNotification: This policy - * initiates a CloudWatch Events event if a parameter hasn't been modified for a - * specified period of time. This policy type is useful when, for example, a secret - * needs to be changed within a period of time, but it hasn't been changed.

        - *

        All existing policies are preserved until you send new policies or an empty - * policy. For more information about parameter policies, see

        Expiration: This policy deletes the parameter + * after it expires. When you create the policy, you specify the expiration date. + * You can update the expiration date and time by updating the policy. Updating the + * parameter doesn't affect the expiration date and time. When the + * expiration time is reached, Parameter Store deletes the parameter.

        + *

        ExpirationNotification: This policy initiates an event in Amazon CloudWatch + * Events that notifies you about the expiration. By using this policy, you can + * receive notification before or after the expiration time is reached, in units of + * days or hours.

        NoChangeNotification: This policy initiates a CloudWatch + * Events event if a parameter hasn't been modified for a specified period of time. + * This policy type is useful when, for example, a secret needs to be changed + * within a period of time, but it hasn't been changed.

        All existing + * policies are preserved until you send new policies or an empty policy. For more + * information about parameter policies, see Assigning * parameter policies.

        */ diff --git a/generated/src/aws-cpp-sdk-ssm/include/aws/ssm/model/SendCommandRequest.h b/generated/src/aws-cpp-sdk-ssm/include/aws/ssm/model/SendCommandRequest.h index 22a49d1de73..758b7ce5621 100644 --- a/generated/src/aws-cpp-sdk-ssm/include/aws/ssm/model/SendCommandRequest.h +++ b/generated/src/aws-cpp-sdk-ssm/include/aws/ssm/model/SendCommandRequest.h @@ -326,8 +326,8 @@ namespace Model ///@{ /** *

        Enables Amazon Web Services Systems Manager to send Run Command output to - * Amazon CloudWatch Logs. Run Command is a capability of Amazon Web Services - * Systems Manager.

        + * Amazon CloudWatch Logs. Run Command is a tool in Amazon Web Services Systems + * Manager.

        */ inline const CloudWatchOutputConfig& GetCloudWatchOutputConfig() const{ return m_cloudWatchOutputConfig; } inline bool CloudWatchOutputConfigHasBeenSet() const { return m_cloudWatchOutputConfigHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-ssm/include/aws/ssm/model/StartAutomationExecutionRequest.h b/generated/src/aws-cpp-sdk-ssm/include/aws/ssm/model/StartAutomationExecutionRequest.h index f5766beafa6..00af54d0dac 100644 --- a/generated/src/aws-cpp-sdk-ssm/include/aws/ssm/model/StartAutomationExecutionRequest.h +++ b/generated/src/aws-cpp-sdk-ssm/include/aws/ssm/model/StartAutomationExecutionRequest.h @@ -242,8 +242,12 @@ namespace Model * might want to tag an automation to identify an environment or operating system. * In this case, you could specify the following key-value pairs:

        • * Key=environment,Value=test

        • - * Key=OS,Value=Windows

        To add tags to an - * existing automation, use the AddTagsToResource operation.

        + * Key=OS,Value=Windows

      The Array + * Members maximum value is reported as 1000. This number includes capacity + * reserved for internal operations. When calling the + * StartAutomationExecution action, you can specify a maximum of 5 + * tags. You can, however, use the AddTagsToResource action to add up to a + * total of 50 tags to an existing automation configuration.

      */ inline const Aws::Vector& GetTags() const{ return m_tags; } inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-ssm/include/aws/ssm/model/StartChangeRequestExecutionRequest.h b/generated/src/aws-cpp-sdk-ssm/include/aws/ssm/model/StartChangeRequestExecutionRequest.h index ad2b7013a69..a2ed55c4429 100644 --- a/generated/src/aws-cpp-sdk-ssm/include/aws/ssm/model/StartChangeRequestExecutionRequest.h +++ b/generated/src/aws-cpp-sdk-ssm/include/aws/ssm/model/StartChangeRequestExecutionRequest.h @@ -176,7 +176,12 @@ namespace Model * might want to tag a change request to identify an environment or target Amazon * Web Services Region. In this case, you could specify the following key-value * pairs:

      • Key=Environment,Value=Production

        - *
      • Key=Region,Value=us-east-2

      + *
    • Key=Region,Value=us-east-2

    + *

    The Array Members maximum value is reported as 1000. This number + * includes capacity reserved for internal operations. When calling the + * StartChangeRequestExecution action, you can specify a maximum of 5 + * tags. You can, however, use the AddTagsToResource action to add up to a + * total of 50 tags to an existing change request configuration.

    */ inline const Aws::Vector& GetTags() const{ return m_tags; } inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-ssm/include/aws/ssm/model/StartSessionRequest.h b/generated/src/aws-cpp-sdk-ssm/include/aws/ssm/model/StartSessionRequest.h index 4e857ab2151..5fb23e6a7a4 100644 --- a/generated/src/aws-cpp-sdk-ssm/include/aws/ssm/model/StartSessionRequest.h +++ b/generated/src/aws-cpp-sdk-ssm/include/aws/ssm/model/StartSessionRequest.h @@ -90,7 +90,10 @@ namespace Model ///@{ /** *

    The values you want to specify for the parameters defined in the Session - * document.

    + * document. For more information about these parameters, see Create + * a Session Manager preferences document in the Amazon Web Services Systems + * Manager User Guide.

    */ inline const Aws::Map>& GetParameters() const{ return m_parameters; } inline bool ParametersHasBeenSet() const { return m_parametersHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-ssm/include/aws/ssm/model/Target.h b/generated/src/aws-cpp-sdk-ssm/include/aws/ssm/model/Target.h index 15658646e2c..5eb3f9d324c 100644 --- a/generated/src/aws-cpp-sdk-ssm/include/aws/ssm/model/Target.h +++ b/generated/src/aws-cpp-sdk-ssm/include/aws/ssm/model/Target.h @@ -34,8 +34,8 @@ namespace Model * href="https://docs.aws.amazon.com/systems-manager/latest/userguide/maintenance-windows-targetless-tasks.html">Registering * maintenance window tasks without targets in the Amazon Web Services * Systems Manager User Guide.

    Supported formats include the - * following.

    For all Systems Manager capabilities:

    • - *

      Key=tag-key,Values=tag-value-1,tag-value-2

    + * following.

    For all Systems Manager tools:

    • + * Key=tag-key,Values=tag-value-1,tag-value-2

    * For Automation and Change Manager:

    • * Key=tag:tag-key,Values=tag-value

    • * Key=ResourceGroup,Values=resource-group-name

    • diff --git a/generated/src/aws-cpp-sdk-ssm/include/aws/ssm/model/UpdateAssociationRequest.h b/generated/src/aws-cpp-sdk-ssm/include/aws/ssm/model/UpdateAssociationRequest.h index 486b90f78ce..851c99a402e 100644 --- a/generated/src/aws-cpp-sdk-ssm/include/aws/ssm/model/UpdateAssociationRequest.h +++ b/generated/src/aws-cpp-sdk-ssm/include/aws/ssm/model/UpdateAssociationRequest.h @@ -59,9 +59,8 @@ namespace Model ///@{ /** *

      The parameters you want to update for the association. If you create a - * parameter using Parameter Store, a capability of Amazon Web Services Systems - * Manager, you can reference the parameter using - * {{ssm:parameter-name}}.

      + * parameter using Parameter Store, a tool in Amazon Web Services Systems Manager, + * you can reference the parameter using {{ssm:parameter-name}}.

      */ inline const Aws::Map>& GetParameters() const{ return m_parameters; } inline bool ParametersHasBeenSet() const { return m_parametersHasBeenSet; } @@ -199,8 +198,8 @@ namespace Model /** *

      Choose the parameter that will define how your automation will branch out. * This target is required for associations that use an Automation runbook and - * target resources by using rate controls. Automation is a capability of Amazon - * Web Services Systems Manager.

      + * target resources by using rate controls. Automation is a tool in Amazon Web + * Services Systems Manager.

      */ inline const Aws::String& GetAutomationTargetParameterName() const{ return m_automationTargetParameterName; } inline bool AutomationTargetParameterNameHasBeenSet() const { return m_automationTargetParameterNameHasBeenSet; } @@ -281,9 +280,9 @@ namespace Model * the association is NON-COMPLIANT.

      In MANUAL * mode, you must specify the AssociationId as a parameter for the * PutComplianceItems API operation. In this case, compliance data isn't - * managed by State Manager, a capability of Amazon Web Services Systems Manager. - * It is managed by your direct call to the PutComplianceItems API - * operation.

      By default, all associations use AUTO mode.

      + * managed by State Manager, a tool in Amazon Web Services Systems Manager. It is + * managed by your direct call to the PutComplianceItems API operation.

      + *

      By default, all associations use AUTO mode.

      */ inline const AssociationSyncCompliance& GetSyncCompliance() const{ return m_syncCompliance; } inline bool SyncComplianceHasBeenSet() const { return m_syncComplianceHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-sso-oidc/include/aws/sso-oidc/SSOOIDCClient.h b/generated/src/aws-cpp-sdk-sso-oidc/include/aws/sso-oidc/SSOOIDCClient.h index 02c31d800d5..a8a79085306 100644 --- a/generated/src/aws-cpp-sdk-sso-oidc/include/aws/sso-oidc/SSOOIDCClient.h +++ b/generated/src/aws-cpp-sdk-sso-oidc/include/aws/sso-oidc/SSOOIDCClient.h @@ -24,9 +24,10 @@ namespace SSOOIDC * client (such as CLI or a native application) to register with IAM Identity * Center. The service also enables the client to fetch the user’s access token * upon successful authentication and authorization with IAM Identity Center.

      - *

      IAM Identity Center uses the sso and - * identitystore API namespaces.

      Considerations for - * Using This Guide

      Before you begin using this guide, we recommend + *

      API namespaces

      IAM Identity Center uses the sso + * and identitystore API namespaces. IAM Identity Center OpenID + * Connect uses the sso-oidc namespace.

      Considerations for + * using this guide

      Before you begin using this guide, we recommend * that you first review the following important information about how the IAM * Identity Center OIDC service works.

      • The IAM Identity Center * OIDC service currently implements only the portions of the OAuth 2.0 Device @@ -122,7 +123,7 @@ namespace SSOOIDC /** *

        Creates and returns access and refresh tokens for clients that are * authenticated using client secrets. The access token can be used to fetch - * short-term credentials for the assigned AWS accounts or to access application + * short-lived credentials for the assigned AWS accounts or to access application * APIs using bearer authentication.

        See Also:

        AWS * API Reference

        @@ -150,7 +151,7 @@ namespace SSOOIDC /** *

        Creates and returns access and refresh tokens for clients and applications * that are authenticated using IAM entities. The access token can be used to fetch - * short-term credentials for the assigned Amazon Web Services accounts or to + * short-lived credentials for the assigned Amazon Web Services accounts or to * access application APIs using bearer authentication.

        See * Also:

        AWS @@ -177,9 +178,9 @@ namespace SSOOIDC } /** - *

        Registers a client with IAM Identity Center. This allows clients to initiate - * device authorization. The output should be persisted for reuse through many - * authentication requests.

        See Also:

        Registers a public client with IAM Identity Center. This allows clients + * to perform authorization using the authorization code grant with Proof Key for + * Code Exchange (PKCE) or the device code grant.

        See Also:

        AWS * API Reference

        */ diff --git a/generated/src/aws-cpp-sdk-sso-oidc/include/aws/sso-oidc/model/CreateTokenRequest.h b/generated/src/aws-cpp-sdk-sso-oidc/include/aws/sso-oidc/model/CreateTokenRequest.h index e800d4e8a76..bf55cf9d179 100644 --- a/generated/src/aws-cpp-sdk-sso-oidc/include/aws/sso-oidc/model/CreateTokenRequest.h +++ b/generated/src/aws-cpp-sdk-sso-oidc/include/aws/sso-oidc/model/CreateTokenRequest.h @@ -65,12 +65,12 @@ namespace Model ///@{ /** - *

        Supports the following OAuth grant types: Device Code and Refresh Token. - * Specify either of the following values, depending on the grant type that you - * want:

        * Device Code - + *

        Supports the following OAuth grant types: Authorization Code, Device Code, + * and Refresh Token. Specify one of the following values, depending on the grant + * type that you want:

        * Authorization Code - + * authorization_code

        * Device Code - * urn:ietf:params:oauth:grant-type:device_code

        * Refresh - * Token - refresh_token

        For information about how to obtain - * the device code, see the StartDeviceAuthorization topic.

        + * Token - refresh_token

        */ inline const Aws::String& GetGrantType() const{ return m_grantType; } inline bool GrantTypeHasBeenSet() const { return m_grantTypeHasBeenSet; } @@ -85,7 +85,7 @@ namespace Model ///@{ /** *

        Used only when calling this API for the Device Code grant type. This - * short-term code is used to identify this authorization request. This comes from + * short-lived code is used to identify this authorization request. This comes from * the result of the StartDeviceAuthorization API.

        */ inline const Aws::String& GetDeviceCode() const{ return m_deviceCode; } @@ -101,8 +101,7 @@ namespace Model ///@{ /** *

        Used only when calling this API for the Authorization Code grant type. The - * short-term code is used to identify this authorization request. This grant type - * is currently unsupported for the CreateToken API.

        + * short-lived code is used to identify this authorization request.

        */ inline const Aws::String& GetCode() const{ return m_code; } inline bool CodeHasBeenSet() const { return m_codeHasBeenSet; } @@ -117,7 +116,7 @@ namespace Model ///@{ /** *

        Used only when calling this API for the Refresh Token grant type. This token - * is used to refresh short-term tokens, such as the access token, that might + * is used to refresh short-lived tokens, such as the access token, that might * expire.

        For more information about the features and limitations of the * current IAM Identity Center OIDC implementation, see Considerations for Using * this Guide in the Used only when calling this API for the Authorization Code grant type. This - * short-term code is used to identify this authorization request. The code is + * short-lived code is used to identify this authorization request. The code is * obtained through a redirect from IAM Identity Center to a redirect URI persisted * in the Authorization Code GrantOptions for the application.

        */ @@ -88,7 +88,7 @@ namespace Model ///@{ /** *

        Used only when calling this API for the Refresh Token grant type. This token - * is used to refresh short-term tokens, such as the access token, that might + * is used to refresh short-lived tokens, such as the access token, that might * expire.

        For more information about the features and limitations of the * current IAM Identity Center OIDC implementation, see Considerations for Using * this Guide in the The list of OAuth 2.0 grant types that are defined by the client. This list - * is used to restrict the token granting flows available to the client.

        + * is used to restrict the token granting flows available to the client. Supports + * the following OAuth 2.0 grant types: Authorization Code, Device Code, and + * Refresh Token.

        * Authorization Code - authorization_code + *

        * Device Code - + * urn:ietf:params:oauth:grant-type:device_code

        * Refresh + * Token - refresh_token

        */ inline const Aws::Vector& GetGrantTypes() const{ return m_grantTypes; } inline bool GrantTypesHasBeenSet() const { return m_grantTypesHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-timestream-influxdb/include/aws/timestream-influxdb/model/UpdateDbInstanceRequest.h b/generated/src/aws-cpp-sdk-timestream-influxdb/include/aws/timestream-influxdb/model/UpdateDbInstanceRequest.h index 7520d91b789..a87bf84a8ff 100644 --- a/generated/src/aws-cpp-sdk-timestream-influxdb/include/aws/timestream-influxdb/model/UpdateDbInstanceRequest.h +++ b/generated/src/aws-cpp-sdk-timestream-influxdb/include/aws/timestream-influxdb/model/UpdateDbInstanceRequest.h @@ -10,6 +10,7 @@ #include #include #include +#include #include namespace Aws @@ -117,6 +118,29 @@ namespace Model inline UpdateDbInstanceRequest& WithDeploymentType(const DeploymentType& value) { SetDeploymentType(value); return *this;} inline UpdateDbInstanceRequest& WithDeploymentType(DeploymentType&& value) { SetDeploymentType(std::move(value)); return *this;} ///@} + + ///@{ + /** + *

        The Timestream for InfluxDB DB storage type that InfluxDB stores data on.

        + */ + inline const DbStorageType& GetDbStorageType() const{ return m_dbStorageType; } + inline bool DbStorageTypeHasBeenSet() const { return m_dbStorageTypeHasBeenSet; } + inline void SetDbStorageType(const DbStorageType& value) { m_dbStorageTypeHasBeenSet = true; m_dbStorageType = value; } + inline void SetDbStorageType(DbStorageType&& value) { m_dbStorageTypeHasBeenSet = true; m_dbStorageType = std::move(value); } + inline UpdateDbInstanceRequest& WithDbStorageType(const DbStorageType& value) { SetDbStorageType(value); return *this;} + inline UpdateDbInstanceRequest& WithDbStorageType(DbStorageType&& value) { SetDbStorageType(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        The amount of storage to allocate for your DB storage type (in + * gibibytes).

        + */ + inline int GetAllocatedStorage() const{ return m_allocatedStorage; } + inline bool AllocatedStorageHasBeenSet() const { return m_allocatedStorageHasBeenSet; } + inline void SetAllocatedStorage(int value) { m_allocatedStorageHasBeenSet = true; m_allocatedStorage = value; } + inline UpdateDbInstanceRequest& WithAllocatedStorage(int value) { SetAllocatedStorage(value); return *this;} + ///@} private: Aws::String m_identifier; @@ -136,6 +160,12 @@ namespace Model DeploymentType m_deploymentType; bool m_deploymentTypeHasBeenSet = false; + + DbStorageType m_dbStorageType; + bool m_dbStorageTypeHasBeenSet = false; + + int m_allocatedStorage; + bool m_allocatedStorageHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-timestream-influxdb/source/model/UpdateDbInstanceRequest.cpp b/generated/src/aws-cpp-sdk-timestream-influxdb/source/model/UpdateDbInstanceRequest.cpp index 7eec43a38e6..c6f0f09f6e8 100644 --- a/generated/src/aws-cpp-sdk-timestream-influxdb/source/model/UpdateDbInstanceRequest.cpp +++ b/generated/src/aws-cpp-sdk-timestream-influxdb/source/model/UpdateDbInstanceRequest.cpp @@ -21,7 +21,11 @@ UpdateDbInstanceRequest::UpdateDbInstanceRequest() : m_dbInstanceType(DbInstanceType::NOT_SET), m_dbInstanceTypeHasBeenSet(false), m_deploymentType(DeploymentType::NOT_SET), - m_deploymentTypeHasBeenSet(false) + m_deploymentTypeHasBeenSet(false), + m_dbStorageType(DbStorageType::NOT_SET), + m_dbStorageTypeHasBeenSet(false), + m_allocatedStorage(0), + m_allocatedStorageHasBeenSet(false) { } @@ -63,6 +67,17 @@ Aws::String UpdateDbInstanceRequest::SerializePayload() const payload.WithString("deploymentType", DeploymentTypeMapper::GetNameForDeploymentType(m_deploymentType)); } + if(m_dbStorageTypeHasBeenSet) + { + payload.WithString("dbStorageType", DbStorageTypeMapper::GetNameForDbStorageType(m_dbStorageType)); + } + + if(m_allocatedStorageHasBeenSet) + { + payload.WithInteger("allocatedStorage", m_allocatedStorage); + + } + return payload.View().WriteReadable(); } diff --git a/generated/src/aws-cpp-sdk-transcribestreaming/include/aws/transcribestreaming/TranscribeStreamingServiceClient.h b/generated/src/aws-cpp-sdk-transcribestreaming/include/aws/transcribestreaming/TranscribeStreamingServiceClient.h index 329798c853a..ed31da78e82 100644 --- a/generated/src/aws-cpp-sdk-transcribestreaming/include/aws/transcribestreaming/TranscribeStreamingServiceClient.h +++ b/generated/src/aws-cpp-sdk-transcribestreaming/include/aws/transcribestreaming/TranscribeStreamingServiceClient.h @@ -16,16 +16,20 @@ namespace Aws namespace TranscribeStreamingService { /** - *

        Amazon Transcribe streaming offers three main types of real-time - * transcription: Standard, Medical, and Call Analytics.

        - *
        • Standard transcriptions are the most common option. Refer - * to for details.

        • Medical transcriptions are tailored to - * medical professionals and incorporate medical terms. A common use case for this - * service is transcribing doctor-patient dialogue in real time, so doctors can - * focus on their patient instead of taking notes. Refer to for details.

        • - *
        • Call Analytics transcriptions are designed for use with call - * center audio on two different channels; if you're looking for insight into - * customer service calls, use this option. Refer to for details.

        + *

        Amazon Transcribe streaming offers four main types of real-time + * transcription: Standard, Medical, Call Analytics, and + * Health Scribe.

        • Standard transcriptions are the + * most common option. Refer to for details.

        • Medical + * transcriptions are tailored to medical professionals and incorporate medical + * terms. A common use case for this service is transcribing doctor-patient + * dialogue in real time, so doctors can focus on their patient instead of taking + * notes. Refer to for details.

        • Call Analytics + * transcriptions are designed for use with call center audio on two different + * channels; if you're looking for insight into customer service calls, use this + * option. Refer to for details.

        • HealthScribe + * transcriptions are designed to automatically create clinical notes from + * patient-clinician conversations using generative AI. Refer to [here] for + * details.

        */ class AWS_TRANSCRIBESTREAMINGSERVICE_API TranscribeStreamingServiceClient : public Aws::Client::AWSJsonClient, public Aws::Client::ClientWithAsyncTemplateMethods { @@ -85,6 +89,36 @@ namespace TranscribeStreamingService /* End of legacy constructors due deprecation */ virtual ~TranscribeStreamingServiceClient(); + /** + *

        Provides details about the specified Amazon Web Services HealthScribe + * streaming session. To view the status of the streaming session, check the + * StreamStatus field in the response. To get the details of + * post-stream analytics, including its status, check the + * PostStreamAnalyticsResult field in the response.

        See + * Also:

        AWS + * API Reference

        + */ + virtual Model::GetMedicalScribeStreamOutcome GetMedicalScribeStream(const Model::GetMedicalScribeStreamRequest& request) const; + + /** + * A Callable wrapper for GetMedicalScribeStream that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::GetMedicalScribeStreamOutcomeCallable GetMedicalScribeStreamCallable(const GetMedicalScribeStreamRequestT& request) const + { + return SubmitCallable(&TranscribeStreamingServiceClient::GetMedicalScribeStream, request); + } + + /** + * An Async wrapper for GetMedicalScribeStream that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void GetMedicalScribeStreamAsync(const GetMedicalScribeStreamRequestT& request, const GetMedicalScribeStreamResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&TranscribeStreamingServiceClient::GetMedicalScribeStream, request, handler, context); + } + /** *

        Starts a bidirectional HTTP/2 or WebSocket stream where audio is streamed to * Amazon Transcribe and the transcription results are streamed to your @@ -108,6 +142,45 @@ namespace TranscribeStreamingService const StartCallAnalyticsStreamTranscriptionResponseReceivedHandler& handler, const std::shared_ptr& handlerContext = nullptr) const; + /** + *

        Starts a bidirectional HTTP/2 stream, where audio is streamed to Amazon Web + * Services HealthScribe and the transcription results are streamed to your + * application.

        When you start a stream, you first specify the stream + * configuration in a MedicalScribeConfigurationEvent. This event + * includes channel definitions, encryption settings, and post-stream analytics + * settings, such as the output configuration for aggregated transcript and + * clinical note generation. These are additional streaming session configurations + * beyond those provided in your initial start request headers. Whether you are + * starting a new session or resuming an existing session, your first event must be + * a MedicalScribeConfigurationEvent.

        After you send a + * MedicalScribeConfigurationEvent, you start AudioEvents + * and Amazon Web Services HealthScribe responds with real-time transcription + * results. When you are finished, to start processing the results with the + * post-stream analytics, send a MedicalScribeSessionControlEvent with + * a Type of END_OF_SESSION and Amazon Web Services + * HealthScribe starts the analytics.

        You can pause or resume streaming. To + * pause streaming, complete the input stream without sending the + * MedicalScribeSessionControlEvent. To resume streaming, call the + * StartMedicalScribeStream and specify the same SessionId you used to + * start the stream.

        The following parameters are required:

        • + *

          language-code

        • media-encoding + *

        • media-sample-rate-hertz

        + *

        For more information on streaming with Amazon Web Services HealthScribe, see + * Amazon + * Web Services HealthScribe.

        See Also:

        AWS + * API Reference

        + * + * Queues the request into a thread executor. + * The streamReadyHandler is triggered when the stream is ready to be written to. + * The handler is triggered when the request is finished. + */ + virtual void StartMedicalScribeStreamAsync(Model::StartMedicalScribeStreamRequest& request, + const StartMedicalScribeStreamStreamReadyHandler& streamReadyHandler, + const StartMedicalScribeStreamResponseReceivedHandler& handler, + const std::shared_ptr& handlerContext = nullptr) const; + /** *

        Starts a bidirectional HTTP/2 or WebSocket stream where audio is streamed to * Amazon Transcribe Medical and the transcription results are streamed to your diff --git a/generated/src/aws-cpp-sdk-transcribestreaming/include/aws/transcribestreaming/TranscribeStreamingServiceServiceClientModel.h b/generated/src/aws-cpp-sdk-transcribestreaming/include/aws/transcribestreaming/TranscribeStreamingServiceServiceClientModel.h index 7321cc0ace2..a51a95cafaf 100644 --- a/generated/src/aws-cpp-sdk-transcribestreaming/include/aws/transcribestreaming/TranscribeStreamingServiceServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-transcribestreaming/include/aws/transcribestreaming/TranscribeStreamingServiceServiceClientModel.h @@ -18,6 +18,7 @@ /* End of generic header includes */ /* Service model headers required in TranscribeStreamingServiceClient header */ +#include #include /* End of service model headers required in TranscribeStreamingServiceClient header */ @@ -64,8 +65,11 @@ namespace Aws namespace Model { /* Service model forward declarations required in TranscribeStreamingServiceClient header */ + class GetMedicalScribeStreamRequest; class StartCallAnalyticsStreamTranscriptionRequest; class AudioStream; + class StartMedicalScribeStreamRequest; + class MedicalScribeInputStream; class StartMedicalStreamTranscriptionRequest; class AudioStream; class StartStreamTranscriptionRequest; @@ -73,13 +77,17 @@ namespace Aws /* End of service model forward declarations required in TranscribeStreamingServiceClient header */ /* Service model Outcome class definitions */ + typedef Aws::Utils::Outcome GetMedicalScribeStreamOutcome; typedef Aws::Utils::Outcome StartCallAnalyticsStreamTranscriptionOutcome; + typedef Aws::Utils::Outcome StartMedicalScribeStreamOutcome; typedef Aws::Utils::Outcome StartMedicalStreamTranscriptionOutcome; typedef Aws::Utils::Outcome StartStreamTranscriptionOutcome; /* End of service model Outcome class definitions */ /* Service model Outcome callable definitions */ + typedef std::future GetMedicalScribeStreamOutcomeCallable; typedef std::future StartCallAnalyticsStreamTranscriptionOutcomeCallable; + typedef std::future StartMedicalScribeStreamOutcomeCallable; typedef std::future StartMedicalStreamTranscriptionOutcomeCallable; typedef std::future StartStreamTranscriptionOutcomeCallable; /* End of service model Outcome callable definitions */ @@ -88,8 +96,11 @@ namespace Aws class TranscribeStreamingServiceClient; /* Service model async handlers definitions */ + typedef std::function&) > GetMedicalScribeStreamResponseReceivedHandler; typedef std::function StartCallAnalyticsStreamTranscriptionStreamReadyHandler; typedef std::function&) > StartCallAnalyticsStreamTranscriptionResponseReceivedHandler; + typedef std::function StartMedicalScribeStreamStreamReadyHandler; + typedef std::function&) > StartMedicalScribeStreamResponseReceivedHandler; typedef std::function StartMedicalStreamTranscriptionStreamReadyHandler; typedef std::function&) > StartMedicalStreamTranscriptionResponseReceivedHandler; typedef std::function StartStreamTranscriptionStreamReadyHandler; diff --git a/generated/src/aws-cpp-sdk-transcribestreaming/include/aws/transcribestreaming/model/AudioEvent.h b/generated/src/aws-cpp-sdk-transcribestreaming/include/aws/transcribestreaming/model/AudioEvent.h index cd65588d3ae..ff48b2b9398 100644 --- a/generated/src/aws-cpp-sdk-transcribestreaming/include/aws/transcribestreaming/model/AudioEvent.h +++ b/generated/src/aws-cpp-sdk-transcribestreaming/include/aws/transcribestreaming/model/AudioEvent.h @@ -31,8 +31,15 @@ namespace Model ///@{ /** - *

        An audio blob that contains the next part of the audio that you want to - * transcribe. The maximum audio chunk size is 32 KB.

        + *

        An audio blob containing the next segment of audio from your application, + * with a maximum duration of 1 second. The maximum size in bytes varies based on + * audio properties.

        Find recommended size in Transcribing + * streaming best practices.

        Size calculation: Duration (s) * + * Sample Rate (Hz) * Number of Channels * 2 (Bytes per Sample)

        For + * example, a 1-second chunk of 16 kHz, 2-channel, 16-bit audio would be 1 * + * 16000 * 2 * 2 = 64000 bytes.

        For 8 kHz, 1-channel, 16-bit audio, + * a 1-second chunk would be 1 * 8000 * 1 * 2 = 16000 bytes.

        */ inline const Aws::Vector& GetAudioChunk() const { return m_audioChunk; } inline Aws::Vector&& GetAudioChunkWithOwnership() { return std::move(m_audioChunk); } diff --git a/generated/src/aws-cpp-sdk-transcribestreaming/include/aws/transcribestreaming/model/ClinicalNoteGenerationResult.h b/generated/src/aws-cpp-sdk-transcribestreaming/include/aws/transcribestreaming/model/ClinicalNoteGenerationResult.h new file mode 100644 index 00000000000..8b199269094 --- /dev/null +++ b/generated/src/aws-cpp-sdk-transcribestreaming/include/aws/transcribestreaming/model/ClinicalNoteGenerationResult.h @@ -0,0 +1,124 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace TranscribeStreamingService +{ +namespace Model +{ + + /** + *

        The details for clinical note generation, including status, and output + * locations for clinical note and aggregated transcript if the analytics + * completed, or failure reason if the analytics failed.

        See Also:

        + * AWS + * API Reference

        + */ + class ClinicalNoteGenerationResult + { + public: + AWS_TRANSCRIBESTREAMINGSERVICE_API ClinicalNoteGenerationResult(); + AWS_TRANSCRIBESTREAMINGSERVICE_API ClinicalNoteGenerationResult(Aws::Utils::Json::JsonView jsonValue); + AWS_TRANSCRIBESTREAMINGSERVICE_API ClinicalNoteGenerationResult& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_TRANSCRIBESTREAMINGSERVICE_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

        Holds the Amazon S3 URI for the output Clinical Note.

        + */ + inline const Aws::String& GetClinicalNoteOutputLocation() const{ return m_clinicalNoteOutputLocation; } + inline bool ClinicalNoteOutputLocationHasBeenSet() const { return m_clinicalNoteOutputLocationHasBeenSet; } + inline void SetClinicalNoteOutputLocation(const Aws::String& value) { m_clinicalNoteOutputLocationHasBeenSet = true; m_clinicalNoteOutputLocation = value; } + inline void SetClinicalNoteOutputLocation(Aws::String&& value) { m_clinicalNoteOutputLocationHasBeenSet = true; m_clinicalNoteOutputLocation = std::move(value); } + inline void SetClinicalNoteOutputLocation(const char* value) { m_clinicalNoteOutputLocationHasBeenSet = true; m_clinicalNoteOutputLocation.assign(value); } + inline ClinicalNoteGenerationResult& WithClinicalNoteOutputLocation(const Aws::String& value) { SetClinicalNoteOutputLocation(value); return *this;} + inline ClinicalNoteGenerationResult& WithClinicalNoteOutputLocation(Aws::String&& value) { SetClinicalNoteOutputLocation(std::move(value)); return *this;} + inline ClinicalNoteGenerationResult& WithClinicalNoteOutputLocation(const char* value) { SetClinicalNoteOutputLocation(value); return *this;} + ///@} + + ///@{ + /** + *

        Holds the Amazon S3 URI for the output Transcript.

        + */ + inline const Aws::String& GetTranscriptOutputLocation() const{ return m_transcriptOutputLocation; } + inline bool TranscriptOutputLocationHasBeenSet() const { return m_transcriptOutputLocationHasBeenSet; } + inline void SetTranscriptOutputLocation(const Aws::String& value) { m_transcriptOutputLocationHasBeenSet = true; m_transcriptOutputLocation = value; } + inline void SetTranscriptOutputLocation(Aws::String&& value) { m_transcriptOutputLocationHasBeenSet = true; m_transcriptOutputLocation = std::move(value); } + inline void SetTranscriptOutputLocation(const char* value) { m_transcriptOutputLocationHasBeenSet = true; m_transcriptOutputLocation.assign(value); } + inline ClinicalNoteGenerationResult& WithTranscriptOutputLocation(const Aws::String& value) { SetTranscriptOutputLocation(value); return *this;} + inline ClinicalNoteGenerationResult& WithTranscriptOutputLocation(Aws::String&& value) { SetTranscriptOutputLocation(std::move(value)); return *this;} + inline ClinicalNoteGenerationResult& WithTranscriptOutputLocation(const char* value) { SetTranscriptOutputLocation(value); return *this;} + ///@} + + ///@{ + /** + *

        The status of the clinical note generation.

        Possible Values:

          + *
        • IN_PROGRESS

        • FAILED

          + *
        • COMPLETED

        After audio streaming + * finishes, and you send a MedicalScribeSessionControlEvent event + * (with END_OF_SESSION as the Type), the status is set to + * IN_PROGRESS. If the status is COMPLETED, the analytics + * completed successfully, and you can find the results at the locations specified + * in ClinicalNoteOutputLocation and + * TranscriptOutputLocation. If the status is FAILED, + * FailureReason provides details about the failure.

        + */ + inline const ClinicalNoteGenerationStatus& GetStatus() const{ return m_status; } + inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } + inline void SetStatus(const ClinicalNoteGenerationStatus& value) { m_statusHasBeenSet = true; m_status = value; } + inline void SetStatus(ClinicalNoteGenerationStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } + inline ClinicalNoteGenerationResult& WithStatus(const ClinicalNoteGenerationStatus& value) { SetStatus(value); return *this;} + inline ClinicalNoteGenerationResult& WithStatus(ClinicalNoteGenerationStatus&& value) { SetStatus(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        If ClinicalNoteGenerationResult is FAILED, + * information about why it failed.

        + */ + inline const Aws::String& GetFailureReason() const{ return m_failureReason; } + inline bool FailureReasonHasBeenSet() const { return m_failureReasonHasBeenSet; } + inline void SetFailureReason(const Aws::String& value) { m_failureReasonHasBeenSet = true; m_failureReason = value; } + inline void SetFailureReason(Aws::String&& value) { m_failureReasonHasBeenSet = true; m_failureReason = std::move(value); } + inline void SetFailureReason(const char* value) { m_failureReasonHasBeenSet = true; m_failureReason.assign(value); } + inline ClinicalNoteGenerationResult& WithFailureReason(const Aws::String& value) { SetFailureReason(value); return *this;} + inline ClinicalNoteGenerationResult& WithFailureReason(Aws::String&& value) { SetFailureReason(std::move(value)); return *this;} + inline ClinicalNoteGenerationResult& WithFailureReason(const char* value) { SetFailureReason(value); return *this;} + ///@} + private: + + Aws::String m_clinicalNoteOutputLocation; + bool m_clinicalNoteOutputLocationHasBeenSet = false; + + Aws::String m_transcriptOutputLocation; + bool m_transcriptOutputLocationHasBeenSet = false; + + ClinicalNoteGenerationStatus m_status; + bool m_statusHasBeenSet = false; + + Aws::String m_failureReason; + bool m_failureReasonHasBeenSet = false; + }; + +} // namespace Model +} // namespace TranscribeStreamingService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-transcribestreaming/include/aws/transcribestreaming/model/ClinicalNoteGenerationSettings.h b/generated/src/aws-cpp-sdk-transcribestreaming/include/aws/transcribestreaming/model/ClinicalNoteGenerationSettings.h new file mode 100644 index 00000000000..e872ee82d97 --- /dev/null +++ b/generated/src/aws-cpp-sdk-transcribestreaming/include/aws/transcribestreaming/model/ClinicalNoteGenerationSettings.h @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace TranscribeStreamingService +{ +namespace Model +{ + + /** + *

        The output configuration for aggregated transcript and clinical note + * generation.

        See Also:

        AWS + * API Reference

        + */ + class ClinicalNoteGenerationSettings + { + public: + AWS_TRANSCRIBESTREAMINGSERVICE_API ClinicalNoteGenerationSettings(); + AWS_TRANSCRIBESTREAMINGSERVICE_API ClinicalNoteGenerationSettings(Aws::Utils::Json::JsonView jsonValue); + AWS_TRANSCRIBESTREAMINGSERVICE_API ClinicalNoteGenerationSettings& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_TRANSCRIBESTREAMINGSERVICE_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

        The name of the Amazon S3 bucket where you want the output of Amazon Web + * Services HealthScribe post-stream analytics stored. Don't include the + * S3:// prefix of the specified bucket.

        HealthScribe outputs + * transcript and clinical note files under the prefix: + * S3://$output-bucket-name/healthscribe-streaming/session-id/post-stream-analytics/clinical-notes + *

        The role ResourceAccessRoleArn specified in the + * MedicalScribeConfigurationEvent must have permission to use the + * specified location. You can change Amazon S3 permissions using the Amazon Web Services Management Console + * . See also Permissions + * Required for IAM User Roles .

        + */ + inline const Aws::String& GetOutputBucketName() const{ return m_outputBucketName; } + inline bool OutputBucketNameHasBeenSet() const { return m_outputBucketNameHasBeenSet; } + inline void SetOutputBucketName(const Aws::String& value) { m_outputBucketNameHasBeenSet = true; m_outputBucketName = value; } + inline void SetOutputBucketName(Aws::String&& value) { m_outputBucketNameHasBeenSet = true; m_outputBucketName = std::move(value); } + inline void SetOutputBucketName(const char* value) { m_outputBucketNameHasBeenSet = true; m_outputBucketName.assign(value); } + inline ClinicalNoteGenerationSettings& WithOutputBucketName(const Aws::String& value) { SetOutputBucketName(value); return *this;} + inline ClinicalNoteGenerationSettings& WithOutputBucketName(Aws::String&& value) { SetOutputBucketName(std::move(value)); return *this;} + inline ClinicalNoteGenerationSettings& WithOutputBucketName(const char* value) { SetOutputBucketName(value); return *this;} + ///@} + private: + + Aws::String m_outputBucketName; + bool m_outputBucketNameHasBeenSet = false; + }; + +} // namespace Model +} // namespace TranscribeStreamingService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-transcribestreaming/include/aws/transcribestreaming/model/ClinicalNoteGenerationStatus.h b/generated/src/aws-cpp-sdk-transcribestreaming/include/aws/transcribestreaming/model/ClinicalNoteGenerationStatus.h new file mode 100644 index 00000000000..94e1fa1d054 --- /dev/null +++ b/generated/src/aws-cpp-sdk-transcribestreaming/include/aws/transcribestreaming/model/ClinicalNoteGenerationStatus.h @@ -0,0 +1,32 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace TranscribeStreamingService +{ +namespace Model +{ + enum class ClinicalNoteGenerationStatus + { + NOT_SET, + IN_PROGRESS, + FAILED, + COMPLETED + }; + +namespace ClinicalNoteGenerationStatusMapper +{ +AWS_TRANSCRIBESTREAMINGSERVICE_API ClinicalNoteGenerationStatus GetClinicalNoteGenerationStatusForName(const Aws::String& name); + +AWS_TRANSCRIBESTREAMINGSERVICE_API Aws::String GetNameForClinicalNoteGenerationStatus(ClinicalNoteGenerationStatus value); +} // namespace ClinicalNoteGenerationStatusMapper +} // namespace Model +} // namespace TranscribeStreamingService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-transcribestreaming/include/aws/transcribestreaming/model/GetMedicalScribeStreamRequest.h b/generated/src/aws-cpp-sdk-transcribestreaming/include/aws/transcribestreaming/model/GetMedicalScribeStreamRequest.h new file mode 100644 index 00000000000..79c55256379 --- /dev/null +++ b/generated/src/aws-cpp-sdk-transcribestreaming/include/aws/transcribestreaming/model/GetMedicalScribeStreamRequest.h @@ -0,0 +1,57 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace TranscribeStreamingService +{ +namespace Model +{ + + /** + */ + class GetMedicalScribeStreamRequest : public TranscribeStreamingServiceRequest + { + public: + AWS_TRANSCRIBESTREAMINGSERVICE_API GetMedicalScribeStreamRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "GetMedicalScribeStream"; } + + AWS_TRANSCRIBESTREAMINGSERVICE_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

        The identifier of the HealthScribe streaming session you want information + * about.

        + */ + inline const Aws::String& GetSessionId() const{ return m_sessionId; } + inline bool SessionIdHasBeenSet() const { return m_sessionIdHasBeenSet; } + inline void SetSessionId(const Aws::String& value) { m_sessionIdHasBeenSet = true; m_sessionId = value; } + inline void SetSessionId(Aws::String&& value) { m_sessionIdHasBeenSet = true; m_sessionId = std::move(value); } + inline void SetSessionId(const char* value) { m_sessionIdHasBeenSet = true; m_sessionId.assign(value); } + inline GetMedicalScribeStreamRequest& WithSessionId(const Aws::String& value) { SetSessionId(value); return *this;} + inline GetMedicalScribeStreamRequest& WithSessionId(Aws::String&& value) { SetSessionId(std::move(value)); return *this;} + inline GetMedicalScribeStreamRequest& WithSessionId(const char* value) { SetSessionId(value); return *this;} + ///@} + private: + + Aws::String m_sessionId; + bool m_sessionIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace TranscribeStreamingService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-transcribestreaming/include/aws/transcribestreaming/model/GetMedicalScribeStreamResult.h b/generated/src/aws-cpp-sdk-transcribestreaming/include/aws/transcribestreaming/model/GetMedicalScribeStreamResult.h new file mode 100644 index 00000000000..ab6037c677c --- /dev/null +++ b/generated/src/aws-cpp-sdk-transcribestreaming/include/aws/transcribestreaming/model/GetMedicalScribeStreamResult.h @@ -0,0 +1,66 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace TranscribeStreamingService +{ +namespace Model +{ + class GetMedicalScribeStreamResult + { + public: + AWS_TRANSCRIBESTREAMINGSERVICE_API GetMedicalScribeStreamResult(); + AWS_TRANSCRIBESTREAMINGSERVICE_API GetMedicalScribeStreamResult(const Aws::AmazonWebServiceResult& result); + AWS_TRANSCRIBESTREAMINGSERVICE_API GetMedicalScribeStreamResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

        Provides details about a HealthScribe streaming session.

        + */ + inline const MedicalScribeStreamDetails& GetMedicalScribeStreamDetails() const{ return m_medicalScribeStreamDetails; } + inline void SetMedicalScribeStreamDetails(const MedicalScribeStreamDetails& value) { m_medicalScribeStreamDetails = value; } + inline void SetMedicalScribeStreamDetails(MedicalScribeStreamDetails&& value) { m_medicalScribeStreamDetails = std::move(value); } + inline GetMedicalScribeStreamResult& WithMedicalScribeStreamDetails(const MedicalScribeStreamDetails& value) { SetMedicalScribeStreamDetails(value); return *this;} + inline GetMedicalScribeStreamResult& WithMedicalScribeStreamDetails(MedicalScribeStreamDetails&& value) { SetMedicalScribeStreamDetails(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline GetMedicalScribeStreamResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline GetMedicalScribeStreamResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline GetMedicalScribeStreamResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + MedicalScribeStreamDetails m_medicalScribeStreamDetails; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace TranscribeStreamingService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-transcribestreaming/include/aws/transcribestreaming/model/MedicalScribeAudioEvent.h b/generated/src/aws-cpp-sdk-transcribestreaming/include/aws/transcribestreaming/model/MedicalScribeAudioEvent.h new file mode 100644 index 00000000000..61868bfd774 --- /dev/null +++ b/generated/src/aws-cpp-sdk-transcribestreaming/include/aws/transcribestreaming/model/MedicalScribeAudioEvent.h @@ -0,0 +1,58 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace TranscribeStreamingService +{ +namespace Model +{ + /** + *

        A wrapper for your audio chunks

        For more information, see Event + * stream encoding.

        See Also:

        AWS + * API Reference

        + */ + class MedicalScribeAudioEvent + { + public: + AWS_TRANSCRIBESTREAMINGSERVICE_API MedicalScribeAudioEvent() = default; + AWS_TRANSCRIBESTREAMINGSERVICE_API MedicalScribeAudioEvent(Aws::Vector&& value) { m_audioChunk = std::move(value); } + + ///@{ + /** + *

        An audio blob containing the next segment of audio from your application, + * with a maximum duration of 1 second. The maximum size in bytes varies based on + * audio properties.

        Find recommended size in Transcribing + * streaming best practices.

        Size calculation: Duration (s) * + * Sample Rate (Hz) * Number of Channels * 2 (Bytes per Sample)

        For + * example, a 1-second chunk of 16 kHz, 2-channel, 16-bit audio would be 1 * + * 16000 * 2 * 2 = 64000 bytes.

        For 8 kHz, 1-channel, 16-bit audio, + * a 1-second chunk would be 1 * 8000 * 1 * 2 = 16000 bytes.

        + */ + inline const Aws::Vector& GetAudioChunk() const { return m_audioChunk; } + inline Aws::Vector&& GetAudioChunkWithOwnership() { return std::move(m_audioChunk); } + inline void SetAudioChunk(const Aws::Vector& value) { m_audioChunkHasBeenSet = true; m_audioChunk = value; } + inline void SetAudioChunk(Aws::Vector&& value) { m_audioChunkHasBeenSet = true; m_audioChunk = std::move(value); } + inline MedicalScribeAudioEvent& WithAudioChunk(const Aws::Vector& value) { SetAudioChunk(value); return *this;} + inline MedicalScribeAudioEvent& WithAudioChunk(Aws::Vector&& value) { SetAudioChunk(std::move(value)); return *this;} + ///@} + + private: + + Aws::Vector m_audioChunk; + bool m_audioChunkHasBeenSet = false; + }; + +} // namespace Model +} // namespace TranscribeStreamingService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-transcribestreaming/include/aws/transcribestreaming/model/MedicalScribeChannelDefinition.h b/generated/src/aws-cpp-sdk-transcribestreaming/include/aws/transcribestreaming/model/MedicalScribeChannelDefinition.h new file mode 100644 index 00000000000..dba7d8528b9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-transcribestreaming/include/aws/transcribestreaming/model/MedicalScribeChannelDefinition.h @@ -0,0 +1,83 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace TranscribeStreamingService +{ +namespace Model +{ + + /** + *

        Makes it possible to specify which speaker is on which channel. For example, + * if the clinician is the first participant to speak, you would set the + * ChannelId of the first ChannelDefinition in the list + * to 0 (to indicate the first channel) and + * ParticipantRole to CLINICIAN (to indicate that it's + * the clinician speaking). Then you would set the ChannelId of the + * second ChannelDefinition in the list to 1 (to indicate + * the second channel) and ParticipantRole to PATIENT (to + * indicate that it's the patient speaking).

        If you don't specify a channel + * definition, HealthScribe will diarize the transcription and identify speaker + * roles for each speaker.

        See Also:

        AWS + * API Reference

        + */ + class MedicalScribeChannelDefinition + { + public: + AWS_TRANSCRIBESTREAMINGSERVICE_API MedicalScribeChannelDefinition(); + AWS_TRANSCRIBESTREAMINGSERVICE_API MedicalScribeChannelDefinition(Aws::Utils::Json::JsonView jsonValue); + AWS_TRANSCRIBESTREAMINGSERVICE_API MedicalScribeChannelDefinition& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_TRANSCRIBESTREAMINGSERVICE_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

        Specify the audio channel you want to define.

        + */ + inline int GetChannelId() const{ return m_channelId; } + inline bool ChannelIdHasBeenSet() const { return m_channelIdHasBeenSet; } + inline void SetChannelId(int value) { m_channelIdHasBeenSet = true; m_channelId = value; } + inline MedicalScribeChannelDefinition& WithChannelId(int value) { SetChannelId(value); return *this;} + ///@} + + ///@{ + /** + *

        Specify the participant that you want to flag. The allowed options are + * CLINICIAN and PATIENT.

        + */ + inline const MedicalScribeParticipantRole& GetParticipantRole() const{ return m_participantRole; } + inline bool ParticipantRoleHasBeenSet() const { return m_participantRoleHasBeenSet; } + inline void SetParticipantRole(const MedicalScribeParticipantRole& value) { m_participantRoleHasBeenSet = true; m_participantRole = value; } + inline void SetParticipantRole(MedicalScribeParticipantRole&& value) { m_participantRoleHasBeenSet = true; m_participantRole = std::move(value); } + inline MedicalScribeChannelDefinition& WithParticipantRole(const MedicalScribeParticipantRole& value) { SetParticipantRole(value); return *this;} + inline MedicalScribeChannelDefinition& WithParticipantRole(MedicalScribeParticipantRole&& value) { SetParticipantRole(std::move(value)); return *this;} + ///@} + private: + + int m_channelId; + bool m_channelIdHasBeenSet = false; + + MedicalScribeParticipantRole m_participantRole; + bool m_participantRoleHasBeenSet = false; + }; + +} // namespace Model +} // namespace TranscribeStreamingService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-transcribestreaming/include/aws/transcribestreaming/model/MedicalScribeConfigurationEvent.h b/generated/src/aws-cpp-sdk-transcribestreaming/include/aws/transcribestreaming/model/MedicalScribeConfigurationEvent.h new file mode 100644 index 00000000000..742f30b66a8 --- /dev/null +++ b/generated/src/aws-cpp-sdk-transcribestreaming/include/aws/transcribestreaming/model/MedicalScribeConfigurationEvent.h @@ -0,0 +1,184 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace TranscribeStreamingService +{ +namespace Model +{ + + /** + *

        Specify details to configure the streaming session, including channel + * definitions, encryption settings, post-stream analytics settings, resource + * access role ARN and vocabulary settings.

        Whether you are starting a new + * session or resuming an existing session, your first event must be a + * MedicalScribeConfigurationEvent. If you are resuming a session, + * then this event must have the same configurations that you provided to start the + * session.

        See Also:

        AWS + * API Reference

        + */ + class MedicalScribeConfigurationEvent + { + public: + AWS_TRANSCRIBESTREAMINGSERVICE_API MedicalScribeConfigurationEvent(); + AWS_TRANSCRIBESTREAMINGSERVICE_API MedicalScribeConfigurationEvent(Aws::Utils::Json::JsonView jsonValue); + AWS_TRANSCRIBESTREAMINGSERVICE_API MedicalScribeConfigurationEvent& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_TRANSCRIBESTREAMINGSERVICE_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

        Specify the name of the custom vocabulary you want to use for your streaming + * session. Custom vocabulary names are case-sensitive.

        + */ + inline const Aws::String& GetVocabularyName() const{ return m_vocabularyName; } + inline bool VocabularyNameHasBeenSet() const { return m_vocabularyNameHasBeenSet; } + inline void SetVocabularyName(const Aws::String& value) { m_vocabularyNameHasBeenSet = true; m_vocabularyName = value; } + inline void SetVocabularyName(Aws::String&& value) { m_vocabularyNameHasBeenSet = true; m_vocabularyName = std::move(value); } + inline void SetVocabularyName(const char* value) { m_vocabularyNameHasBeenSet = true; m_vocabularyName.assign(value); } + inline MedicalScribeConfigurationEvent& WithVocabularyName(const Aws::String& value) { SetVocabularyName(value); return *this;} + inline MedicalScribeConfigurationEvent& WithVocabularyName(Aws::String&& value) { SetVocabularyName(std::move(value)); return *this;} + inline MedicalScribeConfigurationEvent& WithVocabularyName(const char* value) { SetVocabularyName(value); return *this;} + ///@} + + ///@{ + /** + *

        Specify the name of the custom vocabulary filter you want to include in your + * streaming session. Custom vocabulary filter names are case-sensitive.

        If + * you include VocabularyFilterName in the + * MedicalScribeConfigurationEvent, you must also include + * VocabularyFilterMethod.

        + */ + inline const Aws::String& GetVocabularyFilterName() const{ return m_vocabularyFilterName; } + inline bool VocabularyFilterNameHasBeenSet() const { return m_vocabularyFilterNameHasBeenSet; } + inline void SetVocabularyFilterName(const Aws::String& value) { m_vocabularyFilterNameHasBeenSet = true; m_vocabularyFilterName = value; } + inline void SetVocabularyFilterName(Aws::String&& value) { m_vocabularyFilterNameHasBeenSet = true; m_vocabularyFilterName = std::move(value); } + inline void SetVocabularyFilterName(const char* value) { m_vocabularyFilterNameHasBeenSet = true; m_vocabularyFilterName.assign(value); } + inline MedicalScribeConfigurationEvent& WithVocabularyFilterName(const Aws::String& value) { SetVocabularyFilterName(value); return *this;} + inline MedicalScribeConfigurationEvent& WithVocabularyFilterName(Aws::String&& value) { SetVocabularyFilterName(std::move(value)); return *this;} + inline MedicalScribeConfigurationEvent& WithVocabularyFilterName(const char* value) { SetVocabularyFilterName(value); return *this;} + ///@} + + ///@{ + /** + *

        Specify how you want your custom vocabulary filter applied to the streaming + * session.

        To replace words with ***, specify + * mask.

        To delete words, specify remove.

        + *

        To flag words without changing them, specify tag.

        + */ + inline const MedicalScribeVocabularyFilterMethod& GetVocabularyFilterMethod() const{ return m_vocabularyFilterMethod; } + inline bool VocabularyFilterMethodHasBeenSet() const { return m_vocabularyFilterMethodHasBeenSet; } + inline void SetVocabularyFilterMethod(const MedicalScribeVocabularyFilterMethod& value) { m_vocabularyFilterMethodHasBeenSet = true; m_vocabularyFilterMethod = value; } + inline void SetVocabularyFilterMethod(MedicalScribeVocabularyFilterMethod&& value) { m_vocabularyFilterMethodHasBeenSet = true; m_vocabularyFilterMethod = std::move(value); } + inline MedicalScribeConfigurationEvent& WithVocabularyFilterMethod(const MedicalScribeVocabularyFilterMethod& value) { SetVocabularyFilterMethod(value); return *this;} + inline MedicalScribeConfigurationEvent& WithVocabularyFilterMethod(MedicalScribeVocabularyFilterMethod&& value) { SetVocabularyFilterMethod(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        The Amazon Resource Name (ARN) of an IAM role that has permissions to access + * the Amazon S3 output bucket you specified, and use your KMS key if supplied. If + * the role that you specify doesn’t have the appropriate permissions, your request + * fails.

        IAM role ARNs have the format + * arn:partition:iam::account:role/role-name-with-path. For example: + * arn:aws:iam::111122223333:role/Admin.

        For more information, + * see Amazon + * Web Services HealthScribe.

        + */ + inline const Aws::String& GetResourceAccessRoleArn() const{ return m_resourceAccessRoleArn; } + inline bool ResourceAccessRoleArnHasBeenSet() const { return m_resourceAccessRoleArnHasBeenSet; } + inline void SetResourceAccessRoleArn(const Aws::String& value) { m_resourceAccessRoleArnHasBeenSet = true; m_resourceAccessRoleArn = value; } + inline void SetResourceAccessRoleArn(Aws::String&& value) { m_resourceAccessRoleArnHasBeenSet = true; m_resourceAccessRoleArn = std::move(value); } + inline void SetResourceAccessRoleArn(const char* value) { m_resourceAccessRoleArnHasBeenSet = true; m_resourceAccessRoleArn.assign(value); } + inline MedicalScribeConfigurationEvent& WithResourceAccessRoleArn(const Aws::String& value) { SetResourceAccessRoleArn(value); return *this;} + inline MedicalScribeConfigurationEvent& WithResourceAccessRoleArn(Aws::String&& value) { SetResourceAccessRoleArn(std::move(value)); return *this;} + inline MedicalScribeConfigurationEvent& WithResourceAccessRoleArn(const char* value) { SetResourceAccessRoleArn(value); return *this;} + ///@} + + ///@{ + /** + *

        Specify which speaker is on which audio channel.

        + */ + inline const Aws::Vector& GetChannelDefinitions() const{ return m_channelDefinitions; } + inline bool ChannelDefinitionsHasBeenSet() const { return m_channelDefinitionsHasBeenSet; } + inline void SetChannelDefinitions(const Aws::Vector& value) { m_channelDefinitionsHasBeenSet = true; m_channelDefinitions = value; } + inline void SetChannelDefinitions(Aws::Vector&& value) { m_channelDefinitionsHasBeenSet = true; m_channelDefinitions = std::move(value); } + inline MedicalScribeConfigurationEvent& WithChannelDefinitions(const Aws::Vector& value) { SetChannelDefinitions(value); return *this;} + inline MedicalScribeConfigurationEvent& WithChannelDefinitions(Aws::Vector&& value) { SetChannelDefinitions(std::move(value)); return *this;} + inline MedicalScribeConfigurationEvent& AddChannelDefinitions(const MedicalScribeChannelDefinition& value) { m_channelDefinitionsHasBeenSet = true; m_channelDefinitions.push_back(value); return *this; } + inline MedicalScribeConfigurationEvent& AddChannelDefinitions(MedicalScribeChannelDefinition&& value) { m_channelDefinitionsHasBeenSet = true; m_channelDefinitions.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

        Specify the encryption settings for your streaming session.

        + */ + inline const MedicalScribeEncryptionSettings& GetEncryptionSettings() const{ return m_encryptionSettings; } + inline bool EncryptionSettingsHasBeenSet() const { return m_encryptionSettingsHasBeenSet; } + inline void SetEncryptionSettings(const MedicalScribeEncryptionSettings& value) { m_encryptionSettingsHasBeenSet = true; m_encryptionSettings = value; } + inline void SetEncryptionSettings(MedicalScribeEncryptionSettings&& value) { m_encryptionSettingsHasBeenSet = true; m_encryptionSettings = std::move(value); } + inline MedicalScribeConfigurationEvent& WithEncryptionSettings(const MedicalScribeEncryptionSettings& value) { SetEncryptionSettings(value); return *this;} + inline MedicalScribeConfigurationEvent& WithEncryptionSettings(MedicalScribeEncryptionSettings&& value) { SetEncryptionSettings(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        Specify settings for post-stream analytics.

        + */ + inline const MedicalScribePostStreamAnalyticsSettings& GetPostStreamAnalyticsSettings() const{ return m_postStreamAnalyticsSettings; } + inline bool PostStreamAnalyticsSettingsHasBeenSet() const { return m_postStreamAnalyticsSettingsHasBeenSet; } + inline void SetPostStreamAnalyticsSettings(const MedicalScribePostStreamAnalyticsSettings& value) { m_postStreamAnalyticsSettingsHasBeenSet = true; m_postStreamAnalyticsSettings = value; } + inline void SetPostStreamAnalyticsSettings(MedicalScribePostStreamAnalyticsSettings&& value) { m_postStreamAnalyticsSettingsHasBeenSet = true; m_postStreamAnalyticsSettings = std::move(value); } + inline MedicalScribeConfigurationEvent& WithPostStreamAnalyticsSettings(const MedicalScribePostStreamAnalyticsSettings& value) { SetPostStreamAnalyticsSettings(value); return *this;} + inline MedicalScribeConfigurationEvent& WithPostStreamAnalyticsSettings(MedicalScribePostStreamAnalyticsSettings&& value) { SetPostStreamAnalyticsSettings(std::move(value)); return *this;} + ///@} + private: + + Aws::String m_vocabularyName; + bool m_vocabularyNameHasBeenSet = false; + + Aws::String m_vocabularyFilterName; + bool m_vocabularyFilterNameHasBeenSet = false; + + MedicalScribeVocabularyFilterMethod m_vocabularyFilterMethod; + bool m_vocabularyFilterMethodHasBeenSet = false; + + Aws::String m_resourceAccessRoleArn; + bool m_resourceAccessRoleArnHasBeenSet = false; + + Aws::Vector m_channelDefinitions; + bool m_channelDefinitionsHasBeenSet = false; + + MedicalScribeEncryptionSettings m_encryptionSettings; + bool m_encryptionSettingsHasBeenSet = false; + + MedicalScribePostStreamAnalyticsSettings m_postStreamAnalyticsSettings; + bool m_postStreamAnalyticsSettingsHasBeenSet = false; + }; + +} // namespace Model +} // namespace TranscribeStreamingService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-transcribestreaming/include/aws/transcribestreaming/model/MedicalScribeEncryptionSettings.h b/generated/src/aws-cpp-sdk-transcribestreaming/include/aws/transcribestreaming/model/MedicalScribeEncryptionSettings.h new file mode 100644 index 00000000000..9e4ca08a1aa --- /dev/null +++ b/generated/src/aws-cpp-sdk-transcribestreaming/include/aws/transcribestreaming/model/MedicalScribeEncryptionSettings.h @@ -0,0 +1,115 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace TranscribeStreamingService +{ +namespace Model +{ + + /** + *

        Contains encryption related settings to be used for data encryption with Key + * Management Service, including KmsEncryptionContext and KmsKeyId. The KmsKeyId is + * required, while KmsEncryptionContext is optional for additional layer of + * security.

        By default, Amazon Web Services HealthScribe provides + * encryption at rest to protect sensitive customer data using Amazon S3-managed + * keys. HealthScribe uses the KMS key you specify as a second layer of + * encryption.

        Your ResourceAccessRoleArn must permission to + * use your KMS key. For more information, see Data + * Encryption at rest for Amazon Web Services HealthScribe.

        See + * Also:

        AWS + * API Reference

        + */ + class MedicalScribeEncryptionSettings + { + public: + AWS_TRANSCRIBESTREAMINGSERVICE_API MedicalScribeEncryptionSettings(); + AWS_TRANSCRIBESTREAMINGSERVICE_API MedicalScribeEncryptionSettings(Aws::Utils::Json::JsonView jsonValue); + AWS_TRANSCRIBESTREAMINGSERVICE_API MedicalScribeEncryptionSettings& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_TRANSCRIBESTREAMINGSERVICE_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

        A map of plain text, non-secret key:value pairs, known as encryption context + * pairs, that provide an added layer of security for your data. For more + * information, see KMSencryption + * context and Asymmetric + * keys in KMS .

        + */ + inline const Aws::Map& GetKmsEncryptionContext() const{ return m_kmsEncryptionContext; } + inline bool KmsEncryptionContextHasBeenSet() const { return m_kmsEncryptionContextHasBeenSet; } + inline void SetKmsEncryptionContext(const Aws::Map& value) { m_kmsEncryptionContextHasBeenSet = true; m_kmsEncryptionContext = value; } + inline void SetKmsEncryptionContext(Aws::Map&& value) { m_kmsEncryptionContextHasBeenSet = true; m_kmsEncryptionContext = std::move(value); } + inline MedicalScribeEncryptionSettings& WithKmsEncryptionContext(const Aws::Map& value) { SetKmsEncryptionContext(value); return *this;} + inline MedicalScribeEncryptionSettings& WithKmsEncryptionContext(Aws::Map&& value) { SetKmsEncryptionContext(std::move(value)); return *this;} + inline MedicalScribeEncryptionSettings& AddKmsEncryptionContext(const Aws::String& key, const Aws::String& value) { m_kmsEncryptionContextHasBeenSet = true; m_kmsEncryptionContext.emplace(key, value); return *this; } + inline MedicalScribeEncryptionSettings& AddKmsEncryptionContext(Aws::String&& key, const Aws::String& value) { m_kmsEncryptionContextHasBeenSet = true; m_kmsEncryptionContext.emplace(std::move(key), value); return *this; } + inline MedicalScribeEncryptionSettings& AddKmsEncryptionContext(const Aws::String& key, Aws::String&& value) { m_kmsEncryptionContextHasBeenSet = true; m_kmsEncryptionContext.emplace(key, std::move(value)); return *this; } + inline MedicalScribeEncryptionSettings& AddKmsEncryptionContext(Aws::String&& key, Aws::String&& value) { m_kmsEncryptionContextHasBeenSet = true; m_kmsEncryptionContext.emplace(std::move(key), std::move(value)); return *this; } + inline MedicalScribeEncryptionSettings& AddKmsEncryptionContext(const char* key, Aws::String&& value) { m_kmsEncryptionContextHasBeenSet = true; m_kmsEncryptionContext.emplace(key, std::move(value)); return *this; } + inline MedicalScribeEncryptionSettings& AddKmsEncryptionContext(Aws::String&& key, const char* value) { m_kmsEncryptionContextHasBeenSet = true; m_kmsEncryptionContext.emplace(std::move(key), value); return *this; } + inline MedicalScribeEncryptionSettings& AddKmsEncryptionContext(const char* key, const char* value) { m_kmsEncryptionContextHasBeenSet = true; m_kmsEncryptionContext.emplace(key, value); return *this; } + ///@} + + ///@{ + /** + *

        The ID of the KMS key you want to use for your streaming session. You can + * specify its KMS key ID, key Amazon Resource Name (ARN), alias name, or alias + * ARN. When using an alias name, prefix it with "alias/". To specify + * a KMS key in a different Amazon Web Services account, you must use the key ARN + * or alias ARN.

        For example:

        • Key ID: + * 1234abcd-12ab-34cd-56ef-1234567890ab

        • Key ARN: + * arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab

          + *
        • Alias name: alias/ExampleAlias

        • Alias ARN: + * arn:aws:kms:us-east-2:111122223333:alias/ExampleAlias

        To + * get the key ID and key ARN for a KMS key, use the ListKeys + * or DescribeKey + * KMS API operations. To get the alias name and alias ARN, use ListKeys + * API operation.

        + */ + inline const Aws::String& GetKmsKeyId() const{ return m_kmsKeyId; } + inline bool KmsKeyIdHasBeenSet() const { return m_kmsKeyIdHasBeenSet; } + inline void SetKmsKeyId(const Aws::String& value) { m_kmsKeyIdHasBeenSet = true; m_kmsKeyId = value; } + inline void SetKmsKeyId(Aws::String&& value) { m_kmsKeyIdHasBeenSet = true; m_kmsKeyId = std::move(value); } + inline void SetKmsKeyId(const char* value) { m_kmsKeyIdHasBeenSet = true; m_kmsKeyId.assign(value); } + inline MedicalScribeEncryptionSettings& WithKmsKeyId(const Aws::String& value) { SetKmsKeyId(value); return *this;} + inline MedicalScribeEncryptionSettings& WithKmsKeyId(Aws::String&& value) { SetKmsKeyId(std::move(value)); return *this;} + inline MedicalScribeEncryptionSettings& WithKmsKeyId(const char* value) { SetKmsKeyId(value); return *this;} + ///@} + private: + + Aws::Map m_kmsEncryptionContext; + bool m_kmsEncryptionContextHasBeenSet = false; + + Aws::String m_kmsKeyId; + bool m_kmsKeyIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace TranscribeStreamingService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-transcribestreaming/include/aws/transcribestreaming/model/MedicalScribeInputStream.h b/generated/src/aws-cpp-sdk-transcribestreaming/include/aws/transcribestreaming/model/MedicalScribeInputStream.h new file mode 100644 index 00000000000..399df4cd9fc --- /dev/null +++ b/generated/src/aws-cpp-sdk-transcribestreaming/include/aws/transcribestreaming/model/MedicalScribeInputStream.h @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace TranscribeStreamingService +{ +namespace Model +{ + + /** + *

        An encoded stream of events. The stream is encoded as HTTP/2 data frames.

        + *

        An input stream consists of the following types of events. The first element + * of the input stream must be the MedicalScribeConfigurationEvent + * event type.

        • MedicalScribeConfigurationEvent

          + *
        • MedicalScribeAudioEvent

        • + * MedicalScribeSessionControlEvent

        See + * Also:

        AWS + * API Reference

        + */ + class AWS_TRANSCRIBESTREAMINGSERVICE_API MedicalScribeInputStream : public Aws::Utils::Event::EventEncoderStream + { + public: + MedicalScribeInputStream& WriteMedicalScribeAudioEvent(const MedicalScribeAudioEvent& value) + { + Aws::Utils::Event::Message msg; + if(!value.GetAudioChunk().empty()) + { + msg.InsertEventHeader(":message-type", Aws::String("event")); + msg.InsertEventHeader(":event-type", Aws::String("AudioEvent")); + msg.InsertEventHeader(":content-type", Aws::String("application/octet-stream")); + msg.WriteEventPayload(value.GetAudioChunk()); + } + WriteEvent(msg); + return *this; + } + MedicalScribeInputStream& WriteMedicalScribeSessionControlEvent(const MedicalScribeSessionControlEvent& value) + { + Aws::Utils::Event::Message msg; + msg.InsertEventHeader(":message-type", Aws::String("event")); + msg.InsertEventHeader(":event-type", Aws::String("SessionControlEvent")); + msg.InsertEventHeader(":content-type", Aws::String("application/json")); + msg.WriteEventPayload(value.Jsonize().View().WriteCompact()); + WriteEvent(msg); + return *this; + } + MedicalScribeInputStream& WriteMedicalScribeConfigurationEvent(const MedicalScribeConfigurationEvent& value) + { + Aws::Utils::Event::Message msg; + msg.InsertEventHeader(":message-type", Aws::String("event")); + msg.InsertEventHeader(":event-type", Aws::String("ConfigurationEvent")); + msg.InsertEventHeader(":content-type", Aws::String("application/json")); + msg.WriteEventPayload(value.Jsonize().View().WriteCompact()); + WriteEvent(msg); + return *this; + } + + }; + +} // namespace Model +} // namespace TranscribeStreamingService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-transcribestreaming/include/aws/transcribestreaming/model/MedicalScribeLanguageCode.h b/generated/src/aws-cpp-sdk-transcribestreaming/include/aws/transcribestreaming/model/MedicalScribeLanguageCode.h new file mode 100644 index 00000000000..51b72cfdd09 --- /dev/null +++ b/generated/src/aws-cpp-sdk-transcribestreaming/include/aws/transcribestreaming/model/MedicalScribeLanguageCode.h @@ -0,0 +1,30 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace TranscribeStreamingService +{ +namespace Model +{ + enum class MedicalScribeLanguageCode + { + NOT_SET, + en_US + }; + +namespace MedicalScribeLanguageCodeMapper +{ +AWS_TRANSCRIBESTREAMINGSERVICE_API MedicalScribeLanguageCode GetMedicalScribeLanguageCodeForName(const Aws::String& name); + +AWS_TRANSCRIBESTREAMINGSERVICE_API Aws::String GetNameForMedicalScribeLanguageCode(MedicalScribeLanguageCode value); +} // namespace MedicalScribeLanguageCodeMapper +} // namespace Model +} // namespace TranscribeStreamingService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-transcribestreaming/include/aws/transcribestreaming/model/MedicalScribeMediaEncoding.h b/generated/src/aws-cpp-sdk-transcribestreaming/include/aws/transcribestreaming/model/MedicalScribeMediaEncoding.h new file mode 100644 index 00000000000..53f84be708e --- /dev/null +++ b/generated/src/aws-cpp-sdk-transcribestreaming/include/aws/transcribestreaming/model/MedicalScribeMediaEncoding.h @@ -0,0 +1,32 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace TranscribeStreamingService +{ +namespace Model +{ + enum class MedicalScribeMediaEncoding + { + NOT_SET, + pcm, + ogg_opus, + flac + }; + +namespace MedicalScribeMediaEncodingMapper +{ +AWS_TRANSCRIBESTREAMINGSERVICE_API MedicalScribeMediaEncoding GetMedicalScribeMediaEncodingForName(const Aws::String& name); + +AWS_TRANSCRIBESTREAMINGSERVICE_API Aws::String GetNameForMedicalScribeMediaEncoding(MedicalScribeMediaEncoding value); +} // namespace MedicalScribeMediaEncodingMapper +} // namespace Model +} // namespace TranscribeStreamingService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-transcribestreaming/include/aws/transcribestreaming/model/MedicalScribeParticipantRole.h b/generated/src/aws-cpp-sdk-transcribestreaming/include/aws/transcribestreaming/model/MedicalScribeParticipantRole.h new file mode 100644 index 00000000000..481602d40f2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-transcribestreaming/include/aws/transcribestreaming/model/MedicalScribeParticipantRole.h @@ -0,0 +1,31 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace TranscribeStreamingService +{ +namespace Model +{ + enum class MedicalScribeParticipantRole + { + NOT_SET, + PATIENT, + CLINICIAN + }; + +namespace MedicalScribeParticipantRoleMapper +{ +AWS_TRANSCRIBESTREAMINGSERVICE_API MedicalScribeParticipantRole GetMedicalScribeParticipantRoleForName(const Aws::String& name); + +AWS_TRANSCRIBESTREAMINGSERVICE_API Aws::String GetNameForMedicalScribeParticipantRole(MedicalScribeParticipantRole value); +} // namespace MedicalScribeParticipantRoleMapper +} // namespace Model +} // namespace TranscribeStreamingService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-transcribestreaming/include/aws/transcribestreaming/model/MedicalScribePostStreamAnalyticsResult.h b/generated/src/aws-cpp-sdk-transcribestreaming/include/aws/transcribestreaming/model/MedicalScribePostStreamAnalyticsResult.h new file mode 100644 index 00000000000..051c7b20109 --- /dev/null +++ b/generated/src/aws-cpp-sdk-transcribestreaming/include/aws/transcribestreaming/model/MedicalScribePostStreamAnalyticsResult.h @@ -0,0 +1,60 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace TranscribeStreamingService +{ +namespace Model +{ + + /** + *

        Contains details for the result of post-stream analytics.

        See + * Also:

        AWS + * API Reference

        + */ + class MedicalScribePostStreamAnalyticsResult + { + public: + AWS_TRANSCRIBESTREAMINGSERVICE_API MedicalScribePostStreamAnalyticsResult(); + AWS_TRANSCRIBESTREAMINGSERVICE_API MedicalScribePostStreamAnalyticsResult(Aws::Utils::Json::JsonView jsonValue); + AWS_TRANSCRIBESTREAMINGSERVICE_API MedicalScribePostStreamAnalyticsResult& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_TRANSCRIBESTREAMINGSERVICE_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

        Provides the Clinical Note Generation result for post-stream analytics.

        + */ + inline const ClinicalNoteGenerationResult& GetClinicalNoteGenerationResult() const{ return m_clinicalNoteGenerationResult; } + inline bool ClinicalNoteGenerationResultHasBeenSet() const { return m_clinicalNoteGenerationResultHasBeenSet; } + inline void SetClinicalNoteGenerationResult(const ClinicalNoteGenerationResult& value) { m_clinicalNoteGenerationResultHasBeenSet = true; m_clinicalNoteGenerationResult = value; } + inline void SetClinicalNoteGenerationResult(ClinicalNoteGenerationResult&& value) { m_clinicalNoteGenerationResultHasBeenSet = true; m_clinicalNoteGenerationResult = std::move(value); } + inline MedicalScribePostStreamAnalyticsResult& WithClinicalNoteGenerationResult(const ClinicalNoteGenerationResult& value) { SetClinicalNoteGenerationResult(value); return *this;} + inline MedicalScribePostStreamAnalyticsResult& WithClinicalNoteGenerationResult(ClinicalNoteGenerationResult&& value) { SetClinicalNoteGenerationResult(std::move(value)); return *this;} + ///@} + private: + + ClinicalNoteGenerationResult m_clinicalNoteGenerationResult; + bool m_clinicalNoteGenerationResultHasBeenSet = false; + }; + +} // namespace Model +} // namespace TranscribeStreamingService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-transcribestreaming/include/aws/transcribestreaming/model/MedicalScribePostStreamAnalyticsSettings.h b/generated/src/aws-cpp-sdk-transcribestreaming/include/aws/transcribestreaming/model/MedicalScribePostStreamAnalyticsSettings.h new file mode 100644 index 00000000000..cb8d6fe2536 --- /dev/null +++ b/generated/src/aws-cpp-sdk-transcribestreaming/include/aws/transcribestreaming/model/MedicalScribePostStreamAnalyticsSettings.h @@ -0,0 +1,59 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace TranscribeStreamingService +{ +namespace Model +{ + + /** + *

        The settings for post-stream analytics.

        See Also:

        AWS + * API Reference

        + */ + class MedicalScribePostStreamAnalyticsSettings + { + public: + AWS_TRANSCRIBESTREAMINGSERVICE_API MedicalScribePostStreamAnalyticsSettings(); + AWS_TRANSCRIBESTREAMINGSERVICE_API MedicalScribePostStreamAnalyticsSettings(Aws::Utils::Json::JsonView jsonValue); + AWS_TRANSCRIBESTREAMINGSERVICE_API MedicalScribePostStreamAnalyticsSettings& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_TRANSCRIBESTREAMINGSERVICE_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

        Specify settings for the post-stream clinical note generation.

        + */ + inline const ClinicalNoteGenerationSettings& GetClinicalNoteGenerationSettings() const{ return m_clinicalNoteGenerationSettings; } + inline bool ClinicalNoteGenerationSettingsHasBeenSet() const { return m_clinicalNoteGenerationSettingsHasBeenSet; } + inline void SetClinicalNoteGenerationSettings(const ClinicalNoteGenerationSettings& value) { m_clinicalNoteGenerationSettingsHasBeenSet = true; m_clinicalNoteGenerationSettings = value; } + inline void SetClinicalNoteGenerationSettings(ClinicalNoteGenerationSettings&& value) { m_clinicalNoteGenerationSettingsHasBeenSet = true; m_clinicalNoteGenerationSettings = std::move(value); } + inline MedicalScribePostStreamAnalyticsSettings& WithClinicalNoteGenerationSettings(const ClinicalNoteGenerationSettings& value) { SetClinicalNoteGenerationSettings(value); return *this;} + inline MedicalScribePostStreamAnalyticsSettings& WithClinicalNoteGenerationSettings(ClinicalNoteGenerationSettings&& value) { SetClinicalNoteGenerationSettings(std::move(value)); return *this;} + ///@} + private: + + ClinicalNoteGenerationSettings m_clinicalNoteGenerationSettings; + bool m_clinicalNoteGenerationSettingsHasBeenSet = false; + }; + +} // namespace Model +} // namespace TranscribeStreamingService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-transcribestreaming/include/aws/transcribestreaming/model/MedicalScribeResultStream.h b/generated/src/aws-cpp-sdk-transcribestreaming/include/aws/transcribestreaming/model/MedicalScribeResultStream.h new file mode 100644 index 00000000000..5f4a95a43a3 --- /dev/null +++ b/generated/src/aws-cpp-sdk-transcribestreaming/include/aws/transcribestreaming/model/MedicalScribeResultStream.h @@ -0,0 +1,131 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace TranscribeStreamingService +{ +namespace Model +{ + + /** + *

        Result stream where you will receive the output events. The details are + * provided in the MedicalScribeTranscriptEvent object.

        See + * Also:

        AWS + * API Reference

        + */ + class MedicalScribeResultStream + { + public: + AWS_TRANSCRIBESTREAMINGSERVICE_API MedicalScribeResultStream(); + AWS_TRANSCRIBESTREAMINGSERVICE_API MedicalScribeResultStream(Aws::Utils::Json::JsonView jsonValue); + AWS_TRANSCRIBESTREAMINGSERVICE_API MedicalScribeResultStream& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_TRANSCRIBESTREAMINGSERVICE_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

        The transcript event that contains real-time transcription results.

        + */ + inline const MedicalScribeTranscriptEvent& GetTranscriptEvent() const{ return m_transcriptEvent; } + inline bool TranscriptEventHasBeenSet() const { return m_transcriptEventHasBeenSet; } + inline void SetTranscriptEvent(const MedicalScribeTranscriptEvent& value) { m_transcriptEventHasBeenSet = true; m_transcriptEvent = value; } + inline void SetTranscriptEvent(MedicalScribeTranscriptEvent&& value) { m_transcriptEventHasBeenSet = true; m_transcriptEvent = std::move(value); } + inline MedicalScribeResultStream& WithTranscriptEvent(const MedicalScribeTranscriptEvent& value) { SetTranscriptEvent(value); return *this;} + inline MedicalScribeResultStream& WithTranscriptEvent(MedicalScribeTranscriptEvent&& value) { SetTranscriptEvent(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const BadRequestException& GetBadRequestException() const{ return m_badRequestException; } + inline bool BadRequestExceptionHasBeenSet() const { return m_badRequestExceptionHasBeenSet; } + inline void SetBadRequestException(const BadRequestException& value) { m_badRequestExceptionHasBeenSet = true; m_badRequestException = value; } + inline void SetBadRequestException(BadRequestException&& value) { m_badRequestExceptionHasBeenSet = true; m_badRequestException = std::move(value); } + inline MedicalScribeResultStream& WithBadRequestException(const BadRequestException& value) { SetBadRequestException(value); return *this;} + inline MedicalScribeResultStream& WithBadRequestException(BadRequestException&& value) { SetBadRequestException(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const LimitExceededException& GetLimitExceededException() const{ return m_limitExceededException; } + inline bool LimitExceededExceptionHasBeenSet() const { return m_limitExceededExceptionHasBeenSet; } + inline void SetLimitExceededException(const LimitExceededException& value) { m_limitExceededExceptionHasBeenSet = true; m_limitExceededException = value; } + inline void SetLimitExceededException(LimitExceededException&& value) { m_limitExceededExceptionHasBeenSet = true; m_limitExceededException = std::move(value); } + inline MedicalScribeResultStream& WithLimitExceededException(const LimitExceededException& value) { SetLimitExceededException(value); return *this;} + inline MedicalScribeResultStream& WithLimitExceededException(LimitExceededException&& value) { SetLimitExceededException(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const InternalFailureException& GetInternalFailureException() const{ return m_internalFailureException; } + inline bool InternalFailureExceptionHasBeenSet() const { return m_internalFailureExceptionHasBeenSet; } + inline void SetInternalFailureException(const InternalFailureException& value) { m_internalFailureExceptionHasBeenSet = true; m_internalFailureException = value; } + inline void SetInternalFailureException(InternalFailureException&& value) { m_internalFailureExceptionHasBeenSet = true; m_internalFailureException = std::move(value); } + inline MedicalScribeResultStream& WithInternalFailureException(const InternalFailureException& value) { SetInternalFailureException(value); return *this;} + inline MedicalScribeResultStream& WithInternalFailureException(InternalFailureException&& value) { SetInternalFailureException(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const ConflictException& GetConflictException() const{ return m_conflictException; } + inline bool ConflictExceptionHasBeenSet() const { return m_conflictExceptionHasBeenSet; } + inline void SetConflictException(const ConflictException& value) { m_conflictExceptionHasBeenSet = true; m_conflictException = value; } + inline void SetConflictException(ConflictException&& value) { m_conflictExceptionHasBeenSet = true; m_conflictException = std::move(value); } + inline MedicalScribeResultStream& WithConflictException(const ConflictException& value) { SetConflictException(value); return *this;} + inline MedicalScribeResultStream& WithConflictException(ConflictException&& value) { SetConflictException(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const ServiceUnavailableException& GetServiceUnavailableException() const{ return m_serviceUnavailableException; } + inline bool ServiceUnavailableExceptionHasBeenSet() const { return m_serviceUnavailableExceptionHasBeenSet; } + inline void SetServiceUnavailableException(const ServiceUnavailableException& value) { m_serviceUnavailableExceptionHasBeenSet = true; m_serviceUnavailableException = value; } + inline void SetServiceUnavailableException(ServiceUnavailableException&& value) { m_serviceUnavailableExceptionHasBeenSet = true; m_serviceUnavailableException = std::move(value); } + inline MedicalScribeResultStream& WithServiceUnavailableException(const ServiceUnavailableException& value) { SetServiceUnavailableException(value); return *this;} + inline MedicalScribeResultStream& WithServiceUnavailableException(ServiceUnavailableException&& value) { SetServiceUnavailableException(std::move(value)); return *this;} + ///@} + private: + + MedicalScribeTranscriptEvent m_transcriptEvent; + bool m_transcriptEventHasBeenSet = false; + + BadRequestException m_badRequestException; + bool m_badRequestExceptionHasBeenSet = false; + + LimitExceededException m_limitExceededException; + bool m_limitExceededExceptionHasBeenSet = false; + + InternalFailureException m_internalFailureException; + bool m_internalFailureExceptionHasBeenSet = false; + + ConflictException m_conflictException; + bool m_conflictExceptionHasBeenSet = false; + + ServiceUnavailableException m_serviceUnavailableException; + bool m_serviceUnavailableExceptionHasBeenSet = false; + }; + +} // namespace Model +} // namespace TranscribeStreamingService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-transcribestreaming/include/aws/transcribestreaming/model/MedicalScribeSessionControlEvent.h b/generated/src/aws-cpp-sdk-transcribestreaming/include/aws/transcribestreaming/model/MedicalScribeSessionControlEvent.h new file mode 100644 index 00000000000..7c8f6268e06 --- /dev/null +++ b/generated/src/aws-cpp-sdk-transcribestreaming/include/aws/transcribestreaming/model/MedicalScribeSessionControlEvent.h @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace TranscribeStreamingService +{ +namespace Model +{ + + /** + *

        Specify the lifecycle of your streaming session.

        See Also:

        + * AWS + * API Reference

        + */ + class MedicalScribeSessionControlEvent + { + public: + AWS_TRANSCRIBESTREAMINGSERVICE_API MedicalScribeSessionControlEvent(); + AWS_TRANSCRIBESTREAMINGSERVICE_API MedicalScribeSessionControlEvent(Aws::Utils::Json::JsonView jsonValue); + AWS_TRANSCRIBESTREAMINGSERVICE_API MedicalScribeSessionControlEvent& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_TRANSCRIBESTREAMINGSERVICE_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

        The type of MedicalScribeSessionControlEvent.

        Possible + * Values:

        • END_OF_SESSION - Indicates the audio + * streaming is complete. After you send an END_OF_SESSION event, Amazon Web + * Services HealthScribe starts the post-stream analytics. The session can't be + * resumed after this event is sent. After Amazon Web Services HealthScribe + * processes the event, the real-time StreamStatus is + * COMPLETED. You get the StreamStatus and other stream + * details with the GetMedicalScribeStream + * API operation. For more information about different streaming statuses, see the + * StreamStatus description in the MedicalScribeStreamDetails. + *

        + */ + inline const MedicalScribeSessionControlEventType& GetType() const{ return m_type; } + inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } + inline void SetType(const MedicalScribeSessionControlEventType& value) { m_typeHasBeenSet = true; m_type = value; } + inline void SetType(MedicalScribeSessionControlEventType&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } + inline MedicalScribeSessionControlEvent& WithType(const MedicalScribeSessionControlEventType& value) { SetType(value); return *this;} + inline MedicalScribeSessionControlEvent& WithType(MedicalScribeSessionControlEventType&& value) { SetType(std::move(value)); return *this;} + ///@} + private: + + MedicalScribeSessionControlEventType m_type; + bool m_typeHasBeenSet = false; + }; + +} // namespace Model +} // namespace TranscribeStreamingService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-transcribestreaming/include/aws/transcribestreaming/model/MedicalScribeSessionControlEventType.h b/generated/src/aws-cpp-sdk-transcribestreaming/include/aws/transcribestreaming/model/MedicalScribeSessionControlEventType.h new file mode 100644 index 00000000000..3f9a7f6c9a9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-transcribestreaming/include/aws/transcribestreaming/model/MedicalScribeSessionControlEventType.h @@ -0,0 +1,30 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace TranscribeStreamingService +{ +namespace Model +{ + enum class MedicalScribeSessionControlEventType + { + NOT_SET, + END_OF_SESSION + }; + +namespace MedicalScribeSessionControlEventTypeMapper +{ +AWS_TRANSCRIBESTREAMINGSERVICE_API MedicalScribeSessionControlEventType GetMedicalScribeSessionControlEventTypeForName(const Aws::String& name); + +AWS_TRANSCRIBESTREAMINGSERVICE_API Aws::String GetNameForMedicalScribeSessionControlEventType(MedicalScribeSessionControlEventType value); +} // namespace MedicalScribeSessionControlEventTypeMapper +} // namespace Model +} // namespace TranscribeStreamingService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-transcribestreaming/include/aws/transcribestreaming/model/MedicalScribeStreamDetails.h b/generated/src/aws-cpp-sdk-transcribestreaming/include/aws/transcribestreaming/model/MedicalScribeStreamDetails.h new file mode 100644 index 00000000000..e95d996666a --- /dev/null +++ b/generated/src/aws-cpp-sdk-transcribestreaming/include/aws/transcribestreaming/model/MedicalScribeStreamDetails.h @@ -0,0 +1,300 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace TranscribeStreamingService +{ +namespace Model +{ + + /** + *

        Contains details about a Amazon Web Services HealthScribe streaming + * session.

        See Also:

        AWS + * API Reference

        + */ + class MedicalScribeStreamDetails + { + public: + AWS_TRANSCRIBESTREAMINGSERVICE_API MedicalScribeStreamDetails(); + AWS_TRANSCRIBESTREAMINGSERVICE_API MedicalScribeStreamDetails(Aws::Utils::Json::JsonView jsonValue); + AWS_TRANSCRIBESTREAMINGSERVICE_API MedicalScribeStreamDetails& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_TRANSCRIBESTREAMINGSERVICE_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

        The identifier of the HealthScribe streaming session.

        + */ + inline const Aws::String& GetSessionId() const{ return m_sessionId; } + inline bool SessionIdHasBeenSet() const { return m_sessionIdHasBeenSet; } + inline void SetSessionId(const Aws::String& value) { m_sessionIdHasBeenSet = true; m_sessionId = value; } + inline void SetSessionId(Aws::String&& value) { m_sessionIdHasBeenSet = true; m_sessionId = std::move(value); } + inline void SetSessionId(const char* value) { m_sessionIdHasBeenSet = true; m_sessionId.assign(value); } + inline MedicalScribeStreamDetails& WithSessionId(const Aws::String& value) { SetSessionId(value); return *this;} + inline MedicalScribeStreamDetails& WithSessionId(Aws::String&& value) { SetSessionId(std::move(value)); return *this;} + inline MedicalScribeStreamDetails& WithSessionId(const char* value) { SetSessionId(value); return *this;} + ///@} + + ///@{ + /** + *

        The date and time when the HealthScribe streaming session was created.

        + */ + inline const Aws::Utils::DateTime& GetStreamCreatedAt() const{ return m_streamCreatedAt; } + inline bool StreamCreatedAtHasBeenSet() const { return m_streamCreatedAtHasBeenSet; } + inline void SetStreamCreatedAt(const Aws::Utils::DateTime& value) { m_streamCreatedAtHasBeenSet = true; m_streamCreatedAt = value; } + inline void SetStreamCreatedAt(Aws::Utils::DateTime&& value) { m_streamCreatedAtHasBeenSet = true; m_streamCreatedAt = std::move(value); } + inline MedicalScribeStreamDetails& WithStreamCreatedAt(const Aws::Utils::DateTime& value) { SetStreamCreatedAt(value); return *this;} + inline MedicalScribeStreamDetails& WithStreamCreatedAt(Aws::Utils::DateTime&& value) { SetStreamCreatedAt(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        The date and time when the HealthScribe streaming session was ended.

        + */ + inline const Aws::Utils::DateTime& GetStreamEndedAt() const{ return m_streamEndedAt; } + inline bool StreamEndedAtHasBeenSet() const { return m_streamEndedAtHasBeenSet; } + inline void SetStreamEndedAt(const Aws::Utils::DateTime& value) { m_streamEndedAtHasBeenSet = true; m_streamEndedAt = value; } + inline void SetStreamEndedAt(Aws::Utils::DateTime&& value) { m_streamEndedAtHasBeenSet = true; m_streamEndedAt = std::move(value); } + inline MedicalScribeStreamDetails& WithStreamEndedAt(const Aws::Utils::DateTime& value) { SetStreamEndedAt(value); return *this;} + inline MedicalScribeStreamDetails& WithStreamEndedAt(Aws::Utils::DateTime&& value) { SetStreamEndedAt(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        The Language Code of the HealthScribe streaming session.

        + */ + inline const MedicalScribeLanguageCode& GetLanguageCode() const{ return m_languageCode; } + inline bool LanguageCodeHasBeenSet() const { return m_languageCodeHasBeenSet; } + inline void SetLanguageCode(const MedicalScribeLanguageCode& value) { m_languageCodeHasBeenSet = true; m_languageCode = value; } + inline void SetLanguageCode(MedicalScribeLanguageCode&& value) { m_languageCodeHasBeenSet = true; m_languageCode = std::move(value); } + inline MedicalScribeStreamDetails& WithLanguageCode(const MedicalScribeLanguageCode& value) { SetLanguageCode(value); return *this;} + inline MedicalScribeStreamDetails& WithLanguageCode(MedicalScribeLanguageCode&& value) { SetLanguageCode(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        The sample rate (in hertz) of the HealthScribe streaming session.

        + */ + inline int GetMediaSampleRateHertz() const{ return m_mediaSampleRateHertz; } + inline bool MediaSampleRateHertzHasBeenSet() const { return m_mediaSampleRateHertzHasBeenSet; } + inline void SetMediaSampleRateHertz(int value) { m_mediaSampleRateHertzHasBeenSet = true; m_mediaSampleRateHertz = value; } + inline MedicalScribeStreamDetails& WithMediaSampleRateHertz(int value) { SetMediaSampleRateHertz(value); return *this;} + ///@} + + ///@{ + /** + *

        The Media Encoding of the HealthScribe streaming session.

        + */ + inline const MedicalScribeMediaEncoding& GetMediaEncoding() const{ return m_mediaEncoding; } + inline bool MediaEncodingHasBeenSet() const { return m_mediaEncodingHasBeenSet; } + inline void SetMediaEncoding(const MedicalScribeMediaEncoding& value) { m_mediaEncodingHasBeenSet = true; m_mediaEncoding = value; } + inline void SetMediaEncoding(MedicalScribeMediaEncoding&& value) { m_mediaEncodingHasBeenSet = true; m_mediaEncoding = std::move(value); } + inline MedicalScribeStreamDetails& WithMediaEncoding(const MedicalScribeMediaEncoding& value) { SetMediaEncoding(value); return *this;} + inline MedicalScribeStreamDetails& WithMediaEncoding(MedicalScribeMediaEncoding&& value) { SetMediaEncoding(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        The vocabulary name of the HealthScribe streaming session.

        + */ + inline const Aws::String& GetVocabularyName() const{ return m_vocabularyName; } + inline bool VocabularyNameHasBeenSet() const { return m_vocabularyNameHasBeenSet; } + inline void SetVocabularyName(const Aws::String& value) { m_vocabularyNameHasBeenSet = true; m_vocabularyName = value; } + inline void SetVocabularyName(Aws::String&& value) { m_vocabularyNameHasBeenSet = true; m_vocabularyName = std::move(value); } + inline void SetVocabularyName(const char* value) { m_vocabularyNameHasBeenSet = true; m_vocabularyName.assign(value); } + inline MedicalScribeStreamDetails& WithVocabularyName(const Aws::String& value) { SetVocabularyName(value); return *this;} + inline MedicalScribeStreamDetails& WithVocabularyName(Aws::String&& value) { SetVocabularyName(std::move(value)); return *this;} + inline MedicalScribeStreamDetails& WithVocabularyName(const char* value) { SetVocabularyName(value); return *this;} + ///@} + + ///@{ + /** + *

        The name of the vocabulary filter used for the HealthScribe streaming session + * .

        + */ + inline const Aws::String& GetVocabularyFilterName() const{ return m_vocabularyFilterName; } + inline bool VocabularyFilterNameHasBeenSet() const { return m_vocabularyFilterNameHasBeenSet; } + inline void SetVocabularyFilterName(const Aws::String& value) { m_vocabularyFilterNameHasBeenSet = true; m_vocabularyFilterName = value; } + inline void SetVocabularyFilterName(Aws::String&& value) { m_vocabularyFilterNameHasBeenSet = true; m_vocabularyFilterName = std::move(value); } + inline void SetVocabularyFilterName(const char* value) { m_vocabularyFilterNameHasBeenSet = true; m_vocabularyFilterName.assign(value); } + inline MedicalScribeStreamDetails& WithVocabularyFilterName(const Aws::String& value) { SetVocabularyFilterName(value); return *this;} + inline MedicalScribeStreamDetails& WithVocabularyFilterName(Aws::String&& value) { SetVocabularyFilterName(std::move(value)); return *this;} + inline MedicalScribeStreamDetails& WithVocabularyFilterName(const char* value) { SetVocabularyFilterName(value); return *this;} + ///@} + + ///@{ + /** + *

        The method of the vocabulary filter for the HealthScribe streaming + * session.

        + */ + inline const MedicalScribeVocabularyFilterMethod& GetVocabularyFilterMethod() const{ return m_vocabularyFilterMethod; } + inline bool VocabularyFilterMethodHasBeenSet() const { return m_vocabularyFilterMethodHasBeenSet; } + inline void SetVocabularyFilterMethod(const MedicalScribeVocabularyFilterMethod& value) { m_vocabularyFilterMethodHasBeenSet = true; m_vocabularyFilterMethod = value; } + inline void SetVocabularyFilterMethod(MedicalScribeVocabularyFilterMethod&& value) { m_vocabularyFilterMethodHasBeenSet = true; m_vocabularyFilterMethod = std::move(value); } + inline MedicalScribeStreamDetails& WithVocabularyFilterMethod(const MedicalScribeVocabularyFilterMethod& value) { SetVocabularyFilterMethod(value); return *this;} + inline MedicalScribeStreamDetails& WithVocabularyFilterMethod(MedicalScribeVocabularyFilterMethod&& value) { SetVocabularyFilterMethod(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        The Amazon Resource Name (ARN) of the role used in the HealthScribe streaming + * session.

        + */ + inline const Aws::String& GetResourceAccessRoleArn() const{ return m_resourceAccessRoleArn; } + inline bool ResourceAccessRoleArnHasBeenSet() const { return m_resourceAccessRoleArnHasBeenSet; } + inline void SetResourceAccessRoleArn(const Aws::String& value) { m_resourceAccessRoleArnHasBeenSet = true; m_resourceAccessRoleArn = value; } + inline void SetResourceAccessRoleArn(Aws::String&& value) { m_resourceAccessRoleArnHasBeenSet = true; m_resourceAccessRoleArn = std::move(value); } + inline void SetResourceAccessRoleArn(const char* value) { m_resourceAccessRoleArnHasBeenSet = true; m_resourceAccessRoleArn.assign(value); } + inline MedicalScribeStreamDetails& WithResourceAccessRoleArn(const Aws::String& value) { SetResourceAccessRoleArn(value); return *this;} + inline MedicalScribeStreamDetails& WithResourceAccessRoleArn(Aws::String&& value) { SetResourceAccessRoleArn(std::move(value)); return *this;} + inline MedicalScribeStreamDetails& WithResourceAccessRoleArn(const char* value) { SetResourceAccessRoleArn(value); return *this;} + ///@} + + ///@{ + /** + *

        The Channel Definitions of the HealthScribe streaming session.

        + */ + inline const Aws::Vector& GetChannelDefinitions() const{ return m_channelDefinitions; } + inline bool ChannelDefinitionsHasBeenSet() const { return m_channelDefinitionsHasBeenSet; } + inline void SetChannelDefinitions(const Aws::Vector& value) { m_channelDefinitionsHasBeenSet = true; m_channelDefinitions = value; } + inline void SetChannelDefinitions(Aws::Vector&& value) { m_channelDefinitionsHasBeenSet = true; m_channelDefinitions = std::move(value); } + inline MedicalScribeStreamDetails& WithChannelDefinitions(const Aws::Vector& value) { SetChannelDefinitions(value); return *this;} + inline MedicalScribeStreamDetails& WithChannelDefinitions(Aws::Vector&& value) { SetChannelDefinitions(std::move(value)); return *this;} + inline MedicalScribeStreamDetails& AddChannelDefinitions(const MedicalScribeChannelDefinition& value) { m_channelDefinitionsHasBeenSet = true; m_channelDefinitions.push_back(value); return *this; } + inline MedicalScribeStreamDetails& AddChannelDefinitions(MedicalScribeChannelDefinition&& value) { m_channelDefinitionsHasBeenSet = true; m_channelDefinitions.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

        The Encryption Settings of the HealthScribe streaming session.

        + */ + inline const MedicalScribeEncryptionSettings& GetEncryptionSettings() const{ return m_encryptionSettings; } + inline bool EncryptionSettingsHasBeenSet() const { return m_encryptionSettingsHasBeenSet; } + inline void SetEncryptionSettings(const MedicalScribeEncryptionSettings& value) { m_encryptionSettingsHasBeenSet = true; m_encryptionSettings = value; } + inline void SetEncryptionSettings(MedicalScribeEncryptionSettings&& value) { m_encryptionSettingsHasBeenSet = true; m_encryptionSettings = std::move(value); } + inline MedicalScribeStreamDetails& WithEncryptionSettings(const MedicalScribeEncryptionSettings& value) { SetEncryptionSettings(value); return *this;} + inline MedicalScribeStreamDetails& WithEncryptionSettings(MedicalScribeEncryptionSettings&& value) { SetEncryptionSettings(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        The streaming status of the HealthScribe streaming session.

        Possible + * Values:

        • IN_PROGRESS

        • + * PAUSED

        • FAILED

        • + * COMPLETED

        This status is specific to + * real-time streaming. A COMPLETED status doesn't mean that the + * post-stream analytics is complete. To get status of an analytics result, check + * the Status field for the analytics result within the + * MedicalScribePostStreamAnalyticsResult. For example, you can view + * the status of the ClinicalNoteGenerationResult.

        + */ + inline const MedicalScribeStreamStatus& GetStreamStatus() const{ return m_streamStatus; } + inline bool StreamStatusHasBeenSet() const { return m_streamStatusHasBeenSet; } + inline void SetStreamStatus(const MedicalScribeStreamStatus& value) { m_streamStatusHasBeenSet = true; m_streamStatus = value; } + inline void SetStreamStatus(MedicalScribeStreamStatus&& value) { m_streamStatusHasBeenSet = true; m_streamStatus = std::move(value); } + inline MedicalScribeStreamDetails& WithStreamStatus(const MedicalScribeStreamStatus& value) { SetStreamStatus(value); return *this;} + inline MedicalScribeStreamDetails& WithStreamStatus(MedicalScribeStreamStatus&& value) { SetStreamStatus(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        The post-stream analytics settings of the HealthScribe streaming session.

        + */ + inline const MedicalScribePostStreamAnalyticsSettings& GetPostStreamAnalyticsSettings() const{ return m_postStreamAnalyticsSettings; } + inline bool PostStreamAnalyticsSettingsHasBeenSet() const { return m_postStreamAnalyticsSettingsHasBeenSet; } + inline void SetPostStreamAnalyticsSettings(const MedicalScribePostStreamAnalyticsSettings& value) { m_postStreamAnalyticsSettingsHasBeenSet = true; m_postStreamAnalyticsSettings = value; } + inline void SetPostStreamAnalyticsSettings(MedicalScribePostStreamAnalyticsSettings&& value) { m_postStreamAnalyticsSettingsHasBeenSet = true; m_postStreamAnalyticsSettings = std::move(value); } + inline MedicalScribeStreamDetails& WithPostStreamAnalyticsSettings(const MedicalScribePostStreamAnalyticsSettings& value) { SetPostStreamAnalyticsSettings(value); return *this;} + inline MedicalScribeStreamDetails& WithPostStreamAnalyticsSettings(MedicalScribePostStreamAnalyticsSettings&& value) { SetPostStreamAnalyticsSettings(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        The result of post-stream analytics for the HealthScribe streaming + * session.

        + */ + inline const MedicalScribePostStreamAnalyticsResult& GetPostStreamAnalyticsResult() const{ return m_postStreamAnalyticsResult; } + inline bool PostStreamAnalyticsResultHasBeenSet() const { return m_postStreamAnalyticsResultHasBeenSet; } + inline void SetPostStreamAnalyticsResult(const MedicalScribePostStreamAnalyticsResult& value) { m_postStreamAnalyticsResultHasBeenSet = true; m_postStreamAnalyticsResult = value; } + inline void SetPostStreamAnalyticsResult(MedicalScribePostStreamAnalyticsResult&& value) { m_postStreamAnalyticsResultHasBeenSet = true; m_postStreamAnalyticsResult = std::move(value); } + inline MedicalScribeStreamDetails& WithPostStreamAnalyticsResult(const MedicalScribePostStreamAnalyticsResult& value) { SetPostStreamAnalyticsResult(value); return *this;} + inline MedicalScribeStreamDetails& WithPostStreamAnalyticsResult(MedicalScribePostStreamAnalyticsResult&& value) { SetPostStreamAnalyticsResult(std::move(value)); return *this;} + ///@} + private: + + Aws::String m_sessionId; + bool m_sessionIdHasBeenSet = false; + + Aws::Utils::DateTime m_streamCreatedAt; + bool m_streamCreatedAtHasBeenSet = false; + + Aws::Utils::DateTime m_streamEndedAt; + bool m_streamEndedAtHasBeenSet = false; + + MedicalScribeLanguageCode m_languageCode; + bool m_languageCodeHasBeenSet = false; + + int m_mediaSampleRateHertz; + bool m_mediaSampleRateHertzHasBeenSet = false; + + MedicalScribeMediaEncoding m_mediaEncoding; + bool m_mediaEncodingHasBeenSet = false; + + Aws::String m_vocabularyName; + bool m_vocabularyNameHasBeenSet = false; + + Aws::String m_vocabularyFilterName; + bool m_vocabularyFilterNameHasBeenSet = false; + + MedicalScribeVocabularyFilterMethod m_vocabularyFilterMethod; + bool m_vocabularyFilterMethodHasBeenSet = false; + + Aws::String m_resourceAccessRoleArn; + bool m_resourceAccessRoleArnHasBeenSet = false; + + Aws::Vector m_channelDefinitions; + bool m_channelDefinitionsHasBeenSet = false; + + MedicalScribeEncryptionSettings m_encryptionSettings; + bool m_encryptionSettingsHasBeenSet = false; + + MedicalScribeStreamStatus m_streamStatus; + bool m_streamStatusHasBeenSet = false; + + MedicalScribePostStreamAnalyticsSettings m_postStreamAnalyticsSettings; + bool m_postStreamAnalyticsSettingsHasBeenSet = false; + + MedicalScribePostStreamAnalyticsResult m_postStreamAnalyticsResult; + bool m_postStreamAnalyticsResultHasBeenSet = false; + }; + +} // namespace Model +} // namespace TranscribeStreamingService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-transcribestreaming/include/aws/transcribestreaming/model/MedicalScribeStreamStatus.h b/generated/src/aws-cpp-sdk-transcribestreaming/include/aws/transcribestreaming/model/MedicalScribeStreamStatus.h new file mode 100644 index 00000000000..c1fde8b3e80 --- /dev/null +++ b/generated/src/aws-cpp-sdk-transcribestreaming/include/aws/transcribestreaming/model/MedicalScribeStreamStatus.h @@ -0,0 +1,33 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace TranscribeStreamingService +{ +namespace Model +{ + enum class MedicalScribeStreamStatus + { + NOT_SET, + IN_PROGRESS, + PAUSED, + FAILED, + COMPLETED + }; + +namespace MedicalScribeStreamStatusMapper +{ +AWS_TRANSCRIBESTREAMINGSERVICE_API MedicalScribeStreamStatus GetMedicalScribeStreamStatusForName(const Aws::String& name); + +AWS_TRANSCRIBESTREAMINGSERVICE_API Aws::String GetNameForMedicalScribeStreamStatus(MedicalScribeStreamStatus value); +} // namespace MedicalScribeStreamStatusMapper +} // namespace Model +} // namespace TranscribeStreamingService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-transcribestreaming/include/aws/transcribestreaming/model/MedicalScribeTranscriptEvent.h b/generated/src/aws-cpp-sdk-transcribestreaming/include/aws/transcribestreaming/model/MedicalScribeTranscriptEvent.h new file mode 100644 index 00000000000..eff7a8867ba --- /dev/null +++ b/generated/src/aws-cpp-sdk-transcribestreaming/include/aws/transcribestreaming/model/MedicalScribeTranscriptEvent.h @@ -0,0 +1,62 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace TranscribeStreamingService +{ +namespace Model +{ + + /** + *

        The event associated with MedicalScribeResultStream.

        + *

        Contains MedicalScribeTranscriptSegment, which contains segment + * related information.

        See Also:

        AWS + * API Reference

        + */ + class MedicalScribeTranscriptEvent + { + public: + AWS_TRANSCRIBESTREAMINGSERVICE_API MedicalScribeTranscriptEvent(); + AWS_TRANSCRIBESTREAMINGSERVICE_API MedicalScribeTranscriptEvent(Aws::Utils::Json::JsonView jsonValue); + AWS_TRANSCRIBESTREAMINGSERVICE_API MedicalScribeTranscriptEvent& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_TRANSCRIBESTREAMINGSERVICE_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

        The TranscriptSegment associated with a + * MedicalScribeTranscriptEvent.

        + */ + inline const MedicalScribeTranscriptSegment& GetTranscriptSegment() const{ return m_transcriptSegment; } + inline bool TranscriptSegmentHasBeenSet() const { return m_transcriptSegmentHasBeenSet; } + inline void SetTranscriptSegment(const MedicalScribeTranscriptSegment& value) { m_transcriptSegmentHasBeenSet = true; m_transcriptSegment = value; } + inline void SetTranscriptSegment(MedicalScribeTranscriptSegment&& value) { m_transcriptSegmentHasBeenSet = true; m_transcriptSegment = std::move(value); } + inline MedicalScribeTranscriptEvent& WithTranscriptSegment(const MedicalScribeTranscriptSegment& value) { SetTranscriptSegment(value); return *this;} + inline MedicalScribeTranscriptEvent& WithTranscriptSegment(MedicalScribeTranscriptSegment&& value) { SetTranscriptSegment(std::move(value)); return *this;} + ///@} + private: + + MedicalScribeTranscriptSegment m_transcriptSegment; + bool m_transcriptSegmentHasBeenSet = false; + }; + +} // namespace Model +} // namespace TranscribeStreamingService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-transcribestreaming/include/aws/transcribestreaming/model/MedicalScribeTranscriptItem.h b/generated/src/aws-cpp-sdk-transcribestreaming/include/aws/transcribestreaming/model/MedicalScribeTranscriptItem.h new file mode 100644 index 00000000000..c950ea2d8de --- /dev/null +++ b/generated/src/aws-cpp-sdk-transcribestreaming/include/aws/transcribestreaming/model/MedicalScribeTranscriptItem.h @@ -0,0 +1,137 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace TranscribeStreamingService +{ +namespace Model +{ + + /** + *

        A word, phrase, or punctuation mark in your transcription output, along with + * various associated attributes, such as confidence score, type, and start and end + * times.

        See Also:

        AWS + * API Reference

        + */ + class MedicalScribeTranscriptItem + { + public: + AWS_TRANSCRIBESTREAMINGSERVICE_API MedicalScribeTranscriptItem(); + AWS_TRANSCRIBESTREAMINGSERVICE_API MedicalScribeTranscriptItem(Aws::Utils::Json::JsonView jsonValue); + AWS_TRANSCRIBESTREAMINGSERVICE_API MedicalScribeTranscriptItem& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_TRANSCRIBESTREAMINGSERVICE_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

        The start time, in milliseconds, of the transcribed item.

        + */ + inline double GetBeginAudioTime() const{ return m_beginAudioTime; } + inline bool BeginAudioTimeHasBeenSet() const { return m_beginAudioTimeHasBeenSet; } + inline void SetBeginAudioTime(double value) { m_beginAudioTimeHasBeenSet = true; m_beginAudioTime = value; } + inline MedicalScribeTranscriptItem& WithBeginAudioTime(double value) { SetBeginAudioTime(value); return *this;} + ///@} + + ///@{ + /** + *

        The end time, in milliseconds, of the transcribed item.

        + */ + inline double GetEndAudioTime() const{ return m_endAudioTime; } + inline bool EndAudioTimeHasBeenSet() const { return m_endAudioTimeHasBeenSet; } + inline void SetEndAudioTime(double value) { m_endAudioTimeHasBeenSet = true; m_endAudioTime = value; } + inline MedicalScribeTranscriptItem& WithEndAudioTime(double value) { SetEndAudioTime(value); return *this;} + ///@} + + ///@{ + /** + *

        The type of item identified. Options are: PRONUNCIATION (spoken + * words) and PUNCTUATION.

        + */ + inline const MedicalScribeTranscriptItemType& GetType() const{ return m_type; } + inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } + inline void SetType(const MedicalScribeTranscriptItemType& value) { m_typeHasBeenSet = true; m_type = value; } + inline void SetType(MedicalScribeTranscriptItemType&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } + inline MedicalScribeTranscriptItem& WithType(const MedicalScribeTranscriptItemType& value) { SetType(value); return *this;} + inline MedicalScribeTranscriptItem& WithType(MedicalScribeTranscriptItemType&& value) { SetType(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        The confidence score associated with a word or phrase in your transcript.

        + *

        Confidence scores are values between 0 and 1. A larger value indicates a + * higher probability that the identified item correctly matches the item spoken in + * your media.

        + */ + inline double GetConfidence() const{ return m_confidence; } + inline bool ConfidenceHasBeenSet() const { return m_confidenceHasBeenSet; } + inline void SetConfidence(double value) { m_confidenceHasBeenSet = true; m_confidence = value; } + inline MedicalScribeTranscriptItem& WithConfidence(double value) { SetConfidence(value); return *this;} + ///@} + + ///@{ + /** + *

        The word, phrase or punctuation mark that was transcribed.

        + */ + inline const Aws::String& GetContent() const{ return m_content; } + inline bool ContentHasBeenSet() const { return m_contentHasBeenSet; } + inline void SetContent(const Aws::String& value) { m_contentHasBeenSet = true; m_content = value; } + inline void SetContent(Aws::String&& value) { m_contentHasBeenSet = true; m_content = std::move(value); } + inline void SetContent(const char* value) { m_contentHasBeenSet = true; m_content.assign(value); } + inline MedicalScribeTranscriptItem& WithContent(const Aws::String& value) { SetContent(value); return *this;} + inline MedicalScribeTranscriptItem& WithContent(Aws::String&& value) { SetContent(std::move(value)); return *this;} + inline MedicalScribeTranscriptItem& WithContent(const char* value) { SetContent(value); return *this;} + ///@} + + ///@{ + /** + *

        Indicates whether the specified item matches a word in the vocabulary filter + * included in your configuration event. If true, there is a + * vocabulary filter match.

        + */ + inline bool GetVocabularyFilterMatch() const{ return m_vocabularyFilterMatch; } + inline bool VocabularyFilterMatchHasBeenSet() const { return m_vocabularyFilterMatchHasBeenSet; } + inline void SetVocabularyFilterMatch(bool value) { m_vocabularyFilterMatchHasBeenSet = true; m_vocabularyFilterMatch = value; } + inline MedicalScribeTranscriptItem& WithVocabularyFilterMatch(bool value) { SetVocabularyFilterMatch(value); return *this;} + ///@} + private: + + double m_beginAudioTime; + bool m_beginAudioTimeHasBeenSet = false; + + double m_endAudioTime; + bool m_endAudioTimeHasBeenSet = false; + + MedicalScribeTranscriptItemType m_type; + bool m_typeHasBeenSet = false; + + double m_confidence; + bool m_confidenceHasBeenSet = false; + + Aws::String m_content; + bool m_contentHasBeenSet = false; + + bool m_vocabularyFilterMatch; + bool m_vocabularyFilterMatchHasBeenSet = false; + }; + +} // namespace Model +} // namespace TranscribeStreamingService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-transcribestreaming/include/aws/transcribestreaming/model/MedicalScribeTranscriptItemType.h b/generated/src/aws-cpp-sdk-transcribestreaming/include/aws/transcribestreaming/model/MedicalScribeTranscriptItemType.h new file mode 100644 index 00000000000..9727fdc76a0 --- /dev/null +++ b/generated/src/aws-cpp-sdk-transcribestreaming/include/aws/transcribestreaming/model/MedicalScribeTranscriptItemType.h @@ -0,0 +1,31 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace TranscribeStreamingService +{ +namespace Model +{ + enum class MedicalScribeTranscriptItemType + { + NOT_SET, + pronunciation, + punctuation + }; + +namespace MedicalScribeTranscriptItemTypeMapper +{ +AWS_TRANSCRIBESTREAMINGSERVICE_API MedicalScribeTranscriptItemType GetMedicalScribeTranscriptItemTypeForName(const Aws::String& name); + +AWS_TRANSCRIBESTREAMINGSERVICE_API Aws::String GetNameForMedicalScribeTranscriptItemType(MedicalScribeTranscriptItemType value); +} // namespace MedicalScribeTranscriptItemTypeMapper +} // namespace Model +} // namespace TranscribeStreamingService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-transcribestreaming/include/aws/transcribestreaming/model/MedicalScribeTranscriptSegment.h b/generated/src/aws-cpp-sdk-transcribestreaming/include/aws/transcribestreaming/model/MedicalScribeTranscriptSegment.h new file mode 100644 index 00000000000..af01f6c2e1c --- /dev/null +++ b/generated/src/aws-cpp-sdk-transcribestreaming/include/aws/transcribestreaming/model/MedicalScribeTranscriptSegment.h @@ -0,0 +1,160 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace TranscribeStreamingService +{ +namespace Model +{ + + /** + *

        Contains a set of transcription results, along with additional information of + * the segment.

        See Also:

        AWS + * API Reference

        + */ + class MedicalScribeTranscriptSegment + { + public: + AWS_TRANSCRIBESTREAMINGSERVICE_API MedicalScribeTranscriptSegment(); + AWS_TRANSCRIBESTREAMINGSERVICE_API MedicalScribeTranscriptSegment(Aws::Utils::Json::JsonView jsonValue); + AWS_TRANSCRIBESTREAMINGSERVICE_API MedicalScribeTranscriptSegment& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_TRANSCRIBESTREAMINGSERVICE_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

        The identifier of the segment.

        + */ + inline const Aws::String& GetSegmentId() const{ return m_segmentId; } + inline bool SegmentIdHasBeenSet() const { return m_segmentIdHasBeenSet; } + inline void SetSegmentId(const Aws::String& value) { m_segmentIdHasBeenSet = true; m_segmentId = value; } + inline void SetSegmentId(Aws::String&& value) { m_segmentIdHasBeenSet = true; m_segmentId = std::move(value); } + inline void SetSegmentId(const char* value) { m_segmentIdHasBeenSet = true; m_segmentId.assign(value); } + inline MedicalScribeTranscriptSegment& WithSegmentId(const Aws::String& value) { SetSegmentId(value); return *this;} + inline MedicalScribeTranscriptSegment& WithSegmentId(Aws::String&& value) { SetSegmentId(std::move(value)); return *this;} + inline MedicalScribeTranscriptSegment& WithSegmentId(const char* value) { SetSegmentId(value); return *this;} + ///@} + + ///@{ + /** + *

        The start time, in milliseconds, of the segment.

        + */ + inline double GetBeginAudioTime() const{ return m_beginAudioTime; } + inline bool BeginAudioTimeHasBeenSet() const { return m_beginAudioTimeHasBeenSet; } + inline void SetBeginAudioTime(double value) { m_beginAudioTimeHasBeenSet = true; m_beginAudioTime = value; } + inline MedicalScribeTranscriptSegment& WithBeginAudioTime(double value) { SetBeginAudioTime(value); return *this;} + ///@} + + ///@{ + /** + *

        The end time, in milliseconds, of the segment.

        + */ + inline double GetEndAudioTime() const{ return m_endAudioTime; } + inline bool EndAudioTimeHasBeenSet() const { return m_endAudioTimeHasBeenSet; } + inline void SetEndAudioTime(double value) { m_endAudioTimeHasBeenSet = true; m_endAudioTime = value; } + inline MedicalScribeTranscriptSegment& WithEndAudioTime(double value) { SetEndAudioTime(value); return *this;} + ///@} + + ///@{ + /** + *

        Contains transcribed text of the segment.

        + */ + inline const Aws::String& GetContent() const{ return m_content; } + inline bool ContentHasBeenSet() const { return m_contentHasBeenSet; } + inline void SetContent(const Aws::String& value) { m_contentHasBeenSet = true; m_content = value; } + inline void SetContent(Aws::String&& value) { m_contentHasBeenSet = true; m_content = std::move(value); } + inline void SetContent(const char* value) { m_contentHasBeenSet = true; m_content.assign(value); } + inline MedicalScribeTranscriptSegment& WithContent(const Aws::String& value) { SetContent(value); return *this;} + inline MedicalScribeTranscriptSegment& WithContent(Aws::String&& value) { SetContent(std::move(value)); return *this;} + inline MedicalScribeTranscriptSegment& WithContent(const char* value) { SetContent(value); return *this;} + ///@} + + ///@{ + /** + *

        Contains words, phrases, or punctuation marks in your segment.

        + */ + inline const Aws::Vector& GetItems() const{ return m_items; } + inline bool ItemsHasBeenSet() const { return m_itemsHasBeenSet; } + inline void SetItems(const Aws::Vector& value) { m_itemsHasBeenSet = true; m_items = value; } + inline void SetItems(Aws::Vector&& value) { m_itemsHasBeenSet = true; m_items = std::move(value); } + inline MedicalScribeTranscriptSegment& WithItems(const Aws::Vector& value) { SetItems(value); return *this;} + inline MedicalScribeTranscriptSegment& WithItems(Aws::Vector&& value) { SetItems(std::move(value)); return *this;} + inline MedicalScribeTranscriptSegment& AddItems(const MedicalScribeTranscriptItem& value) { m_itemsHasBeenSet = true; m_items.push_back(value); return *this; } + inline MedicalScribeTranscriptSegment& AddItems(MedicalScribeTranscriptItem&& value) { m_itemsHasBeenSet = true; m_items.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

        Indicates if the segment is complete.

        If IsPartial is + * true, the segment is not complete. If IsPartial is + * false, the segment is complete.

        + */ + inline bool GetIsPartial() const{ return m_isPartial; } + inline bool IsPartialHasBeenSet() const { return m_isPartialHasBeenSet; } + inline void SetIsPartial(bool value) { m_isPartialHasBeenSet = true; m_isPartial = value; } + inline MedicalScribeTranscriptSegment& WithIsPartial(bool value) { SetIsPartial(value); return *this;} + ///@} + + ///@{ + /** + *

        Indicates which audio channel is associated with the + * MedicalScribeTranscriptSegment.

        If + * MedicalScribeChannelDefinition is not provided in the + * MedicalScribeConfigurationEvent, then this field will not be + * included.

        + */ + inline const Aws::String& GetChannelId() const{ return m_channelId; } + inline bool ChannelIdHasBeenSet() const { return m_channelIdHasBeenSet; } + inline void SetChannelId(const Aws::String& value) { m_channelIdHasBeenSet = true; m_channelId = value; } + inline void SetChannelId(Aws::String&& value) { m_channelIdHasBeenSet = true; m_channelId = std::move(value); } + inline void SetChannelId(const char* value) { m_channelIdHasBeenSet = true; m_channelId.assign(value); } + inline MedicalScribeTranscriptSegment& WithChannelId(const Aws::String& value) { SetChannelId(value); return *this;} + inline MedicalScribeTranscriptSegment& WithChannelId(Aws::String&& value) { SetChannelId(std::move(value)); return *this;} + inline MedicalScribeTranscriptSegment& WithChannelId(const char* value) { SetChannelId(value); return *this;} + ///@} + private: + + Aws::String m_segmentId; + bool m_segmentIdHasBeenSet = false; + + double m_beginAudioTime; + bool m_beginAudioTimeHasBeenSet = false; + + double m_endAudioTime; + bool m_endAudioTimeHasBeenSet = false; + + Aws::String m_content; + bool m_contentHasBeenSet = false; + + Aws::Vector m_items; + bool m_itemsHasBeenSet = false; + + bool m_isPartial; + bool m_isPartialHasBeenSet = false; + + Aws::String m_channelId; + bool m_channelIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace TranscribeStreamingService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-transcribestreaming/include/aws/transcribestreaming/model/MedicalScribeVocabularyFilterMethod.h b/generated/src/aws-cpp-sdk-transcribestreaming/include/aws/transcribestreaming/model/MedicalScribeVocabularyFilterMethod.h new file mode 100644 index 00000000000..477315f980b --- /dev/null +++ b/generated/src/aws-cpp-sdk-transcribestreaming/include/aws/transcribestreaming/model/MedicalScribeVocabularyFilterMethod.h @@ -0,0 +1,32 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace TranscribeStreamingService +{ +namespace Model +{ + enum class MedicalScribeVocabularyFilterMethod + { + NOT_SET, + remove, + mask, + tag + }; + +namespace MedicalScribeVocabularyFilterMethodMapper +{ +AWS_TRANSCRIBESTREAMINGSERVICE_API MedicalScribeVocabularyFilterMethod GetMedicalScribeVocabularyFilterMethodForName(const Aws::String& name); + +AWS_TRANSCRIBESTREAMINGSERVICE_API Aws::String GetNameForMedicalScribeVocabularyFilterMethod(MedicalScribeVocabularyFilterMethod value); +} // namespace MedicalScribeVocabularyFilterMethodMapper +} // namespace Model +} // namespace TranscribeStreamingService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-transcribestreaming/include/aws/transcribestreaming/model/StartMedicalScribeStreamHandler.h b/generated/src/aws-cpp-sdk-transcribestreaming/include/aws/transcribestreaming/model/StartMedicalScribeStreamHandler.h new file mode 100644 index 00000000000..a7eb6a3e7ee --- /dev/null +++ b/generated/src/aws-cpp-sdk-transcribestreaming/include/aws/transcribestreaming/model/StartMedicalScribeStreamHandler.h @@ -0,0 +1,81 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +#include +#include + +namespace Aws +{ +namespace TranscribeStreamingService +{ +namespace Model +{ + enum class StartMedicalScribeStreamEventType + { + INITIAL_RESPONSE, + TRANSCRIPTEVENT, + UNKNOWN + }; + + class StartMedicalScribeStreamHandler : public Aws::Utils::Event::EventStreamHandler + { + typedef std::function StartMedicalScribeStreamInitialResponseCallback; + typedef std::function StartMedicalScribeStreamInitialResponseCallbackEx; + typedef std::function MedicalScribeTranscriptEventCallback; + typedef std::function& error)> ErrorCallback; + + public: + AWS_TRANSCRIBESTREAMINGSERVICE_API StartMedicalScribeStreamHandler(); + AWS_TRANSCRIBESTREAMINGSERVICE_API StartMedicalScribeStreamHandler& operator=(const StartMedicalScribeStreamHandler&) = default; + + AWS_TRANSCRIBESTREAMINGSERVICE_API virtual void OnEvent() override; + + ///@{ + /** + * Sets an initial response callback. This callback gets called on the initial StartMedicalScribeStream Operation response. + * This can be either "initial-response" decoded event frame or decoded HTTP headers received on connection. + * This callback may get called more than once (i.e. on connection headers received and then on the initial-response event received). + * @param callback + */ + inline void SetInitialResponseCallbackEx(const StartMedicalScribeStreamInitialResponseCallbackEx& callback) { m_onInitialResponse = callback; } + /** + * Sets an initial response callback (a legacy one that does not distinguish whether response originates from headers or from the event). + */ + inline void SetInitialResponseCallback(const StartMedicalScribeStreamInitialResponseCallback& noArgCallback) + { + m_onInitialResponse = [noArgCallback](const StartMedicalScribeStreamInitialResponse& rs, const Utils::Event::InitialResponseType) { return noArgCallback(rs); }; + } + ///@} + inline void SetMedicalScribeTranscriptEventCallback(const MedicalScribeTranscriptEventCallback& callback) { m_onMedicalScribeTranscriptEvent = callback; } + inline void SetOnErrorCallback(const ErrorCallback& callback) { m_onError = callback; } + + inline StartMedicalScribeStreamInitialResponseCallbackEx& GetInitialResponseCallbackEx() { return m_onInitialResponse; } + + private: + AWS_TRANSCRIBESTREAMINGSERVICE_API void HandleEventInMessage(); + AWS_TRANSCRIBESTREAMINGSERVICE_API void HandleErrorInMessage(); + AWS_TRANSCRIBESTREAMINGSERVICE_API void MarshallError(const Aws::String& errorCode, const Aws::String& errorMessage); + + StartMedicalScribeStreamInitialResponseCallbackEx m_onInitialResponse; + MedicalScribeTranscriptEventCallback m_onMedicalScribeTranscriptEvent; + ErrorCallback m_onError; + }; + +namespace StartMedicalScribeStreamEventMapper +{ + AWS_TRANSCRIBESTREAMINGSERVICE_API StartMedicalScribeStreamEventType GetStartMedicalScribeStreamEventTypeForName(const Aws::String& name); + + AWS_TRANSCRIBESTREAMINGSERVICE_API Aws::String GetNameForStartMedicalScribeStreamEventType(StartMedicalScribeStreamEventType value); +} // namespace StartMedicalScribeStreamEventMapper +} // namespace Model +} // namespace TranscribeStreamingService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-transcribestreaming/include/aws/transcribestreaming/model/StartMedicalScribeStreamInitialResponse.h b/generated/src/aws-cpp-sdk-transcribestreaming/include/aws/transcribestreaming/model/StartMedicalScribeStreamInitialResponse.h new file mode 100644 index 00000000000..b9e6a8cd08e --- /dev/null +++ b/generated/src/aws-cpp-sdk-transcribestreaming/include/aws/transcribestreaming/model/StartMedicalScribeStreamInitialResponse.h @@ -0,0 +1,125 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace TranscribeStreamingService +{ +namespace Model +{ + + class StartMedicalScribeStreamInitialResponse + { + public: + AWS_TRANSCRIBESTREAMINGSERVICE_API StartMedicalScribeStreamInitialResponse(); + AWS_TRANSCRIBESTREAMINGSERVICE_API StartMedicalScribeStreamInitialResponse(Aws::Utils::Json::JsonView jsonValue); + AWS_TRANSCRIBESTREAMINGSERVICE_API StartMedicalScribeStreamInitialResponse& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_TRANSCRIBESTREAMINGSERVICE_API StartMedicalScribeStreamInitialResponse(const Http::HeaderValueCollection& responseHeaders); + AWS_TRANSCRIBESTREAMINGSERVICE_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

        The identifier (in UUID format) for your streaming session.

        If you + * already started streaming, this is same ID as the one you specified in your + * initial StartMedicalScribeStreamRequest.

        + */ + inline const Aws::String& GetSessionId() const{ return m_sessionId; } + inline bool SessionIdHasBeenSet() const { return m_sessionIdHasBeenSet; } + inline void SetSessionId(const Aws::String& value) { m_sessionIdHasBeenSet = true; m_sessionId = value; } + inline void SetSessionId(Aws::String&& value) { m_sessionIdHasBeenSet = true; m_sessionId = std::move(value); } + inline void SetSessionId(const char* value) { m_sessionIdHasBeenSet = true; m_sessionId.assign(value); } + inline StartMedicalScribeStreamInitialResponse& WithSessionId(const Aws::String& value) { SetSessionId(value); return *this;} + inline StartMedicalScribeStreamInitialResponse& WithSessionId(Aws::String&& value) { SetSessionId(std::move(value)); return *this;} + inline StartMedicalScribeStreamInitialResponse& WithSessionId(const char* value) { SetSessionId(value); return *this;} + ///@} + + ///@{ + /** + *

        The unique identifier for your streaming request.

        + */ + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline bool RequestIdHasBeenSet() const { return m_requestIdHasBeenSet; } + inline void SetRequestId(const Aws::String& value) { m_requestIdHasBeenSet = true; m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestIdHasBeenSet = true; m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestIdHasBeenSet = true; m_requestId.assign(value); } + inline StartMedicalScribeStreamInitialResponse& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline StartMedicalScribeStreamInitialResponse& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline StartMedicalScribeStreamInitialResponse& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + + ///@{ + /** + *

        The Language Code that you specified in your request. Same as provided in the + * StartMedicalScribeStreamRequest.

        + */ + inline const MedicalScribeLanguageCode& GetLanguageCode() const{ return m_languageCode; } + inline bool LanguageCodeHasBeenSet() const { return m_languageCodeHasBeenSet; } + inline void SetLanguageCode(const MedicalScribeLanguageCode& value) { m_languageCodeHasBeenSet = true; m_languageCode = value; } + inline void SetLanguageCode(MedicalScribeLanguageCode&& value) { m_languageCodeHasBeenSet = true; m_languageCode = std::move(value); } + inline StartMedicalScribeStreamInitialResponse& WithLanguageCode(const MedicalScribeLanguageCode& value) { SetLanguageCode(value); return *this;} + inline StartMedicalScribeStreamInitialResponse& WithLanguageCode(MedicalScribeLanguageCode&& value) { SetLanguageCode(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        The sample rate (in hertz) that you specified in your request. Same as + * provided in the StartMedicalScribeStreamRequest

        + */ + inline int GetMediaSampleRateHertz() const{ return m_mediaSampleRateHertz; } + inline bool MediaSampleRateHertzHasBeenSet() const { return m_mediaSampleRateHertzHasBeenSet; } + inline void SetMediaSampleRateHertz(int value) { m_mediaSampleRateHertzHasBeenSet = true; m_mediaSampleRateHertz = value; } + inline StartMedicalScribeStreamInitialResponse& WithMediaSampleRateHertz(int value) { SetMediaSampleRateHertz(value); return *this;} + ///@} + + ///@{ + /** + *

        The Media Encoding you specified in your request. Same as provided in the + * StartMedicalScribeStreamRequest

        + */ + inline const MedicalScribeMediaEncoding& GetMediaEncoding() const{ return m_mediaEncoding; } + inline bool MediaEncodingHasBeenSet() const { return m_mediaEncodingHasBeenSet; } + inline void SetMediaEncoding(const MedicalScribeMediaEncoding& value) { m_mediaEncodingHasBeenSet = true; m_mediaEncoding = value; } + inline void SetMediaEncoding(MedicalScribeMediaEncoding&& value) { m_mediaEncodingHasBeenSet = true; m_mediaEncoding = std::move(value); } + inline StartMedicalScribeStreamInitialResponse& WithMediaEncoding(const MedicalScribeMediaEncoding& value) { SetMediaEncoding(value); return *this;} + inline StartMedicalScribeStreamInitialResponse& WithMediaEncoding(MedicalScribeMediaEncoding&& value) { SetMediaEncoding(std::move(value)); return *this;} + ///@} + private: + + Aws::String m_sessionId; + bool m_sessionIdHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + + MedicalScribeLanguageCode m_languageCode; + bool m_languageCodeHasBeenSet = false; + + int m_mediaSampleRateHertz; + bool m_mediaSampleRateHertzHasBeenSet = false; + + MedicalScribeMediaEncoding m_mediaEncoding; + bool m_mediaEncodingHasBeenSet = false; + }; + +} // namespace Model +} // namespace TranscribeStreamingService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-transcribestreaming/include/aws/transcribestreaming/model/StartMedicalScribeStreamRequest.h b/generated/src/aws-cpp-sdk-transcribestreaming/include/aws/transcribestreaming/model/StartMedicalScribeStreamRequest.h new file mode 100644 index 00000000000..1b26a887777 --- /dev/null +++ b/generated/src/aws-cpp-sdk-transcribestreaming/include/aws/transcribestreaming/model/StartMedicalScribeStreamRequest.h @@ -0,0 +1,157 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace TranscribeStreamingService +{ +namespace Model +{ + + /** + */ + class StartMedicalScribeStreamRequest : public TranscribeStreamingServiceRequest + { + public: + AWS_TRANSCRIBESTREAMINGSERVICE_API StartMedicalScribeStreamRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "StartMedicalScribeStream"; } + + inline virtual bool IsEventStreamRequest() const override { return true; } + inline virtual bool HasEventStreamResponse() const override { return true; } + // SerializePayload will not be invoked. + // This request is sent by encoding its data in event-streams which is sent as IOStream via GetBody() + AWS_TRANSCRIBESTREAMINGSERVICE_API Aws::String SerializePayload() const override { return {}; } + AWS_TRANSCRIBESTREAMINGSERVICE_API std::shared_ptr GetBody() const override; + AWS_TRANSCRIBESTREAMINGSERVICE_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + /** + * Underlying Event Stream Decoder. + */ + inline Aws::Utils::Event::EventStreamDecoder& GetEventStreamDecoder() { return m_decoder; } + + /** + * Underlying Event Stream Handler which is used to define callback functions. + */ + inline const StartMedicalScribeStreamHandler& GetEventStreamHandler() const { return m_handler; } + + /** + * Underlying Event Stream Handler which is used to define callback functions. + */ + inline void SetEventStreamHandler(const StartMedicalScribeStreamHandler& value) { m_handler = value; m_decoder.ResetEventStreamHandler(&m_handler); } + + /** + * Underlying Event Stream Handler which is used to define callback functions. + */ + inline StartMedicalScribeStreamRequest& WithEventStreamHandler(const StartMedicalScribeStreamHandler& value) { SetEventStreamHandler(value); return *this; } + + + ///@{ + /** + *

        Specify an identifier for your streaming session (in UUID format). If you + * don't include a SessionId in your request, Amazon Web Services HealthScribe + * generates an ID and returns it in the response.

        + */ + inline const Aws::String& GetSessionId() const{ return m_sessionId; } + inline bool SessionIdHasBeenSet() const { return m_sessionIdHasBeenSet; } + inline void SetSessionId(const Aws::String& value) { m_sessionIdHasBeenSet = true; m_sessionId = value; } + inline void SetSessionId(Aws::String&& value) { m_sessionIdHasBeenSet = true; m_sessionId = std::move(value); } + inline void SetSessionId(const char* value) { m_sessionIdHasBeenSet = true; m_sessionId.assign(value); } + inline StartMedicalScribeStreamRequest& WithSessionId(const Aws::String& value) { SetSessionId(value); return *this;} + inline StartMedicalScribeStreamRequest& WithSessionId(Aws::String&& value) { SetSessionId(std::move(value)); return *this;} + inline StartMedicalScribeStreamRequest& WithSessionId(const char* value) { SetSessionId(value); return *this;} + ///@} + + ///@{ + /** + *

        Specify the language code for your HealthScribe streaming session.

        + */ + inline const MedicalScribeLanguageCode& GetLanguageCode() const{ return m_languageCode; } + inline bool LanguageCodeHasBeenSet() const { return m_languageCodeHasBeenSet; } + inline void SetLanguageCode(const MedicalScribeLanguageCode& value) { m_languageCodeHasBeenSet = true; m_languageCode = value; } + inline void SetLanguageCode(MedicalScribeLanguageCode&& value) { m_languageCodeHasBeenSet = true; m_languageCode = std::move(value); } + inline StartMedicalScribeStreamRequest& WithLanguageCode(const MedicalScribeLanguageCode& value) { SetLanguageCode(value); return *this;} + inline StartMedicalScribeStreamRequest& WithLanguageCode(MedicalScribeLanguageCode&& value) { SetLanguageCode(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        Specify the sample rate of the input audio (in hertz). Amazon Web Services + * HealthScribe supports a range from 16,000 Hz to 48,000 Hz. The sample rate you + * specify must match that of your audio.

        + */ + inline int GetMediaSampleRateHertz() const{ return m_mediaSampleRateHertz; } + inline bool MediaSampleRateHertzHasBeenSet() const { return m_mediaSampleRateHertzHasBeenSet; } + inline void SetMediaSampleRateHertz(int value) { m_mediaSampleRateHertzHasBeenSet = true; m_mediaSampleRateHertz = value; } + inline StartMedicalScribeStreamRequest& WithMediaSampleRateHertz(int value) { SetMediaSampleRateHertz(value); return *this;} + ///@} + + ///@{ + /** + *

        Specify the encoding used for the input audio.

        Supported formats + * are:

        • FLAC

        • OPUS-encoded audio in an Ogg + * container

        • PCM (only signed 16-bit little-endian audio formats, + * which does not include WAV)

        For more information, see Media + * formats.

        + */ + inline const MedicalScribeMediaEncoding& GetMediaEncoding() const{ return m_mediaEncoding; } + inline bool MediaEncodingHasBeenSet() const { return m_mediaEncodingHasBeenSet; } + inline void SetMediaEncoding(const MedicalScribeMediaEncoding& value) { m_mediaEncodingHasBeenSet = true; m_mediaEncoding = value; } + inline void SetMediaEncoding(MedicalScribeMediaEncoding&& value) { m_mediaEncodingHasBeenSet = true; m_mediaEncoding = std::move(value); } + inline StartMedicalScribeStreamRequest& WithMediaEncoding(const MedicalScribeMediaEncoding& value) { SetMediaEncoding(value); return *this;} + inline StartMedicalScribeStreamRequest& WithMediaEncoding(MedicalScribeMediaEncoding&& value) { SetMediaEncoding(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

        Specify the input stream where you will send events in real time.

        The + * first element of the input stream must be a + * MedicalScribeConfigurationEvent.

        + */ + AWS_TRANSCRIBESTREAMINGSERVICE_API std::shared_ptr GetInputStream() const { return m_inputStream; } + AWS_TRANSCRIBESTREAMINGSERVICE_API void SetInputStream(const std::shared_ptr& value) { m_inputStream = value; } + AWS_TRANSCRIBESTREAMINGSERVICE_API StartMedicalScribeStreamRequest& WithInputStream(const std::shared_ptr& value) { SetInputStream(value); return *this;} + + ///@} + private: + + Aws::String m_sessionId; + bool m_sessionIdHasBeenSet = false; + + MedicalScribeLanguageCode m_languageCode; + bool m_languageCodeHasBeenSet = false; + + int m_mediaSampleRateHertz; + bool m_mediaSampleRateHertzHasBeenSet = false; + + MedicalScribeMediaEncoding m_mediaEncoding; + bool m_mediaEncodingHasBeenSet = false; + + std::shared_ptr m_inputStream; + StartMedicalScribeStreamHandler m_handler; + Aws::Utils::Event::EventStreamDecoder m_decoder; + + }; + +} // namespace Model +} // namespace TranscribeStreamingService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-transcribestreaming/source/TranscribeStreamingServiceClient.cpp b/generated/src/aws-cpp-sdk-transcribestreaming/source/TranscribeStreamingServiceClient.cpp index a1fc45452a9..9cefc6ae051 100644 --- a/generated/src/aws-cpp-sdk-transcribestreaming/source/TranscribeStreamingServiceClient.cpp +++ b/generated/src/aws-cpp-sdk-transcribestreaming/source/TranscribeStreamingServiceClient.cpp @@ -22,7 +22,9 @@ #include #include #include +#include #include +#include #include #include @@ -168,6 +170,39 @@ void TranscribeStreamingServiceClient::OverrideEndpoint(const Aws::String& endpo m_endpointProvider->OverrideEndpoint(endpoint); } +GetMedicalScribeStreamOutcome TranscribeStreamingServiceClient::GetMedicalScribeStream(const GetMedicalScribeStreamRequest& request) const +{ + AWS_OPERATION_GUARD(GetMedicalScribeStream); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetMedicalScribeStream, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.SessionIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GetMedicalScribeStream", "Required field: SessionId, is not set"); + return GetMedicalScribeStreamOutcome(Aws::Client::AWSError(TranscribeStreamingServiceErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [SessionId]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, GetMedicalScribeStream, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, GetMedicalScribeStream, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".GetMedicalScribeStream", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> GetMedicalScribeStreamOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, GetMedicalScribeStream, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/medical-scribe-stream/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetSessionId()); + return GetMedicalScribeStreamOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + void TranscribeStreamingServiceClient::StartCallAnalyticsStreamTranscriptionAsync(Model::StartCallAnalyticsStreamTranscriptionRequest& request, const StartCallAnalyticsStreamTranscriptionStreamReadyHandler& streamReadyHandler, const StartCallAnalyticsStreamTranscriptionResponseReceivedHandler& handler, @@ -234,6 +269,72 @@ void TranscribeStreamingServiceClient::StartCallAnalyticsStreamTranscriptionAsyn sem->WaitOne(); streamReadyHandler(*request.GetAudioStream()); } +void TranscribeStreamingServiceClient::StartMedicalScribeStreamAsync(Model::StartMedicalScribeStreamRequest& request, + const StartMedicalScribeStreamStreamReadyHandler& streamReadyHandler, + const StartMedicalScribeStreamResponseReceivedHandler& handler, + const std::shared_ptr& handlerContext) const +{ + AWS_ASYNC_OPERATION_GUARD(StartMedicalScribeStream); + if (!m_endpointProvider) { + handler(this, request, StartMedicalScribeStreamOutcome(Aws::Client::AWSError(TranscribeStreamingServiceErrors::INTERNAL_FAILURE, "INTERNAL_FAILURE", "Endpoint provider is not initialized", false)), handlerContext); + return; + } + if (!request.LanguageCodeHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("StartMedicalScribeStream", "Required field: LanguageCode, is not set"); + handler(this, request, StartMedicalScribeStreamOutcome(Aws::Client::AWSError(TranscribeStreamingServiceErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [LanguageCode]", false)), handlerContext); + return; + } + if (!request.MediaSampleRateHertzHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("StartMedicalScribeStream", "Required field: MediaSampleRateHertz, is not set"); + handler(this, request, StartMedicalScribeStreamOutcome(Aws::Client::AWSError(TranscribeStreamingServiceErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [MediaSampleRateHertz]", false)), handlerContext); + return; + } + if (!request.MediaEncodingHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("StartMedicalScribeStream", "Required field: MediaEncoding, is not set"); + handler(this, request, StartMedicalScribeStreamOutcome(Aws::Client::AWSError(TranscribeStreamingServiceErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [MediaEncoding]", false)), handlerContext); + return; + } + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + if (!endpointResolutionOutcome.IsSuccess()) { + handler(this, request, StartMedicalScribeStreamOutcome(Aws::Client::AWSError( + CoreErrors::ENDPOINT_RESOLUTION_FAILURE, "ENDPOINT_RESOLUTION_FAILURE", endpointResolutionOutcome.GetError().GetMessage(), false)), handlerContext); + return; + } + endpointResolutionOutcome.GetResult().AddPathSegments("/medical-scribe-stream"); + request.SetResponseStreamFactory( + [&] { request.GetEventStreamDecoder().Reset(); return Aws::New(ALLOCATION_TAG, request.GetEventStreamDecoder()); } + ); + + auto eventEncoderStream = Aws::MakeShared(ALLOCATION_TAG); + eventEncoderStream->SetSigner(GetSignerByName(Aws::Auth::EVENTSTREAM_SIGV4_SIGNER)); + request.SetInputStream(eventEncoderStream); // this becomes the body of the request + auto sem = Aws::MakeShared(ALLOCATION_TAG, 0, 1); + request.SetRequestSignedHandler([eventEncoderStream, sem](const Aws::Http::HttpRequest& httpRequest) { eventEncoderStream->SetSignatureSeed(Aws::Client::GetAuthorizationHeader(httpRequest)); sem->ReleaseAll(); }); + + m_clientConfiguration.executor->Submit([this, endpointResolutionOutcome, &request, handler, handlerContext] () mutable { + JsonOutcome outcome = MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::EVENTSTREAM_SIGV4_SIGNER); + if(outcome.IsSuccess()) + { + handler(this, request, StartMedicalScribeStreamOutcome(NoResult()), handlerContext); + } + else + { + request.GetInputStream()->Close(); + handler(this, request, StartMedicalScribeStreamOutcome(outcome.GetError()), handlerContext); + } + return StartMedicalScribeStreamOutcome(NoResult()); + }); + sem->WaitOne(); + streamReadyHandler(*request.GetInputStream()); +} void TranscribeStreamingServiceClient::StartMedicalStreamTranscriptionAsync(Model::StartMedicalStreamTranscriptionRequest& request, const StartMedicalStreamTranscriptionStreamReadyHandler& streamReadyHandler, const StartMedicalStreamTranscriptionResponseReceivedHandler& handler, diff --git a/generated/src/aws-cpp-sdk-transcribestreaming/source/model/ClinicalNoteGenerationResult.cpp b/generated/src/aws-cpp-sdk-transcribestreaming/source/model/ClinicalNoteGenerationResult.cpp new file mode 100644 index 00000000000..3e59f219587 --- /dev/null +++ b/generated/src/aws-cpp-sdk-transcribestreaming/source/model/ClinicalNoteGenerationResult.cpp @@ -0,0 +1,101 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace TranscribeStreamingService +{ +namespace Model +{ + +ClinicalNoteGenerationResult::ClinicalNoteGenerationResult() : + m_clinicalNoteOutputLocationHasBeenSet(false), + m_transcriptOutputLocationHasBeenSet(false), + m_status(ClinicalNoteGenerationStatus::NOT_SET), + m_statusHasBeenSet(false), + m_failureReasonHasBeenSet(false) +{ +} + +ClinicalNoteGenerationResult::ClinicalNoteGenerationResult(JsonView jsonValue) + : ClinicalNoteGenerationResult() +{ + *this = jsonValue; +} + +ClinicalNoteGenerationResult& ClinicalNoteGenerationResult::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("ClinicalNoteOutputLocation")) + { + m_clinicalNoteOutputLocation = jsonValue.GetString("ClinicalNoteOutputLocation"); + + m_clinicalNoteOutputLocationHasBeenSet = true; + } + + if(jsonValue.ValueExists("TranscriptOutputLocation")) + { + m_transcriptOutputLocation = jsonValue.GetString("TranscriptOutputLocation"); + + m_transcriptOutputLocationHasBeenSet = true; + } + + if(jsonValue.ValueExists("Status")) + { + m_status = ClinicalNoteGenerationStatusMapper::GetClinicalNoteGenerationStatusForName(jsonValue.GetString("Status")); + + m_statusHasBeenSet = true; + } + + if(jsonValue.ValueExists("FailureReason")) + { + m_failureReason = jsonValue.GetString("FailureReason"); + + m_failureReasonHasBeenSet = true; + } + + return *this; +} + +JsonValue ClinicalNoteGenerationResult::Jsonize() const +{ + JsonValue payload; + + if(m_clinicalNoteOutputLocationHasBeenSet) + { + payload.WithString("ClinicalNoteOutputLocation", m_clinicalNoteOutputLocation); + + } + + if(m_transcriptOutputLocationHasBeenSet) + { + payload.WithString("TranscriptOutputLocation", m_transcriptOutputLocation); + + } + + if(m_statusHasBeenSet) + { + payload.WithString("Status", ClinicalNoteGenerationStatusMapper::GetNameForClinicalNoteGenerationStatus(m_status)); + } + + if(m_failureReasonHasBeenSet) + { + payload.WithString("FailureReason", m_failureReason); + + } + + return payload; +} + +} // namespace Model +} // namespace TranscribeStreamingService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-transcribestreaming/source/model/ClinicalNoteGenerationSettings.cpp b/generated/src/aws-cpp-sdk-transcribestreaming/source/model/ClinicalNoteGenerationSettings.cpp new file mode 100644 index 00000000000..1fc0cb06298 --- /dev/null +++ b/generated/src/aws-cpp-sdk-transcribestreaming/source/model/ClinicalNoteGenerationSettings.cpp @@ -0,0 +1,59 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace TranscribeStreamingService +{ +namespace Model +{ + +ClinicalNoteGenerationSettings::ClinicalNoteGenerationSettings() : + m_outputBucketNameHasBeenSet(false) +{ +} + +ClinicalNoteGenerationSettings::ClinicalNoteGenerationSettings(JsonView jsonValue) + : ClinicalNoteGenerationSettings() +{ + *this = jsonValue; +} + +ClinicalNoteGenerationSettings& ClinicalNoteGenerationSettings::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("OutputBucketName")) + { + m_outputBucketName = jsonValue.GetString("OutputBucketName"); + + m_outputBucketNameHasBeenSet = true; + } + + return *this; +} + +JsonValue ClinicalNoteGenerationSettings::Jsonize() const +{ + JsonValue payload; + + if(m_outputBucketNameHasBeenSet) + { + payload.WithString("OutputBucketName", m_outputBucketName); + + } + + return payload; +} + +} // namespace Model +} // namespace TranscribeStreamingService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-transcribestreaming/source/model/ClinicalNoteGenerationStatus.cpp b/generated/src/aws-cpp-sdk-transcribestreaming/source/model/ClinicalNoteGenerationStatus.cpp new file mode 100644 index 00000000000..e70b29b816d --- /dev/null +++ b/generated/src/aws-cpp-sdk-transcribestreaming/source/model/ClinicalNoteGenerationStatus.cpp @@ -0,0 +1,79 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace TranscribeStreamingService + { + namespace Model + { + namespace ClinicalNoteGenerationStatusMapper + { + + static const int IN_PROGRESS_HASH = HashingUtils::HashString("IN_PROGRESS"); + static const int FAILED_HASH = HashingUtils::HashString("FAILED"); + static const int COMPLETED_HASH = HashingUtils::HashString("COMPLETED"); + + + ClinicalNoteGenerationStatus GetClinicalNoteGenerationStatusForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == IN_PROGRESS_HASH) + { + return ClinicalNoteGenerationStatus::IN_PROGRESS; + } + else if (hashCode == FAILED_HASH) + { + return ClinicalNoteGenerationStatus::FAILED; + } + else if (hashCode == COMPLETED_HASH) + { + return ClinicalNoteGenerationStatus::COMPLETED; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return ClinicalNoteGenerationStatus::NOT_SET; + } + + Aws::String GetNameForClinicalNoteGenerationStatus(ClinicalNoteGenerationStatus enumValue) + { + switch(enumValue) + { + case ClinicalNoteGenerationStatus::NOT_SET: + return {}; + case ClinicalNoteGenerationStatus::IN_PROGRESS: + return "IN_PROGRESS"; + case ClinicalNoteGenerationStatus::FAILED: + return "FAILED"; + case ClinicalNoteGenerationStatus::COMPLETED: + return "COMPLETED"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace ClinicalNoteGenerationStatusMapper + } // namespace Model + } // namespace TranscribeStreamingService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-transcribestreaming/source/model/GetMedicalScribeStreamRequest.cpp b/generated/src/aws-cpp-sdk-transcribestreaming/source/model/GetMedicalScribeStreamRequest.cpp new file mode 100644 index 00000000000..2b0bfef3d25 --- /dev/null +++ b/generated/src/aws-cpp-sdk-transcribestreaming/source/model/GetMedicalScribeStreamRequest.cpp @@ -0,0 +1,27 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::TranscribeStreamingService::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +GetMedicalScribeStreamRequest::GetMedicalScribeStreamRequest() : + m_sessionIdHasBeenSet(false) +{ +} + +Aws::String GetMedicalScribeStreamRequest::SerializePayload() const +{ + return {}; +} + + + + diff --git a/generated/src/aws-cpp-sdk-transcribestreaming/source/model/GetMedicalScribeStreamResult.cpp b/generated/src/aws-cpp-sdk-transcribestreaming/source/model/GetMedicalScribeStreamResult.cpp new file mode 100644 index 00000000000..e99fef5f7ee --- /dev/null +++ b/generated/src/aws-cpp-sdk-transcribestreaming/source/model/GetMedicalScribeStreamResult.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::TranscribeStreamingService::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +GetMedicalScribeStreamResult::GetMedicalScribeStreamResult() +{ +} + +GetMedicalScribeStreamResult::GetMedicalScribeStreamResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +GetMedicalScribeStreamResult& GetMedicalScribeStreamResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("MedicalScribeStreamDetails")) + { + m_medicalScribeStreamDetails = jsonValue.GetObject("MedicalScribeStreamDetails"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-transcribestreaming/source/model/MedicalScribeChannelDefinition.cpp b/generated/src/aws-cpp-sdk-transcribestreaming/source/model/MedicalScribeChannelDefinition.cpp new file mode 100644 index 00000000000..df22a98c9ef --- /dev/null +++ b/generated/src/aws-cpp-sdk-transcribestreaming/source/model/MedicalScribeChannelDefinition.cpp @@ -0,0 +1,74 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace TranscribeStreamingService +{ +namespace Model +{ + +MedicalScribeChannelDefinition::MedicalScribeChannelDefinition() : + m_channelId(0), + m_channelIdHasBeenSet(false), + m_participantRole(MedicalScribeParticipantRole::NOT_SET), + m_participantRoleHasBeenSet(false) +{ +} + +MedicalScribeChannelDefinition::MedicalScribeChannelDefinition(JsonView jsonValue) + : MedicalScribeChannelDefinition() +{ + *this = jsonValue; +} + +MedicalScribeChannelDefinition& MedicalScribeChannelDefinition::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("ChannelId")) + { + m_channelId = jsonValue.GetInteger("ChannelId"); + + m_channelIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("ParticipantRole")) + { + m_participantRole = MedicalScribeParticipantRoleMapper::GetMedicalScribeParticipantRoleForName(jsonValue.GetString("ParticipantRole")); + + m_participantRoleHasBeenSet = true; + } + + return *this; +} + +JsonValue MedicalScribeChannelDefinition::Jsonize() const +{ + JsonValue payload; + + if(m_channelIdHasBeenSet) + { + payload.WithInteger("ChannelId", m_channelId); + + } + + if(m_participantRoleHasBeenSet) + { + payload.WithString("ParticipantRole", MedicalScribeParticipantRoleMapper::GetNameForMedicalScribeParticipantRole(m_participantRole)); + } + + return payload; +} + +} // namespace Model +} // namespace TranscribeStreamingService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-transcribestreaming/source/model/MedicalScribeConfigurationEvent.cpp b/generated/src/aws-cpp-sdk-transcribestreaming/source/model/MedicalScribeConfigurationEvent.cpp new file mode 100644 index 00000000000..8d9ff1d345e --- /dev/null +++ b/generated/src/aws-cpp-sdk-transcribestreaming/source/model/MedicalScribeConfigurationEvent.cpp @@ -0,0 +1,151 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace TranscribeStreamingService +{ +namespace Model +{ + +MedicalScribeConfigurationEvent::MedicalScribeConfigurationEvent() : + m_vocabularyNameHasBeenSet(false), + m_vocabularyFilterNameHasBeenSet(false), + m_vocabularyFilterMethod(MedicalScribeVocabularyFilterMethod::NOT_SET), + m_vocabularyFilterMethodHasBeenSet(false), + m_resourceAccessRoleArnHasBeenSet(false), + m_channelDefinitionsHasBeenSet(false), + m_encryptionSettingsHasBeenSet(false), + m_postStreamAnalyticsSettingsHasBeenSet(false) +{ +} + +MedicalScribeConfigurationEvent::MedicalScribeConfigurationEvent(JsonView jsonValue) + : MedicalScribeConfigurationEvent() +{ + *this = jsonValue; +} + +MedicalScribeConfigurationEvent& MedicalScribeConfigurationEvent::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("VocabularyName")) + { + m_vocabularyName = jsonValue.GetString("VocabularyName"); + + m_vocabularyNameHasBeenSet = true; + } + + if(jsonValue.ValueExists("VocabularyFilterName")) + { + m_vocabularyFilterName = jsonValue.GetString("VocabularyFilterName"); + + m_vocabularyFilterNameHasBeenSet = true; + } + + if(jsonValue.ValueExists("VocabularyFilterMethod")) + { + m_vocabularyFilterMethod = MedicalScribeVocabularyFilterMethodMapper::GetMedicalScribeVocabularyFilterMethodForName(jsonValue.GetString("VocabularyFilterMethod")); + + m_vocabularyFilterMethodHasBeenSet = true; + } + + if(jsonValue.ValueExists("ResourceAccessRoleArn")) + { + m_resourceAccessRoleArn = jsonValue.GetString("ResourceAccessRoleArn"); + + m_resourceAccessRoleArnHasBeenSet = true; + } + + if(jsonValue.ValueExists("ChannelDefinitions")) + { + Aws::Utils::Array channelDefinitionsJsonList = jsonValue.GetArray("ChannelDefinitions"); + for(unsigned channelDefinitionsIndex = 0; channelDefinitionsIndex < channelDefinitionsJsonList.GetLength(); ++channelDefinitionsIndex) + { + m_channelDefinitions.push_back(channelDefinitionsJsonList[channelDefinitionsIndex].AsObject()); + } + m_channelDefinitionsHasBeenSet = true; + } + + if(jsonValue.ValueExists("EncryptionSettings")) + { + m_encryptionSettings = jsonValue.GetObject("EncryptionSettings"); + + m_encryptionSettingsHasBeenSet = true; + } + + if(jsonValue.ValueExists("PostStreamAnalyticsSettings")) + { + m_postStreamAnalyticsSettings = jsonValue.GetObject("PostStreamAnalyticsSettings"); + + m_postStreamAnalyticsSettingsHasBeenSet = true; + } + + return *this; +} + +JsonValue MedicalScribeConfigurationEvent::Jsonize() const +{ + JsonValue payload; + + if(m_vocabularyNameHasBeenSet) + { + payload.WithString("VocabularyName", m_vocabularyName); + + } + + if(m_vocabularyFilterNameHasBeenSet) + { + payload.WithString("VocabularyFilterName", m_vocabularyFilterName); + + } + + if(m_vocabularyFilterMethodHasBeenSet) + { + payload.WithString("VocabularyFilterMethod", MedicalScribeVocabularyFilterMethodMapper::GetNameForMedicalScribeVocabularyFilterMethod(m_vocabularyFilterMethod)); + } + + if(m_resourceAccessRoleArnHasBeenSet) + { + payload.WithString("ResourceAccessRoleArn", m_resourceAccessRoleArn); + + } + + if(m_channelDefinitionsHasBeenSet) + { + Aws::Utils::Array channelDefinitionsJsonList(m_channelDefinitions.size()); + for(unsigned channelDefinitionsIndex = 0; channelDefinitionsIndex < channelDefinitionsJsonList.GetLength(); ++channelDefinitionsIndex) + { + channelDefinitionsJsonList[channelDefinitionsIndex].AsObject(m_channelDefinitions[channelDefinitionsIndex].Jsonize()); + } + payload.WithArray("ChannelDefinitions", std::move(channelDefinitionsJsonList)); + + } + + if(m_encryptionSettingsHasBeenSet) + { + payload.WithObject("EncryptionSettings", m_encryptionSettings.Jsonize()); + + } + + if(m_postStreamAnalyticsSettingsHasBeenSet) + { + payload.WithObject("PostStreamAnalyticsSettings", m_postStreamAnalyticsSettings.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace TranscribeStreamingService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-transcribestreaming/source/model/MedicalScribeEncryptionSettings.cpp b/generated/src/aws-cpp-sdk-transcribestreaming/source/model/MedicalScribeEncryptionSettings.cpp new file mode 100644 index 00000000000..7b18d6e063f --- /dev/null +++ b/generated/src/aws-cpp-sdk-transcribestreaming/source/model/MedicalScribeEncryptionSettings.cpp @@ -0,0 +1,81 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace TranscribeStreamingService +{ +namespace Model +{ + +MedicalScribeEncryptionSettings::MedicalScribeEncryptionSettings() : + m_kmsEncryptionContextHasBeenSet(false), + m_kmsKeyIdHasBeenSet(false) +{ +} + +MedicalScribeEncryptionSettings::MedicalScribeEncryptionSettings(JsonView jsonValue) + : MedicalScribeEncryptionSettings() +{ + *this = jsonValue; +} + +MedicalScribeEncryptionSettings& MedicalScribeEncryptionSettings::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("KmsEncryptionContext")) + { + Aws::Map kmsEncryptionContextJsonMap = jsonValue.GetObject("KmsEncryptionContext").GetAllObjects(); + for(auto& kmsEncryptionContextItem : kmsEncryptionContextJsonMap) + { + m_kmsEncryptionContext[kmsEncryptionContextItem.first] = kmsEncryptionContextItem.second.AsString(); + } + m_kmsEncryptionContextHasBeenSet = true; + } + + if(jsonValue.ValueExists("KmsKeyId")) + { + m_kmsKeyId = jsonValue.GetString("KmsKeyId"); + + m_kmsKeyIdHasBeenSet = true; + } + + return *this; +} + +JsonValue MedicalScribeEncryptionSettings::Jsonize() const +{ + JsonValue payload; + + if(m_kmsEncryptionContextHasBeenSet) + { + JsonValue kmsEncryptionContextJsonMap; + for(auto& kmsEncryptionContextItem : m_kmsEncryptionContext) + { + kmsEncryptionContextJsonMap.WithString(kmsEncryptionContextItem.first, kmsEncryptionContextItem.second); + } + payload.WithObject("KmsEncryptionContext", std::move(kmsEncryptionContextJsonMap)); + + } + + if(m_kmsKeyIdHasBeenSet) + { + payload.WithString("KmsKeyId", m_kmsKeyId); + + } + + return payload; +} + +} // namespace Model +} // namespace TranscribeStreamingService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-transcribestreaming/source/model/MedicalScribeLanguageCode.cpp b/generated/src/aws-cpp-sdk-transcribestreaming/source/model/MedicalScribeLanguageCode.cpp new file mode 100644 index 00000000000..8f4192f25fe --- /dev/null +++ b/generated/src/aws-cpp-sdk-transcribestreaming/source/model/MedicalScribeLanguageCode.cpp @@ -0,0 +1,65 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace TranscribeStreamingService + { + namespace Model + { + namespace MedicalScribeLanguageCodeMapper + { + + static const int en_US_HASH = HashingUtils::HashString("en-US"); + + + MedicalScribeLanguageCode GetMedicalScribeLanguageCodeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == en_US_HASH) + { + return MedicalScribeLanguageCode::en_US; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return MedicalScribeLanguageCode::NOT_SET; + } + + Aws::String GetNameForMedicalScribeLanguageCode(MedicalScribeLanguageCode enumValue) + { + switch(enumValue) + { + case MedicalScribeLanguageCode::NOT_SET: + return {}; + case MedicalScribeLanguageCode::en_US: + return "en-US"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace MedicalScribeLanguageCodeMapper + } // namespace Model + } // namespace TranscribeStreamingService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-transcribestreaming/source/model/MedicalScribeMediaEncoding.cpp b/generated/src/aws-cpp-sdk-transcribestreaming/source/model/MedicalScribeMediaEncoding.cpp new file mode 100644 index 00000000000..e52cc89e3d3 --- /dev/null +++ b/generated/src/aws-cpp-sdk-transcribestreaming/source/model/MedicalScribeMediaEncoding.cpp @@ -0,0 +1,79 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace TranscribeStreamingService + { + namespace Model + { + namespace MedicalScribeMediaEncodingMapper + { + + static const int pcm_HASH = HashingUtils::HashString("pcm"); + static const int ogg_opus_HASH = HashingUtils::HashString("ogg-opus"); + static const int flac_HASH = HashingUtils::HashString("flac"); + + + MedicalScribeMediaEncoding GetMedicalScribeMediaEncodingForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == pcm_HASH) + { + return MedicalScribeMediaEncoding::pcm; + } + else if (hashCode == ogg_opus_HASH) + { + return MedicalScribeMediaEncoding::ogg_opus; + } + else if (hashCode == flac_HASH) + { + return MedicalScribeMediaEncoding::flac; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return MedicalScribeMediaEncoding::NOT_SET; + } + + Aws::String GetNameForMedicalScribeMediaEncoding(MedicalScribeMediaEncoding enumValue) + { + switch(enumValue) + { + case MedicalScribeMediaEncoding::NOT_SET: + return {}; + case MedicalScribeMediaEncoding::pcm: + return "pcm"; + case MedicalScribeMediaEncoding::ogg_opus: + return "ogg-opus"; + case MedicalScribeMediaEncoding::flac: + return "flac"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace MedicalScribeMediaEncodingMapper + } // namespace Model + } // namespace TranscribeStreamingService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-transcribestreaming/source/model/MedicalScribeParticipantRole.cpp b/generated/src/aws-cpp-sdk-transcribestreaming/source/model/MedicalScribeParticipantRole.cpp new file mode 100644 index 00000000000..370ea01b0fc --- /dev/null +++ b/generated/src/aws-cpp-sdk-transcribestreaming/source/model/MedicalScribeParticipantRole.cpp @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace TranscribeStreamingService + { + namespace Model + { + namespace MedicalScribeParticipantRoleMapper + { + + static const int PATIENT_HASH = HashingUtils::HashString("PATIENT"); + static const int CLINICIAN_HASH = HashingUtils::HashString("CLINICIAN"); + + + MedicalScribeParticipantRole GetMedicalScribeParticipantRoleForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == PATIENT_HASH) + { + return MedicalScribeParticipantRole::PATIENT; + } + else if (hashCode == CLINICIAN_HASH) + { + return MedicalScribeParticipantRole::CLINICIAN; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return MedicalScribeParticipantRole::NOT_SET; + } + + Aws::String GetNameForMedicalScribeParticipantRole(MedicalScribeParticipantRole enumValue) + { + switch(enumValue) + { + case MedicalScribeParticipantRole::NOT_SET: + return {}; + case MedicalScribeParticipantRole::PATIENT: + return "PATIENT"; + case MedicalScribeParticipantRole::CLINICIAN: + return "CLINICIAN"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace MedicalScribeParticipantRoleMapper + } // namespace Model + } // namespace TranscribeStreamingService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-transcribestreaming/source/model/MedicalScribePostStreamAnalyticsResult.cpp b/generated/src/aws-cpp-sdk-transcribestreaming/source/model/MedicalScribePostStreamAnalyticsResult.cpp new file mode 100644 index 00000000000..352d4e84466 --- /dev/null +++ b/generated/src/aws-cpp-sdk-transcribestreaming/source/model/MedicalScribePostStreamAnalyticsResult.cpp @@ -0,0 +1,59 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace TranscribeStreamingService +{ +namespace Model +{ + +MedicalScribePostStreamAnalyticsResult::MedicalScribePostStreamAnalyticsResult() : + m_clinicalNoteGenerationResultHasBeenSet(false) +{ +} + +MedicalScribePostStreamAnalyticsResult::MedicalScribePostStreamAnalyticsResult(JsonView jsonValue) + : MedicalScribePostStreamAnalyticsResult() +{ + *this = jsonValue; +} + +MedicalScribePostStreamAnalyticsResult& MedicalScribePostStreamAnalyticsResult::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("ClinicalNoteGenerationResult")) + { + m_clinicalNoteGenerationResult = jsonValue.GetObject("ClinicalNoteGenerationResult"); + + m_clinicalNoteGenerationResultHasBeenSet = true; + } + + return *this; +} + +JsonValue MedicalScribePostStreamAnalyticsResult::Jsonize() const +{ + JsonValue payload; + + if(m_clinicalNoteGenerationResultHasBeenSet) + { + payload.WithObject("ClinicalNoteGenerationResult", m_clinicalNoteGenerationResult.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace TranscribeStreamingService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-transcribestreaming/source/model/MedicalScribePostStreamAnalyticsSettings.cpp b/generated/src/aws-cpp-sdk-transcribestreaming/source/model/MedicalScribePostStreamAnalyticsSettings.cpp new file mode 100644 index 00000000000..21e582da850 --- /dev/null +++ b/generated/src/aws-cpp-sdk-transcribestreaming/source/model/MedicalScribePostStreamAnalyticsSettings.cpp @@ -0,0 +1,59 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace TranscribeStreamingService +{ +namespace Model +{ + +MedicalScribePostStreamAnalyticsSettings::MedicalScribePostStreamAnalyticsSettings() : + m_clinicalNoteGenerationSettingsHasBeenSet(false) +{ +} + +MedicalScribePostStreamAnalyticsSettings::MedicalScribePostStreamAnalyticsSettings(JsonView jsonValue) + : MedicalScribePostStreamAnalyticsSettings() +{ + *this = jsonValue; +} + +MedicalScribePostStreamAnalyticsSettings& MedicalScribePostStreamAnalyticsSettings::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("ClinicalNoteGenerationSettings")) + { + m_clinicalNoteGenerationSettings = jsonValue.GetObject("ClinicalNoteGenerationSettings"); + + m_clinicalNoteGenerationSettingsHasBeenSet = true; + } + + return *this; +} + +JsonValue MedicalScribePostStreamAnalyticsSettings::Jsonize() const +{ + JsonValue payload; + + if(m_clinicalNoteGenerationSettingsHasBeenSet) + { + payload.WithObject("ClinicalNoteGenerationSettings", m_clinicalNoteGenerationSettings.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace TranscribeStreamingService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-transcribestreaming/source/model/MedicalScribeSessionControlEvent.cpp b/generated/src/aws-cpp-sdk-transcribestreaming/source/model/MedicalScribeSessionControlEvent.cpp new file mode 100644 index 00000000000..020af1ee14f --- /dev/null +++ b/generated/src/aws-cpp-sdk-transcribestreaming/source/model/MedicalScribeSessionControlEvent.cpp @@ -0,0 +1,59 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace TranscribeStreamingService +{ +namespace Model +{ + +MedicalScribeSessionControlEvent::MedicalScribeSessionControlEvent() : + m_type(MedicalScribeSessionControlEventType::NOT_SET), + m_typeHasBeenSet(false) +{ +} + +MedicalScribeSessionControlEvent::MedicalScribeSessionControlEvent(JsonView jsonValue) + : MedicalScribeSessionControlEvent() +{ + *this = jsonValue; +} + +MedicalScribeSessionControlEvent& MedicalScribeSessionControlEvent::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Type")) + { + m_type = MedicalScribeSessionControlEventTypeMapper::GetMedicalScribeSessionControlEventTypeForName(jsonValue.GetString("Type")); + + m_typeHasBeenSet = true; + } + + return *this; +} + +JsonValue MedicalScribeSessionControlEvent::Jsonize() const +{ + JsonValue payload; + + if(m_typeHasBeenSet) + { + payload.WithString("Type", MedicalScribeSessionControlEventTypeMapper::GetNameForMedicalScribeSessionControlEventType(m_type)); + } + + return payload; +} + +} // namespace Model +} // namespace TranscribeStreamingService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-transcribestreaming/source/model/MedicalScribeSessionControlEventType.cpp b/generated/src/aws-cpp-sdk-transcribestreaming/source/model/MedicalScribeSessionControlEventType.cpp new file mode 100644 index 00000000000..804da144d1c --- /dev/null +++ b/generated/src/aws-cpp-sdk-transcribestreaming/source/model/MedicalScribeSessionControlEventType.cpp @@ -0,0 +1,65 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace TranscribeStreamingService + { + namespace Model + { + namespace MedicalScribeSessionControlEventTypeMapper + { + + static const int END_OF_SESSION_HASH = HashingUtils::HashString("END_OF_SESSION"); + + + MedicalScribeSessionControlEventType GetMedicalScribeSessionControlEventTypeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == END_OF_SESSION_HASH) + { + return MedicalScribeSessionControlEventType::END_OF_SESSION; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return MedicalScribeSessionControlEventType::NOT_SET; + } + + Aws::String GetNameForMedicalScribeSessionControlEventType(MedicalScribeSessionControlEventType enumValue) + { + switch(enumValue) + { + case MedicalScribeSessionControlEventType::NOT_SET: + return {}; + case MedicalScribeSessionControlEventType::END_OF_SESSION: + return "END_OF_SESSION"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace MedicalScribeSessionControlEventTypeMapper + } // namespace Model + } // namespace TranscribeStreamingService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-transcribestreaming/source/model/MedicalScribeStreamDetails.cpp b/generated/src/aws-cpp-sdk-transcribestreaming/source/model/MedicalScribeStreamDetails.cpp new file mode 100644 index 00000000000..da84d06d7e7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-transcribestreaming/source/model/MedicalScribeStreamDetails.cpp @@ -0,0 +1,262 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace TranscribeStreamingService +{ +namespace Model +{ + +MedicalScribeStreamDetails::MedicalScribeStreamDetails() : + m_sessionIdHasBeenSet(false), + m_streamCreatedAtHasBeenSet(false), + m_streamEndedAtHasBeenSet(false), + m_languageCode(MedicalScribeLanguageCode::NOT_SET), + m_languageCodeHasBeenSet(false), + m_mediaSampleRateHertz(0), + m_mediaSampleRateHertzHasBeenSet(false), + m_mediaEncoding(MedicalScribeMediaEncoding::NOT_SET), + m_mediaEncodingHasBeenSet(false), + m_vocabularyNameHasBeenSet(false), + m_vocabularyFilterNameHasBeenSet(false), + m_vocabularyFilterMethod(MedicalScribeVocabularyFilterMethod::NOT_SET), + m_vocabularyFilterMethodHasBeenSet(false), + m_resourceAccessRoleArnHasBeenSet(false), + m_channelDefinitionsHasBeenSet(false), + m_encryptionSettingsHasBeenSet(false), + m_streamStatus(MedicalScribeStreamStatus::NOT_SET), + m_streamStatusHasBeenSet(false), + m_postStreamAnalyticsSettingsHasBeenSet(false), + m_postStreamAnalyticsResultHasBeenSet(false) +{ +} + +MedicalScribeStreamDetails::MedicalScribeStreamDetails(JsonView jsonValue) + : MedicalScribeStreamDetails() +{ + *this = jsonValue; +} + +MedicalScribeStreamDetails& MedicalScribeStreamDetails::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("SessionId")) + { + m_sessionId = jsonValue.GetString("SessionId"); + + m_sessionIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("StreamCreatedAt")) + { + m_streamCreatedAt = jsonValue.GetDouble("StreamCreatedAt"); + + m_streamCreatedAtHasBeenSet = true; + } + + if(jsonValue.ValueExists("StreamEndedAt")) + { + m_streamEndedAt = jsonValue.GetDouble("StreamEndedAt"); + + m_streamEndedAtHasBeenSet = true; + } + + if(jsonValue.ValueExists("LanguageCode")) + { + m_languageCode = MedicalScribeLanguageCodeMapper::GetMedicalScribeLanguageCodeForName(jsonValue.GetString("LanguageCode")); + + m_languageCodeHasBeenSet = true; + } + + if(jsonValue.ValueExists("MediaSampleRateHertz")) + { + m_mediaSampleRateHertz = jsonValue.GetInteger("MediaSampleRateHertz"); + + m_mediaSampleRateHertzHasBeenSet = true; + } + + if(jsonValue.ValueExists("MediaEncoding")) + { + m_mediaEncoding = MedicalScribeMediaEncodingMapper::GetMedicalScribeMediaEncodingForName(jsonValue.GetString("MediaEncoding")); + + m_mediaEncodingHasBeenSet = true; + } + + if(jsonValue.ValueExists("VocabularyName")) + { + m_vocabularyName = jsonValue.GetString("VocabularyName"); + + m_vocabularyNameHasBeenSet = true; + } + + if(jsonValue.ValueExists("VocabularyFilterName")) + { + m_vocabularyFilterName = jsonValue.GetString("VocabularyFilterName"); + + m_vocabularyFilterNameHasBeenSet = true; + } + + if(jsonValue.ValueExists("VocabularyFilterMethod")) + { + m_vocabularyFilterMethod = MedicalScribeVocabularyFilterMethodMapper::GetMedicalScribeVocabularyFilterMethodForName(jsonValue.GetString("VocabularyFilterMethod")); + + m_vocabularyFilterMethodHasBeenSet = true; + } + + if(jsonValue.ValueExists("ResourceAccessRoleArn")) + { + m_resourceAccessRoleArn = jsonValue.GetString("ResourceAccessRoleArn"); + + m_resourceAccessRoleArnHasBeenSet = true; + } + + if(jsonValue.ValueExists("ChannelDefinitions")) + { + Aws::Utils::Array channelDefinitionsJsonList = jsonValue.GetArray("ChannelDefinitions"); + for(unsigned channelDefinitionsIndex = 0; channelDefinitionsIndex < channelDefinitionsJsonList.GetLength(); ++channelDefinitionsIndex) + { + m_channelDefinitions.push_back(channelDefinitionsJsonList[channelDefinitionsIndex].AsObject()); + } + m_channelDefinitionsHasBeenSet = true; + } + + if(jsonValue.ValueExists("EncryptionSettings")) + { + m_encryptionSettings = jsonValue.GetObject("EncryptionSettings"); + + m_encryptionSettingsHasBeenSet = true; + } + + if(jsonValue.ValueExists("StreamStatus")) + { + m_streamStatus = MedicalScribeStreamStatusMapper::GetMedicalScribeStreamStatusForName(jsonValue.GetString("StreamStatus")); + + m_streamStatusHasBeenSet = true; + } + + if(jsonValue.ValueExists("PostStreamAnalyticsSettings")) + { + m_postStreamAnalyticsSettings = jsonValue.GetObject("PostStreamAnalyticsSettings"); + + m_postStreamAnalyticsSettingsHasBeenSet = true; + } + + if(jsonValue.ValueExists("PostStreamAnalyticsResult")) + { + m_postStreamAnalyticsResult = jsonValue.GetObject("PostStreamAnalyticsResult"); + + m_postStreamAnalyticsResultHasBeenSet = true; + } + + return *this; +} + +JsonValue MedicalScribeStreamDetails::Jsonize() const +{ + JsonValue payload; + + if(m_sessionIdHasBeenSet) + { + payload.WithString("SessionId", m_sessionId); + + } + + if(m_streamCreatedAtHasBeenSet) + { + payload.WithDouble("StreamCreatedAt", m_streamCreatedAt.SecondsWithMSPrecision()); + } + + if(m_streamEndedAtHasBeenSet) + { + payload.WithDouble("StreamEndedAt", m_streamEndedAt.SecondsWithMSPrecision()); + } + + if(m_languageCodeHasBeenSet) + { + payload.WithString("LanguageCode", MedicalScribeLanguageCodeMapper::GetNameForMedicalScribeLanguageCode(m_languageCode)); + } + + if(m_mediaSampleRateHertzHasBeenSet) + { + payload.WithInteger("MediaSampleRateHertz", m_mediaSampleRateHertz); + + } + + if(m_mediaEncodingHasBeenSet) + { + payload.WithString("MediaEncoding", MedicalScribeMediaEncodingMapper::GetNameForMedicalScribeMediaEncoding(m_mediaEncoding)); + } + + if(m_vocabularyNameHasBeenSet) + { + payload.WithString("VocabularyName", m_vocabularyName); + + } + + if(m_vocabularyFilterNameHasBeenSet) + { + payload.WithString("VocabularyFilterName", m_vocabularyFilterName); + + } + + if(m_vocabularyFilterMethodHasBeenSet) + { + payload.WithString("VocabularyFilterMethod", MedicalScribeVocabularyFilterMethodMapper::GetNameForMedicalScribeVocabularyFilterMethod(m_vocabularyFilterMethod)); + } + + if(m_resourceAccessRoleArnHasBeenSet) + { + payload.WithString("ResourceAccessRoleArn", m_resourceAccessRoleArn); + + } + + if(m_channelDefinitionsHasBeenSet) + { + Aws::Utils::Array channelDefinitionsJsonList(m_channelDefinitions.size()); + for(unsigned channelDefinitionsIndex = 0; channelDefinitionsIndex < channelDefinitionsJsonList.GetLength(); ++channelDefinitionsIndex) + { + channelDefinitionsJsonList[channelDefinitionsIndex].AsObject(m_channelDefinitions[channelDefinitionsIndex].Jsonize()); + } + payload.WithArray("ChannelDefinitions", std::move(channelDefinitionsJsonList)); + + } + + if(m_encryptionSettingsHasBeenSet) + { + payload.WithObject("EncryptionSettings", m_encryptionSettings.Jsonize()); + + } + + if(m_streamStatusHasBeenSet) + { + payload.WithString("StreamStatus", MedicalScribeStreamStatusMapper::GetNameForMedicalScribeStreamStatus(m_streamStatus)); + } + + if(m_postStreamAnalyticsSettingsHasBeenSet) + { + payload.WithObject("PostStreamAnalyticsSettings", m_postStreamAnalyticsSettings.Jsonize()); + + } + + if(m_postStreamAnalyticsResultHasBeenSet) + { + payload.WithObject("PostStreamAnalyticsResult", m_postStreamAnalyticsResult.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace TranscribeStreamingService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-transcribestreaming/source/model/MedicalScribeStreamStatus.cpp b/generated/src/aws-cpp-sdk-transcribestreaming/source/model/MedicalScribeStreamStatus.cpp new file mode 100644 index 00000000000..1486dd65199 --- /dev/null +++ b/generated/src/aws-cpp-sdk-transcribestreaming/source/model/MedicalScribeStreamStatus.cpp @@ -0,0 +1,86 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace TranscribeStreamingService + { + namespace Model + { + namespace MedicalScribeStreamStatusMapper + { + + static const int IN_PROGRESS_HASH = HashingUtils::HashString("IN_PROGRESS"); + static const int PAUSED_HASH = HashingUtils::HashString("PAUSED"); + static const int FAILED_HASH = HashingUtils::HashString("FAILED"); + static const int COMPLETED_HASH = HashingUtils::HashString("COMPLETED"); + + + MedicalScribeStreamStatus GetMedicalScribeStreamStatusForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == IN_PROGRESS_HASH) + { + return MedicalScribeStreamStatus::IN_PROGRESS; + } + else if (hashCode == PAUSED_HASH) + { + return MedicalScribeStreamStatus::PAUSED; + } + else if (hashCode == FAILED_HASH) + { + return MedicalScribeStreamStatus::FAILED; + } + else if (hashCode == COMPLETED_HASH) + { + return MedicalScribeStreamStatus::COMPLETED; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return MedicalScribeStreamStatus::NOT_SET; + } + + Aws::String GetNameForMedicalScribeStreamStatus(MedicalScribeStreamStatus enumValue) + { + switch(enumValue) + { + case MedicalScribeStreamStatus::NOT_SET: + return {}; + case MedicalScribeStreamStatus::IN_PROGRESS: + return "IN_PROGRESS"; + case MedicalScribeStreamStatus::PAUSED: + return "PAUSED"; + case MedicalScribeStreamStatus::FAILED: + return "FAILED"; + case MedicalScribeStreamStatus::COMPLETED: + return "COMPLETED"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace MedicalScribeStreamStatusMapper + } // namespace Model + } // namespace TranscribeStreamingService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-transcribestreaming/source/model/MedicalScribeTranscriptEvent.cpp b/generated/src/aws-cpp-sdk-transcribestreaming/source/model/MedicalScribeTranscriptEvent.cpp new file mode 100644 index 00000000000..40f9d05a65d --- /dev/null +++ b/generated/src/aws-cpp-sdk-transcribestreaming/source/model/MedicalScribeTranscriptEvent.cpp @@ -0,0 +1,59 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace TranscribeStreamingService +{ +namespace Model +{ + +MedicalScribeTranscriptEvent::MedicalScribeTranscriptEvent() : + m_transcriptSegmentHasBeenSet(false) +{ +} + +MedicalScribeTranscriptEvent::MedicalScribeTranscriptEvent(JsonView jsonValue) + : MedicalScribeTranscriptEvent() +{ + *this = jsonValue; +} + +MedicalScribeTranscriptEvent& MedicalScribeTranscriptEvent::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("TranscriptSegment")) + { + m_transcriptSegment = jsonValue.GetObject("TranscriptSegment"); + + m_transcriptSegmentHasBeenSet = true; + } + + return *this; +} + +JsonValue MedicalScribeTranscriptEvent::Jsonize() const +{ + JsonValue payload; + + if(m_transcriptSegmentHasBeenSet) + { + payload.WithObject("TranscriptSegment", m_transcriptSegment.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace TranscribeStreamingService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-transcribestreaming/source/model/MedicalScribeTranscriptItem.cpp b/generated/src/aws-cpp-sdk-transcribestreaming/source/model/MedicalScribeTranscriptItem.cpp new file mode 100644 index 00000000000..37e844d48af --- /dev/null +++ b/generated/src/aws-cpp-sdk-transcribestreaming/source/model/MedicalScribeTranscriptItem.cpp @@ -0,0 +1,133 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace TranscribeStreamingService +{ +namespace Model +{ + +MedicalScribeTranscriptItem::MedicalScribeTranscriptItem() : + m_beginAudioTime(0.0), + m_beginAudioTimeHasBeenSet(false), + m_endAudioTime(0.0), + m_endAudioTimeHasBeenSet(false), + m_type(MedicalScribeTranscriptItemType::NOT_SET), + m_typeHasBeenSet(false), + m_confidence(0.0), + m_confidenceHasBeenSet(false), + m_contentHasBeenSet(false), + m_vocabularyFilterMatch(false), + m_vocabularyFilterMatchHasBeenSet(false) +{ +} + +MedicalScribeTranscriptItem::MedicalScribeTranscriptItem(JsonView jsonValue) + : MedicalScribeTranscriptItem() +{ + *this = jsonValue; +} + +MedicalScribeTranscriptItem& MedicalScribeTranscriptItem::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("BeginAudioTime")) + { + m_beginAudioTime = jsonValue.GetDouble("BeginAudioTime"); + + m_beginAudioTimeHasBeenSet = true; + } + + if(jsonValue.ValueExists("EndAudioTime")) + { + m_endAudioTime = jsonValue.GetDouble("EndAudioTime"); + + m_endAudioTimeHasBeenSet = true; + } + + if(jsonValue.ValueExists("Type")) + { + m_type = MedicalScribeTranscriptItemTypeMapper::GetMedicalScribeTranscriptItemTypeForName(jsonValue.GetString("Type")); + + m_typeHasBeenSet = true; + } + + if(jsonValue.ValueExists("Confidence")) + { + m_confidence = jsonValue.GetDouble("Confidence"); + + m_confidenceHasBeenSet = true; + } + + if(jsonValue.ValueExists("Content")) + { + m_content = jsonValue.GetString("Content"); + + m_contentHasBeenSet = true; + } + + if(jsonValue.ValueExists("VocabularyFilterMatch")) + { + m_vocabularyFilterMatch = jsonValue.GetBool("VocabularyFilterMatch"); + + m_vocabularyFilterMatchHasBeenSet = true; + } + + return *this; +} + +JsonValue MedicalScribeTranscriptItem::Jsonize() const +{ + JsonValue payload; + + if(m_beginAudioTimeHasBeenSet) + { + payload.WithDouble("BeginAudioTime", m_beginAudioTime); + + } + + if(m_endAudioTimeHasBeenSet) + { + payload.WithDouble("EndAudioTime", m_endAudioTime); + + } + + if(m_typeHasBeenSet) + { + payload.WithString("Type", MedicalScribeTranscriptItemTypeMapper::GetNameForMedicalScribeTranscriptItemType(m_type)); + } + + if(m_confidenceHasBeenSet) + { + payload.WithDouble("Confidence", m_confidence); + + } + + if(m_contentHasBeenSet) + { + payload.WithString("Content", m_content); + + } + + if(m_vocabularyFilterMatchHasBeenSet) + { + payload.WithBool("VocabularyFilterMatch", m_vocabularyFilterMatch); + + } + + return payload; +} + +} // namespace Model +} // namespace TranscribeStreamingService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-transcribestreaming/source/model/MedicalScribeTranscriptItemType.cpp b/generated/src/aws-cpp-sdk-transcribestreaming/source/model/MedicalScribeTranscriptItemType.cpp new file mode 100644 index 00000000000..c9fa77d0c2c --- /dev/null +++ b/generated/src/aws-cpp-sdk-transcribestreaming/source/model/MedicalScribeTranscriptItemType.cpp @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace TranscribeStreamingService + { + namespace Model + { + namespace MedicalScribeTranscriptItemTypeMapper + { + + static const int pronunciation_HASH = HashingUtils::HashString("pronunciation"); + static const int punctuation_HASH = HashingUtils::HashString("punctuation"); + + + MedicalScribeTranscriptItemType GetMedicalScribeTranscriptItemTypeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == pronunciation_HASH) + { + return MedicalScribeTranscriptItemType::pronunciation; + } + else if (hashCode == punctuation_HASH) + { + return MedicalScribeTranscriptItemType::punctuation; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return MedicalScribeTranscriptItemType::NOT_SET; + } + + Aws::String GetNameForMedicalScribeTranscriptItemType(MedicalScribeTranscriptItemType enumValue) + { + switch(enumValue) + { + case MedicalScribeTranscriptItemType::NOT_SET: + return {}; + case MedicalScribeTranscriptItemType::pronunciation: + return "pronunciation"; + case MedicalScribeTranscriptItemType::punctuation: + return "punctuation"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace MedicalScribeTranscriptItemTypeMapper + } // namespace Model + } // namespace TranscribeStreamingService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-transcribestreaming/source/model/MedicalScribeTranscriptSegment.cpp b/generated/src/aws-cpp-sdk-transcribestreaming/source/model/MedicalScribeTranscriptSegment.cpp new file mode 100644 index 00000000000..b6474ea3a18 --- /dev/null +++ b/generated/src/aws-cpp-sdk-transcribestreaming/source/model/MedicalScribeTranscriptSegment.cpp @@ -0,0 +1,154 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace TranscribeStreamingService +{ +namespace Model +{ + +MedicalScribeTranscriptSegment::MedicalScribeTranscriptSegment() : + m_segmentIdHasBeenSet(false), + m_beginAudioTime(0.0), + m_beginAudioTimeHasBeenSet(false), + m_endAudioTime(0.0), + m_endAudioTimeHasBeenSet(false), + m_contentHasBeenSet(false), + m_itemsHasBeenSet(false), + m_isPartial(false), + m_isPartialHasBeenSet(false), + m_channelIdHasBeenSet(false) +{ +} + +MedicalScribeTranscriptSegment::MedicalScribeTranscriptSegment(JsonView jsonValue) + : MedicalScribeTranscriptSegment() +{ + *this = jsonValue; +} + +MedicalScribeTranscriptSegment& MedicalScribeTranscriptSegment::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("SegmentId")) + { + m_segmentId = jsonValue.GetString("SegmentId"); + + m_segmentIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("BeginAudioTime")) + { + m_beginAudioTime = jsonValue.GetDouble("BeginAudioTime"); + + m_beginAudioTimeHasBeenSet = true; + } + + if(jsonValue.ValueExists("EndAudioTime")) + { + m_endAudioTime = jsonValue.GetDouble("EndAudioTime"); + + m_endAudioTimeHasBeenSet = true; + } + + if(jsonValue.ValueExists("Content")) + { + m_content = jsonValue.GetString("Content"); + + m_contentHasBeenSet = true; + } + + if(jsonValue.ValueExists("Items")) + { + Aws::Utils::Array itemsJsonList = jsonValue.GetArray("Items"); + for(unsigned itemsIndex = 0; itemsIndex < itemsJsonList.GetLength(); ++itemsIndex) + { + m_items.push_back(itemsJsonList[itemsIndex].AsObject()); + } + m_itemsHasBeenSet = true; + } + + if(jsonValue.ValueExists("IsPartial")) + { + m_isPartial = jsonValue.GetBool("IsPartial"); + + m_isPartialHasBeenSet = true; + } + + if(jsonValue.ValueExists("ChannelId")) + { + m_channelId = jsonValue.GetString("ChannelId"); + + m_channelIdHasBeenSet = true; + } + + return *this; +} + +JsonValue MedicalScribeTranscriptSegment::Jsonize() const +{ + JsonValue payload; + + if(m_segmentIdHasBeenSet) + { + payload.WithString("SegmentId", m_segmentId); + + } + + if(m_beginAudioTimeHasBeenSet) + { + payload.WithDouble("BeginAudioTime", m_beginAudioTime); + + } + + if(m_endAudioTimeHasBeenSet) + { + payload.WithDouble("EndAudioTime", m_endAudioTime); + + } + + if(m_contentHasBeenSet) + { + payload.WithString("Content", m_content); + + } + + if(m_itemsHasBeenSet) + { + Aws::Utils::Array itemsJsonList(m_items.size()); + for(unsigned itemsIndex = 0; itemsIndex < itemsJsonList.GetLength(); ++itemsIndex) + { + itemsJsonList[itemsIndex].AsObject(m_items[itemsIndex].Jsonize()); + } + payload.WithArray("Items", std::move(itemsJsonList)); + + } + + if(m_isPartialHasBeenSet) + { + payload.WithBool("IsPartial", m_isPartial); + + } + + if(m_channelIdHasBeenSet) + { + payload.WithString("ChannelId", m_channelId); + + } + + return payload; +} + +} // namespace Model +} // namespace TranscribeStreamingService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-transcribestreaming/source/model/MedicalScribeVocabularyFilterMethod.cpp b/generated/src/aws-cpp-sdk-transcribestreaming/source/model/MedicalScribeVocabularyFilterMethod.cpp new file mode 100644 index 00000000000..fddad5a85ca --- /dev/null +++ b/generated/src/aws-cpp-sdk-transcribestreaming/source/model/MedicalScribeVocabularyFilterMethod.cpp @@ -0,0 +1,79 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace TranscribeStreamingService + { + namespace Model + { + namespace MedicalScribeVocabularyFilterMethodMapper + { + + static const int remove_HASH = HashingUtils::HashString("remove"); + static const int mask_HASH = HashingUtils::HashString("mask"); + static const int tag_HASH = HashingUtils::HashString("tag"); + + + MedicalScribeVocabularyFilterMethod GetMedicalScribeVocabularyFilterMethodForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == remove_HASH) + { + return MedicalScribeVocabularyFilterMethod::remove; + } + else if (hashCode == mask_HASH) + { + return MedicalScribeVocabularyFilterMethod::mask; + } + else if (hashCode == tag_HASH) + { + return MedicalScribeVocabularyFilterMethod::tag; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return MedicalScribeVocabularyFilterMethod::NOT_SET; + } + + Aws::String GetNameForMedicalScribeVocabularyFilterMethod(MedicalScribeVocabularyFilterMethod enumValue) + { + switch(enumValue) + { + case MedicalScribeVocabularyFilterMethod::NOT_SET: + return {}; + case MedicalScribeVocabularyFilterMethod::remove: + return "remove"; + case MedicalScribeVocabularyFilterMethod::mask: + return "mask"; + case MedicalScribeVocabularyFilterMethod::tag: + return "tag"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace MedicalScribeVocabularyFilterMethodMapper + } // namespace Model + } // namespace TranscribeStreamingService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-transcribestreaming/source/model/StartMedicalScribeStreamHandler.cpp b/generated/src/aws-cpp-sdk-transcribestreaming/source/model/StartMedicalScribeStreamHandler.cpp new file mode 100644 index 00000000000..c0c15391c5b --- /dev/null +++ b/generated/src/aws-cpp-sdk-transcribestreaming/source/model/StartMedicalScribeStreamHandler.cpp @@ -0,0 +1,243 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +using namespace Aws::TranscribeStreamingService::Model; +using namespace Aws::Utils::Event; +using namespace Aws::Utils::Json; + +AWS_CORE_API extern const char MESSAGE_LOWER_CASE[]; +AWS_CORE_API extern const char MESSAGE_CAMEL_CASE[]; + +namespace Aws +{ +namespace TranscribeStreamingService +{ +namespace Model +{ + using namespace Aws::Client; + + static const char STARTMEDICALSCRIBESTREAM_HANDLER_CLASS_TAG[] = "StartMedicalScribeStreamHandler"; + + StartMedicalScribeStreamHandler::StartMedicalScribeStreamHandler() : EventStreamHandler() + { + m_onInitialResponse = [&](const StartMedicalScribeStreamInitialResponse&, const Utils::Event::InitialResponseType eventType) + { + AWS_LOGSTREAM_TRACE(STARTMEDICALSCRIBESTREAM_HANDLER_CLASS_TAG, + "StartMedicalScribeStream initial response received from " + << (eventType == Utils::Event::InitialResponseType::ON_EVENT ? "event" : "http headers")); + }; + + m_onMedicalScribeTranscriptEvent = [&](const MedicalScribeTranscriptEvent&) + { + AWS_LOGSTREAM_TRACE(STARTMEDICALSCRIBESTREAM_HANDLER_CLASS_TAG, "MedicalScribeTranscriptEvent received."); + }; + + m_onError = [&](const AWSError& error) + { + AWS_LOGSTREAM_TRACE(STARTMEDICALSCRIBESTREAM_HANDLER_CLASS_TAG, "TranscribeStreamingService Errors received, " << error); + }; + } + + void StartMedicalScribeStreamHandler::OnEvent() + { + // Handler internal error during event stream decoding. + if (!*this) + { + AWSError error = EventStreamErrorsMapper::GetAwsErrorForEventStreamError(GetInternalError()); + error.SetMessage(GetEventPayloadAsString()); + m_onError(AWSError(error)); + return; + } + + const auto& headers = GetEventHeaders(); + auto messageTypeHeaderIter = headers.find(MESSAGE_TYPE_HEADER); + if (messageTypeHeaderIter == headers.end()) + { + AWS_LOGSTREAM_WARN(STARTMEDICALSCRIBESTREAM_HANDLER_CLASS_TAG, "Header: " << MESSAGE_TYPE_HEADER << " not found in the message."); + return; + } + + switch (Aws::Utils::Event::Message::GetMessageTypeForName(messageTypeHeaderIter->second.GetEventHeaderValueAsString())) + { + case Aws::Utils::Event::Message::MessageType::EVENT: + HandleEventInMessage(); + break; + case Aws::Utils::Event::Message::MessageType::REQUEST_LEVEL_ERROR: + case Aws::Utils::Event::Message::MessageType::REQUEST_LEVEL_EXCEPTION: + { + HandleErrorInMessage(); + break; + } + default: + AWS_LOGSTREAM_WARN(STARTMEDICALSCRIBESTREAM_HANDLER_CLASS_TAG, + "Unexpected message type: " << messageTypeHeaderIter->second.GetEventHeaderValueAsString()); + break; + } + } + + void StartMedicalScribeStreamHandler::HandleEventInMessage() + { + const auto& headers = GetEventHeaders(); + auto eventTypeHeaderIter = headers.find(EVENT_TYPE_HEADER); + if (eventTypeHeaderIter == headers.end()) + { + AWS_LOGSTREAM_WARN(STARTMEDICALSCRIBESTREAM_HANDLER_CLASS_TAG, "Header: " << EVENT_TYPE_HEADER << " not found in the message."); + return; + } + switch (StartMedicalScribeStreamEventMapper::GetStartMedicalScribeStreamEventTypeForName(eventTypeHeaderIter->second.GetEventHeaderValueAsString())) + { + + case StartMedicalScribeStreamEventType::INITIAL_RESPONSE: + { + StartMedicalScribeStreamInitialResponse event(GetEventHeadersAsHttpHeaders()); + m_onInitialResponse(event, Utils::Event::InitialResponseType::ON_EVENT); + break; + } + + case StartMedicalScribeStreamEventType::TRANSCRIPTEVENT: + { + JsonValue json(GetEventPayloadAsString()); + if (!json.WasParseSuccessful()) + { + AWS_LOGSTREAM_WARN(STARTMEDICALSCRIBESTREAM_HANDLER_CLASS_TAG, "Unable to generate a proper MedicalScribeTranscriptEvent object from the response in JSON format."); + break; + } + + m_onMedicalScribeTranscriptEvent(MedicalScribeTranscriptEvent{json.View()}); + break; + } + default: + AWS_LOGSTREAM_WARN(STARTMEDICALSCRIBESTREAM_HANDLER_CLASS_TAG, + "Unexpected event type: " << eventTypeHeaderIter->second.GetEventHeaderValueAsString()); + break; + } + } + + void StartMedicalScribeStreamHandler::HandleErrorInMessage() + { + const auto& headers = GetEventHeaders(); + Aws::String errorCode; + Aws::String errorMessage; + auto errorHeaderIter = headers.find(ERROR_CODE_HEADER); + if (errorHeaderIter == headers.end()) + { + errorHeaderIter = headers.find(EXCEPTION_TYPE_HEADER); + if (errorHeaderIter == headers.end()) + { + AWS_LOGSTREAM_WARN(STARTMEDICALSCRIBESTREAM_HANDLER_CLASS_TAG, + "Error type was not found in the event message."); + return; + } + } + + errorCode = errorHeaderIter->second.GetEventHeaderValueAsString(); + errorHeaderIter = headers.find(ERROR_MESSAGE_HEADER); + if (errorHeaderIter == headers.end()) + { + errorHeaderIter = headers.find(EXCEPTION_TYPE_HEADER); + if (errorHeaderIter == headers.end()) + { + AWS_LOGSTREAM_ERROR(STARTMEDICALSCRIBESTREAM_HANDLER_CLASS_TAG, + "Error description was not found in the event message."); + return; + } + + JsonValue exceptionPayload(GetEventPayloadAsString()); + if (!exceptionPayload.WasParseSuccessful()) + { + AWS_LOGSTREAM_ERROR(STARTMEDICALSCRIBESTREAM_HANDLER_CLASS_TAG, "Unable to generate a proper ServiceUnavailableException object from the response in JSON format."); + auto contentTypeIter = headers.find(Aws::Utils::Event::CONTENT_TYPE_HEADER); + if (contentTypeIter != headers.end()) + { + AWS_LOGSTREAM_DEBUG(STARTMEDICALSCRIBESTREAM_HANDLER_CLASS_TAG, "Error content-type: " << contentTypeIter->second.GetEventHeaderValueAsString()); + } + return; + } + + JsonView payloadView(exceptionPayload); + errorMessage = payloadView.ValueExists(MESSAGE_CAMEL_CASE) ? + payloadView.GetString(MESSAGE_CAMEL_CASE) : + payloadView.ValueExists(MESSAGE_LOWER_CASE) ? + payloadView.GetString(MESSAGE_LOWER_CASE) : ""; + + } + else + { + errorMessage = errorHeaderIter->second.GetEventHeaderValueAsString(); + } + MarshallError(errorCode, errorMessage); + } + + void StartMedicalScribeStreamHandler::MarshallError(const Aws::String& errorCode, const Aws::String& errorMessage) + { + TranscribeStreamingServiceErrorMarshaller errorMarshaller; + AWSError error; + + if (errorCode.empty()) + { + error = AWSError(CoreErrors::UNKNOWN, "", errorMessage, false); + } + else + { + error = errorMarshaller.FindErrorByName(errorCode.c_str()); + if (error.GetErrorType() != CoreErrors::UNKNOWN) + { + AWS_LOGSTREAM_WARN(STARTMEDICALSCRIBESTREAM_HANDLER_CLASS_TAG, "Encountered AWSError '" << errorCode.c_str() << "': " << errorMessage.c_str()); + error.SetExceptionName(errorCode); + error.SetMessage(errorMessage); + } + else + { + AWS_LOGSTREAM_WARN(STARTMEDICALSCRIBESTREAM_HANDLER_CLASS_TAG, "Encountered Unknown AWSError '" << errorCode.c_str() << "': " << errorMessage.c_str()); + error = AWSError(CoreErrors::UNKNOWN, errorCode, "Unable to parse ExceptionName: " + errorCode + " Message: " + errorMessage, false); + } + } + + m_onError(AWSError(error)); + } + +namespace StartMedicalScribeStreamEventMapper +{ + static const int INITIAL_RESPONSE_HASH = Aws::Utils::HashingUtils::HashString("initial-response"); + static const int TRANSCRIPTEVENT_HASH = Aws::Utils::HashingUtils::HashString("TranscriptEvent"); + + StartMedicalScribeStreamEventType GetStartMedicalScribeStreamEventTypeForName(const Aws::String& name) + { + int hashCode = Aws::Utils::HashingUtils::HashString(name.c_str()); + + if (hashCode == INITIAL_RESPONSE_HASH) + { + return StartMedicalScribeStreamEventType::INITIAL_RESPONSE; + } + else if (hashCode == TRANSCRIPTEVENT_HASH) + { + return StartMedicalScribeStreamEventType::TRANSCRIPTEVENT; + } + return StartMedicalScribeStreamEventType::UNKNOWN; + } + + Aws::String GetNameForStartMedicalScribeStreamEventType(StartMedicalScribeStreamEventType value) + { + switch (value) + { + case StartMedicalScribeStreamEventType::INITIAL_RESPONSE: + return "initial-response"; + case StartMedicalScribeStreamEventType::TRANSCRIPTEVENT: + return "TranscriptEvent"; + default: + return "Unknown"; + } + } +} // namespace StartMedicalScribeStreamEventMapper +} // namespace Model +} // namespace TranscribeStreamingService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-transcribestreaming/source/model/StartMedicalScribeStreamInitialResponse.cpp b/generated/src/aws-cpp-sdk-transcribestreaming/source/model/StartMedicalScribeStreamInitialResponse.cpp new file mode 100644 index 00000000000..9326cafb12e --- /dev/null +++ b/generated/src/aws-cpp-sdk-transcribestreaming/source/model/StartMedicalScribeStreamInitialResponse.cpp @@ -0,0 +1,91 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace TranscribeStreamingService +{ +namespace Model +{ + +StartMedicalScribeStreamInitialResponse::StartMedicalScribeStreamInitialResponse() : + m_sessionIdHasBeenSet(false), + m_requestIdHasBeenSet(false), + m_languageCode(MedicalScribeLanguageCode::NOT_SET), + m_languageCodeHasBeenSet(false), + m_mediaSampleRateHertz(0), + m_mediaSampleRateHertzHasBeenSet(false), + m_mediaEncoding(MedicalScribeMediaEncoding::NOT_SET), + m_mediaEncodingHasBeenSet(false) +{ +} + +StartMedicalScribeStreamInitialResponse::StartMedicalScribeStreamInitialResponse(JsonView jsonValue) + : StartMedicalScribeStreamInitialResponse() +{ + *this = jsonValue; +} + +StartMedicalScribeStreamInitialResponse& StartMedicalScribeStreamInitialResponse::operator =(JsonView jsonValue) +{ + AWS_UNREFERENCED_PARAM(jsonValue); + return *this; +} + +StartMedicalScribeStreamInitialResponse::StartMedicalScribeStreamInitialResponse(const Http::HeaderValueCollection& headers) : StartMedicalScribeStreamInitialResponse() +{ + const auto& sessionIdIter = headers.find("x-amzn-transcribe-session-id"); + if(sessionIdIter != headers.end()) + { + m_sessionId = sessionIdIter->second; + } + + const auto& requestIdIter = headers.find("x-amzn-request-id"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + const auto& languageCodeIter = headers.find("x-amzn-transcribe-language-code"); + if(languageCodeIter != headers.end()) + { + m_languageCode = MedicalScribeLanguageCodeMapper::GetMedicalScribeLanguageCodeForName(languageCodeIter->second); + } + + const auto& mediaSampleRateHertzIter = headers.find("x-amzn-transcribe-sample-rate"); + if(mediaSampleRateHertzIter != headers.end()) + { + m_mediaSampleRateHertz = StringUtils::ConvertToInt32(mediaSampleRateHertzIter->second.c_str()); + } + + const auto& mediaEncodingIter = headers.find("x-amzn-transcribe-media-encoding"); + if(mediaEncodingIter != headers.end()) + { + m_mediaEncoding = MedicalScribeMediaEncodingMapper::GetMedicalScribeMediaEncodingForName(mediaEncodingIter->second); + } + +} + +JsonValue StartMedicalScribeStreamInitialResponse::Jsonize() const +{ + JsonValue payload; + + return payload; +} + +} // namespace Model +} // namespace TranscribeStreamingService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-transcribestreaming/source/model/StartMedicalScribeStreamRequest.cpp b/generated/src/aws-cpp-sdk-transcribestreaming/source/model/StartMedicalScribeStreamRequest.cpp new file mode 100644 index 00000000000..72935af7d56 --- /dev/null +++ b/generated/src/aws-cpp-sdk-transcribestreaming/source/model/StartMedicalScribeStreamRequest.cpp @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include + +#include + +using namespace Aws::TranscribeStreamingService::Model; +using namespace Aws::Utils::Stream; +using namespace Aws::Utils; +using namespace Aws; + +StartMedicalScribeStreamRequest::StartMedicalScribeStreamRequest() : + m_sessionIdHasBeenSet(false), + m_languageCode(MedicalScribeLanguageCode::NOT_SET), + m_languageCodeHasBeenSet(false), + m_mediaSampleRateHertz(0), + m_mediaSampleRateHertzHasBeenSet(false), + m_mediaEncoding(MedicalScribeMediaEncoding::NOT_SET), + m_mediaEncodingHasBeenSet(false), + m_handler(), m_decoder(Aws::Utils::Event::EventStreamDecoder(&m_handler)) +{ + AmazonWebServiceRequest::SetHeadersReceivedEventHandler([this](const Http::HttpRequest*, Http::HttpResponse* response) + { + auto& initialResponseHandler = m_handler.GetInitialResponseCallbackEx(); + if (initialResponseHandler) { + initialResponseHandler(StartMedicalScribeStreamInitialResponse(response->GetHeaders()), Utils::Event::InitialResponseType::ON_RESPONSE); + } + }); +} + +std::shared_ptr StartMedicalScribeStreamRequest::GetBody() const +{ + return m_inputStream; +} + + +Aws::Http::HeaderValueCollection StartMedicalScribeStreamRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.emplace(Aws::Http::CONTENT_TYPE_HEADER, Aws::AMZN_EVENTSTREAM_CONTENT_TYPE); + Aws::StringStream ss; + if(m_sessionIdHasBeenSet) + { + ss << m_sessionId; + headers.emplace("x-amzn-transcribe-session-id", ss.str()); + ss.str(""); + } + + if(m_languageCodeHasBeenSet && m_languageCode != MedicalScribeLanguageCode::NOT_SET) + { + headers.emplace("x-amzn-transcribe-language-code", MedicalScribeLanguageCodeMapper::GetNameForMedicalScribeLanguageCode(m_languageCode)); + } + + if(m_mediaSampleRateHertzHasBeenSet) + { + ss << m_mediaSampleRateHertz; + headers.emplace("x-amzn-transcribe-sample-rate", ss.str()); + ss.str(""); + } + + if(m_mediaEncodingHasBeenSet && m_mediaEncoding != MedicalScribeMediaEncoding::NOT_SET) + { + headers.emplace("x-amzn-transcribe-media-encoding", MedicalScribeMediaEncodingMapper::GetNameForMedicalScribeMediaEncoding(m_mediaEncoding)); + } + + return headers; + +} diff --git a/generated/src/aws-cpp-sdk-verifiedpermissions/include/aws/verifiedpermissions/model/ContextDefinition.h b/generated/src/aws-cpp-sdk-verifiedpermissions/include/aws/verifiedpermissions/model/ContextDefinition.h index f152ed60332..142299dd3db 100644 --- a/generated/src/aws-cpp-sdk-verifiedpermissions/include/aws/verifiedpermissions/model/ContextDefinition.h +++ b/generated/src/aws-cpp-sdk-verifiedpermissions/include/aws/verifiedpermissions/model/ContextDefinition.h @@ -35,7 +35,10 @@ namespace Model * href="https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_BatchIsAuthorized.html">BatchIsAuthorized, * and IsAuthorizedWithToken - * operations.

        Example: + * operations.

        If you're passing context as part of the request, exactly one + * instance of context must be passed. If you don't want to pass + * context, omit the context parameter from your request rather than + * sending context {}.

        Example: * "context":{"contextMap":{"<KeyName1>":{"boolean":true},"<KeyName2>":{"long":1234}}} *

        See Also:

        AWS @@ -71,10 +74,30 @@ namespace Model inline ContextDefinition& AddContextMap(const char* key, AttributeValue&& value) { m_contextMapHasBeenSet = true; m_contextMap.emplace(key, std::move(value)); return *this; } inline ContextDefinition& AddContextMap(const char* key, const AttributeValue& value) { m_contextMapHasBeenSet = true; m_contextMap.emplace(key, value); return *this; } ///@} + + ///@{ + /** + *

        A Cedar JSON string representation of the context needed to successfully + * evaluate an authorization request.

        Example: + * {"cedarJson":"{\"<KeyName1>\": true, \"<KeyName2>\": 1234}" + * }

        + */ + inline const Aws::String& GetCedarJson() const{ return m_cedarJson; } + inline bool CedarJsonHasBeenSet() const { return m_cedarJsonHasBeenSet; } + inline void SetCedarJson(const Aws::String& value) { m_cedarJsonHasBeenSet = true; m_cedarJson = value; } + inline void SetCedarJson(Aws::String&& value) { m_cedarJsonHasBeenSet = true; m_cedarJson = std::move(value); } + inline void SetCedarJson(const char* value) { m_cedarJsonHasBeenSet = true; m_cedarJson.assign(value); } + inline ContextDefinition& WithCedarJson(const Aws::String& value) { SetCedarJson(value); return *this;} + inline ContextDefinition& WithCedarJson(Aws::String&& value) { SetCedarJson(std::move(value)); return *this;} + inline ContextDefinition& WithCedarJson(const char* value) { SetCedarJson(value); return *this;} + ///@} private: Aws::Map m_contextMap; bool m_contextMapHasBeenSet = false; + + Aws::String m_cedarJson; + bool m_cedarJsonHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-verifiedpermissions/include/aws/verifiedpermissions/model/EntitiesDefinition.h b/generated/src/aws-cpp-sdk-verifiedpermissions/include/aws/verifiedpermissions/model/EntitiesDefinition.h index bdbc5440338..9f83c1850ad 100644 --- a/generated/src/aws-cpp-sdk-verifiedpermissions/include/aws/verifiedpermissions/model/EntitiesDefinition.h +++ b/generated/src/aws-cpp-sdk-verifiedpermissions/include/aws/verifiedpermissions/model/EntitiesDefinition.h @@ -6,6 +6,7 @@ #pragma once #include #include +#include #include #include @@ -50,6 +51,9 @@ namespace Model *

        An array of entities that are needed to successfully evaluate an * authorization request. Each entity in this array must include an identifier for * the entity, the attributes of the entity, and a list of any parent entities.

        + *

        If you include multiple entities with the same + * identifier, only the last one is processed in the request.

        + * */ inline const Aws::Vector& GetEntityList() const{ return m_entityList; } inline bool EntityListHasBeenSet() const { return m_entityListHasBeenSet; } @@ -60,10 +64,30 @@ namespace Model inline EntitiesDefinition& AddEntityList(const EntityItem& value) { m_entityListHasBeenSet = true; m_entityList.push_back(value); return *this; } inline EntitiesDefinition& AddEntityList(EntityItem&& value) { m_entityListHasBeenSet = true; m_entityList.push_back(std::move(value)); return *this; } ///@} + + ///@{ + /** + *

        A Cedar JSON string representation of the entities needed to successfully + * evaluate an authorization request.

        Example: {"cedarJson": + * "[{\"uid\":{\"type\":\"Photo\",\"id\":\"VacationPhoto94.jpg\"},\"attrs\":{\"accessLevel\":\"public\"},\"parents\":[]}]"} + *

        + */ + inline const Aws::String& GetCedarJson() const{ return m_cedarJson; } + inline bool CedarJsonHasBeenSet() const { return m_cedarJsonHasBeenSet; } + inline void SetCedarJson(const Aws::String& value) { m_cedarJsonHasBeenSet = true; m_cedarJson = value; } + inline void SetCedarJson(Aws::String&& value) { m_cedarJsonHasBeenSet = true; m_cedarJson = std::move(value); } + inline void SetCedarJson(const char* value) { m_cedarJsonHasBeenSet = true; m_cedarJson.assign(value); } + inline EntitiesDefinition& WithCedarJson(const Aws::String& value) { SetCedarJson(value); return *this;} + inline EntitiesDefinition& WithCedarJson(Aws::String&& value) { SetCedarJson(std::move(value)); return *this;} + inline EntitiesDefinition& WithCedarJson(const char* value) { SetCedarJson(value); return *this;} + ///@} private: Aws::Vector m_entityList; bool m_entityListHasBeenSet = false; + + Aws::String m_cedarJson; + bool m_cedarJsonHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-verifiedpermissions/source/model/ContextDefinition.cpp b/generated/src/aws-cpp-sdk-verifiedpermissions/source/model/ContextDefinition.cpp index e88660154e0..4d487267dfd 100644 --- a/generated/src/aws-cpp-sdk-verifiedpermissions/source/model/ContextDefinition.cpp +++ b/generated/src/aws-cpp-sdk-verifiedpermissions/source/model/ContextDefinition.cpp @@ -19,7 +19,8 @@ namespace Model { ContextDefinition::ContextDefinition() : - m_contextMapHasBeenSet(false) + m_contextMapHasBeenSet(false), + m_cedarJsonHasBeenSet(false) { } @@ -41,6 +42,13 @@ ContextDefinition& ContextDefinition::operator =(JsonView jsonValue) m_contextMapHasBeenSet = true; } + if(jsonValue.ValueExists("cedarJson")) + { + m_cedarJson = jsonValue.GetString("cedarJson"); + + m_cedarJsonHasBeenSet = true; + } + return *this; } @@ -59,6 +67,12 @@ JsonValue ContextDefinition::Jsonize() const } + if(m_cedarJsonHasBeenSet) + { + payload.WithString("cedarJson", m_cedarJson); + + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-verifiedpermissions/source/model/EntitiesDefinition.cpp b/generated/src/aws-cpp-sdk-verifiedpermissions/source/model/EntitiesDefinition.cpp index 7c3c3885bb3..d1e595761f3 100644 --- a/generated/src/aws-cpp-sdk-verifiedpermissions/source/model/EntitiesDefinition.cpp +++ b/generated/src/aws-cpp-sdk-verifiedpermissions/source/model/EntitiesDefinition.cpp @@ -19,7 +19,8 @@ namespace Model { EntitiesDefinition::EntitiesDefinition() : - m_entityListHasBeenSet(false) + m_entityListHasBeenSet(false), + m_cedarJsonHasBeenSet(false) { } @@ -41,6 +42,13 @@ EntitiesDefinition& EntitiesDefinition::operator =(JsonView jsonValue) m_entityListHasBeenSet = true; } + if(jsonValue.ValueExists("cedarJson")) + { + m_cedarJson = jsonValue.GetString("cedarJson"); + + m_cedarJsonHasBeenSet = true; + } + return *this; } @@ -59,6 +67,12 @@ JsonValue EntitiesDefinition::Jsonize() const } + if(m_cedarJsonHasBeenSet) + { + payload.WithString("cedarJson", m_cedarJson); + + } + return payload; } diff --git a/src/aws-cpp-sdk-core/include/aws/core/AmazonWebServiceRequest.h b/src/aws-cpp-sdk-core/include/aws/core/AmazonWebServiceRequest.h index 2feab0e56ce..2b2a9e13c7d 100644 --- a/src/aws-cpp-sdk-core/include/aws/core/AmazonWebServiceRequest.h +++ b/src/aws-cpp-sdk-core/include/aws/core/AmazonWebServiceRequest.h @@ -214,7 +214,7 @@ namespace Aws * Adds a used feature to the user agent string for the request. * @param feature the feature to be added in the user agent string. */ - void AddUserAgentFeature(Aws::Client::UserAgentFeature feature) { m_userAgentFeatures.insert(feature); } + void AddUserAgentFeature(Aws::Client::UserAgentFeature feature) const { m_userAgentFeatures.insert(feature); } /** * Gets all features that would be included in the requests user agent string. @@ -241,7 +241,7 @@ namespace Aws RequestSignedHandler m_onRequestSigned; RequestRetryHandler m_requestRetryHandler; mutable std::shared_ptr m_serviceSpecificParameters; - Aws::Set m_userAgentFeatures; + mutable Aws::Set m_userAgentFeatures; }; } // namespace Aws diff --git a/src/aws-cpp-sdk-core/include/aws/core/VersionConfig.h b/src/aws-cpp-sdk-core/include/aws/core/VersionConfig.h index a0b381cb746..0c7040e2e33 100644 --- a/src/aws-cpp-sdk-core/include/aws/core/VersionConfig.h +++ b/src/aws-cpp-sdk-core/include/aws/core/VersionConfig.h @@ -4,7 +4,7 @@ */ #pragma once -#define AWS_SDK_VERSION_STRING "1.11.491" +#define AWS_SDK_VERSION_STRING "1.11.496" #define AWS_SDK_VERSION_MAJOR 1 #define AWS_SDK_VERSION_MINOR 11 -#define AWS_SDK_VERSION_PATCH 491 +#define AWS_SDK_VERSION_PATCH 496 diff --git a/src/aws-cpp-sdk-core/include/aws/core/client/UserAgent.h b/src/aws-cpp-sdk-core/include/aws/core/client/UserAgent.h index 14ddf03cca5..70e83c178cb 100644 --- a/src/aws-cpp-sdk-core/include/aws/core/client/UserAgent.h +++ b/src/aws-cpp-sdk-core/include/aws/core/client/UserAgent.h @@ -17,6 +17,15 @@ enum class UserAgentFeature { S3_TRANSFER, S3_CRYPTO_V1N, S3_CRYPTO_V2, + FLEXIBLE_CHECKSUMS_REQ_CRC32, + FLEXIBLE_CHECKSUMS_REQ_CRC32C, + FLEXIBLE_CHECKSUMS_REQ_CRC64, + FLEXIBLE_CHECKSUMS_REQ_SHA1, + FLEXIBLE_CHECKSUMS_REQ_SHA256, + FLEXIBLE_CHECKSUMS_REQ_WHEN_SUPPORTED, + FLEXIBLE_CHECKSUMS_REQ_WHEN_REQUIRED, + FLEXIBLE_CHECKSUMS_RES_WHEN_SUPPORTED, + FLEXIBLE_CHECKSUMS_RES_WHEN_REQUIRED, }; class AWS_CORE_API UserAgent { diff --git a/src/aws-cpp-sdk-core/include/aws/core/utils/Document.h b/src/aws-cpp-sdk-core/include/aws/core/utils/Document.h index 2c062b8ca6c..6989aa7d804 100644 --- a/src/aws-cpp-sdk-core/include/aws/core/utils/Document.h +++ b/src/aws-cpp-sdk-core/include/aws/core/utils/Document.h @@ -207,6 +207,10 @@ namespace Aws */ DocumentView View() const; + /** + * Convert this document to a JsonValue + */ + Aws::Utils::Json::JsonValue Jsonize() const; private: void Destroy(); Document(cJSON* value); diff --git a/src/aws-cpp-sdk-core/include/smithy/client/features/ChecksumInterceptor.h b/src/aws-cpp-sdk-core/include/smithy/client/features/ChecksumInterceptor.h index 111da011175..c15ebb7c29d 100644 --- a/src/aws-cpp-sdk-core/include/smithy/client/features/ChecksumInterceptor.h +++ b/src/aws-cpp-sdk-core/include/smithy/client/features/ChecksumInterceptor.h @@ -40,7 +40,7 @@ class ChecksumInterceptor : public smithy::interceptor::Interceptor { using Sha1 = Aws::Utils::Crypto::Sha1; using PrecalculatedHash = Aws::Utils::Crypto::PrecalculatedHash; - ChecksumInterceptor(const ClientConfiguration& configuration) + explicit ChecksumInterceptor(const ClientConfiguration& configuration) : m_requestChecksumCalculation(configuration.checksumConfig.requestChecksumCalculation), m_responseChecksumValidation(configuration.checksumConfig.responseChecksumValidation) {} ~ChecksumInterceptor() override = default; @@ -67,6 +67,7 @@ class ChecksumInterceptor : public smithy::interceptor::Interceptor { } // Add RequestChecksum + addChecksumConfigurationFeatures(request); if ((!request.GetChecksumAlgorithmName().empty() && m_requestChecksumCalculation == RequestChecksumCalculation::WHEN_SUPPORTED) || request.RequestChecksumRequired()) { Aws::String checksumAlgorithmName = Aws::Utils::StringUtils::ToLower(request.GetChecksumAlgorithmName().c_str()); @@ -82,35 +83,41 @@ class ChecksumInterceptor : public smithy::interceptor::Interceptor { // For streaming payload, the resolved checksum location depends on whether it is an unsigned payload, we let // AwsAuthSigner decide it. if (request.IsStreaming() && checksumValueAndAlgorithmProvided) { + addChecksumFeatureForChecksumName(checksumAlgorithmName, request); const auto hash = Aws::MakeShared(AWS_SMITHY_CLIENT_CHECKSUM, checksumHeader->second); httpRequest->SetRequestHash(checksumAlgorithmName, hash); } else if (checksumValueAndAlgorithmProvided) { httpRequest->SetHeaderValue(checksumType, checksumHeader->second); } else if (checksumAlgorithmName == "crc64nvme") { + request.AddUserAgentFeature(Aws::Client::UserAgentFeature::FLEXIBLE_CHECKSUMS_REQ_CRC64); if (request.IsStreaming()) { httpRequest->SetRequestHash(checksumAlgorithmName, Aws::MakeShared(AWS_SMITHY_CLIENT_CHECKSUM)); } else { httpRequest->SetHeaderValue(checksumType, HashingUtils::Base64Encode(HashingUtils::CalculateCRC64(*(GetBodyStream(request))))); } } else if (checksumAlgorithmName == "crc32") { + request.AddUserAgentFeature(Aws::Client::UserAgentFeature::FLEXIBLE_CHECKSUMS_REQ_CRC32); if (request.IsStreaming()) { httpRequest->SetRequestHash(checksumAlgorithmName, Aws::MakeShared(AWS_SMITHY_CLIENT_CHECKSUM)); } else { httpRequest->SetHeaderValue(checksumType, HashingUtils::Base64Encode(HashingUtils::CalculateCRC32(*(GetBodyStream(request))))); } } else if (checksumAlgorithmName == "crc32c") { + request.AddUserAgentFeature(Aws::Client::UserAgentFeature::FLEXIBLE_CHECKSUMS_REQ_CRC32C); if (request.IsStreaming()) { httpRequest->SetRequestHash(checksumAlgorithmName, Aws::MakeShared(AWS_SMITHY_CLIENT_CHECKSUM)); } else { httpRequest->SetHeaderValue(checksumType, HashingUtils::Base64Encode(HashingUtils::CalculateCRC32C(*(GetBodyStream(request))))); } } else if (checksumAlgorithmName == "sha256") { + request.AddUserAgentFeature(Aws::Client::UserAgentFeature::FLEXIBLE_CHECKSUMS_REQ_SHA256); if (request.IsStreaming()) { httpRequest->SetRequestHash(checksumAlgorithmName, Aws::MakeShared(AWS_SMITHY_CLIENT_CHECKSUM)); } else { httpRequest->SetHeaderValue(checksumType, HashingUtils::Base64Encode(HashingUtils::CalculateSHA256(*(GetBodyStream(request))))); } } else if (checksumAlgorithmName == "sha1") { + request.AddUserAgentFeature(Aws::Client::UserAgentFeature::FLEXIBLE_CHECKSUMS_REQ_SHA1); if (request.IsStreaming()) { httpRequest->SetRequestHash(checksumAlgorithmName, Aws::MakeShared(AWS_SMITHY_CLIENT_CHECKSUM)); } else { @@ -188,6 +195,36 @@ class ChecksumInterceptor : public smithy::interceptor::Interceptor { } private: + void addChecksumFeatureForChecksumName(const Aws::String& checksumName, const Aws::AmazonWebServiceRequest& request) { + if (checksumName == "crc32") { + request.AddUserAgentFeature(Aws::Client::UserAgentFeature::FLEXIBLE_CHECKSUMS_REQ_CRC32C); + } else if (checksumName == "crc32c") { + request.AddUserAgentFeature(Aws::Client::UserAgentFeature::FLEXIBLE_CHECKSUMS_REQ_CRC32C); + } else if (checksumName == "crc64") { + request.AddUserAgentFeature(Aws::Client::UserAgentFeature::FLEXIBLE_CHECKSUMS_REQ_CRC64); + } else if (checksumName == "sha1") { + request.AddUserAgentFeature(Aws::Client::UserAgentFeature::FLEXIBLE_CHECKSUMS_REQ_SHA1); + } else if (checksumName == "sha256") { + request.AddUserAgentFeature(Aws::Client::UserAgentFeature::FLEXIBLE_CHECKSUMS_REQ_SHA256); + } else { + AWS_LOGSTREAM_ERROR(AWS_SMITHY_CLIENT_CHECKSUM, "could not add useragent feature for checksum " << checksumName); + } + } + + void addChecksumConfigurationFeatures(const Aws::AmazonWebServiceRequest& request) { + switch (m_requestChecksumCalculation) { + case RequestChecksumCalculation::WHEN_SUPPORTED: request.AddUserAgentFeature(Aws::Client::UserAgentFeature::FLEXIBLE_CHECKSUMS_REQ_WHEN_SUPPORTED); break; + case RequestChecksumCalculation::WHEN_REQUIRED: request.AddUserAgentFeature(Aws::Client::UserAgentFeature::FLEXIBLE_CHECKSUMS_REQ_WHEN_REQUIRED);break; + default: AWS_LOG_ERROR(AWS_SMITHY_CLIENT_CHECKSUM, "could not add useragent feature for checksum request configuration"); break; + } + + switch (m_responseChecksumValidation) { + case ResponseChecksumValidation::WHEN_SUPPORTED: request.AddUserAgentFeature(Aws::Client::UserAgentFeature::FLEXIBLE_CHECKSUMS_RES_WHEN_SUPPORTED); break; + case ResponseChecksumValidation::WHEN_REQUIRED: request.AddUserAgentFeature(Aws::Client::UserAgentFeature::FLEXIBLE_CHECKSUMS_RES_WHEN_REQUIRED); break; + default: AWS_LOG_ERROR(AWS_SMITHY_CLIENT_CHECKSUM, "could not add useragent feature for checksum response configuration"); break; + } + } + RequestChecksumCalculation m_requestChecksumCalculation{RequestChecksumCalculation::WHEN_SUPPORTED}; ResponseChecksumValidation m_responseChecksumValidation{ResponseChecksumValidation::WHEN_SUPPORTED}; }; diff --git a/src/aws-cpp-sdk-core/source/auth/signer/AWSAuthV4Signer.cpp b/src/aws-cpp-sdk-core/source/auth/signer/AWSAuthV4Signer.cpp index a09a2f973c8..3863b3e8879 100644 --- a/src/aws-cpp-sdk-core/source/auth/signer/AWSAuthV4Signer.cpp +++ b/src/aws-cpp-sdk-core/source/auth/signer/AWSAuthV4Signer.cpp @@ -63,7 +63,7 @@ AWSAuthV4Signer::AWSAuthV4Signer(const std::shared_ptr(AWS_CLIENT_LOG_TAG, configuration, m_retryStrategy->GetStrategyName(), m_serviceName)}, - m_interceptors{Aws::MakeShared(AWS_CLIENT_LOG_TAG), m_userAgentInterceptor} + m_interceptors{Aws::MakeShared(AWS_CLIENT_LOG_TAG, configuration), m_userAgentInterceptor} { } diff --git a/src/aws-cpp-sdk-core/source/client/UserAgent.cpp b/src/aws-cpp-sdk-core/source/client/UserAgent.cpp index e7b7f1e15c2..f0cc5adc08c 100644 --- a/src/aws-cpp-sdk-core/source/client/UserAgent.cpp +++ b/src/aws-cpp-sdk-core/source/client/UserAgent.cpp @@ -24,7 +24,16 @@ const std::pair BUSINESS_METRIC_MAPPING[] = { {UserAgentFeature::RETRY_MODE_ADAPTIVE, "F"}, {UserAgentFeature::S3_TRANSFER, "G"}, {UserAgentFeature::S3_CRYPTO_V1N, "H"}, - {UserAgentFeature::S3_CRYPTO_V2, "I"} + {UserAgentFeature::S3_CRYPTO_V2, "I"}, + {UserAgentFeature::FLEXIBLE_CHECKSUMS_REQ_CRC32, "U"}, + {UserAgentFeature::FLEXIBLE_CHECKSUMS_REQ_CRC32C, "V"}, + {UserAgentFeature::FLEXIBLE_CHECKSUMS_REQ_CRC64, "W"}, + {UserAgentFeature::FLEXIBLE_CHECKSUMS_REQ_SHA1, "X"}, + {UserAgentFeature::FLEXIBLE_CHECKSUMS_REQ_SHA256, "Y"}, + {UserAgentFeature::FLEXIBLE_CHECKSUMS_REQ_WHEN_SUPPORTED, "Z"}, + {UserAgentFeature::FLEXIBLE_CHECKSUMS_REQ_WHEN_REQUIRED, "a"}, + {UserAgentFeature::FLEXIBLE_CHECKSUMS_RES_WHEN_SUPPORTED, "b"}, + {UserAgentFeature::FLEXIBLE_CHECKSUMS_RES_WHEN_REQUIRED, "c"} }; Aws::String BusinessMetricForFeature(UserAgentFeature feature) { diff --git a/src/aws-cpp-sdk-core/source/http/curl/CurlHttpClient.cpp b/src/aws-cpp-sdk-core/source/http/curl/CurlHttpClient.cpp index 70d402919a9..7511992100e 100644 --- a/src/aws-cpp-sdk-core/source/http/curl/CurlHttpClient.cpp +++ b/src/aws-cpp-sdk-core/source/http/curl/CurlHttpClient.cpp @@ -367,6 +367,14 @@ static size_t SeekBody(void* userdata, curl_off_t offset, int origin) return CURL_SEEKFUNC_FAIL; } + // fail seek for aws-chunk encoded body as the length and offset is unknown + if (context->m_request && + context->m_request->HasHeader(Aws::Http::CONTENT_ENCODING_HEADER) && + context->m_request->GetHeaderValue(Aws::Http::CONTENT_ENCODING_HEADER).find(Aws::Http::AWS_CHUNKED_VALUE) != Aws::String::npos) + { + return CURL_SEEKFUNC_FAIL; + } + HttpRequest* request = context->m_request; const std::shared_ptr& ioStream = request->GetContentBody(); diff --git a/src/aws-cpp-sdk-core/source/utils/Document.cpp b/src/aws-cpp-sdk-core/source/utils/Document.cpp index ef8210aeb1e..3ca1bb70fc8 100644 --- a/src/aws-cpp-sdk-core/source/utils/Document.cpp +++ b/src/aws-cpp-sdk-core/source/utils/Document.cpp @@ -393,6 +393,10 @@ DocumentView Document::View() const return *this; } +Json::JsonValue Document::Jsonize() const { + return Json::JsonValue(View()); +} + DocumentView::DocumentView() : m_json(nullptr) { } diff --git a/tests/aws-cpp-sdk-core-tests/resources/aws4_testsuite/aws4_testsuite/post-vanilla/post-vanilla.req b/tests/aws-cpp-sdk-core-tests/resources/aws4_testsuite/aws4_testsuite/post-vanilla/post-vanilla.req index 3dc4179013f..f0375c706bb 100644 --- a/tests/aws-cpp-sdk-core-tests/resources/aws4_testsuite/aws4_testsuite/post-vanilla/post-vanilla.req +++ b/tests/aws-cpp-sdk-core-tests/resources/aws4_testsuite/aws4_testsuite/post-vanilla/post-vanilla.req @@ -1,3 +1,4 @@ POST / HTTP/1.1 Host:example.amazonaws.com -X-Amz-Date:20150830T123600Z \ No newline at end of file +X-Amz-Date:20150830T123600Z +Transfer-Encoding: chunked \ No newline at end of file diff --git a/tests/aws-cpp-sdk-s3-unit-tests/S3UnitTests.cpp b/tests/aws-cpp-sdk-s3-unit-tests/S3UnitTests.cpp index 8165bb36383..5b426178abe 100644 --- a/tests/aws-cpp-sdk-s3-unit-tests/S3UnitTests.cpp +++ b/tests/aws-cpp-sdk-s3-unit-tests/S3UnitTests.cpp @@ -2,7 +2,9 @@ #include #include #include +#include #include +#include #include #include #include @@ -18,6 +20,7 @@ using namespace Aws::S3; using namespace Aws::S3::Model; const char* ALLOCATION_TAG = "S3UnitTest"; +const char* MD5_HEADER = "content-md5"; class S3UnitTest_S3EmbeddedErrorTestNonOKResponse_Test; @@ -330,7 +333,8 @@ TEST_F(S3UnitTest, PutObjectShouldHaveCorrectUserAgent) { EXPECT_TRUE(crtMetadata != userAgentParsed.end()); auto archMetadata = std::find_if(userAgentParsed.begin(), userAgentParsed.end(), [](const Aws::String & value) { return value.find("md/arch") != Aws::String::npos; }); EXPECT_TRUE(archMetadata != userAgentParsed.end()); - auto businessMetrics = std::find_if(userAgentParsed.begin(), userAgentParsed.end(), [](const Aws::String & value) { return value.find("m/") != Aws::String::npos; }); + // RETRY_MODE_STANDARD -> E, FLEXIBLE_CHECKSUMS_REQ_CRC64 -> W,FLEXIBLE_CHECKSUMS_REQ_WHEN_SUPPORTED -> Z, FLEXIBLE_CHECKSUMS_RES_WHEN_SUPPORTED -> b + auto businessMetrics = std::find_if(userAgentParsed.begin(), userAgentParsed.end(), [](const Aws::String & value) { return value.find("m/E,W,Z,b") != Aws::String::npos; }); EXPECT_TRUE(businessMetrics != userAgentParsed.end()); // assert the order of the UA header @@ -342,3 +346,110 @@ TEST_F(S3UnitTest, PutObjectShouldHaveCorrectUserAgent) { EXPECT_TRUE(crtMetadata < archMetadata); EXPECT_TRUE(archMetadata < businessMetrics); } + +TEST_F(S3UnitTest, RequestShouldNotIncludeAChecksumIfNotRequired) { + S3ClientConfiguration configuration{}; + configuration.checksumConfig.requestChecksumCalculation = RequestChecksumCalculation::WHEN_REQUIRED; + S3TestClient client{configuration}; + + auto request = PutObjectRequest() + .WithBucket("Crono") + .WithKey("Trigger"); + + std::shared_ptr body = Aws::MakeShared(ALLOCATION_TAG, + "All life begins with Nu and ends with Nu… This is the truth! This is my belief! …at least for now."); + + request.SetBody(body); + + auto mockRequest = Aws::MakeShared(ALLOCATION_TAG, "end-of-time.com/", HttpMethod::HTTP_PUT); + mockRequest->SetResponseStreamFactory([]() -> IOStream* { + return Aws::New(ALLOCATION_TAG, "", std::ios_base::in | std::ios_base::binary); + }); + auto mockResponse = Aws::MakeShared(ALLOCATION_TAG, mockRequest); + mockResponse->SetResponseCode(HttpResponseCode::OK); + + _mockHttpClient->AddResponseToReturn(mockResponse); + + const auto response = client.PutObject(request); + EXPECT_TRUE(response.IsSuccess()); + + const auto requestReceived = _mockHttpClient->GetMostRecentHttpRequest(); + const auto headers = requestReceived.GetHeaders(); + EXPECT_FALSE(std::any_of(headers.begin(), headers.end(), + [](const std::pair& keyValue) { return keyValue.first.find("x-amz-checksum") != Aws::String::npos; })); +} + +TEST_F(S3UnitTest, RequestShouldNotIncludeAChecksumIfNotRequiredWithMD5Header) { + S3ClientConfiguration configuration{}; + configuration.checksumConfig.requestChecksumCalculation = RequestChecksumCalculation::WHEN_REQUIRED; + S3TestClient client{configuration}; + + auto request = PutObjectRequest() + .WithBucket("Crono") + .WithKey("Trigger"); + + std::shared_ptr body = Aws::MakeShared(ALLOCATION_TAG, + "All life begins with Nu and ends with Nu… This is the truth! This is my belief! …at least for now."); + + request.SetBody(body); + request.SetAdditionalCustomHeaderValue(MD5_HEADER, + Utils::HashingUtils::Base64Encode(Utils::HashingUtils::CalculateMD5(*body))); + + auto mockRequest = Aws::MakeShared(ALLOCATION_TAG, "end-of-time.com/", HttpMethod::HTTP_PUT); + mockRequest->SetResponseStreamFactory([]() -> IOStream* { + return Aws::New(ALLOCATION_TAG, "", std::ios_base::in | std::ios_base::binary); + }); + auto mockResponse = Aws::MakeShared(ALLOCATION_TAG, mockRequest); + mockResponse->SetResponseCode(HttpResponseCode::OK); + + _mockHttpClient->AddResponseToReturn(mockResponse); + + const auto response = client.PutObject(request); + EXPECT_TRUE(response.IsSuccess()); + + const auto requestReceived = _mockHttpClient->GetMostRecentHttpRequest(); + const auto headers = requestReceived.GetHeaders(); + EXPECT_FALSE(std::any_of(headers.begin(), headers.end(), + [](const std::pair& keyValue) { return keyValue.first.find("x-amz-checksum") != Aws::String::npos; })); + EXPECT_TRUE(std::any_of(headers.begin(), headers.end(), + [](const std::pair& keyValue) { return keyValue.first.find("content-md5") != Aws::String::npos; })); +} + +TEST_F(S3UnitTest, RequestShouldNotIncludeAChecksumIfRequiredWithMD5Header) { + struct ChecksumOptOutDeleteObjects : public Aws::S3::Model::DeleteObjectsRequest { + inline bool RequestChecksumRequired() const override { + return false; + }; + }; + + S3ClientConfiguration configuration{}; + configuration.checksumConfig.requestChecksumCalculation = RequestChecksumCalculation::WHEN_REQUIRED; + S3TestClient client{configuration}; + + auto request = ChecksumOptOutDeleteObjects(); + request.SetBucket("Chrono"); + request.SetDelete(S3::Model::Delete().WithObjects({ObjectIdentifier() + .WithKey("Trigger")})); + auto payload = request.SerializePayload(); + request.SetAdditionalCustomHeaderValue(MD5_HEADER, + Aws::Utils::HashingUtils::Base64Encode(Aws::Utils::HashingUtils::CalculateMD5(payload))); + + auto mockRequest = Aws::MakeShared(ALLOCATION_TAG, "end-of-time.com/", HttpMethod::HTTP_PUT); + mockRequest->SetResponseStreamFactory([]() -> IOStream* { + return Aws::New(ALLOCATION_TAG, "", std::ios_base::in | std::ios_base::binary); + }); + auto mockResponse = Aws::MakeShared(ALLOCATION_TAG, mockRequest); + mockResponse->SetResponseCode(HttpResponseCode::OK); + + _mockHttpClient->AddResponseToReturn(mockResponse); + + const auto response = client.DeleteObjects(request); + EXPECT_TRUE(response.IsSuccess()); + + const auto requestReceived = _mockHttpClient->GetMostRecentHttpRequest(); + const auto headers = requestReceived.GetHeaders(); + EXPECT_FALSE(std::any_of(headers.begin(), headers.end(), + [](const std::pair& keyValue) { return keyValue.first.find("x-amz-checksum") != Aws::String::npos; })); + EXPECT_TRUE(std::any_of(headers.begin(), headers.end(), + [](const std::pair& keyValue) { return keyValue.first.find("content-md5") != Aws::String::npos; })); +} \ No newline at end of file diff --git a/tools/code-generation/api-descriptions/appstream-2016-12-01.normal.json b/tools/code-generation/api-descriptions/appstream-2016-12-01.normal.json index 04e2309b131..0e18cdec884 100644 --- a/tools/code-generation/api-descriptions/appstream-2016-12-01.normal.json +++ b/tools/code-generation/api-descriptions/appstream-2016-12-01.normal.json @@ -5041,6 +5041,10 @@ "Domains":{ "shape":"DomainList", "documentation":"

        The names of the domains for the account.

        " + }, + "DomainsRequireAdminConsent":{ + "shape":"DomainList", + "documentation":"

        The OneDrive for Business domains where you require admin consent when users try to link their OneDrive account to AppStream 2.0. The attribute can only be specified when ConnectorType=ONE_DRIVE.

        " } }, "documentation":"

        Describes a connector that enables persistent storage for users.

        " diff --git a/tools/code-generation/api-descriptions/appsync-2017-07-25.normal.json b/tools/code-generation/api-descriptions/appsync-2017-07-25.normal.json index dfc9fae8d06..96e18b162b6 100644 --- a/tools/code-generation/api-descriptions/appsync-2017-07-25.normal.json +++ b/tools/code-generation/api-descriptions/appsync-2017-07-25.normal.json @@ -3189,6 +3189,14 @@ "logs":{ "shape":"Logs", "documentation":"

        A list of logs that were generated by calls to util.log.info and util.log.error in the evaluated code.

        " + }, + "stash":{ + "shape":"Stash", + "documentation":"

        An object available inside each resolver and function handler. A single stash object lives through a single resolver run. Therefore, you can use the stash to pass arbitrary data across request and response handlers and across functions in a pipeline resolver.

        " + }, + "outErrors":{ + "shape":"OutErrors", + "documentation":"

        The list of runtime errors that are added to the GraphQL operation response.

        " } } }, @@ -3223,6 +3231,14 @@ "logs":{ "shape":"Logs", "documentation":"

        A list of logs that were generated by calls to util.log.info and util.log.error in the evaluated code.

        " + }, + "stash":{ + "shape":"Stash", + "documentation":"

        An object available inside each resolver and function handler. A single stash object lives through a single resolver run. Therefore, you can use the stash to pass arbitrary data across request and response handlers and across functions in a pipeline resolver.

        " + }, + "outErrors":{ + "shape":"OutErrors", + "documentation":"

        The list of runtime errors that are added to the GraphQL operation response.

        " } } }, @@ -4645,6 +4661,10 @@ "DISABLED" ] }, + "OutErrors":{ + "type":"string", + "pattern":"^[\\s\\S]*$" + }, "OutputType":{ "type":"string", "enum":[ @@ -5118,6 +5138,10 @@ } } }, + "Stash":{ + "type":"string", + "pattern":"^[\\s\\S]*$" + }, "String":{"type":"string"}, "SyncConfig":{ "type":"structure", diff --git a/tools/code-generation/api-descriptions/bcm-pricing-calculator-2024-06-19.normal.json b/tools/code-generation/api-descriptions/bcm-pricing-calculator-2024-06-19.normal.json index 5050c0084e0..bddd2532296 100644 --- a/tools/code-generation/api-descriptions/bcm-pricing-calculator-2024-06-19.normal.json +++ b/tools/code-generation/api-descriptions/bcm-pricing-calculator-2024-06-19.normal.json @@ -32,7 +32,7 @@ {"shape":"AccessDeniedException"}, {"shape":"ThrottlingException"} ], - "documentation":"

        Create Compute Savings Plans, EC2 Instance Savings Plans, or EC2 Reserved Instances commitments that you want to model in a Bill Scenario.

        ", + "documentation":"

        Create Compute Savings Plans, EC2 Instance Savings Plans, or EC2 Reserved Instances commitments that you want to model in a Bill Scenario.

        The BatchCreateBillScenarioCommitmentModification operation doesn't have its own IAM permission. To authorize this operation for Amazon Web Services principals, include the permission bcm-pricing-calculator:CreateBillScenarioCommitmentModification in your policies.

        ", "idempotent":true }, "BatchCreateBillScenarioUsageModification":{ @@ -53,7 +53,7 @@ {"shape":"AccessDeniedException"}, {"shape":"ThrottlingException"} ], - "documentation":"

        Create Amazon Web Services service usage that you want to model in a Bill Scenario.

        ", + "documentation":"

        Create Amazon Web Services service usage that you want to model in a Bill Scenario.

        The BatchCreateBillScenarioUsageModification operation doesn't have its own IAM permission. To authorize this operation for Amazon Web Services principals, include the permission bcm-pricing-calculator:CreateBillScenarioUsageModification in your policies.

        ", "idempotent":true }, "BatchCreateWorkloadEstimateUsage":{ @@ -74,7 +74,7 @@ {"shape":"AccessDeniedException"}, {"shape":"ThrottlingException"} ], - "documentation":"

        Create Amazon Web Services service usage that you want to model in a Workload Estimate.

        ", + "documentation":"

        Create Amazon Web Services service usage that you want to model in a Workload Estimate.

        The BatchCreateWorkloadEstimateUsage operation doesn't have its own IAM permission. To authorize this operation for Amazon Web Services principals, include the permission bcm-pricing-calculator:CreateWorkloadEstimateUsage in your policies.

        ", "idempotent":true }, "BatchDeleteBillScenarioCommitmentModification":{ @@ -86,6 +86,7 @@ "input":{"shape":"BatchDeleteBillScenarioCommitmentModificationRequest"}, "output":{"shape":"BatchDeleteBillScenarioCommitmentModificationResponse"}, "errors":[ + {"shape":"ConflictException"}, {"shape":"ValidationException"}, {"shape":"DataUnavailableException"}, {"shape":"InternalServerException"}, @@ -93,7 +94,7 @@ {"shape":"AccessDeniedException"}, {"shape":"ThrottlingException"} ], - "documentation":"

        Delete commitment that you have created in a Bill Scenario. You can only delete a commitment that you had added and cannot model deletion (or removal) of a existing commitment. If you want model deletion of an existing commitment, see the negate BillScenarioCommitmentModificationAction of BatchCreateBillScenarioCommitmentModification operation.

        ", + "documentation":"

        Delete commitment that you have created in a Bill Scenario. You can only delete a commitment that you had added and cannot model deletion (or removal) of a existing commitment. If you want model deletion of an existing commitment, see the negate BillScenarioCommitmentModificationAction of BatchCreateBillScenarioCommitmentModification operation.

        The BatchDeleteBillScenarioCommitmentModification operation doesn't have its own IAM permission. To authorize this operation for Amazon Web Services principals, include the permission bcm-pricing-calculator:DeleteBillScenarioCommitmentModification in your policies.

        ", "idempotent":true }, "BatchDeleteBillScenarioUsageModification":{ @@ -105,6 +106,7 @@ "input":{"shape":"BatchDeleteBillScenarioUsageModificationRequest"}, "output":{"shape":"BatchDeleteBillScenarioUsageModificationResponse"}, "errors":[ + {"shape":"ConflictException"}, {"shape":"ValidationException"}, {"shape":"DataUnavailableException"}, {"shape":"ServiceQuotaExceededException"}, @@ -113,7 +115,7 @@ {"shape":"AccessDeniedException"}, {"shape":"ThrottlingException"} ], - "documentation":"

        Delete usage that you have created in a Bill Scenario. You can only delete usage that you had added and cannot model deletion (or removal) of a existing usage. If you want model removal of an existing usage, see BatchUpdateBillScenarioUsageModification.

        ", + "documentation":"

        Delete usage that you have created in a Bill Scenario. You can only delete usage that you had added and cannot model deletion (or removal) of a existing usage. If you want model removal of an existing usage, see BatchUpdateBillScenarioUsageModification.

        The BatchDeleteBillScenarioUsageModification operation doesn't have its own IAM permission. To authorize this operation for Amazon Web Services principals, include the permission bcm-pricing-calculator:DeleteBillScenarioUsageModification in your policies.

        ", "idempotent":true }, "BatchDeleteWorkloadEstimateUsage":{ @@ -133,7 +135,7 @@ {"shape":"AccessDeniedException"}, {"shape":"ThrottlingException"} ], - "documentation":"

        Delete usage that you have created in a Workload estimate. You can only delete usage that you had added and cannot model deletion (or removal) of a existing usage. If you want model removal of an existing usage, see BatchUpdateWorkloadEstimateUsage.

        ", + "documentation":"

        Delete usage that you have created in a Workload estimate. You can only delete usage that you had added and cannot model deletion (or removal) of a existing usage. If you want model removal of an existing usage, see BatchUpdateWorkloadEstimateUsage.

        The BatchDeleteWorkloadEstimateUsage operation doesn't have its own IAM permission. To authorize this operation for Amazon Web Services principals, include the permission bcm-pricing-calculator:DeleteWorkloadEstimateUsage in your policies.

        ", "idempotent":true }, "BatchUpdateBillScenarioCommitmentModification":{ @@ -145,6 +147,7 @@ "input":{"shape":"BatchUpdateBillScenarioCommitmentModificationRequest"}, "output":{"shape":"BatchUpdateBillScenarioCommitmentModificationResponse"}, "errors":[ + {"shape":"ConflictException"}, {"shape":"ValidationException"}, {"shape":"DataUnavailableException"}, {"shape":"InternalServerException"}, @@ -152,7 +155,7 @@ {"shape":"AccessDeniedException"}, {"shape":"ThrottlingException"} ], - "documentation":"

        Update a newly added or existing commitment. You can update the commitment group based on a commitment ID and a Bill scenario ID.

        ", + "documentation":"

        Update a newly added or existing commitment. You can update the commitment group based on a commitment ID and a Bill scenario ID.

        The BatchUpdateBillScenarioCommitmentModification operation doesn't have its own IAM permission. To authorize this operation for Amazon Web Services principals, include the permission bcm-pricing-calculator:UpdateBillScenarioCommitmentModification in your policies.

        ", "idempotent":true }, "BatchUpdateBillScenarioUsageModification":{ @@ -164,6 +167,7 @@ "input":{"shape":"BatchUpdateBillScenarioUsageModificationRequest"}, "output":{"shape":"BatchUpdateBillScenarioUsageModificationResponse"}, "errors":[ + {"shape":"ConflictException"}, {"shape":"ValidationException"}, {"shape":"DataUnavailableException"}, {"shape":"ServiceQuotaExceededException"}, @@ -172,7 +176,7 @@ {"shape":"AccessDeniedException"}, {"shape":"ThrottlingException"} ], - "documentation":"

        Update a newly added or existing usage lines. You can update the usage amounts, usage hour, and usage group based on a usage ID and a Bill scenario ID.

        ", + "documentation":"

        Update a newly added or existing usage lines. You can update the usage amounts, usage hour, and usage group based on a usage ID and a Bill scenario ID.

        The BatchUpdateBillScenarioUsageModification operation doesn't have its own IAM permission. To authorize this operation for Amazon Web Services principals, include the permission bcm-pricing-calculator:UpdateBillScenarioUsageModification in your policies.

        ", "idempotent":true }, "BatchUpdateWorkloadEstimateUsage":{ @@ -192,7 +196,7 @@ {"shape":"AccessDeniedException"}, {"shape":"ThrottlingException"} ], - "documentation":"

        Update a newly added or existing usage lines. You can update the usage amounts and usage group based on a usage ID and a Workload estimate ID.

        ", + "documentation":"

        Update a newly added or existing usage lines. You can update the usage amounts and usage group based on a usage ID and a Workload estimate ID.

        The BatchUpdateWorkloadEstimateUsage operation doesn't have its own IAM permission. To authorize this operation for Amazon Web Services principals, include the permission bcm-pricing-calculator:UpdateWorkloadEstimateUsage in your policies.

        ", "idempotent":true }, "CreateBillEstimate":{ @@ -283,6 +287,7 @@ "input":{"shape":"DeleteBillScenarioRequest"}, "output":{"shape":"DeleteBillScenarioResponse"}, "errors":[ + {"shape":"ConflictException"}, {"shape":"ValidationException"}, {"shape":"DataUnavailableException"}, {"shape":"InternalServerException"}, @@ -2920,11 +2925,11 @@ }, "createdAtFilter":{ "shape":"FilterTimestamp", - "documentation":"

        Filter bill estimates based on their creation date.

        " + "documentation":"

        Filter bill estimates based on the creation date.

        " }, "expiresAtFilter":{ "shape":"FilterTimestamp", - "documentation":"

        Filter bill estimates based on their expiration date.

        " + "documentation":"

        Filter bill estimates based on the expiration date.

        " }, "nextToken":{ "shape":"NextPageToken", @@ -3061,11 +3066,11 @@ }, "createdAtFilter":{ "shape":"FilterTimestamp", - "documentation":"

        Filter bill scenarios based on their creation date.

        " + "documentation":"

        Filter bill scenarios based on the creation date.

        " }, "expiresAtFilter":{ "shape":"FilterTimestamp", - "documentation":"

        Filter bill scenarios based on their expiration date.

        " + "documentation":"

        Filter bill scenarios based on the expiration date.

        " }, "nextToken":{ "shape":"NextPageToken", @@ -3232,11 +3237,11 @@ "members":{ "createdAtFilter":{ "shape":"FilterTimestamp", - "documentation":"

        Filter workload estimates based on their creation date.

        " + "documentation":"

        Filter workload estimates based on the creation date.

        " }, "expiresAtFilter":{ "shape":"FilterTimestamp", - "documentation":"

        Filter workload estimates based on their expiration date.

        " + "documentation":"

        Filter workload estimates based on the expiration date.

        " }, "filters":{ "shape":"ListWorkloadEstimatesFilters", diff --git a/tools/code-generation/api-descriptions/bedrock-agent-2023-06-05.normal.json b/tools/code-generation/api-descriptions/bedrock-agent-2023-06-05.normal.json index fa107997692..32cec388d42 100644 --- a/tools/code-generation/api-descriptions/bedrock-agent-2023-06-05.normal.json +++ b/tools/code-generation/api-descriptions/bedrock-agent-2023-06-05.normal.json @@ -1708,7 +1708,7 @@ }, "agentAliasStatus":{ "shape":"AgentAliasStatus", - "documentation":"

        The status of the alias of the agent and whether it is ready for use. The following statuses are possible:

        • CREATING – The agent alias is being created.

        • PREPARED – The agent alias is finished being created or updated and is ready to be invoked.

        • FAILED – The agent alias API operation failed.

        • UPDATING – The agent alias is being updated.

        • DELETING – The agent alias is being deleted.

        " + "documentation":"

        The status of the alias of the agent and whether it is ready for use. The following statuses are possible:

        • CREATING – The agent alias is being created.

        • PREPARED – The agent alias is finished being created or updated and is ready to be invoked.

        • FAILED – The agent alias API operation failed.

        • UPDATING – The agent alias is being updated.

        • DELETING – The agent alias is being deleted.

        • DISSOCIATED - The agent alias has no version associated with it.

        " }, "agentId":{ "shape":"Id", @@ -1804,7 +1804,8 @@ "PREPARED", "FAILED", "UPDATING", - "DELETING" + "DELETING", + "DISSOCIATED" ] }, "AgentAliasSummaries":{ @@ -2508,6 +2509,21 @@ "type":"string", "pattern":"[a-z]{1,20}/.{1,20}" }, + "CachePointBlock":{ + "type":"structure", + "required":["type"], + "members":{ + "type":{ + "shape":"CachePointType", + "documentation":"

        Indicates that the CachePointBlock is of the default type

        " + } + }, + "documentation":"

        Indicates where a cache checkpoint is located. All information before this checkpoint is cached to be accessed on subsequent requests.

        " + }, + "CachePointType":{ + "type":"string", + "enum":["default"] + }, "ChatPromptTemplateConfiguration":{ "type":"structure", "required":["messages"], @@ -2678,6 +2694,10 @@ "ContentBlock":{ "type":"structure", "members":{ + "cachePoint":{ + "shape":"CachePointBlock", + "documentation":"

        Creates a cache checkpoint within a message.

        " + }, "text":{ "shape":"String", "documentation":"

        The text in the message.

        " @@ -4910,7 +4930,7 @@ "FlowNodes":{ "type":"list", "member":{"shape":"FlowNode"}, - "max":20, + "max":40, "min":0 }, "FlowStatus":{ @@ -5092,6 +5112,14 @@ "shape":"UnknownConnectionTargetInputFlowValidationDetails", "documentation":"

        Details about an unknown target input for a connection.

        " }, + "unknownNodeInput":{ + "shape":"UnknownNodeInputFlowValidationDetails", + "documentation":"

        Details about an unknown input for a node.

        " + }, + "unknownNodeOutput":{ + "shape":"UnknownNodeOutputFlowValidationDetails", + "documentation":"

        Details about an unknown output for a node.

        " + }, "unreachableNode":{ "shape":"UnreachableNodeFlowValidationDetails", "documentation":"

        Details about an unreachable node in the flow.

        " @@ -5142,7 +5170,9 @@ "MultipleNodeInputConnections", "UnfulfilledNodeInput", "UnsatisfiedConnectionConditions", - "Unspecified" + "Unspecified", + "UnknownNodeInput", + "UnknownNodeOutput" ] }, "FlowValidations":{ @@ -7227,7 +7257,7 @@ "MaximumLength":{ "type":"integer", "box":true, - "max":4096, + "max":8192, "min":0 }, "MemoryConfiguration":{ @@ -8131,7 +8161,7 @@ "PromptInputVariablesList":{ "type":"list", "member":{"shape":"PromptInputVariable"}, - "max":5, + "max":10, "min":0, "sensitive":true }, @@ -9451,6 +9481,10 @@ "SystemContentBlock":{ "type":"structure", "members":{ + "cachePoint":{ + "shape":"CachePointBlock", + "documentation":"

        Creates a cache checkpoint within a tool designation

        " + }, "text":{ "shape":"NonEmptyString", "documentation":"

        The text in the system prompt.

        " @@ -9544,6 +9578,10 @@ "type":"structure", "required":["text"], "members":{ + "cachePoint":{ + "shape":"CachePointBlock", + "documentation":"

        A cache checkpoint within a template configuration.

        " + }, "inputVariables":{ "shape":"PromptInputVariablesList", "documentation":"

        An array of the variables in the prompt template.

        " @@ -9571,6 +9609,10 @@ "Tool":{ "type":"structure", "members":{ + "cachePoint":{ + "shape":"CachePointBlock", + "documentation":"

        Creates a cache checkpoint within a tool designation

        " + }, "toolSpec":{ "shape":"ToolSpecification", "documentation":"

        The specification for the tool.

        " @@ -9800,6 +9842,42 @@ }, "documentation":"

        Details about an unknown target input for a connection.

        " }, + "UnknownNodeInputFlowValidationDetails":{ + "type":"structure", + "required":[ + "input", + "node" + ], + "members":{ + "input":{ + "shape":"FlowNodeInputName", + "documentation":"

        The name of the node with the unknown input.

        " + }, + "node":{ + "shape":"FlowNodeName", + "documentation":"

        The name of the unknown input.

        " + } + }, + "documentation":"

        Details about an unknown input for a node.

        " + }, + "UnknownNodeOutputFlowValidationDetails":{ + "type":"structure", + "required":[ + "node", + "output" + ], + "members":{ + "node":{ + "shape":"FlowNodeName", + "documentation":"

        The name of the node with the unknown output.

        " + }, + "output":{ + "shape":"FlowNodeOutputName", + "documentation":"

        The name of the unknown output.

        " + } + }, + "documentation":"

        Details about an unknown output for a node.

        " + }, "UnreachableNodeFlowValidationDetails":{ "type":"structure", "required":["node"], diff --git a/tools/code-generation/api-descriptions/bedrock-agent-runtime-2023-07-26.normal.json b/tools/code-generation/api-descriptions/bedrock-agent-runtime-2023-07-26.normal.json index d7bcb3c2ec4..01a18416703 100644 --- a/tools/code-generation/api-descriptions/bedrock-agent-runtime-2023-07-26.normal.json +++ b/tools/code-generation/api-descriptions/bedrock-agent-runtime-2023-07-26.normal.json @@ -253,7 +253,7 @@ {"shape":"AccessDeniedException"}, {"shape":"ServiceQuotaExceededException"} ], - "documentation":"

        Queries a knowledge base and generates responses based on the retrieved results, with output in streaming format.

        The CLI doesn't support streaming operations in Amazon Bedrock, including InvokeModelWithResponseStream.

        " + "documentation":"

        Queries a knowledge base and generates responses based on the retrieved results, with output in streaming format.

        The CLI doesn't support streaming operations in Amazon Bedrock, including InvokeModelWithResponseStream.

        This operation requires permission for the bedrock:RetrieveAndGenerate action.

        " } }, "shapes":{ @@ -2666,7 +2666,11 @@ "InternalServerException":{ "type":"structure", "members":{ - "message":{"shape":"NonBlankString"} + "message":{"shape":"NonBlankString"}, + "reason":{ + "shape":"String", + "documentation":"

        The reason for the exception. If the reason is BEDROCK_MODEL_INVOCATION_SERVICE_UNAVAILABLE, the model invocation service is unavailable. Retry your request.

        " + } }, "documentation":"

        An internal server error occurred. Retry your request.

        ", "error":{"httpStatusCode":500}, diff --git a/tools/code-generation/api-descriptions/cloudtrail-2013-11-01.normal.json b/tools/code-generation/api-descriptions/cloudtrail-2013-11-01.normal.json index 524d093523f..8f59fe1b2f6 100644 --- a/tools/code-generation/api-descriptions/cloudtrail-2013-11-01.normal.json +++ b/tools/code-generation/api-descriptions/cloudtrail-2013-11-01.normal.json @@ -533,7 +533,7 @@ {"shape":"NoManagementAccountSLRExistsException"}, {"shape":"ThrottlingException"} ], - "documentation":"

        Describes the settings for the Insights event selectors that you configured for your trail or event data store. GetInsightSelectors shows if CloudTrail Insights event logging is enabled on the trail or event data store, and if it is, which Insights types are enabled. If you run GetInsightSelectors on a trail or event data store that does not have Insights events enabled, the operation throws the exception InsightNotEnabledException

        Specify either the EventDataStore parameter to get Insights event selectors for an event data store, or the TrailName parameter to the get Insights event selectors for a trail. You cannot specify these parameters together.

        For more information, see Logging CloudTrail Insights events in the CloudTrail User Guide.

        ", + "documentation":"

        Describes the settings for the Insights event selectors that you configured for your trail or event data store. GetInsightSelectors shows if CloudTrail Insights event logging is enabled on the trail or event data store, and if it is, which Insights types are enabled. If you run GetInsightSelectors on a trail or event data store that does not have Insights events enabled, the operation throws the exception InsightNotEnabledException

        Specify either the EventDataStore parameter to get Insights event selectors for an event data store, or the TrailName parameter to the get Insights event selectors for a trail. You cannot specify these parameters together.

        For more information, see Working with CloudTrail Insights in the CloudTrail User Guide.

        ", "idempotent":true }, "GetQueryResults":{ @@ -836,7 +836,7 @@ {"shape":"NoManagementAccountSLRExistsException"}, {"shape":"InsufficientDependencyServiceAccessPermissionException"} ], - "documentation":"

        Configures event selectors (also referred to as basic event selectors) or advanced event selectors for your trail. You can use either AdvancedEventSelectors or EventSelectors, but not both. If you apply AdvancedEventSelectors to a trail, any existing EventSelectors are overwritten.

        You can use AdvancedEventSelectors to log management events, data events for all resource types, and network activity events.

        You can use EventSelectors to log management events and data events for the following resource types:

        • AWS::DynamoDB::Table

        • AWS::Lambda::Function

        • AWS::S3::Object

        You can't use EventSelectors to log network activity events.

        If you want your trail to log Insights events, be sure the event selector or advanced event selector enables logging of the Insights event types you want configured for your trail. For more information about logging Insights events, see Logging Insights events in the CloudTrail User Guide. By default, trails created without specific event selectors are configured to log all read and write management events, and no data events or network activity events.

        When an event occurs in your account, CloudTrail evaluates the event selectors or advanced event selectors in all trails. For each trail, if the event matches any event selector, the trail processes and logs the event. If the event doesn't match any event selector, the trail doesn't log the event.

        Example

        1. You create an event selector for a trail and specify that you want to log write-only events.

        2. The EC2 GetConsoleOutput and RunInstances API operations occur in your account.

        3. CloudTrail evaluates whether the events match your event selectors.

        4. The RunInstances is a write-only event and it matches your event selector. The trail logs the event.

        5. The GetConsoleOutput is a read-only event that doesn't match your event selector. The trail doesn't log the event.

        The PutEventSelectors operation must be called from the Region in which the trail was created; otherwise, an InvalidHomeRegionException exception is thrown.

        You can configure up to five event selectors for each trail.

        You can add advanced event selectors, and conditions for your advanced event selectors, up to a maximum of 500 values for all conditions and selectors on a trail. For more information, see Logging management events, Logging data events, Logging network activity events, and Quotas in CloudTrail in the CloudTrail User Guide.

        ", + "documentation":"

        Configures event selectors (also referred to as basic event selectors) or advanced event selectors for your trail. You can use either AdvancedEventSelectors or EventSelectors, but not both. If you apply AdvancedEventSelectors to a trail, any existing EventSelectors are overwritten.

        You can use AdvancedEventSelectors to log management events, data events for all resource types, and network activity events.

        You can use EventSelectors to log management events and data events for the following resource types:

        • AWS::DynamoDB::Table

        • AWS::Lambda::Function

        • AWS::S3::Object

        You can't use EventSelectors to log network activity events.

        If you want your trail to log Insights events, be sure the event selector or advanced event selector enables logging of the Insights event types you want configured for your trail. For more information about logging Insights events, see Working with CloudTrail Insights in the CloudTrail User Guide. By default, trails created without specific event selectors are configured to log all read and write management events, and no data events or network activity events.

        When an event occurs in your account, CloudTrail evaluates the event selectors or advanced event selectors in all trails. For each trail, if the event matches any event selector, the trail processes and logs the event. If the event doesn't match any event selector, the trail doesn't log the event.

        Example

        1. You create an event selector for a trail and specify that you want to log write-only events.

        2. The EC2 GetConsoleOutput and RunInstances API operations occur in your account.

        3. CloudTrail evaluates whether the events match your event selectors.

        4. The RunInstances is a write-only event and it matches your event selector. The trail logs the event.

        5. The GetConsoleOutput is a read-only event that doesn't match your event selector. The trail doesn't log the event.

        The PutEventSelectors operation must be called from the Region in which the trail was created; otherwise, an InvalidHomeRegionException exception is thrown.

        You can configure up to five event selectors for each trail.

        You can add advanced event selectors, and conditions for your advanced event selectors, up to a maximum of 500 values for all conditions and selectors on a trail. For more information, see Logging management events, Logging data events, Logging network activity events, and Quotas in CloudTrail in the CloudTrail User Guide.

        ", "idempotent":true }, "PutInsightSelectors":{ @@ -865,7 +865,7 @@ {"shape":"NoManagementAccountSLRExistsException"}, {"shape":"ThrottlingException"} ], - "documentation":"

        Lets you enable Insights event logging by specifying the Insights selectors that you want to enable on an existing trail or event data store. You also use PutInsightSelectors to turn off Insights event logging, by passing an empty list of Insights types. The valid Insights event types are ApiErrorRateInsight and ApiCallRateInsight.

        To enable Insights on an event data store, you must specify the ARNs (or ID suffix of the ARNs) for the source event data store (EventDataStore) and the destination event data store (InsightsDestination). The source event data store logs management events and enables Insights. The destination event data store logs Insights events based upon the management event activity of the source event data store. The source and destination event data stores must belong to the same Amazon Web Services account.

        To log Insights events for a trail, you must specify the name (TrailName) of the CloudTrail trail for which you want to change or add Insights selectors.

        To log CloudTrail Insights events on API call volume, the trail or event data store must log write management events. To log CloudTrail Insights events on API error rate, the trail or event data store must log read or write management events. You can call GetEventSelectors on a trail to check whether the trail logs management events. You can call GetEventDataStore on an event data store to check whether the event data store logs management events.

        For more information, see Logging CloudTrail Insights events in the CloudTrail User Guide.

        ", + "documentation":"

        Lets you enable Insights event logging by specifying the Insights selectors that you want to enable on an existing trail or event data store. You also use PutInsightSelectors to turn off Insights event logging, by passing an empty list of Insights types. The valid Insights event types are ApiErrorRateInsight and ApiCallRateInsight.

        To enable Insights on an event data store, you must specify the ARNs (or ID suffix of the ARNs) for the source event data store (EventDataStore) and the destination event data store (InsightsDestination). The source event data store logs management events and enables Insights. The destination event data store logs Insights events based upon the management event activity of the source event data store. The source and destination event data stores must belong to the same Amazon Web Services account.

        To log Insights events for a trail, you must specify the name (TrailName) of the CloudTrail trail for which you want to change or add Insights selectors.

        To log CloudTrail Insights events on API call volume, the trail or event data store must log write management events. To log CloudTrail Insights events on API error rate, the trail or event data store must log read or write management events. You can call GetEventSelectors on a trail to check whether the trail logs management events. You can call GetEventDataStore on an event data store to check whether the event data store logs management events.

        For more information, see Working with CloudTrail Insights in the CloudTrail User Guide.

        ", "idempotent":true }, "PutResourcePolicy":{ @@ -967,6 +967,22 @@ ], "documentation":"

        Restores a deleted event data store specified by EventDataStore, which accepts an event data store ARN. You can only restore a deleted event data store within the seven-day wait period after deletion. Restoring an event data store can take several minutes, depending on the size of the event data store.

        " }, + "SearchSampleQueries":{ + "name":"SearchSampleQueries", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"SearchSampleQueriesRequest"}, + "output":{"shape":"SearchSampleQueriesResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"UnsupportedOperationException"}, + {"shape":"OperationNotPermittedException"} + ], + "documentation":"

        Searches sample queries and returns a list of sample queries that are sorted by relevance. To search for sample queries, provide a natural language SearchPhrase in English.

        ", + "idempotent":true + }, "StartDashboardRefresh":{ "name":"StartDashboardRefresh", "http":{ @@ -1349,7 +1365,7 @@ "documentation":"

        Contains all selector statements in an advanced event selector.

        " } }, - "documentation":"

        Advanced event selectors let you create fine-grained selectors for CloudTrail management, data, and network activity events. They help you control costs by logging only those events that are important to you. For more information about configuring advanced event selectors, see the Logging data events, Logging network activity events, and Logging management events topics in the CloudTrail User Guide.

        You cannot apply both event selectors and advanced event selectors to a trail.

        For information about configurable advanced event selector fields, see AdvancedEventSelector in the CloudTrailUser Guide.

        " + "documentation":"

        Advanced event selectors let you create fine-grained selectors for CloudTrail management, data, and network activity events. They help you control costs by logging only those events that are important to you. For more information about configuring advanced event selectors, see the Logging data events, Logging network activity events, and Logging management events topics in the CloudTrail User Guide.

        You cannot apply both event selectors and advanced event selectors to a trail.

        For information about configurable advanced event selector fields, see AdvancedEventSelector in the CloudTrail API Reference.

        " }, "AdvancedEventSelectors":{ "type":"list", @@ -1361,7 +1377,7 @@ "members":{ "Field":{ "shape":"SelectorField", - "documentation":"

        A field in a CloudTrail event record on which to filter events to be logged. For event data stores for CloudTrail Insights events, Config configuration items, Audit Manager evidence, or events outside of Amazon Web Services, the field is used only for selecting events as filtering is not supported.

        For more information, see AdvancedFieldSelector in the CloudTrailUser Guide.

        " + "documentation":"

        A field in a CloudTrail event record on which to filter events to be logged. For event data stores for CloudTrail Insights events, Config configuration items, Audit Manager evidence, or events outside of Amazon Web Services, the field is used only for selecting events as filtering is not supported.

        For more information, see AdvancedFieldSelector in the CloudTrail API Reference.

        Selectors don't support the use of wildcards like * . To match multiple values with a single condition, you may use StartsWith, EndsWith, NotStartsWith, or NotEndsWith to explicitly match the beginning or end of the event field.

        " }, "Equals":{ "shape":"Operator", @@ -4658,6 +4674,78 @@ }, "documentation":"

        The settings for the source S3 bucket.

        " }, + "SampleQueryDescription":{"type":"string"}, + "SampleQueryName":{"type":"string"}, + "SampleQueryRelevance":{"type":"float"}, + "SampleQuerySQL":{"type":"string"}, + "SearchSampleQueriesMaxResults":{ + "type":"integer", + "max":50, + "min":1 + }, + "SearchSampleQueriesRequest":{ + "type":"structure", + "required":["SearchPhrase"], + "members":{ + "SearchPhrase":{ + "shape":"SearchSampleQueriesSearchPhrase", + "documentation":"

        The natural language phrase to use for the semantic search. The phrase must be in English. The length constraint is in characters, not words.

        " + }, + "MaxResults":{ + "shape":"SearchSampleQueriesMaxResults", + "documentation":"

        The maximum number of results to return on a single page. The default value is 10.

        " + }, + "NextToken":{ + "shape":"PaginationToken", + "documentation":"

        A token you can use to get the next page of results. The length constraint is in characters, not words.

        " + } + } + }, + "SearchSampleQueriesResponse":{ + "type":"structure", + "members":{ + "SearchResults":{ + "shape":"SearchSampleQueriesSearchResults", + "documentation":"

        A list of objects containing the search results ordered from most relevant to least relevant.

        " + }, + "NextToken":{ + "shape":"PaginationToken", + "documentation":"

        A token you can use to get the next page of results.

        " + } + } + }, + "SearchSampleQueriesSearchPhrase":{ + "type":"string", + "max":1000, + "min":2, + "pattern":"^[ -~\\n]*$" + }, + "SearchSampleQueriesSearchResult":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"SampleQueryName", + "documentation":"

        The name of a sample query.

        " + }, + "Description":{ + "shape":"SampleQueryDescription", + "documentation":"

        A longer description of a sample query.

        " + }, + "SQL":{ + "shape":"SampleQuerySQL", + "documentation":"

        The SQL code of the sample query.

        " + }, + "Relevance":{ + "shape":"SampleQueryRelevance", + "documentation":"

        A value between 0 and 1 indicating the similarity between the search phrase and result.

        " + } + }, + "documentation":"

        A search result returned by the SearchSampleQueries operation.

        " + }, + "SearchSampleQueriesSearchResults":{ + "type":"list", + "member":{"shape":"SearchSampleQueriesSearchResult"} + }, "SelectorField":{ "type":"string", "max":1000, diff --git a/tools/code-generation/api-descriptions/datasync-2018-11-09.normal.json b/tools/code-generation/api-descriptions/datasync-2018-11-09.normal.json index 547f6927516..0f748818877 100644 --- a/tools/code-generation/api-descriptions/datasync-2018-11-09.normal.json +++ b/tools/code-generation/api-descriptions/datasync-2018-11-09.normal.json @@ -211,7 +211,7 @@ {"shape":"InvalidRequestException"}, {"shape":"InternalException"} ], - "documentation":"

        Creates a transfer location for a Server Message Block (SMB) file server. DataSync can use this location as a source or destination for transferring data.

        Before you begin, make sure that you understand how DataSync accesses SMB file servers.

        " + "documentation":"

        Creates a transfer location for a Server Message Block (SMB) file server. DataSync can use this location as a source or destination for transferring data.

        Before you begin, make sure that you understand how DataSync accesses SMB file servers. For more information, see Providing DataSync access to SMB file servers.

        " }, "CreateTask":{ "name":"CreateTask", @@ -1679,30 +1679,28 @@ "required":[ "Subdirectory", "ServerHostname", - "User", - "Password", "AgentArns" ], "members":{ "Subdirectory":{ "shape":"SmbSubdirectory", - "documentation":"

        Specifies the name of the share exported by your SMB file server where DataSync will read or write data. You can include a subdirectory in the share path (for example, /path/to/subdirectory). Make sure that other SMB clients in your network can also mount this path.

        To copy all data in the subdirectory, DataSync must be able to mount the SMB share and access all of its data. For more information, see required permissions for SMB locations.

        " + "documentation":"

        Specifies the name of the share exported by your SMB file server where DataSync will read or write data. You can include a subdirectory in the share path (for example, /path/to/subdirectory). Make sure that other SMB clients in your network can also mount this path.

        To copy all data in the subdirectory, DataSync must be able to mount the SMB share and access all of its data. For more information, see Providing DataSync access to SMB file servers.

        " }, "ServerHostname":{ "shape":"ServerHostname", - "documentation":"

        Specifies the Domain Name Service (DNS) name or IP address of the SMB file server that your DataSync agent will mount.

        You can't specify an IP version 6 (IPv6) address.

        " + "documentation":"

        Specifies the domain name or IP address of the SMB file server that your DataSync agent will mount.

        Remember the following when configuring this parameter:

        • You can't specify an IP version 6 (IPv6) address.

        • If you're using Kerberos authentication, you must specify a domain name.

        " }, "User":{ "shape":"SmbUser", - "documentation":"

        Specifies the user that can mount and access the files, folders, and file metadata in your SMB file server.

        For information about choosing a user with the right level of access for your transfer, see required permissions for SMB locations.

        " + "documentation":"

        Specifies the user that can mount and access the files, folders, and file metadata in your SMB file server. This parameter applies only if AuthenticationType is set to NTLM.

        For information about choosing a user with the right level of access for your transfer, see Providing DataSync access to SMB file servers.

        " }, "Domain":{ "shape":"SmbDomain", - "documentation":"

        Specifies the name of the Active Directory domain that your SMB file server belongs to.

        If you have multiple Active Directory domains in your environment, configuring this parameter makes sure that DataSync connects to the right file server.

        " + "documentation":"

        Specifies the Windows domain name that your SMB file server belongs to. This parameter applies only if AuthenticationType is set to NTLM.

        If you have multiple domains in your environment, configuring this parameter makes sure that DataSync connects to the right file server.

        " }, "Password":{ "shape":"SmbPassword", - "documentation":"

        Specifies the password of the user who can mount your SMB file server and has permission to access the files and folders involved in your transfer.

        For more information, see required permissions for SMB locations.

        " + "documentation":"

        Specifies the password of the user who can mount your SMB file server and has permission to access the files and folders involved in your transfer. This parameter applies only if AuthenticationType is set to NTLM.

        " }, "AgentArns":{ "shape":"AgentArnList", @@ -1715,6 +1713,26 @@ "Tags":{ "shape":"InputTagList", "documentation":"

        Specifies labels that help you categorize, filter, and search for your Amazon Web Services resources. We recommend creating at least a name tag for your location.

        " + }, + "AuthenticationType":{ + "shape":"SmbAuthenticationType", + "documentation":"

        Specifies the authentication protocol that DataSync uses to connect to your SMB file server. DataSync supports NTLM (default) and KERBEROS authentication.

        " + }, + "DnsIpAddresses":{ + "shape":"DnsIpList", + "documentation":"

        Specifies the IPv4 addresses for the DNS servers that your SMB file server belongs to. This parameter applies only if AuthenticationType is set to KERBEROS.

        If you have multiple domains in your environment, configuring this parameter makes sure that DataSync connects to the right SMB file server.

        " + }, + "KerberosPrincipal":{ + "shape":"KerberosPrincipal", + "documentation":"

        Specifies a service principal name (SPN), which is an identity in your Kerberos realm that has permission to access the files, folders, and file metadata in your SMB file server.

        SPNs are case sensitive and must include a prepended cifs/. For example, an SPN might look like cifs/kerberosuser@EXAMPLE.COM.

        Your task execution will fail if the SPN that you provide for this parameter doesn’t match what’s exactly in your keytab or krb5.conf files.

        " + }, + "KerberosKeytab":{ + "shape":"KerberosKeytabFile", + "documentation":"

        Specifies your Kerberos key table (keytab) file, which includes mappings between your service principal name (SPN) and encryption keys.

        You can specify the keytab using a file path (for example, file://path/to/file.keytab). The file must be base64 encoded. If you're using the CLI, the encoding is done for you.

        To avoid task execution errors, make sure that the SPN in the keytab file matches exactly what you specify for KerberosPrincipal and in your krb5.conf file.

        " + }, + "KerberosKrb5Conf":{ + "shape":"KerberosKrb5ConfFile", + "documentation":"

        Specifies a Kerberos configuration file (krb5.conf) that defines your Kerberos realm configuration.

        You can specify the krb5.conf using a file path (for example, file://path/to/krb5.conf). The file must be base64 encoded. If you're using the CLI, the encoding is done for you.

        To avoid task execution errors, make sure that the service principal name (SPN) in the krb5.conf file matches exactly what you specify for KerberosPrincipal and in your keytab file.

        " } }, "documentation":"

        CreateLocationSmbRequest

        " @@ -2393,19 +2411,31 @@ }, "User":{ "shape":"SmbUser", - "documentation":"

        The user that can mount and access the files, folders, and file metadata in your SMB file server.

        " + "documentation":"

        The user that can mount and access the files, folders, and file metadata in your SMB file server. This element applies only if AuthenticationType is set to NTLM.

        " }, "Domain":{ "shape":"SmbDomain", - "documentation":"

        The name of the Microsoft Active Directory domain that the SMB file server belongs to.

        " + "documentation":"

        The name of the Windows domain that the SMB file server belongs to. This element applies only if AuthenticationType is set to NTLM.

        " }, "MountOptions":{ "shape":"SmbMountOptions", - "documentation":"

        The protocol that DataSync use to access your SMB file.

        " + "documentation":"

        The SMB protocol version that DataSync uses to access your SMB file server.

        " }, "CreationTime":{ "shape":"Time", "documentation":"

        The time that the SMB location was created.

        " + }, + "DnsIpAddresses":{ + "shape":"DnsIpList", + "documentation":"

        The IPv4 addresses for the DNS servers that your SMB file server belongs to. This element applies only if AuthenticationType is set to KERBEROS.

        " + }, + "KerberosPrincipal":{ + "shape":"KerberosPrincipal", + "documentation":"

        The Kerberos service principal name (SPN) that has permission to access the files, folders, and file metadata in your SMB file server.

        " + }, + "AuthenticationType":{ + "shape":"SmbAuthenticationType", + "documentation":"

        The authentication protocol that DataSync uses to connect to your SMB file server.

        " } }, "documentation":"

        DescribeLocationSmbResponse

        " @@ -2867,6 +2897,11 @@ "enum":["NetAppONTAP"] }, "DiscoveryTime":{"type":"timestamp"}, + "DnsIpList":{ + "type":"list", + "member":{"shape":"ServerIpAddress"}, + "max":2 + }, "Duration":{ "type":"long", "min":0 @@ -3074,7 +3109,7 @@ "type":"structure", "members":{ "Domain":{ - "shape":"FsxUpdateSmbDomain", + "shape":"UpdateSmbDomain", "documentation":"

        Specifies the name of the Windows domain that your storage virtual machine (SVM) belongs to.

        If you have multiple Active Directory domains in your environment, configuring this parameter makes sure that DataSync connects to the right SVM.

        " }, "MountOptions":{"shape":"SmbMountOptions"}, @@ -3089,11 +3124,6 @@ }, "documentation":"

        Specifies the Server Message Block (SMB) protocol configuration that DataSync uses to access your Amazon FSx for NetApp ONTAP file system's storage virtual machine (SVM). For more information, see Providing DataSync access to FSx for ONTAP file systems.

        " }, - "FsxUpdateSmbDomain":{ - "type":"string", - "max":253, - "pattern":"^([A-Za-z0-9]((\\.|-+)?[A-Za-z0-9]){0,252})?$" - }, "FsxWindowsSubdirectory":{ "type":"string", "max":4096, @@ -3944,7 +3974,7 @@ "type":"string", "max":63, "min":3, - "pattern":"^[a-zA-Z0-9_\\-\\+\\./\\(\\)\\$\\p{Zs}]+$" + "pattern":"^[a-zA-Z0-9_\\-\\+\\.\\(\\)\\$\\p{Zs}]+$" }, "ObjectStorageCertificate":{ "type":"blob", @@ -4523,6 +4553,19 @@ "max":255, "pattern":"^(([a-zA-Z0-9\\-]*[a-zA-Z0-9])\\.)*([A-Za-z0-9\\-]*[A-Za-z0-9])$" }, + "ServerIpAddress":{ + "type":"string", + "max":15, + "min":7, + "pattern":"\\A(25[0-5]|2[0-4]\\d|[0-1]?\\d?\\d)(\\.(25[0-5]|2[0-4]\\d|[0-1]?\\d?\\d)){3}\\z" + }, + "SmbAuthenticationType":{ + "type":"string", + "enum":[ + "NTLM", + "KERBEROS" + ] + }, "SmbDomain":{ "type":"string", "max":253, @@ -4560,7 +4603,7 @@ "SmbUser":{ "type":"string", "max":104, - "pattern":"^[^\\x5B\\x5D\\\\/:;|=,+*?]{1,104}$" + "pattern":"^[^\\x22\\x5B\\x5D/\\\\:;|=,+*?\\x3C\\x3E]{1,104}$" }, "SmbVersion":{ "type":"string", @@ -5293,7 +5336,7 @@ "documentation":"

        Specifies a mount path for your file system using forward slashes. DataSync uses this subdirectory to read or write data (depending on whether the file system is a source or destination location).

        " }, "Domain":{ - "shape":"FsxUpdateSmbDomain", + "shape":"UpdateSmbDomain", "documentation":"

        Specifies the name of the Windows domain that your FSx for Windows File Server file system belongs to.

        If you have multiple Active Directory domains in your environment, configuring this parameter makes sure that DataSync connects to the right file system.

        " }, "User":{ @@ -5472,25 +5515,45 @@ }, "Subdirectory":{ "shape":"SmbSubdirectory", - "documentation":"

        Specifies the name of the share exported by your SMB file server where DataSync will read or write data. You can include a subdirectory in the share path (for example, /path/to/subdirectory). Make sure that other SMB clients in your network can also mount this path.

        To copy all data in the specified subdirectory, DataSync must be able to mount the SMB share and access all of its data. For more information, see required permissions for SMB locations.

        " + "documentation":"

        Specifies the name of the share exported by your SMB file server where DataSync will read or write data. You can include a subdirectory in the share path (for example, /path/to/subdirectory). Make sure that other SMB clients in your network can also mount this path.

        To copy all data in the specified subdirectory, DataSync must be able to mount the SMB share and access all of its data. For more information, see Providing DataSync access to SMB file servers.

        " }, "User":{ "shape":"SmbUser", - "documentation":"

        Specifies the user name that can mount your SMB file server and has permission to access the files and folders involved in your transfer.

        For information about choosing a user with the right level of access for your transfer, see required permissions for SMB locations.

        " + "documentation":"

        Specifies the user name that can mount your SMB file server and has permission to access the files and folders involved in your transfer. This parameter applies only if AuthenticationType is set to NTLM.

        For information about choosing a user with the right level of access for your transfer, see Providing DataSync access to SMB file servers.

        " }, "Domain":{ "shape":"SmbDomain", - "documentation":"

        Specifies the Windows domain name that your SMB file server belongs to.

        If you have multiple domains in your environment, configuring this parameter makes sure that DataSync connects to the right file server.

        For more information, see required permissions for SMB locations.

        " + "documentation":"

        Specifies the Windows domain name that your SMB file server belongs to. This parameter applies only if AuthenticationType is set to NTLM.

        If you have multiple domains in your environment, configuring this parameter makes sure that DataSync connects to the right file server.

        " }, "Password":{ "shape":"SmbPassword", - "documentation":"

        Specifies the password of the user who can mount your SMB file server and has permission to access the files and folders involved in your transfer.

        For more information, see required permissions for SMB locations.

        " + "documentation":"

        Specifies the password of the user who can mount your SMB file server and has permission to access the files and folders involved in your transfer. This parameter applies only if AuthenticationType is set to NTLM.

        " }, "AgentArns":{ "shape":"AgentArnList", "documentation":"

        Specifies the DataSync agent (or agents) that can connect to your SMB file server. You specify an agent by using its Amazon Resource Name (ARN).

        " }, - "MountOptions":{"shape":"SmbMountOptions"} + "MountOptions":{"shape":"SmbMountOptions"}, + "AuthenticationType":{ + "shape":"SmbAuthenticationType", + "documentation":"

        Specifies the authentication protocol that DataSync uses to connect to your SMB file server. DataSync supports NTLM (default) and KERBEROS authentication.

        " + }, + "DnsIpAddresses":{ + "shape":"DnsIpList", + "documentation":"

        Specifies the IPv4 addresses for the DNS servers that your SMB file server belongs to. This parameter applies only if AuthenticationType is set to KERBEROS.

        If you have multiple domains in your environment, configuring this parameter makes sure that DataSync connects to the right SMB file server.

        " + }, + "KerberosPrincipal":{ + "shape":"KerberosPrincipal", + "documentation":"

        Specifies a service principal name (SPN), which is an identity in your Kerberos realm that has permission to access the files, folders, and file metadata in your SMB file server.

        SPNs are case sensitive and must include a prepended cifs/. For example, an SPN might look like cifs/kerberosuser@EXAMPLE.COM.

        Your task execution will fail if the SPN that you provide for this parameter doesn’t match what’s exactly in your keytab or krb5.conf files.

        " + }, + "KerberosKeytab":{ + "shape":"KerberosKeytabFile", + "documentation":"

        Specifies your Kerberos key table (keytab) file, which includes mappings between your service principal name (SPN) and encryption keys.

        You can specify the keytab using a file path (for example, file://path/to/file.keytab). The file must be base64 encoded. If you're using the CLI, the encoding is done for you.

        To avoid task execution errors, make sure that the SPN in the keytab file matches exactly what you specify for KerberosPrincipal and in your krb5.conf file.

        " + }, + "KerberosKrb5Conf":{ + "shape":"KerberosKrb5ConfFile", + "documentation":"

        Specifies a Kerberos configuration file (krb5.conf) that defines your Kerberos realm configuration.

        You can specify the krb5.conf using a file path (for example, file://path/to/krb5.conf). The file must be base64 encoded. If you're using the CLI, the encoding is done for you.

        To avoid task execution errors, make sure that the service principal name (SPN) in the krb5.conf file matches exactly what you specify for KerberosPrincipal and in your keytab file.

        " + } } }, "UpdateLocationSmbResponse":{ @@ -5498,6 +5561,11 @@ "members":{ } }, + "UpdateSmbDomain":{ + "type":"string", + "max":253, + "pattern":"^([A-Za-z0-9]((\\.|-+)?[A-Za-z0-9]){0,252})?$" + }, "UpdateStorageSystemRequest":{ "type":"structure", "required":["StorageSystemArn"], diff --git a/tools/code-generation/api-descriptions/deadline-2023-10-12.normal.json b/tools/code-generation/api-descriptions/deadline-2023-10-12.normal.json index 12c530990cb..8f26f30931f 100644 --- a/tools/code-generation/api-descriptions/deadline-2023-10-12.normal.json +++ b/tools/code-generation/api-descriptions/deadline-2023-10-12.normal.json @@ -312,7 +312,7 @@ {"shape":"ValidationException"}, {"shape":"ServiceQuotaExceededException"} ], - "documentation":"

        Creates a job. A job is a set of instructions that AWS Deadline Cloud uses to schedule and run work on available workers. For more information, see Deadline Cloud jobs.

        ", + "documentation":"

        Creates a job. A job is a set of instructions that Deadline Cloud uses to schedule and run work on available workers. For more information, see Deadline Cloud jobs.

        ", "endpoint":{"hostPrefix":"management."}, "idempotent":true }, @@ -337,6 +337,27 @@ "endpoint":{"hostPrefix":"management."}, "idempotent":true }, + "CreateLimit":{ + "name":"CreateLimit", + "http":{ + "method":"POST", + "requestUri":"/2023-10-12/farms/{farmId}/limits", + "responseCode":200 + }, + "input":{"shape":"CreateLimitRequest"}, + "output":{"shape":"CreateLimitResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerErrorException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"ServiceQuotaExceededException"} + ], + "documentation":"

        Creates a limit that manages the distribution of shared resources, such as floating licenses. A limit can throttle work assignments, help manage workloads, and track current usage. Before you use a limit, you must associate the limit with one or more queues.

        You must add the amountRequirementName to a step in a job template to declare the limit requirement.

        ", + "endpoint":{"hostPrefix":"management."}, + "idempotent":true + }, "CreateMonitor":{ "name":"CreateMonitor", "http":{ @@ -419,6 +440,26 @@ "endpoint":{"hostPrefix":"management."}, "idempotent":true }, + "CreateQueueLimitAssociation":{ + "name":"CreateQueueLimitAssociation", + "http":{ + "method":"PUT", + "requestUri":"/2023-10-12/farms/{farmId}/queue-limit-associations", + "responseCode":200 + }, + "input":{"shape":"CreateQueueLimitAssociationRequest"}, + "output":{"shape":"CreateQueueLimitAssociationResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerErrorException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"} + ], + "documentation":"

        Associates a limit with a particular queue. After the limit is associated, all workers for jobs that specify the limit associated with the queue are subject to the limit. You can't associate two limits with the same amountRequirementName to the same queue.

        ", + "endpoint":{"hostPrefix":"management."}, + "idempotent":true + }, "CreateStorageProfile":{ "name":"CreateStorageProfile", "http":{ @@ -543,6 +584,25 @@ "endpoint":{"hostPrefix":"management."}, "idempotent":true }, + "DeleteLimit":{ + "name":"DeleteLimit", + "http":{ + "method":"DELETE", + "requestUri":"/2023-10-12/farms/{farmId}/limits/{limitId}", + "responseCode":200 + }, + "input":{"shape":"DeleteLimitRequest"}, + "output":{"shape":"DeleteLimitResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerErrorException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"} + ], + "documentation":"

        Removes a limit from the specified farm. Before you delete a limit you must use the DeleteQueueLimitAssociation operation to remove the association with any queues.

        ", + "endpoint":{"hostPrefix":"management."}, + "idempotent":true + }, "DeleteMeteredProduct":{ "name":"DeleteMeteredProduct", "http":{ @@ -644,6 +704,27 @@ "endpoint":{"hostPrefix":"management."}, "idempotent":true }, + "DeleteQueueLimitAssociation":{ + "name":"DeleteQueueLimitAssociation", + "http":{ + "method":"DELETE", + "requestUri":"/2023-10-12/farms/{farmId}/queue-limit-associations/{queueId}/{limitId}", + "responseCode":200 + }, + "input":{"shape":"DeleteQueueLimitAssociationRequest"}, + "output":{"shape":"DeleteQueueLimitAssociationResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerErrorException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"ConflictException"}, + {"shape":"ValidationException"} + ], + "documentation":"

        Removes the association between a queue and a limit. You must use the UpdateQueueLimitAssociation operation to set the status to STOP_LIMIT_USAGE_AND_COMPLETE_TASKS or STOP_LIMIT_USAGE_AND_CANCEL_TASKS. The status does not change immediately. Use the GetQueueLimitAssociation operation to see if the status changed to STOPPED before deleting the association.

        ", + "endpoint":{"hostPrefix":"management."}, + "idempotent":true + }, "DeleteStorageProfile":{ "name":"DeleteStorageProfile", "http":{ @@ -861,6 +942,25 @@ "documentation":"

        Gets a licence endpoint.

        ", "endpoint":{"hostPrefix":"management."} }, + "GetLimit":{ + "name":"GetLimit", + "http":{ + "method":"GET", + "requestUri":"/2023-10-12/farms/{farmId}/limits/{limitId}", + "responseCode":200 + }, + "input":{"shape":"GetLimitRequest"}, + "output":{"shape":"GetLimitResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerErrorException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"} + ], + "documentation":"

        Gets information about a specific limit.

        ", + "endpoint":{"hostPrefix":"management."} + }, "GetMonitor":{ "name":"GetMonitor", "http":{ @@ -937,6 +1037,25 @@ "documentation":"

        Gets a queue-fleet association.

        ", "endpoint":{"hostPrefix":"management."} }, + "GetQueueLimitAssociation":{ + "name":"GetQueueLimitAssociation", + "http":{ + "method":"GET", + "requestUri":"/2023-10-12/farms/{farmId}/queue-limit-associations/{queueId}/{limitId}", + "responseCode":200 + }, + "input":{"shape":"GetQueueLimitAssociationRequest"}, + "output":{"shape":"GetQueueLimitAssociationResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerErrorException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"} + ], + "documentation":"

        Gets information about a specific association between a queue and a limit.

        ", + "endpoint":{"hostPrefix":"management."} + }, "GetSession":{ "name":"GetSession", "http":{ @@ -1275,6 +1394,25 @@ "documentation":"

        Lists license endpoints.

        ", "endpoint":{"hostPrefix":"management."} }, + "ListLimits":{ + "name":"ListLimits", + "http":{ + "method":"GET", + "requestUri":"/2023-10-12/farms/{farmId}/limits", + "responseCode":200 + }, + "input":{"shape":"ListLimitsRequest"}, + "output":{"shape":"ListLimitsResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerErrorException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"} + ], + "documentation":"

        Gets a list of limits defined in the specified farm.

        ", + "endpoint":{"hostPrefix":"management."} + }, "ListMeteredProducts":{ "name":"ListMeteredProducts", "http":{ @@ -1349,6 +1487,24 @@ "documentation":"

        Lists queue-fleet associations.

        ", "endpoint":{"hostPrefix":"management."} }, + "ListQueueLimitAssociations":{ + "name":"ListQueueLimitAssociations", + "http":{ + "method":"GET", + "requestUri":"/2023-10-12/farms/{farmId}/queue-limit-associations", + "responseCode":200 + }, + "input":{"shape":"ListQueueLimitAssociationsRequest"}, + "output":{"shape":"ListQueueLimitAssociationsResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerErrorException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

        Gets a list of the associations between queues and limits defined in a farm.

        ", + "endpoint":{"hostPrefix":"management."} + }, "ListQueueMembers":{ "name":"ListQueueMembers", "http":{ @@ -1834,6 +1990,26 @@ "endpoint":{"hostPrefix":"management."}, "idempotent":true }, + "UpdateLimit":{ + "name":"UpdateLimit", + "http":{ + "method":"PATCH", + "requestUri":"/2023-10-12/farms/{farmId}/limits/{limitId}", + "responseCode":200 + }, + "input":{"shape":"UpdateLimitRequest"}, + "output":{"shape":"UpdateLimitResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerErrorException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"} + ], + "documentation":"

        Updates the properties of the specified limit.

        ", + "endpoint":{"hostPrefix":"management."}, + "idempotent":true + }, "UpdateMonitor":{ "name":"UpdateMonitor", "http":{ @@ -1913,6 +2089,26 @@ "endpoint":{"hostPrefix":"management."}, "idempotent":true }, + "UpdateQueueLimitAssociation":{ + "name":"UpdateQueueLimitAssociation", + "http":{ + "method":"PATCH", + "requestUri":"/2023-10-12/farms/{farmId}/queue-limit-associations/{queueId}/{limitId}", + "responseCode":200 + }, + "input":{"shape":"UpdateQueueLimitAssociationRequest"}, + "output":{"shape":"UpdateQueueLimitAssociationResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerErrorException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"} + ], + "documentation":"

        Updates the status of the queue. If you set the status to one of the STOP_LIMIT_USAGE* values, there will be a delay before the status transitions to the STOPPED state.

        ", + "endpoint":{"hostPrefix":"management."}, + "idempotent":true + }, "UpdateSession":{ "name":"UpdateSession", "http":{ @@ -2046,14 +2242,14 @@ "members":{ "selections":{ "shape":"AcceleratorSelections", - "documentation":"

        A list of objects that contain the GPU name of the accelerator and driver for the instance types that support the accelerator.

        " + "documentation":"

        A list of accelerator capabilities requested for this fleet. Only Amazon Elastic Compute Cloud instances that provide these capabilities will be used. For example, if you specify both L4 and T4 chips, Deadline Cloud will use Amazon EC2 instances that have either the L4 or the T4 chip installed.

        " }, "count":{ "shape":"AcceleratorCountRange", - "documentation":"

        The number of GPUs on each worker. The default is 1.

        " + "documentation":"

        The number of GPU accelerators specified for worker hosts in this fleet.

        " } }, - "documentation":"

        Provides information about the GPU accelerators and drivers for the instance types in a fleet. If you include the acceleratorCapabilities property in the ServiceManagedEc2InstanceCapabilities object, all of the Amazon EC2 instances will have at least one accelerator.

        " + "documentation":"

        Provides information about the GPU accelerators used for jobs processed by a fleet.

        " }, "AcceleratorCountRange":{ "type":"structure", @@ -2061,14 +2257,14 @@ "members":{ "min":{ "shape":"MinZeroMaxInteger", - "documentation":"

        The minimum number of GPUs for the accelerator. If you set the value to 0, a worker will still have 1 GPU.

        " + "documentation":"

        The minimum number of GPU accelerators in the worker host.

        " }, "max":{ "shape":"MinZeroMaxInteger", - "documentation":"

        The maximum number of GPUs for the accelerator.

        " + "documentation":"

        The maximum number of GPU accelerators in the worker host.

        " } }, - "documentation":"

        The range for the GPU fleet acceleration.

        " + "documentation":"

        Defines the maximum and minimum number of GPU accelerators required for a worker instance..

        " }, "AcceleratorName":{ "type":"string", @@ -2090,14 +2286,14 @@ "members":{ "name":{ "shape":"AcceleratorName", - "documentation":"

        The name of the GPU accelerator.

        " + "documentation":"

        The name of the chip used by the GPU accelerator.

        If you specify l4 as the name of the accelerator, you must specify latest or grid:r550 as the runtime.

        The available GPU accelerators are:

        • t4 - NVIDIA T4 Tensor Core GPU

        • a10g - NVIDIA A10G Tensor Core GPU

        • l4 - NVIDIA L4 Tensor Core GPU

        • l40s - NVIDIA L40S Tensor Core GPU

        " }, "runtime":{ "shape":"AcceleratorRuntime", - "documentation":"

        The driver version that the GPU accelerator uses.

        " + "documentation":"

        Specifies the runtime driver to use for the GPU accelerator. You must use the same runtime for all GPUs.

        You can choose from the following runtimes:

        • latest - Use the latest runtime available for the chip. If you specify latest and a new version of the runtime is released, the new version of the runtime is used.

        • grid:r550 - NVIDIA vGPU software 17

        • grid:r535 - NVIDIA vGPU software 16

        If you don't specify a runtime, Deadline Cloud uses latest as the default. However, if you have multiple accelerators and specify latest for some and leave others blank, Deadline Cloud raises an exception.

        " } }, - "documentation":"

        Values that you can use to select a particular Amazon EC2 instance type.

        " + "documentation":"

        Describes a specific GPU accelerator required for an Amazon Elastic Compute Cloud worker host.

        " }, "AcceleratorSelections":{ "type":"list", @@ -2116,7 +2312,7 @@ "documentation":"

        The maximum amount of memory to use for the accelerator, measured in MiB.

        " } }, - "documentation":"

        The range for memory, in MiB, to use for the accelerator.

        " + "documentation":"

        Defines the maximum and minimum amount of memory, in MiB, to use for the accelerator.

        " }, "AcceleratorType":{ "type":"string", @@ -2147,6 +2343,28 @@ "type":"string", "sensitive":true }, + "AcquiredLimit":{ + "type":"structure", + "required":[ + "limitId", + "count" + ], + "members":{ + "limitId":{ + "shape":"LimitId", + "documentation":"

        The unique identifier of the limit.

        " + }, + "count":{ + "shape":"MinOneMaxInteger", + "documentation":"

        The number of limit resources used.

        " + } + }, + "documentation":"

        Provides information about the number of resources used.

        " + }, + "AcquiredLimits":{ + "type":"list", + "member":{"shape":"AcquiredLimit"} + }, "AggregationId":{ "type":"string", "pattern":"[0-9a-f]{32}" @@ -2163,6 +2381,11 @@ "min":1, "pattern":"([a-zA-Z][a-zA-Z0-9]{0,63}:)?amount(\\.[a-zA-Z][a-zA-Z0-9]{0,63})+" }, + "AmountRequirementName":{ + "type":"string", + "max":1024, + "min":0 + }, "AssignedEnvironmentEnterSessionActionDefinition":{ "type":"structure", "required":["environmentId"], @@ -3328,6 +3551,10 @@ "shape":"MaxRetriesPerTask", "documentation":"

        The maximum number of retries for each task.

        " }, + "maxWorkerCount":{ + "shape":"MaxWorkerCount", + "documentation":"

        The maximum number of worker hosts that can concurrently process a job. When the maxWorkerCount is reached, no more workers will be assigned to process the job, even if the fleets assigned to the job's queue has available workers.

        You can't set the maxWorkerCount to 0. If you set it to -1, there is no maximum number of workers.

        If you don't specify the maxWorkerCount, Deadline Cloud won't throttle the number of workers used to process the job.

        " + }, "sourceJobId":{ "shape":"JobId", "documentation":"

        The job ID for the source job.

        " @@ -3406,6 +3633,56 @@ } } }, + "CreateLimitRequest":{ + "type":"structure", + "required":[ + "displayName", + "amountRequirementName", + "maxCount", + "farmId" + ], + "members":{ + "clientToken":{ + "shape":"ClientToken", + "documentation":"

        The unique token which the server uses to recognize retries of the same request.

        ", + "idempotencyToken":true, + "location":"header", + "locationName":"X-Amz-Client-Token" + }, + "displayName":{ + "shape":"ResourceName", + "documentation":"

        The display name of the limit.

        This field can store any content. Escape or encode this content before displaying it on a webpage or any other system that might interpret the content of this field.

        " + }, + "amountRequirementName":{ + "shape":"AmountRequirementName", + "documentation":"

        The value that you specify as the name in the amounts field of the hostRequirements in a step of a job template to declare the limit requirement.

        " + }, + "maxCount":{ + "shape":"MaxCount", + "documentation":"

        The maximum number of resources constrained by this limit. When all of the resources are in use, steps that require the limit won't be scheduled until the resource is available.

        The maxCount must not be 0. If the value is -1, there is no restriction on the number of resources that can be acquired for this limit.

        " + }, + "farmId":{ + "shape":"FarmId", + "documentation":"

        The farm ID of the farm that contains the limit.

        ", + "location":"uri", + "locationName":"farmId" + }, + "description":{ + "shape":"Description", + "documentation":"

        A description of the limit. A description helps you identify the purpose of the limit.

        This field can store any content. Escape or encode this content before displaying it on a webpage or any other system that might interpret the content of this field.

        " + } + } + }, + "CreateLimitResponse":{ + "type":"structure", + "required":["limitId"], + "members":{ + "limitId":{ + "shape":"LimitId", + "documentation":"

        A unique identifier for the limit. Use this identifier in other operations, such as CreateQueueLimitAssociation and DeleteLimit.

        " + } + } + }, "CreateMonitorRequest":{ "type":"structure", "required":[ @@ -3539,6 +3816,35 @@ "members":{ } }, + "CreateQueueLimitAssociationRequest":{ + "type":"structure", + "required":[ + "farmId", + "queueId", + "limitId" + ], + "members":{ + "farmId":{ + "shape":"FarmId", + "documentation":"

        The unique identifier of the farm that contains the queue and limit to associate.

        ", + "location":"uri", + "locationName":"farmId" + }, + "queueId":{ + "shape":"QueueId", + "documentation":"

        The unique identifier of the queue to associate with the limit.

        " + }, + "limitId":{ + "shape":"LimitId", + "documentation":"

        The unique identifier of the limit to associate with the queue.

        " + } + } + }, + "CreateQueueLimitAssociationResponse":{ + "type":"structure", + "members":{ + } + }, "CreateQueueRequest":{ "type":"structure", "required":[ @@ -3913,6 +4219,32 @@ "members":{ } }, + "DeleteLimitRequest":{ + "type":"structure", + "required":[ + "farmId", + "limitId" + ], + "members":{ + "farmId":{ + "shape":"FarmId", + "documentation":"

        The unique identifier of the farm that contains the limit to delete.

        ", + "location":"uri", + "locationName":"farmId" + }, + "limitId":{ + "shape":"LimitId", + "documentation":"

        The unique identifier of the limit to delete.

        ", + "location":"uri", + "locationName":"limitId" + } + } + }, + "DeleteLimitResponse":{ + "type":"structure", + "members":{ + } + }, "DeleteMeteredProductRequest":{ "type":"structure", "required":[ @@ -4022,6 +4354,39 @@ "members":{ } }, + "DeleteQueueLimitAssociationRequest":{ + "type":"structure", + "required":[ + "farmId", + "queueId", + "limitId" + ], + "members":{ + "farmId":{ + "shape":"FarmId", + "documentation":"

        The unique identifier of the farm that contains the queue and limit to disassociate.

        ", + "location":"uri", + "locationName":"farmId" + }, + "queueId":{ + "shape":"QueueId", + "documentation":"

        The unique identifier of the queue to disassociate.

        ", + "location":"uri", + "locationName":"queueId" + }, + "limitId":{ + "shape":"LimitId", + "documentation":"

        The unique identifier of the limit to disassociate.

        ", + "location":"uri", + "locationName":"limitId" + } + } + }, + "DeleteQueueLimitAssociationResponse":{ + "type":"structure", + "members":{ + } + }, "DeleteQueueRequest":{ "type":"structure", "required":[ @@ -4288,10 +4653,7 @@ "members":{ } }, - "DnsName":{ - "type":"string", - "pattern":"vpce-[\\w]+-[\\w]+.vpce-svc-[\\w]+.*.vpce.amazonaws.com" - }, + "DnsName":{"type":"string"}, "Document":{ "type":"structure", "members":{ @@ -5165,8 +5527,8 @@ "type":"structure", "required":[ "farmId", - "jobId", - "queueId" + "queueId", + "jobId" ], "members":{ "farmId":{ @@ -5175,17 +5537,17 @@ "location":"uri", "locationName":"farmId" }, - "jobId":{ - "shape":"JobId", - "documentation":"

        The job ID.

        ", - "location":"uri", - "locationName":"jobId" - }, "queueId":{ "shape":"QueueId", "documentation":"

        The queue ID associated with the job.

        ", "location":"uri", "locationName":"queueId" + }, + "jobId":{ + "shape":"JobId", + "documentation":"

        The job ID.

        ", + "location":"uri", + "locationName":"jobId" } } }, @@ -5281,6 +5643,10 @@ "shape":"JobDescription", "documentation":"

        The description of the job.

        This field can store any content. Escape or encode this content before displaying it on a webpage or any other system that might interpret the content of this field.

        " }, + "maxWorkerCount":{ + "shape":"MaxWorkerCount", + "documentation":"

        The maximum number of worker hosts that can concurrently process a job. When the maxWorkerCount is reached, no more workers will be assigned to process the job, even if the fleets assigned to the job's queue has available workers.

        If you don't set the maxWorkerCount when you create a job, this value is not returned in the response.

        " + }, "sourceJobId":{ "shape":"JobId", "documentation":"

        The job ID for the source job.

        " @@ -5349,6 +5715,86 @@ "max":10, "min":1 }, + "GetLimitRequest":{ + "type":"structure", + "required":[ + "farmId", + "limitId" + ], + "members":{ + "farmId":{ + "shape":"FarmId", + "documentation":"

        The unique identifier of the farm that contains the limit.

        ", + "location":"uri", + "locationName":"farmId" + }, + "limitId":{ + "shape":"LimitId", + "documentation":"

        The unique identifier of the limit to return.

        ", + "location":"uri", + "locationName":"limitId" + } + } + }, + "GetLimitResponse":{ + "type":"structure", + "required":[ + "displayName", + "amountRequirementName", + "maxCount", + "createdAt", + "createdBy", + "farmId", + "limitId", + "currentCount" + ], + "members":{ + "displayName":{ + "shape":"ResourceName", + "documentation":"

        The display name of the limit.

        This field can store any content. Escape or encode this content before displaying it on a webpage or any other system that might interpret the content of this field.

        " + }, + "amountRequirementName":{ + "shape":"AmountRequirementName", + "documentation":"

        The value that you specify as the name in the amounts field of the hostRequirements in a step of a job template to declare the limit requirement.

        " + }, + "maxCount":{ + "shape":"MaxCount", + "documentation":"

        The maximum number of resources constrained by this limit. When all of the resources are in use, steps that require the limit won't be scheduled until the resource is available.

        The maxValue must not be 0. If the value is -1, there is no restriction on the number of resources that can be acquired for this limit.

        " + }, + "createdAt":{ + "shape":"CreatedAt", + "documentation":"

        The Unix timestamp of the date and time that the limit was created.

        " + }, + "createdBy":{ + "shape":"CreatedBy", + "documentation":"

        The user identifier of the person that created the limit.

        " + }, + "updatedAt":{ + "shape":"UpdatedAt", + "documentation":"

        The Unix timestamp of the date and time that the limit was last updated.

        " + }, + "updatedBy":{ + "shape":"UpdatedBy", + "documentation":"

        The user identifier of the person that last updated the limit.

        " + }, + "farmId":{ + "shape":"FarmId", + "documentation":"

        The unique identifier of the farm that contains the limit.

        " + }, + "limitId":{ + "shape":"LimitId", + "documentation":"

        The unique identifier of the limit.

        " + }, + "currentCount":{ + "shape":"MinZeroMaxInteger", + "documentation":"

        The number of resources from the limit that are being used by jobs. The result is delayed and may not be the count at the time that you called the operation.

        " + }, + "description":{ + "shape":"Description", + "documentation":"

        The description of the limit that helps identify what the limit is used for.

        This field can store any content. Escape or encode this content before displaying it on a webpage or any other system that might interpret the content of this field.

        " + } + } + }, "GetMonitorRequest":{ "type":"structure", "required":["monitorId"], @@ -5567,6 +6013,74 @@ } } }, + "GetQueueLimitAssociationRequest":{ + "type":"structure", + "required":[ + "farmId", + "queueId", + "limitId" + ], + "members":{ + "farmId":{ + "shape":"FarmId", + "documentation":"

        The unique identifier of the farm that contains the associated queue and limit.

        ", + "location":"uri", + "locationName":"farmId" + }, + "queueId":{ + "shape":"QueueId", + "documentation":"

        The unique identifier of the queue associated with the limit.

        ", + "location":"uri", + "locationName":"queueId" + }, + "limitId":{ + "shape":"LimitId", + "documentation":"

        The unique identifier of the limit associated with the queue.

        ", + "location":"uri", + "locationName":"limitId" + } + } + }, + "GetQueueLimitAssociationResponse":{ + "type":"structure", + "required":[ + "createdAt", + "createdBy", + "queueId", + "limitId", + "status" + ], + "members":{ + "createdAt":{ + "shape":"CreatedAt", + "documentation":"

        The Unix timestamp of the date and time that the association was created.

        " + }, + "createdBy":{ + "shape":"CreatedBy", + "documentation":"

        The user identifier of the person that created the association.

        " + }, + "updatedAt":{ + "shape":"UpdatedAt", + "documentation":"

        The Unix timestamp of the date and time that the association was last updated.

        " + }, + "updatedBy":{ + "shape":"UpdatedBy", + "documentation":"

        The user identifier of the person that last updated the association.

        " + }, + "queueId":{ + "shape":"QueueId", + "documentation":"

        The unique identifier of the queue associated with the limit.

        " + }, + "limitId":{ + "shape":"LimitId", + "documentation":"

        The unique identifier of the limit associated with the queue.

        " + }, + "status":{ + "shape":"QueueLimitAssociationStatus", + "documentation":"

        The current status of the limit.

        " + } + } + }, "GetQueueRequest":{ "type":"structure", "required":[ @@ -5749,6 +6263,10 @@ "definition":{ "shape":"SessionActionDefinition", "documentation":"

        The session action definition.

        " + }, + "acquiredLimits":{ + "shape":"AcquiredLimits", + "documentation":"

        The limits and their amounts acquired during a session action. If no limits were acquired during the session, this field isn't returned.

        " } } }, @@ -6271,18 +6789,14 @@ "GetWorkerResponse":{ "type":"structure", "required":[ - "workerId", "farmId", "fleetId", + "workerId", "status", "createdAt", "createdBy" ], "members":{ - "workerId":{ - "shape":"WorkerId", - "documentation":"

        The worker ID.

        " - }, "farmId":{ "shape":"FarmId", "documentation":"

        The farm ID.

        " @@ -6291,6 +6805,10 @@ "shape":"FleetId", "documentation":"

        The fleet ID.

        " }, + "workerId":{ + "shape":"WorkerId", + "documentation":"

        The worker ID.

        " + }, "hostProperties":{ "shape":"HostPropertiesResponse", "documentation":"

        The host properties for the worker.

        " @@ -6878,6 +7396,10 @@ "shape":"JobParameters", "documentation":"

        The job parameters.

        " }, + "maxWorkerCount":{ + "shape":"MaxWorkerCount", + "documentation":"

        The maximum number of worker hosts that can concurrently process a job. When the maxWorkerCount is reached, no more workers will be assigned to process the job, even if the fleets assigned to the job's queue has available workers.

        You can't set the maxWorkerCount to 0. If you set it to -1, there is no maximum number of workers.

        If you don't specify the maxWorkerCount, the default is -1.

        " + }, "sourceJobId":{ "shape":"JobId", "documentation":"

        The job ID for the source job.

        " @@ -6965,6 +7487,10 @@ "shape":"MaxRetriesPerTask", "documentation":"

        The maximum number of retries for a job.

        " }, + "maxWorkerCount":{ + "shape":"MaxWorkerCount", + "documentation":"

        The maximum number of worker hosts that can concurrently process a job. When the maxWorkerCount is reached, no more workers will be assigned to process the job, even if the fleets assigned to the job's queue has available workers.

        You can't set the maxWorkerCount to 0. If you set it to -1, there is no maximum number of workers.

        If you don't specify the maxWorkerCount, the default is -1.

        " + }, "sourceJobId":{ "shape":"JobId", "documentation":"

        The job ID for the source job.

        " @@ -7040,6 +7566,70 @@ "documentation":"

        The details for a license endpoint.

        " }, "LicenseProduct":{"type":"string"}, + "LimitId":{ + "type":"string", + "pattern":"limit-[0-9a-f]{32}" + }, + "LimitSummaries":{ + "type":"list", + "member":{"shape":"LimitSummary"} + }, + "LimitSummary":{ + "type":"structure", + "required":[ + "displayName", + "amountRequirementName", + "maxCount", + "createdAt", + "createdBy", + "farmId", + "limitId", + "currentCount" + ], + "members":{ + "displayName":{ + "shape":"ResourceName", + "documentation":"

        The name of the limit used in lists to identify the limit.

        This field can store any content. Escape or encode this content before displaying it on a webpage or any other system that might interpret the content of this field.

        " + }, + "amountRequirementName":{ + "shape":"AmountRequirementName", + "documentation":"

        The value that you specify as the name in the amounts field of the hostRequirements in a step of a job template to declare the limit requirement.

        " + }, + "maxCount":{ + "shape":"MaxCount", + "documentation":"

        The maximum number of resources constrained by this limit. When all of the resources are in use, steps that require the limit won't be scheduled until the resource is available.

        The maxValue must not be 0. If the value is -1, there is no restriction on the number of resources that can be acquired for this limit.

        " + }, + "createdAt":{ + "shape":"CreatedAt", + "documentation":"

        The Unix timestamp of the date and time that the limit was created.

        " + }, + "createdBy":{ + "shape":"CreatedBy", + "documentation":"

        The user identifier of the person that created the limit.

        " + }, + "updatedAt":{ + "shape":"UpdatedAt", + "documentation":"

        The Unix timestamp of the date and time that the limit was last updated.

        " + }, + "updatedBy":{ + "shape":"UpdatedBy", + "documentation":"

        The user identifier of the person that last updated the limit.

        " + }, + "farmId":{ + "shape":"FarmId", + "documentation":"

        The unique identifier of the farm that contains the limit.

        " + }, + "limitId":{ + "shape":"LimitId", + "documentation":"

        The unique identifier of the limit.

        " + }, + "currentCount":{ + "shape":"MinZeroMaxInteger", + "documentation":"

        The number of resources from the limit that are being used by jobs. The result is delayed and may not be the count at the time that you called the operation.

        " + } + }, + "documentation":"

        Provides information about a specific limit.

        " + }, "ListAttributeCapabilityValue":{ "type":"list", "member":{"shape":"AttributeCapabilityValue"} @@ -7489,6 +8079,44 @@ } } }, + "ListLimitsRequest":{ + "type":"structure", + "required":["farmId"], + "members":{ + "farmId":{ + "shape":"FarmId", + "documentation":"

        The unique identifier of the farm that contains the limits.

        ", + "location":"uri", + "locationName":"farmId" + }, + "nextToken":{ + "shape":"String", + "documentation":"

        The token for the next set of results, or null to start from the beginning.

        ", + "location":"querystring", + "locationName":"nextToken" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

        The maximum number of limits to return in each page of results.

        ", + "location":"querystring", + "locationName":"maxResults" + } + } + }, + "ListLimitsResponse":{ + "type":"structure", + "required":["limits"], + "members":{ + "limits":{ + "shape":"LimitSummaries", + "documentation":"

        A list of limits that the farm contains.

        " + }, + "nextToken":{ + "shape":"String", + "documentation":"

        If Deadline Cloud returns nextToken, then there are more results available. The value of nextToken is a unique pagination token for each page. To retrieve the next page, call the operation again using the returned token. Keep all other arguments unchanged. If no results remain, then nextToken is set to null. Each pagination token expires after 24 hours. If you provide a token that isn't valid, then you receive an HTTP 400 ValidationException error.

        " + } + } + }, "ListMeteredProductsRequest":{ "type":"structure", "required":["licenseEndpointId"], @@ -7655,6 +8283,56 @@ } } }, + "ListQueueLimitAssociationsRequest":{ + "type":"structure", + "required":["farmId"], + "members":{ + "farmId":{ + "shape":"FarmId", + "documentation":"

        The unique identifier of the farm that contains the limits and associations.

        ", + "location":"uri", + "locationName":"farmId" + }, + "queueId":{ + "shape":"QueueId", + "documentation":"

        Specifies that the operation should return only the queue limit associations for the specified queue. If you specify both the queueId and the limitId, only the specified limit is returned if it exists.

        ", + "location":"querystring", + "locationName":"queueId" + }, + "limitId":{ + "shape":"LimitId", + "documentation":"

        Specifies that the operation should return only the queue limit associations for the specified limit. If you specify both the queueId and the limitId, only the specified limit is returned if it exists.

        ", + "location":"querystring", + "locationName":"limitId" + }, + "nextToken":{ + "shape":"String", + "documentation":"

        The token for the next set of results, or null to start from the beginning.

        ", + "location":"querystring", + "locationName":"nextToken" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

        The maximum number of associations to return in each page of results.

        ", + "location":"querystring", + "locationName":"maxResults" + } + } + }, + "ListQueueLimitAssociationsResponse":{ + "type":"structure", + "required":["queueLimitAssociations"], + "members":{ + "queueLimitAssociations":{ + "shape":"QueueLimitAssociationSummaries", + "documentation":"

        A list of associations between limits and queues in the farm specified in the request.

        " + }, + "nextToken":{ + "shape":"String", + "documentation":"

        If Deadline Cloud returns nextToken, then there are more results available. The value of nextToken is a unique pagination token for each page. To retrieve the next page, call the operation again using the returned token. Keep all other arguments unchanged. If no results remain, then nextToken is set to null. Each pagination token expires after 24 hours. If you provide a token that isn't valid, then you receive an HTTP 400 ValidationException error.

        " + } + } + }, "ListQueueMembersRequest":{ "type":"structure", "required":[ @@ -8411,7 +9089,7 @@ }, "inputManifestHash":{ "shape":"ManifestPropertiesInputManifestHashString", - "documentation":"

        The has value of the file.

        " + "documentation":"

        The hash value of the file.

        " } }, "documentation":"

        The details of the manifest that links a job's source information.

        ", @@ -8438,6 +9116,12 @@ "max":1024, "min":1 }, + "MaxCount":{ + "type":"integer", + "box":true, + "max":2147483647, + "min":-1 + }, "MaxFailedTasksCount":{ "type":"integer", "box":true, @@ -8456,6 +9140,12 @@ "max":2147483647, "min":0 }, + "MaxWorkerCount":{ + "type":"integer", + "box":true, + "max":2147483647, + "min":-1 + }, "MembershipLevel":{ "type":"string", "enum":[ @@ -8522,6 +9212,12 @@ "type":"list", "member":{"shape":"MeteredProductSummary"} }, + "MinOneMaxInteger":{ + "type":"integer", + "box":true, + "max":2147483647, + "min":1 + }, "MinOneMaxTenThousand":{ "type":"integer", "box":true, @@ -8912,6 +9608,60 @@ "type":"string", "pattern":"queue-[0-9a-f]{32}" }, + "QueueLimitAssociationStatus":{ + "type":"string", + "enum":[ + "ACTIVE", + "STOP_LIMIT_USAGE_AND_COMPLETE_TASKS", + "STOP_LIMIT_USAGE_AND_CANCEL_TASKS", + "STOPPED" + ] + }, + "QueueLimitAssociationSummaries":{ + "type":"list", + "member":{"shape":"QueueLimitAssociationSummary"} + }, + "QueueLimitAssociationSummary":{ + "type":"structure", + "required":[ + "createdAt", + "createdBy", + "queueId", + "limitId", + "status" + ], + "members":{ + "createdAt":{ + "shape":"CreatedAt", + "documentation":"

        The Unix timestamp of the date and time that the association was created.

        " + }, + "createdBy":{ + "shape":"CreatedBy", + "documentation":"

        The user identifier of the person that created the association.

        " + }, + "updatedAt":{ + "shape":"UpdatedAt", + "documentation":"

        The Unix timestamp of the date and time that the association was last updated.

        " + }, + "updatedBy":{ + "shape":"UpdatedBy", + "documentation":"

        The user identifier of the person that updated the association.

        " + }, + "queueId":{ + "shape":"QueueId", + "documentation":"

        The unique identifier of the queue in the association.

        " + }, + "limitId":{ + "shape":"LimitId", + "documentation":"

        The unique identifier of the limit in the association.

        " + }, + "status":{ + "shape":"QueueLimitAssociationStatus", + "documentation":"

        The status of task scheduling in the queue-limit association.

        • ACTIVE - Association is active.

        • STOP_LIMIT_USAGE_AND_COMPLETE_TASKS - Association has stopped scheduling new tasks and is completing current tasks.

        • STOP_LIMIT_USAGE_AND_CANCEL_TASKS - Association has stopped scheduling new tasks and is canceling current tasks.

        • STOPPED - Association has been stopped.

        " + } + }, + "documentation":"

        Provides information about the association between a queue and a limit.

        " + }, "QueueMember":{ "type":"structure", "required":[ @@ -9587,7 +10337,7 @@ }, "acceleratorCapabilities":{ "shape":"AcceleratorCapabilities", - "documentation":"

        The GPU accelerator capabilities required for the Amazon EC2 instances. If you include the acceleratorCapabilities property in the ServiceManagedEc2InstanceCapabilities object, all of the Amazon EC2 instances will have at least one accelerator.

        " + "documentation":"

        Describes the GPU accelerator capabilities required for worker host instances in this fleet.

        " }, "allowedInstanceTypes":{ "shape":"InstanceTypes", @@ -11085,6 +11835,30 @@ "location":"header", "locationName":"X-Amz-Client-Token" }, + "targetTaskRunStatus":{ + "shape":"JobTargetTaskRunStatus", + "documentation":"

        The task status to update the job's tasks to.

        " + }, + "priority":{ + "shape":"JobPriority", + "documentation":"

        The job priority to update.

        " + }, + "maxFailedTasksCount":{ + "shape":"MaxFailedTasksCount", + "documentation":"

        The number of task failures before the job stops running and is marked as FAILED.

        " + }, + "maxRetriesPerTask":{ + "shape":"MaxRetriesPerTask", + "documentation":"

        The maximum number of retries for a job.

        " + }, + "lifecycleStatus":{ + "shape":"UpdateJobLifecycleStatus", + "documentation":"

        The status of a job in its lifecycle. When you change the status of the job to ARCHIVED, the job can't be scheduled or archived.

        An archived jobs and its steps and tasks are deleted after 120 days. The job can't be recovered.

        " + }, + "maxWorkerCount":{ + "shape":"MaxWorkerCount", + "documentation":"

        The maximum number of worker hosts that can concurrently process a job. When the maxWorkerCount is reached, no more workers will be assigned to process the job, even if the fleets assigned to the job's queue has available workers.

        You can't set the maxWorkerCount to 0. If you set it to -1, there is no maximum number of workers.

        If you don't specify the maxWorkerCount, the default is -1.

        The maximum number of workers that can process tasks in the job.

        " + }, "farmId":{ "shape":"FarmId", "documentation":"

        The farm ID of the job to update.

        ", @@ -11102,30 +11876,48 @@ "documentation":"

        The job ID to update.

        ", "location":"uri", "locationName":"jobId" + } + } + }, + "UpdateJobResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateLimitRequest":{ + "type":"structure", + "required":[ + "farmId", + "limitId" + ], + "members":{ + "farmId":{ + "shape":"FarmId", + "documentation":"

        The unique identifier of the farm that contains the limit.

        ", + "location":"uri", + "locationName":"farmId" }, - "targetTaskRunStatus":{ - "shape":"JobTargetTaskRunStatus", - "documentation":"

        The task status to update the job's tasks to.

        " - }, - "priority":{ - "shape":"JobPriority", - "documentation":"

        The job priority to update.

        " + "limitId":{ + "shape":"LimitId", + "documentation":"

        The unique identifier of the limit to update.

        ", + "location":"uri", + "locationName":"limitId" }, - "maxFailedTasksCount":{ - "shape":"MaxFailedTasksCount", - "documentation":"

        The number of task failures before the job stops running and is marked as FAILED.

        " + "displayName":{ + "shape":"ResourceName", + "documentation":"

        The new display name of the limit.

        This field can store any content. Escape or encode this content before displaying it on a webpage or any other system that might interpret the content of this field.

        " }, - "maxRetriesPerTask":{ - "shape":"MaxRetriesPerTask", - "documentation":"

        The maximum number of retries for a job.

        " + "description":{ + "shape":"Description", + "documentation":"

        The new description of the limit.

        This field can store any content. Escape or encode this content before displaying it on a webpage or any other system that might interpret the content of this field.

        " }, - "lifecycleStatus":{ - "shape":"UpdateJobLifecycleStatus", - "documentation":"

        The status of a job in its lifecycle. When you change the status of the job to ARCHIVED, the job can't be scheduled or archived.

        An archived jobs and its steps and tasks are deleted after 120 days. The job can't be recovered.

        " + "maxCount":{ + "shape":"MaxCount", + "documentation":"

        The maximum number of resources constrained by this limit. When all of the resources are in use, steps that require the limit won't be scheduled until the resource is available.

        If more than the new maximum number is currently in use, running jobs finish but no new jobs are started until the number of resources in use is below the new maximum number.

        The maxCount must not be 0. If the value is -1, there is no restriction on the number of resources that can be acquired for this limit.

        " } } }, - "UpdateJobResponse":{ + "UpdateLimitResponse":{ "type":"structure", "members":{ } @@ -11257,6 +12049,52 @@ "STOP_SCHEDULING_AND_CANCEL_TASKS" ] }, + "UpdateQueueLimitAssociationRequest":{ + "type":"structure", + "required":[ + "farmId", + "queueId", + "limitId", + "status" + ], + "members":{ + "farmId":{ + "shape":"FarmId", + "documentation":"

        The unique identifier of the farm that contains the associated queues and limits.

        ", + "location":"uri", + "locationName":"farmId" + }, + "queueId":{ + "shape":"QueueId", + "documentation":"

        The unique identifier of the queue associated to the limit.

        ", + "location":"uri", + "locationName":"queueId" + }, + "limitId":{ + "shape":"LimitId", + "documentation":"

        The unique identifier of the limit associated to the queue.

        ", + "location":"uri", + "locationName":"limitId" + }, + "status":{ + "shape":"UpdateQueueLimitAssociationStatus", + "documentation":"

        Sets the status of the limit. You can mark the limit active, or you can stop usage of the limit and either complete existing tasks or cancel any existing tasks immediately.

        " + } + } + }, + "UpdateQueueLimitAssociationResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateQueueLimitAssociationStatus":{ + "type":"string", + "enum":[ + "ACTIVE", + "STOP_LIMIT_USAGE_AND_COMPLETE_TASKS", + "STOP_LIMIT_USAGE_AND_CANCEL_TASKS" + ] + }, "UpdateQueueRequest":{ "type":"structure", "required":[ @@ -11333,11 +12171,11 @@ "UpdateSessionRequest":{ "type":"structure", "required":[ + "targetLifecycleStatus", "farmId", "queueId", "jobId", - "sessionId", - "targetLifecycleStatus" + "sessionId" ], "members":{ "clientToken":{ @@ -11347,6 +12185,10 @@ "location":"header", "locationName":"X-Amz-Client-Token" }, + "targetLifecycleStatus":{ + "shape":"SessionLifecycleTargetStatus", + "documentation":"

        The life cycle status to update in the session.

        " + }, "farmId":{ "shape":"FarmId", "documentation":"

        The farm ID to update in the session.

        ", @@ -11370,10 +12212,6 @@ "documentation":"

        The session ID to update.

        ", "location":"uri", "locationName":"sessionId" - }, - "targetLifecycleStatus":{ - "shape":"SessionLifecycleTargetStatus", - "documentation":"

        The life cycle status to update in the session.

        " } } }, @@ -11385,13 +12223,17 @@ "UpdateStepRequest":{ "type":"structure", "required":[ + "targetTaskRunStatus", "farmId", "queueId", "jobId", - "stepId", - "targetTaskRunStatus" + "stepId" ], "members":{ + "targetTaskRunStatus":{ + "shape":"StepTargetTaskRunStatus", + "documentation":"

        The task status to update the step's tasks to.

        " + }, "clientToken":{ "shape":"ClientToken", "documentation":"

        The unique token which the server uses to recognize retries of the same request.

        ", @@ -11422,10 +12264,6 @@ "documentation":"

        The step ID to update.

        ", "location":"uri", "locationName":"stepId" - }, - "targetTaskRunStatus":{ - "shape":"StepTargetTaskRunStatus", - "documentation":"

        The task status to update the step's tasks to.

        " } } }, @@ -11486,12 +12324,12 @@ "UpdateTaskRequest":{ "type":"structure", "required":[ + "targetRunStatus", "farmId", "queueId", "jobId", "stepId", - "taskId", - "targetRunStatus" + "taskId" ], "members":{ "clientToken":{ @@ -11501,6 +12339,10 @@ "location":"header", "locationName":"X-Amz-Client-Token" }, + "targetRunStatus":{ + "shape":"TaskTargetRunStatus", + "documentation":"

        The run status with which to start the task.

        " + }, "farmId":{ "shape":"FarmId", "documentation":"

        The farm ID to update.

        ", @@ -11530,10 +12372,6 @@ "documentation":"

        The task ID to update.

        ", "location":"uri", "locationName":"taskId" - }, - "targetRunStatus":{ - "shape":"TaskTargetRunStatus", - "documentation":"

        The run status with which to start the task.

        " } } }, diff --git a/tools/code-generation/api-descriptions/ec2-2016-11-15.normal.json b/tools/code-generation/api-descriptions/ec2-2016-11-15.normal.json index dfd5234cb57..5881dff2d84 100644 --- a/tools/code-generation/api-descriptions/ec2-2016-11-15.normal.json +++ b/tools/code-generation/api-descriptions/ec2-2016-11-15.normal.json @@ -13800,7 +13800,8 @@ }, "ClientToken":{ "shape":"String", - "documentation":"

        Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring idempotency.

        " + "documentation":"

        Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If you do not specify a client token, a randomly generated token is used for the request to ensure idempotency.

        For more information, see Ensuring idempotency.

        ", + "idempotencyToken":true }, "SpotOptions":{ "shape":"SpotOptionsRequest", @@ -30481,7 +30482,7 @@ }, "EventSubType":{ "shape":"String", - "documentation":"

        The event.

        error events:

        • iamFleetRoleInvalid - The EC2 Fleet or Spot Fleet does not have the required permissions either to launch or terminate an instance.

        • allLaunchSpecsTemporarilyBlacklisted - None of the configurations are valid, and several attempts to launch instances have failed. For more information, see the description of the event.

        • spotInstanceCountLimitExceeded - You've reached the limit on the number of Spot Instances that you can launch.

        • spotFleetRequestConfigurationInvalid - The configuration is not valid. For more information, see the description of the event.

        fleetRequestChange events:

        • active - The EC2 Fleet or Spot Fleet request has been validated and Amazon EC2 is attempting to maintain the target number of running instances.

        • deleted (EC2 Fleet) / cancelled (Spot Fleet) - The EC2 Fleet is deleted or the Spot Fleet request is canceled and has no running instances. The EC2 Fleet or Spot Fleet will be deleted two days after its instances are terminated.

        • deleted_running (EC2 Fleet) / cancelled_running (Spot Fleet) - The EC2 Fleet is deleted or the Spot Fleet request is canceled and does not launch additional instances. Its existing instances continue to run until they are interrupted or terminated. The request remains in this state until all instances are interrupted or terminated.

        • deleted_terminating (EC2 Fleet) / cancelled_terminating (Spot Fleet) - The EC2 Fleet is deleted or the Spot Fleet request is canceled and its instances are terminating. The request remains in this state until all instances are terminated.

        • expired - The EC2 Fleet or Spot Fleet request has expired. If the request was created with TerminateInstancesWithExpiration set, a subsequent terminated event indicates that the instances are terminated.

        • modify_in_progress - The EC2 Fleet or Spot Fleet request is being modified. The request remains in this state until the modification is fully processed.

        • modify_succeeded - The EC2 Fleet or Spot Fleet request was modified.

        • submitted - The EC2 Fleet or Spot Fleet request is being evaluated and Amazon EC2 is preparing to launch the target number of instances.

        • progress - The EC2 Fleet or Spot Fleet request is in the process of being fulfilled.

        instanceChange events:

        • launched - A new instance was launched.

        • terminated - An instance was terminated by the user.

        • termination_notified - An instance termination notification was sent when a Spot Instance was terminated by Amazon EC2 during scale-down, when the target capacity of the fleet was modified down, for example, from a target capacity of 4 to a target capacity of 3.

        Information events:

        • fleetProgressHalted - The price in every launch specification is not valid because it is below the Spot price (all the launch specifications have produced launchSpecUnusable events). A launch specification might become valid if the Spot price changes.

        • launchSpecTemporarilyBlacklisted - The configuration is not valid and several attempts to launch instances have failed. For more information, see the description of the event.

        • launchSpecUnusable - The price in a launch specification is not valid because it is below the Spot price.

        • registerWithLoadBalancersFailed - An attempt to register instances with load balancers failed. For more information, see the description of the event.

        ", + "documentation":"

        The event.

        error events:

        • iamFleetRoleInvalid - The EC2 Fleet or Spot Fleet does not have the required permissions either to launch or terminate an instance.

        • allLaunchSpecsTemporarilyBlacklisted - None of the configurations are valid, and several attempts to launch instances have failed. For more information, see the description of the event.

        • spotInstanceCountLimitExceeded - You've reached the limit on the number of Spot Instances that you can launch.

        • spotFleetRequestConfigurationInvalid - The configuration is not valid. For more information, see the description of the event.

        fleetRequestChange events:

        • active - The EC2 Fleet or Spot Fleet request has been validated and Amazon EC2 is attempting to maintain the target number of running instances.

        • deleted (EC2 Fleet) / cancelled (Spot Fleet) - The EC2 Fleet is deleted or the Spot Fleet request is canceled and has no running instances. The EC2 Fleet or Spot Fleet will be deleted two days after its instances are terminated.

        • deleted_running (EC2 Fleet) / cancelled_running (Spot Fleet) - The EC2 Fleet is deleted or the Spot Fleet request is canceled and does not launch additional instances. Its existing instances continue to run until they are interrupted or terminated. The request remains in this state until all instances are interrupted or terminated.

        • deleted_terminating (EC2 Fleet) / cancelled_terminating (Spot Fleet) - The EC2 Fleet is deleted or the Spot Fleet request is canceled and its instances are terminating. The request remains in this state until all instances are terminated.

        • expired - The EC2 Fleet or Spot Fleet request has expired. If the request was created with TerminateInstancesWithExpiration set, a subsequent terminated event indicates that the instances are terminated.

        • modify_in_progress - The EC2 Fleet or Spot Fleet request is being modified. The request remains in this state until the modification is fully processed.

        • modify_succeeded - The EC2 Fleet or Spot Fleet request was modified.

        • submitted - The EC2 Fleet or Spot Fleet request is being evaluated and Amazon EC2 is preparing to launch the target number of instances.

        • progress - The EC2 Fleet or Spot Fleet request is in the process of being fulfilled.

        instanceChange events:

        • launched - A new instance was launched.

        • terminated - An instance was terminated by the user.

        • termination_notified - An instance termination notification was sent when a Spot Instance was terminated by Amazon EC2 during scale-down, when the target capacity of the fleet was modified down, for example, from a target capacity of 4 to a target capacity of 3.

        Information events:

        • fleetProgressHalted - The price in every launch specification is not valid because it is below the Spot price (all the launch specifications have produced launchSpecUnusable events). A launch specification might become valid if the Spot price changes.

        • launchSpecTemporarilyBlacklisted - The configuration is not valid and several attempts to launch instances have failed. For more information, see the description of the event.

        • launchSpecUnusable - The price specified in a launch specification is not valid because it is below the Spot price for the requested Spot pools.

          Note: Even if a fleet with the maintain request type is in the process of being canceled, it may still publish a launchSpecUnusable event. This does not mean that the canceled fleet is attempting to launch a new instance.

        • registerWithLoadBalancersFailed - An attempt to register instances with load balancers failed. For more information, see the description of the event.

        ", "locationName":"eventSubType" }, "InstanceId":{ @@ -58035,7 +58036,7 @@ "members":{ "MaxPrice":{ "shape":"String", - "documentation":"

        The maximum hourly price that you're willing to pay for a Spot Instance. We do not recommend using this parameter because it can lead to increased interruptions. If you do not specify this parameter, you will pay the current Spot price.

        If you specify a maximum price, your Spot Instances will be interrupted more frequently than if you do not specify this parameter.

        " + "documentation":"

        The maximum hourly price that you're willing to pay for a Spot Instance. We do not recommend using this parameter because it can lead to increased interruptions. If you do not specify this parameter, you will pay the current Spot price.

        If you specify a maximum price, your Spot Instances will be interrupted more frequently than if you do not specify this parameter.

        If you specify a maximum price, it must be more than USD $0.001. Specifying a value below USD $0.001 will result in an InvalidParameterValue error message.

        " }, "SpotInstanceType":{ "shape":"SpotInstanceType", diff --git a/tools/code-generation/api-descriptions/eks-2017-11-01.normal.json b/tools/code-generation/api-descriptions/eks-2017-11-01.normal.json index fb1e253d14b..5eccc36b6a4 100644 --- a/tools/code-generation/api-descriptions/eks-2017-11-01.normal.json +++ b/tools/code-generation/api-descriptions/eks-2017-11-01.normal.json @@ -155,7 +155,7 @@ {"shape":"ResourceLimitExceededException"}, {"shape":"UnsupportedAvailabilityZoneException"} ], - "documentation":"

        Creates an Fargate profile for your Amazon EKS cluster. You must have at least one Fargate profile in a cluster to be able to run pods on Fargate.

        The Fargate profile allows an administrator to declare which pods run on Fargate and specify which pods run on which Fargate profile. This declaration is done through the profile’s selectors. Each profile can have up to five selectors that contain a namespace and labels. A namespace is required for every selector. The label field consists of multiple optional key-value pairs. Pods that match the selectors are scheduled on Fargate. If a to-be-scheduled pod matches any of the selectors in the Fargate profile, then that pod is run on Fargate.

        When you create a Fargate profile, you must specify a pod execution role to use with the pods that are scheduled with the profile. This role is added to the cluster's Kubernetes Role Based Access Control (RBAC) for authorization so that the kubelet that is running on the Fargate infrastructure can register with your Amazon EKS cluster so that it can appear in your cluster as a node. The pod execution role also provides IAM permissions to the Fargate infrastructure to allow read access to Amazon ECR image repositories. For more information, see Pod Execution Role in the Amazon EKS User Guide.

        Fargate profiles are immutable. However, you can create a new updated profile to replace an existing profile and then delete the original after the updated profile has finished creating.

        If any Fargate profiles in a cluster are in the DELETING status, you must wait for that Fargate profile to finish deleting before you can create any other profiles in that cluster.

        For more information, see Fargate profile in the Amazon EKS User Guide.

        " + "documentation":"

        Creates an Fargate profile for your Amazon EKS cluster. You must have at least one Fargate profile in a cluster to be able to run pods on Fargate.

        The Fargate profile allows an administrator to declare which pods run on Fargate and specify which pods run on which Fargate profile. This declaration is done through the profile's selectors. Each profile can have up to five selectors that contain a namespace and labels. A namespace is required for every selector. The label field consists of multiple optional key-value pairs. Pods that match the selectors are scheduled on Fargate. If a to-be-scheduled pod matches any of the selectors in the Fargate profile, then that pod is run on Fargate.

        When you create a Fargate profile, you must specify a pod execution role to use with the pods that are scheduled with the profile. This role is added to the cluster's Kubernetes Role Based Access Control (RBAC) for authorization so that the kubelet that is running on the Fargate infrastructure can register with your Amazon EKS cluster so that it can appear in your cluster as a node. The pod execution role also provides IAM permissions to the Fargate infrastructure to allow read access to Amazon ECR image repositories. For more information, see Pod Execution Role in the Amazon EKS User Guide.

        Fargate profiles are immutable. However, you can create a new updated profile to replace an existing profile and then delete the original after the updated profile has finished creating.

        If any Fargate profiles in a cluster are in the DELETING status, you must wait for that Fargate profile to finish deleting before you can create any other profiles in that cluster.

        For more information, see Fargate profile in the Amazon EKS User Guide.

        " }, "CreateNodegroup":{ "name":"CreateNodegroup", @@ -888,7 +888,7 @@ {"shape":"ResourceNotFoundException"}, {"shape":"InvalidRequestException"} ], - "documentation":"

        Updates an Amazon EKS cluster to the specified Kubernetes version. Your cluster continues to function during the update. The response output includes an update ID that you can use to track the status of your cluster update with the DescribeUpdate API operation.

        Cluster updates are asynchronous, and they should finish within a few minutes. During an update, the cluster status moves to UPDATING (this status transition is eventually consistent). When the update is complete (either Failed or Successful), the cluster status moves to Active.

        If your cluster has managed node groups attached to it, all of your node groups’ Kubernetes versions must match the cluster’s Kubernetes version in order to update the cluster to a new Kubernetes version.

        " + "documentation":"

        Updates an Amazon EKS cluster to the specified Kubernetes version. Your cluster continues to function during the update. The response output includes an update ID that you can use to track the status of your cluster update with the DescribeUpdate API operation.

        Cluster updates are asynchronous, and they should finish within a few minutes. During an update, the cluster status moves to UPDATING (this status transition is eventually consistent). When the update is complete (either Failed or Successful), the cluster status moves to Active.

        If your cluster has managed node groups attached to it, all of your node groups' Kubernetes versions must match the cluster's Kubernetes version in order to update the cluster to a new Kubernetes version.

        " }, "UpdateEksAnywhereSubscription":{ "name":"UpdateEksAnywhereSubscription", @@ -923,7 +923,7 @@ {"shape":"ResourceNotFoundException"}, {"shape":"InvalidRequestException"} ], - "documentation":"

        Updates an Amazon EKS managed node group configuration. Your node group continues to function during the update. The response output includes an update ID that you can use to track the status of your node group update with the DescribeUpdate API operation. Currently you can update the Kubernetes labels for a node group or the scaling configuration.

        " + "documentation":"

        Updates an Amazon EKS managed node group configuration. Your node group continues to function during the update. The response output includes an update ID that you can use to track the status of your node group update with the DescribeUpdate API operation. You can update the Kubernetes labels and taints for a node group and the scaling and version update configuration.

        " }, "UpdateNodegroupVersion":{ "name":"UpdateNodegroupVersion", @@ -1155,7 +1155,7 @@ }, "podIdentityAssociations":{ "shape":"StringList", - "documentation":"

        An array of Pod Identity Assocations owned by the Addon. Each EKS Pod Identity association maps a role to a service account in a namespace in the cluster.

        For more information, see Attach an IAM Role to an Amazon EKS add-on using Pod Identity in the EKS User Guide.

        " + "documentation":"

        An array of Pod Identity Assocations owned by the Addon. Each EKS Pod Identity association maps a role to a service account in a namespace in the cluster.

        For more information, see Attach an IAM Role to an Amazon EKS add-on using Pod Identity in the Amazon EKS User Guide.

        " } }, "documentation":"

        An Amazon EKS add-on. For more information, see Amazon EKS add-ons in the Amazon EKS User Guide.

        " @@ -1169,10 +1169,10 @@ }, "compatibleVersions":{ "shape":"StringList", - "documentation":"

        A list of compatible add-on versions.

        " + "documentation":"

        The list of compatible Amazon EKS add-on versions for the next Kubernetes version.

        " } }, - "documentation":"

        Contains compatibility information for an Amazon EKS add-on.

        " + "documentation":"

        The summary information about the Amazon EKS add-on compatibility for the next Kubernetes version for an insight check in the UPGRADE_READINESS category.

        " }, "AddonCompatibilityDetails":{ "type":"list", @@ -1271,7 +1271,7 @@ "documentation":"

        The ARN of an IAM Role.

        " } }, - "documentation":"

        A type of Pod Identity Association owned by an Amazon EKS Add-on.

        Each EKS Pod Identity Association maps a role to a service account in a namespace in the cluster.

        For more information, see Attach an IAM Role to an Amazon EKS add-on using Pod Identity in the EKS User Guide.

        " + "documentation":"

        A type of Pod Identity Association owned by an Amazon EKS Add-on.

        Each EKS Pod Identity Association maps a role to a service account in a namespace in the cluster.

        For more information, see Attach an IAM Role to an Amazon EKS add-on using Pod Identity in the Amazon EKS User Guide.

        " }, "AddonPodIdentityAssociationsList":{ "type":"list", @@ -1530,7 +1530,7 @@ "documentation":"

        Indicates if the block storage capability is enabled on your EKS Auto Mode cluster. If the block storage capability is enabled, EKS Auto Mode will create and delete EBS volumes in your Amazon Web Services account.

        " } }, - "documentation":"

        Indicates the current configuration of the block storage capability on your EKS Auto Mode cluster. For example, if the capability is enabled or disabled. If the block storage capability is enabled, EKS Auto Mode will create and delete EBS volumes in your Amazon Web Services account. For more information, see EKS Auto Mode block storage capability in the EKS User Guide.

        " + "documentation":"

        Indicates the current configuration of the block storage capability on your EKS Auto Mode cluster. For example, if the capability is enabled or disabled. If the block storage capability is enabled, EKS Auto Mode will create and delete EBS volumes in your Amazon Web Services account. For more information, see EKS Auto Mode block storage capability in the Amazon EKS User Guide.

        " }, "Boolean":{"type":"boolean"}, "BoxedBoolean":{ @@ -1711,7 +1711,7 @@ }, "upgradePolicy":{ "shape":"UpgradePolicyResponse", - "documentation":"

        This value indicates if extended support is enabled or disabled for the cluster.

        Learn more about EKS Extended Support in the EKS User Guide.

        " + "documentation":"

        This value indicates if extended support is enabled or disabled for the cluster.

        Learn more about EKS Extended Support in the Amazon EKS User Guide.

        " }, "zonalShiftConfig":{ "shape":"ZonalShiftConfigResponse", @@ -1723,11 +1723,11 @@ }, "computeConfig":{ "shape":"ComputeConfigResponse", - "documentation":"

        Indicates the current configuration of the compute capability on your EKS Auto Mode cluster. For example, if the capability is enabled or disabled. If the compute capability is enabled, EKS Auto Mode will create and delete EC2 Managed Instances in your Amazon Web Services account. For more information, see EKS Auto Mode compute capability in the EKS User Guide.

        " + "documentation":"

        Indicates the current configuration of the compute capability on your EKS Auto Mode cluster. For example, if the capability is enabled or disabled. If the compute capability is enabled, EKS Auto Mode will create and delete EC2 Managed Instances in your Amazon Web Services account. For more information, see EKS Auto Mode compute capability in the Amazon EKS User Guide.

        " }, "storageConfig":{ "shape":"StorageConfigResponse", - "documentation":"

        Indicates the current configuration of the block storage capability on your EKS Auto Mode cluster. For example, if the capability is enabled or disabled. If the block storage capability is enabled, EKS Auto Mode will create and delete EBS volumes in your Amazon Web Services account. For more information, see EKS Auto Mode block storage capability in the EKS User Guide.

        " + "documentation":"

        Indicates the current configuration of the block storage capability on your EKS Auto Mode cluster. For example, if the capability is enabled or disabled. If the block storage capability is enabled, EKS Auto Mode will create and delete EBS volumes in your Amazon Web Services account. For more information, see EKS Auto Mode block storage capability in the Amazon EKS User Guide.

        " } }, "documentation":"

        An object representing an Amazon EKS cluster.

        " @@ -1890,14 +1890,14 @@ }, "nodePools":{ "shape":"StringList", - "documentation":"

        Configuration for node pools that defines the compute resources for your EKS Auto Mode cluster. For more information, see EKS Auto Mode Node Pools in the EKS User Guide.

        " + "documentation":"

        Configuration for node pools that defines the compute resources for your EKS Auto Mode cluster. For more information, see EKS Auto Mode Node Pools in the Amazon EKS User Guide.

        " }, "nodeRoleArn":{ "shape":"String", - "documentation":"

        The ARN of the IAM Role EKS will assign to EC2 Managed Instances in your EKS Auto Mode cluster. This value cannot be changed after the compute capability of EKS Auto Mode is enabled. For more information, see the IAM Reference in the EKS User Guide.

        " + "documentation":"

        The ARN of the IAM Role EKS will assign to EC2 Managed Instances in your EKS Auto Mode cluster. This value cannot be changed after the compute capability of EKS Auto Mode is enabled. For more information, see the IAM Reference in the Amazon EKS User Guide.

        " } }, - "documentation":"

        Request to update the configuration of the compute capability of your EKS Auto Mode cluster. For example, enable the capability. For more information, see EKS Auto Mode compute capability in the EKS User Guide.

        " + "documentation":"

        Request to update the configuration of the compute capability of your EKS Auto Mode cluster. For example, enable the capability. For more information, see EKS Auto Mode compute capability in the Amazon EKS User Guide.

        " }, "ComputeConfigResponse":{ "type":"structure", @@ -1908,7 +1908,7 @@ }, "nodePools":{ "shape":"StringList", - "documentation":"

        Indicates the current configuration of node pools in your EKS Auto Mode cluster. For more information, see EKS Auto Mode Node Pools in the EKS User Guide.

        " + "documentation":"

        Indicates the current configuration of node pools in your EKS Auto Mode cluster. For more information, see EKS Auto Mode Node Pools in the Amazon EKS User Guide.

        " }, "nodeRoleArn":{ "shape":"String", @@ -1983,7 +1983,7 @@ "documentation":"

        The name of the placement group for the Kubernetes control plane instances. This setting can't be changed after cluster creation.

        " } }, - "documentation":"

        The placement configuration for all the control plane instances of your local Amazon EKS cluster on an Amazon Web Services Outpost. For more information, see Capacity considerations in the Amazon EKS User Guide.

        " + "documentation":"

        The placement configuration for all the control plane instances of your local Amazon EKS cluster on an Amazon Web Services Outpost. For more information, see Capacity considerations in the Amazon EKS User Guide.

        " }, "ControlPlanePlacementResponse":{ "type":"structure", @@ -2024,7 +2024,7 @@ }, "principalArn":{ "shape":"String", - "documentation":"

        The ARN of the IAM principal for the AccessEntry. You can specify one ARN for each access entry. You can't specify the same ARN in more than one access entry. This value can't be changed after access entry creation.

        The valid principals differ depending on the type of the access entry in the type field. The only valid ARN is IAM roles for the types of access entries for nodes: . You can use every IAM principal type for STANDARD access entries. You can't use the STS session principal type with access entries because this is a temporary principal for each session and not a permanent identity that can be assigned permissions.

        IAM best practices recommend using IAM roles with temporary credentials, rather than IAM users with long-term credentials.

        " + "documentation":"

        The ARN of the IAM principal for the AccessEntry. You can specify one ARN for each access entry. You can't specify the same ARN in more than one access entry. This value can't be changed after access entry creation.

        The valid principals differ depending on the type of the access entry in the type field. For STANDARD access entries, you can use every IAM principal type. For nodes (EC2 (for EKS Auto Mode), EC2_LINUX, EC2_WINDOWS, FARGATE_LINUX, and HYBRID_LINUX), the only valid ARN is IAM roles. You can't use the STS session principal type with access entries because this is a temporary principal for each session and not a permanent identity that can be assigned permissions.

        IAM best practices recommend using IAM roles with temporary credentials, rather than IAM users with long-term credentials.

        " }, "kubernetesGroups":{ "shape":"StringList", @@ -2045,7 +2045,7 @@ }, "type":{ "shape":"String", - "documentation":"

        The type of the new access entry. Valid values are Standard, FARGATE_LINUX, EC2_LINUX, and EC2_WINDOWS.

        If the principalArn is for an IAM role that's used for self-managed Amazon EC2 nodes, specify EC2_LINUX or EC2_WINDOWS. Amazon EKS grants the necessary permissions to the node for you. If the principalArn is for any other purpose, specify STANDARD. If you don't specify a value, Amazon EKS sets the value to STANDARD. It's unnecessary to create access entries for IAM roles used with Fargate profiles or managed Amazon EC2 nodes, because Amazon EKS creates entries in the aws-auth ConfigMap for the roles. You can't change this value once you've created the access entry.

        If you set the value to EC2_LINUX or EC2_WINDOWS, you can't specify values for kubernetesGroups, or associate an AccessPolicy to the access entry.

        " + "documentation":"

        The type of the new access entry. Valid values are STANDARD, FARGATE_LINUX, EC2_LINUX, EC2_WINDOWS, EC2 (for EKS Auto Mode), HYBRID_LINUX, and HYPERPOD_LINUX.

        If the principalArn is for an IAM role that's used for self-managed Amazon EC2 nodes, specify EC2_LINUX or EC2_WINDOWS. Amazon EKS grants the necessary permissions to the node for you. If the principalArn is for any other purpose, specify STANDARD. If you don't specify a value, Amazon EKS sets the value to STANDARD. If you have the access mode of the cluster set to API_AND_CONFIG_MAP, it's unnecessary to create access entries for IAM roles used with Fargate profiles or managed Amazon EC2 nodes, because Amazon EKS creates entries in the aws-auth ConfigMap for the roles. You can't change this value once you've created the access entry.

        If you set the value to EC2_LINUX or EC2_WINDOWS, you can't specify values for kubernetesGroups, or associate an AccessPolicy to the access entry.

        " } } }, @@ -2099,7 +2099,7 @@ }, "podIdentityAssociations":{ "shape":"AddonPodIdentityAssociationsList", - "documentation":"

        An array of Pod Identity Assocations to be created. Each EKS Pod Identity association maps a Kubernetes service account to an IAM Role.

        For more information, see Attach an IAM Role to an Amazon EKS add-on using Pod Identity in the EKS User Guide.

        " + "documentation":"

        An array of Pod Identity Assocations to be created. Each EKS Pod Identity association maps a Kubernetes service account to an IAM Role.

        For more information, see Attach an IAM Role to an Amazon EKS add-on using Pod Identity in the Amazon EKS User Guide.

        " } } }, @@ -2139,7 +2139,7 @@ }, "logging":{ "shape":"Logging", - "documentation":"

        Enable or disable exporting the Kubernetes control plane logs for your cluster to CloudWatch Logs. By default, cluster control plane logs aren't exported to CloudWatch Logs. For more information, see Amazon EKS Cluster control plane logs in the Amazon EKS User Guide .

        CloudWatch Logs ingestion, archive storage, and data scanning rates apply to exported control plane logs. For more information, see CloudWatch Pricing.

        " + "documentation":"

        Enable or disable exporting the Kubernetes control plane logs for your cluster to CloudWatch Logs . By default, cluster control plane logs aren't exported to CloudWatch Logs . For more information, see Amazon EKS Cluster control plane logs in the Amazon EKS User Guide .

        CloudWatch Logs ingestion, archive storage, and data scanning rates apply to exported control plane logs. For more information, see CloudWatch Pricing.

        " }, "clientRequestToken":{ "shape":"String", @@ -2172,7 +2172,7 @@ }, "zonalShiftConfig":{ "shape":"ZonalShiftConfigRequest", - "documentation":"

        Enable or disable ARC zonal shift for the cluster. If zonal shift is enabled, Amazon Web Services configures zonal autoshift for the cluster.

        Zonal shift is a feature of Amazon Application Recovery Controller (ARC). ARC zonal shift is designed to be a temporary measure that allows you to move traffic for a resource away from an impaired AZ until the zonal shift expires or you cancel it. You can extend the zonal shift if necessary.

        You can start a zonal shift for an EKS cluster, or you can allow Amazon Web Services to do it for you by enabling zonal autoshift. This shift updates the flow of east-to-west network traffic in your cluster to only consider network endpoints for Pods running on worker nodes in healthy AZs. Additionally, any ALB or NLB handling ingress traffic for applications in your EKS cluster will automatically route traffic to targets in the healthy AZs. For more information about zonal shift in EKS, see Learn about Amazon Application Recovery Controller (ARC) Zonal Shift in Amazon EKS in the Amazon EKS User Guide .

        " + "documentation":"

        Enable or disable ARC zonal shift for the cluster. If zonal shift is enabled, Amazon Web Services configures zonal autoshift for the cluster.

        Zonal shift is a feature of Amazon Application Recovery Controller (ARC). ARC zonal shift is designed to be a temporary measure that allows you to move traffic for a resource away from an impaired AZ until the zonal shift expires or you cancel it. You can extend the zonal shift if necessary.

        You can start a zonal shift for an Amazon EKS cluster, or you can allow Amazon Web Services to do it for you by enabling zonal autoshift. This shift updates the flow of east-to-west network traffic in your cluster to only consider network endpoints for Pods running on worker nodes in healthy AZs. Additionally, any ALB or NLB handling ingress traffic for applications in your Amazon EKS cluster will automatically route traffic to targets in the healthy AZs. For more information about zonal shift in EKS, see Learn about Amazon Application Recovery Controller (ARC) Zonal Shift in Amazon EKS in the Amazon EKS User Guide .

        " }, "remoteNetworkConfig":{ "shape":"RemoteNetworkConfigRequest", @@ -3315,7 +3315,7 @@ "documentation":"

        Indicates if the load balancing capability is enabled on your EKS Auto Mode cluster. If the load balancing capability is enabled, EKS Auto Mode will create and delete load balancers in your Amazon Web Services account.

        " } }, - "documentation":"

        Indicates the current configuration of the load balancing capability on your EKS Auto Mode cluster. For example, if the capability is enabled or disabled. For more information, see EKS Auto Mode load balancing capability in the EKS User Guide.

        " + "documentation":"

        Indicates the current configuration of the load balancing capability on your EKS Auto Mode cluster. For example, if the capability is enabled or disabled. For more information, see EKS Auto Mode load balancing capability in the Amazon EKS User Guide.

        " }, "EncryptionConfig":{ "type":"structure", @@ -3615,7 +3615,7 @@ }, "addonCompatibilityDetails":{ "shape":"AddonCompatibilityDetails", - "documentation":"

        A list of AddonCompatibilityDetail objects for Amazon EKS add-ons.

        " + "documentation":"

        A list of AddonCompatibilityDetail objects for Amazon EKS add-ons.

        " } }, "documentation":"

        Summary information that relates to the category of the insight. Currently only returned with certain insights having category UPGRADE_READINESS.

        " @@ -3828,11 +3828,11 @@ }, "ipFamily":{ "shape":"IpFamily", - "documentation":"

        Specify which IP family is used to assign Kubernetes pod and service IP addresses. If you don't specify a value, ipv4 is used by default. You can only specify an IP family when you create a cluster and can't change this value once the cluster is created. If you specify ipv6, the VPC and subnets that you specify for cluster creation must have both IPv4 and IPv6 CIDR blocks assigned to them. You can't specify ipv6 for clusters in China Regions.

        You can only specify ipv6 for 1.21 and later clusters that use version 1.10.1 or later of the Amazon VPC CNI add-on. If you specify ipv6, then ensure that your VPC meets the requirements listed in the considerations listed in Assigning IPv6 addresses to pods and services in the Amazon EKS User Guide. Kubernetes assigns services IPv6 addresses from the unique local address range (fc00::/7). You can't specify a custom IPv6 CIDR block. Pod addresses are assigned from the subnet's IPv6 CIDR.

        " + "documentation":"

        Specify which IP family is used to assign Kubernetes pod and service IP addresses. If you don't specify a value, ipv4 is used by default. You can only specify an IP family when you create a cluster and can't change this value once the cluster is created. If you specify ipv6, the VPC and subnets that you specify for cluster creation must have both IPv4 and IPv6 CIDR blocks assigned to them. You can't specify ipv6 for clusters in China Regions.

        You can only specify ipv6 for 1.21 and later clusters that use version 1.10.1 or later of the Amazon VPC CNI add-on. If you specify ipv6, then ensure that your VPC meets the requirements listed in the considerations listed in Assigning IPv6 addresses to pods and services in the Amazon EKS User Guide. Kubernetes assigns services IPv6 addresses from the unique local address range (fc00::/7). You can't specify a custom IPv6 CIDR block. Pod addresses are assigned from the subnet's IPv6 CIDR.

        " }, "elasticLoadBalancing":{ "shape":"ElasticLoadBalancing", - "documentation":"

        Request to enable or disable the load balancing capability on your EKS Auto Mode cluster. For more information, see EKS Auto Mode load balancing capability in the EKS User Guide.

        " + "documentation":"

        Request to enable or disable the load balancing capability on your EKS Auto Mode cluster. For more information, see EKS Auto Mode load balancing capability in the Amazon EKS User Guide.

        " } }, "documentation":"

        The Kubernetes network configuration for the cluster.

        " @@ -4099,7 +4099,7 @@ "members":{ "clusters":{ "shape":"StringList", - "documentation":"

        A list of all of the clusters for your account in the specified Amazon Web Services Region.

        " + "documentation":"

        A list of all of the clusters for your account in the specified Amazon Web Services Region .

        " }, "nextToken":{ "shape":"String", @@ -4455,7 +4455,7 @@ }, "enabled":{ "shape":"BoxedBoolean", - "documentation":"

        If a log type is enabled, that log type exports its control plane logs to CloudWatch Logs. If a log type isn't enabled, that log type doesn't export its control plane logs. Each individual log type can be enabled or disabled independently.

        " + "documentation":"

        If a log type is enabled, that log type exports its control plane logs to CloudWatch Logs . If a log type isn't enabled, that log type doesn't export its control plane logs. Each individual log type can be enabled or disabled independently.

        " } }, "documentation":"

        An object representing the enabled or disabled Kubernetes control plane logs for your cluster.

        " @@ -4719,9 +4719,20 @@ "maxUnavailablePercentage":{ "shape":"PercentCapacity", "documentation":"

        The maximum percentage of nodes unavailable during a version update. This percentage of nodes are updated in parallel, up to 100 nodes at once. This value or maxUnavailable is required to have a value.

        " + }, + "updateStrategy":{ + "shape":"NodegroupUpdateStrategies", + "documentation":"

        The configuration for the behavior to follow during a node group version update of this managed node group. You choose between two possible strategies for replacing nodes during an UpdateNodegroupVersion action.

        An Amazon EKS managed node group updates by replacing nodes with new nodes of newer AMI versions in parallel. The update strategy changes the managed node update behavior of the managed node group for each quantity. The default strategy has guardrails to protect you from misconfiguration and launches the new instances first, before terminating the old instances. The minimal strategy removes the guardrails and terminates the old instances before launching the new instances. This minimal strategy is useful in scenarios where you are constrained to resources or costs (for example, with hardware accelerators such as GPUs).

        " } }, - "documentation":"

        The node group update configuration.

        " + "documentation":"

        The node group update configuration. An Amazon EKS managed node group updates by replacing nodes with new nodes of newer AMI versions in parallel. You choose the maximum unavailable and the update strategy.

        " + }, + "NodegroupUpdateStrategies":{ + "type":"string", + "enum":[ + "DEFAULT", + "MINIMAL" + ] }, "NonZeroInteger":{ "type":"integer", @@ -5246,7 +5257,7 @@ "documentation":"

        Request to configure EBS Block Storage settings for your EKS Auto Mode cluster.

        " } }, - "documentation":"

        Request to update the configuration of the storage capability of your EKS Auto Mode cluster. For example, enable the capability. For more information, see EKS Auto Mode block storage capability in the EKS User Guide.

        " + "documentation":"

        Request to update the configuration of the storage capability of your EKS Auto Mode cluster. For example, enable the capability. For more information, see EKS Auto Mode block storage capability in the Amazon EKS User Guide.

        " }, "StorageConfigResponse":{ "type":"structure", @@ -5521,7 +5532,7 @@ }, "podIdentityAssociations":{ "shape":"AddonPodIdentityAssociationsList", - "documentation":"

        An array of Pod Identity Assocations to be updated. Each EKS Pod Identity association maps a Kubernetes service account to an IAM Role. If this value is left blank, no change. If an empty array is provided, existing Pod Identity Assocations owned by the Addon are deleted.

        For more information, see Attach an IAM Role to an Amazon EKS add-on using Pod Identity in the EKS User Guide.

        " + "documentation":"

        An array of Pod Identity Assocations to be updated. Each EKS Pod Identity association maps a Kubernetes service account to an IAM Role. If this value is left blank, no change. If an empty array is provided, existing Pod Identity Assocations owned by the Addon are deleted.

        For more information, see Attach an IAM Role to an Amazon EKS add-on using Pod Identity in the Amazon EKS User Guide.

        " } } }, @@ -5544,7 +5555,7 @@ "resourcesVpcConfig":{"shape":"VpcConfigRequest"}, "logging":{ "shape":"Logging", - "documentation":"

        Enable or disable exporting the Kubernetes control plane logs for your cluster to CloudWatch Logs. By default, cluster control plane logs aren't exported to CloudWatch Logs. For more information, see Amazon EKS cluster control plane logs in the Amazon EKS User Guide .

        CloudWatch Logs ingestion, archive storage, and data scanning rates apply to exported control plane logs. For more information, see CloudWatch Pricing.

        " + "documentation":"

        Enable or disable exporting the Kubernetes control plane logs for your cluster to CloudWatch Logs . By default, cluster control plane logs aren't exported to CloudWatch Logs . For more information, see Amazon EKS cluster control plane logs in the Amazon EKS User Guide .

        CloudWatch Logs ingestion, archive storage, and data scanning rates apply to exported control plane logs. For more information, see CloudWatch Pricing.

        " }, "clientRequestToken":{ "shape":"String", @@ -5801,6 +5812,7 @@ "MaxUnavailable", "MaxUnavailablePercentage", "NodeRepairEnabled", + "UpdateStrategy", "ConfigurationValues", "SecurityGroups", "Subnets", @@ -5902,20 +5914,20 @@ "members":{ "supportType":{ "shape":"SupportType", - "documentation":"

        If the cluster is set to EXTENDED, it will enter extended support at the end of standard support. If the cluster is set to STANDARD, it will be automatically upgraded at the end of standard support.

        Learn more about EKS Extended Support in the EKS User Guide.

        " + "documentation":"

        If the cluster is set to EXTENDED, it will enter extended support at the end of standard support. If the cluster is set to STANDARD, it will be automatically upgraded at the end of standard support.

        Learn more about EKS Extended Support in the Amazon EKS User Guide.

        " } }, - "documentation":"

        The support policy to use for the cluster. Extended support allows you to remain on specific Kubernetes versions for longer. Clusters in extended support have higher costs. The default value is EXTENDED. Use STANDARD to disable extended support.

        Learn more about EKS Extended Support in the EKS User Guide.

        " + "documentation":"

        The support policy to use for the cluster. Extended support allows you to remain on specific Kubernetes versions for longer. Clusters in extended support have higher costs. The default value is EXTENDED. Use STANDARD to disable extended support.

        Learn more about EKS Extended Support in the Amazon EKS User Guide.

        " }, "UpgradePolicyResponse":{ "type":"structure", "members":{ "supportType":{ "shape":"SupportType", - "documentation":"

        If the cluster is set to EXTENDED, it will enter extended support at the end of standard support. If the cluster is set to STANDARD, it will be automatically upgraded at the end of standard support.

        Learn more about EKS Extended Support in the EKS User Guide.

        " + "documentation":"

        If the cluster is set to EXTENDED, it will enter extended support at the end of standard support. If the cluster is set to STANDARD, it will be automatically upgraded at the end of standard support.

        Learn more about EKS Extended Support in the Amazon EKS User Guide.

        " } }, - "documentation":"

        This value indicates if extended support is enabled or disabled for the cluster.

        Learn more about EKS Extended Support in the EKS User Guide.

        " + "documentation":"

        This value indicates if extended support is enabled or disabled for the cluster.

        Learn more about EKS Extended Support in the Amazon EKS User Guide.

        " }, "VpcConfigRequest":{ "type":"structure", diff --git a/tools/code-generation/api-descriptions/firehose-2015-08-04.normal.json b/tools/code-generation/api-descriptions/firehose-2015-08-04.normal.json index cca217dd08a..9d6974f03d1 100644 --- a/tools/code-generation/api-descriptions/firehose-2015-08-04.normal.json +++ b/tools/code-generation/api-descriptions/firehose-2015-08-04.normal.json @@ -648,7 +648,7 @@ }, "WarehouseLocation":{ "shape":"WarehouseLocation", - "documentation":"

        Amazon Data Firehose is in preview release and is subject to change.

        " + "documentation":"

        The warehouse location for Apache Iceberg tables. You must configure this when schema evolution and table creation is enabled.

        Amazon Data Firehose is in preview release and is subject to change.

        " } }, "documentation":"

        Describes the containers where the destination Apache Iceberg Tables are persisted.

        " @@ -754,6 +754,10 @@ "shape":"DeliveryStreamType", "documentation":"

        The Firehose stream type. This parameter can be one of the following values:

        • DirectPut: Provider applications access the Firehose stream directly.

        • KinesisStreamAsSource: The Firehose stream uses a Kinesis data stream as a source.

        " }, + "DirectPutSourceConfiguration":{ + "shape":"DirectPutSourceConfiguration", + "documentation":"

        The structure that configures parameters such as ThroughputHintInMBs for a stream configured with Direct PUT as a source.

        " + }, "KinesisStreamSourceConfiguration":{ "shape":"KinesisStreamSourceConfiguration", "documentation":"

        When a Kinesis data stream is used as the source for the Firehose stream, a KinesisStreamSourceConfiguration containing the Kinesis data stream Amazon Resource Name (ARN) and the role ARN for the source stream.

        " @@ -777,7 +781,7 @@ }, "ElasticsearchDestinationConfiguration":{ "shape":"ElasticsearchDestinationConfiguration", - "documentation":"

        The destination in Amazon ES. You can specify only one destination.

        " + "documentation":"

        The destination in Amazon OpenSearch Service. You can specify only one destination.

        " }, "AmazonopensearchserviceDestinationConfiguration":{ "shape":"AmazonopensearchserviceDestinationConfiguration", @@ -793,7 +797,7 @@ }, "Tags":{ "shape":"TagDeliveryStreamInputTagList", - "documentation":"

        A set of tags to assign to the Firehose stream. A tag is a key-value pair that you can define and assign to Amazon Web Services resources. Tags are metadata. For example, you can add friendly names and descriptions or other types of information that can help you distinguish the Firehose stream. For more information about tags, see Using Cost Allocation Tags in the Amazon Web Services Billing and Cost Management User Guide.

        You can specify up to 50 tags when creating a Firehose stream.

        If you specify tags in the CreateDeliveryStream action, Amazon Data Firehose performs an additional authorization on the firehose:TagDeliveryStream action to verify if users have permissions to create tags. If you do not provide this permission, requests to create new Firehose Firehose streams with IAM resource tags will fail with an AccessDeniedException such as following.

        AccessDeniedException

        User: arn:aws:sts::x:assumed-role/x/x is not authorized to perform: firehose:TagDeliveryStream on resource: arn:aws:firehose:us-east-1:x:deliverystream/x with an explicit deny in an identity-based policy.

        For an example IAM policy, see Tag example.

        " + "documentation":"

        A set of tags to assign to the Firehose stream. A tag is a key-value pair that you can define and assign to Amazon Web Services resources. Tags are metadata. For example, you can add friendly names and descriptions or other types of information that can help you distinguish the Firehose stream. For more information about tags, see Using Cost Allocation Tags in the Amazon Web Services Billing and Cost Management User Guide.

        You can specify up to 50 tags when creating a Firehose stream.

        If you specify tags in the CreateDeliveryStream action, Amazon Data Firehose performs an additional authorization on the firehose:TagDeliveryStream action to verify if users have permissions to create tags. If you do not provide this permission, requests to create new Firehose streams with IAM resource tags will fail with an AccessDeniedException such as following.

        AccessDeniedException

        User: arn:aws:sts::x:assumed-role/x/x is not authorized to perform: firehose:TagDeliveryStream on resource: arn:aws:firehose:us-east-1:x:deliverystream/x with an explicit deny in an identity-based policy.

        For an example IAM policy, see Tag example.

        " }, "AmazonOpenSearchServerlessDestinationConfiguration":{ "shape":"AmazonOpenSearchServerlessDestinationConfiguration", @@ -810,7 +814,7 @@ }, "DatabaseSourceConfiguration":{ "shape":"DatabaseSourceConfiguration", - "documentation":"

        Amazon Data Firehose is in preview release and is subject to change.

        " + "documentation":"

        The top level object for configuring streams with database as a source.

        Amazon Data Firehose is in preview release and is subject to change.

        " } } }, @@ -877,14 +881,14 @@ "members":{ "Include":{ "shape":"DatabaseColumnIncludeOrExcludeList", - "documentation":"

        Amazon Data Firehose is in preview release and is subject to change.

        " + "documentation":"

        The list of column patterns in source database to be included for Firehose to read from.

        Amazon Data Firehose is in preview release and is subject to change.

        " }, "Exclude":{ "shape":"DatabaseColumnIncludeOrExcludeList", - "documentation":"

        Amazon Data Firehose is in preview release and is subject to change.

        " + "documentation":"

        The list of column patterns in source database to be excluded for Firehose to read from.

        Amazon Data Firehose is in preview release and is subject to change.

        " } }, - "documentation":"

        Amazon Data Firehose is in preview release and is subject to change.

        " + "documentation":"

        The structure used to configure the list of column patterns in source database endpoint for Firehose to read from.

        Amazon Data Firehose is in preview release and is subject to change.

        " }, "DatabaseColumnName":{ "type":"string", @@ -907,14 +911,14 @@ "members":{ "Include":{ "shape":"DatabaseIncludeOrExcludeList", - "documentation":"

        Amazon Data Firehose is in preview release and is subject to change.

        " + "documentation":"

        The list of database patterns in source database endpoint to be included for Firehose to read from.

        Amazon Data Firehose is in preview release and is subject to change.

        " }, "Exclude":{ "shape":"DatabaseIncludeOrExcludeList", - "documentation":"

        Amazon Data Firehose is in preview release and is subject to change.

        " + "documentation":"

        The list of database patterns in source database endpoint to be excluded for Firehose to read from.

        Amazon Data Firehose is in preview release and is subject to change.

        " } }, - "documentation":"

        Amazon Data Firehose is in preview release and is subject to change.

        " + "documentation":"

        The structure used to configure the list of database patterns in source database endpoint for Firehose to read from.

        Amazon Data Firehose is in preview release and is subject to change.

        " }, "DatabaseName":{ "type":"string", @@ -939,27 +943,27 @@ "members":{ "Id":{ "shape":"NonEmptyStringWithoutWhitespace", - "documentation":"

        Amazon Data Firehose is in preview release and is subject to change.

        " + "documentation":"

        The identifier of the current snapshot of the table in source database endpoint.

        Amazon Data Firehose is in preview release and is subject to change.

        " }, "Table":{ "shape":"DatabaseTableName", - "documentation":"

        Amazon Data Firehose is in preview release and is subject to change.

        " + "documentation":"

        The fully qualified name of the table in source database endpoint that Firehose reads.

        Amazon Data Firehose is in preview release and is subject to change.

        " }, "RequestTimestamp":{ "shape":"Timestamp", - "documentation":"

        Amazon Data Firehose is in preview release and is subject to change.

        " + "documentation":"

        The timestamp when the current snapshot is taken on the table.

        Amazon Data Firehose is in preview release and is subject to change.

        " }, "RequestedBy":{ "shape":"SnapshotRequestedBy", - "documentation":"

        Amazon Data Firehose is in preview release and is subject to change.

        " + "documentation":"

        The principal that sent the request to take the current snapshot on the table.

        Amazon Data Firehose is in preview release and is subject to change.

        " }, "Status":{ "shape":"SnapshotStatus", - "documentation":"

        Amazon Data Firehose is in preview release and is subject to change.

        " + "documentation":"

        The status of the current snapshot of the table.

        Amazon Data Firehose is in preview release and is subject to change.

        " }, "FailureDescription":{"shape":"FailureDescription"} }, - "documentation":"

        Amazon Data Firehose is in preview release and is subject to change.

        " + "documentation":"

        The structure that describes the snapshot information of a table in source database endpoint that Firehose reads.

        Amazon Data Firehose is in preview release and is subject to change.

        " }, "DatabaseSnapshotInfoList":{ "type":"list", @@ -971,7 +975,7 @@ "members":{ "SecretsManagerConfiguration":{"shape":"SecretsManagerConfiguration"} }, - "documentation":"

        Amazon Data Firehose is in preview release and is subject to change.

        " + "documentation":"

        The structure to configure the authentication methods for Firehose to connect to source database endpoint.

        Amazon Data Firehose is in preview release and is subject to change.

        " }, "DatabaseSourceConfiguration":{ "type":"structure", @@ -988,104 +992,104 @@ "members":{ "Type":{ "shape":"DatabaseType", - "documentation":"

        Amazon Data Firehose is in preview release and is subject to change.

        " + "documentation":"

        The type of database engine. This can be one of the following values.

        • MySQL

        • PostgreSQL

        Amazon Data Firehose is in preview release and is subject to change.

        " }, "Endpoint":{ "shape":"DatabaseEndpoint", - "documentation":"

        Amazon Data Firehose is in preview release and is subject to change.

        " + "documentation":"

        The endpoint of the database server.

        Amazon Data Firehose is in preview release and is subject to change.

        " }, "Port":{ "shape":"DatabasePort", - "documentation":"

        Amazon Data Firehose is in preview release and is subject to change.

        " + "documentation":"

        The port of the database. This can be one of the following values.

        • 3306 for MySQL database type

        • 5432 for PostgreSQL database type

        Amazon Data Firehose is in preview release and is subject to change.

        " }, "SSLMode":{ "shape":"SSLMode", - "documentation":"

        Amazon Data Firehose is in preview release and is subject to change.

        " + "documentation":"

        The mode to enable or disable SSL when Firehose connects to the database endpoint.

        Amazon Data Firehose is in preview release and is subject to change.

        " }, "Databases":{ "shape":"DatabaseList", - "documentation":"

        Amazon Data Firehose is in preview release and is subject to change.

        " + "documentation":"

        The list of database patterns in source database endpoint for Firehose to read from.

        Amazon Data Firehose is in preview release and is subject to change.

        " }, "Tables":{ "shape":"DatabaseTableList", - "documentation":"

        Amazon Data Firehose is in preview release and is subject to change.

        " + "documentation":"

        The list of table patterns in source database endpoint for Firehose to read from.

        Amazon Data Firehose is in preview release and is subject to change.

        " }, "Columns":{ "shape":"DatabaseColumnList", - "documentation":"

        Amazon Data Firehose is in preview release and is subject to change.

        " + "documentation":"

        The list of column patterns in source database endpoint for Firehose to read from.

        Amazon Data Firehose is in preview release and is subject to change.

        " }, "SurrogateKeys":{ "shape":"DatabaseSurrogateKeyList", - "documentation":"

        Amazon Data Firehose is in preview release and is subject to change.

        " + "documentation":"

        The optional list of table and column names used as unique key columns when taking snapshot if the tables don’t have primary keys configured.

        Amazon Data Firehose is in preview release and is subject to change.

        " }, "SnapshotWatermarkTable":{ "shape":"DatabaseTableName", - "documentation":"

        Amazon Data Firehose is in preview release and is subject to change.

        " + "documentation":"

        The fully qualified name of the table in source database endpoint that Firehose uses to track snapshot progress.

        Amazon Data Firehose is in preview release and is subject to change.

        " }, "DatabaseSourceAuthenticationConfiguration":{ "shape":"DatabaseSourceAuthenticationConfiguration", - "documentation":"

        Amazon Data Firehose is in preview release and is subject to change.

        " + "documentation":"

        The structure to configure the authentication methods for Firehose to connect to source database endpoint.

        Amazon Data Firehose is in preview release and is subject to change.

        " }, "DatabaseSourceVPCConfiguration":{ "shape":"DatabaseSourceVPCConfiguration", - "documentation":"

        Amazon Data Firehose is in preview release and is subject to change.

        " + "documentation":"

        The details of the VPC Endpoint Service which Firehose uses to create a PrivateLink to the database.

        Amazon Data Firehose is in preview release and is subject to change.

        " } }, - "documentation":"

        Amazon Data Firehose is in preview release and is subject to change.

        " + "documentation":"

        The top level object for configuring streams with database as a source.

        Amazon Data Firehose is in preview release and is subject to change.

        " }, "DatabaseSourceDescription":{ "type":"structure", "members":{ "Type":{ "shape":"DatabaseType", - "documentation":"

        Amazon Data Firehose is in preview release and is subject to change.

        " + "documentation":"

        The type of database engine. This can be one of the following values.

        • MySQL

        • PostgreSQL

        Amazon Data Firehose is in preview release and is subject to change.

        " }, "Endpoint":{ "shape":"DatabaseEndpoint", - "documentation":"

        Amazon Data Firehose is in preview release and is subject to change.

        " + "documentation":"

        The endpoint of the database server.

        Amazon Data Firehose is in preview release and is subject to change.

        " }, "Port":{ "shape":"DatabasePort", - "documentation":"

        Amazon Data Firehose is in preview release and is subject to change.

        " + "documentation":"

        The port of the database. This can be one of the following values.

        • 3306 for MySQL database type

        • 5432 for PostgreSQL database type

        Amazon Data Firehose is in preview release and is subject to change.

        " }, "SSLMode":{ "shape":"SSLMode", - "documentation":"

        Amazon Data Firehose is in preview release and is subject to change.

        " + "documentation":"

        The mode to enable or disable SSL when Firehose connects to the database endpoint.

        Amazon Data Firehose is in preview release and is subject to change.

        " }, "Databases":{ "shape":"DatabaseList", - "documentation":"

        Amazon Data Firehose is in preview release and is subject to change.

        " + "documentation":"

        The list of database patterns in source database endpoint for Firehose to read from.

        Amazon Data Firehose is in preview release and is subject to change.

        " }, "Tables":{ "shape":"DatabaseTableList", - "documentation":"

        Amazon Data Firehose is in preview release and is subject to change.

        " + "documentation":"

        The list of table patterns in source database endpoint for Firehose to read from.

        Amazon Data Firehose is in preview release and is subject to change.

        " }, "Columns":{ "shape":"DatabaseColumnList", - "documentation":"

        Amazon Data Firehose is in preview release and is subject to change.

        " + "documentation":"

        The list of column patterns in source database endpoint for Firehose to read from.

        Amazon Data Firehose is in preview release and is subject to change.

        " }, "SurrogateKeys":{ "shape":"DatabaseColumnIncludeOrExcludeList", - "documentation":"

        Amazon Data Firehose is in preview release and is subject to change.

        " + "documentation":"

        The optional list of table and column names used as unique key columns when taking snapshot if the tables don’t have primary keys configured.

        Amazon Data Firehose is in preview release and is subject to change.

        " }, "SnapshotWatermarkTable":{ "shape":"DatabaseTableName", - "documentation":"

        Amazon Data Firehose is in preview release and is subject to change.

        " + "documentation":"

        The fully qualified name of the table in source database endpoint that Firehose uses to track snapshot progress.

        Amazon Data Firehose is in preview release and is subject to change.

        " }, "SnapshotInfo":{ "shape":"DatabaseSnapshotInfoList", - "documentation":"

        Amazon Data Firehose is in preview release and is subject to change.

        " + "documentation":"

        The structure that describes the snapshot information of a table in source database endpoint that Firehose reads.

        Amazon Data Firehose is in preview release and is subject to change.

        " }, "DatabaseSourceAuthenticationConfiguration":{ "shape":"DatabaseSourceAuthenticationConfiguration", - "documentation":"

        Amazon Data Firehose is in preview release and is subject to change.

        " + "documentation":"

        The structure to configure the authentication methods for Firehose to connect to source database endpoint.

        Amazon Data Firehose is in preview release and is subject to change.

        " }, "DatabaseSourceVPCConfiguration":{ "shape":"DatabaseSourceVPCConfiguration", - "documentation":"

        Amazon Data Firehose is in preview release and is subject to change.

        " + "documentation":"

        The details of the VPC Endpoint Service which Firehose uses to create a PrivateLink to the database.

        Amazon Data Firehose is in preview release and is subject to change.

        " } }, - "documentation":"

        Amazon Data Firehose is in preview release and is subject to change.

        " + "documentation":"

        The top level object for database source description.

        Amazon Data Firehose is in preview release and is subject to change.

        " }, "DatabaseSourceVPCConfiguration":{ "type":"structure", @@ -1093,10 +1097,10 @@ "members":{ "VpcEndpointServiceName":{ "shape":"VpcEndpointServiceName", - "documentation":"

        Amazon Data Firehose is in preview release and is subject to change.

        " + "documentation":"

        The VPC endpoint service name which Firehose uses to create a PrivateLink to the database. The endpoint service must have the Firehose service principle firehose.amazonaws.com as an allowed principal on the VPC endpoint service. The VPC endpoint service name is a string that looks like com.amazonaws.vpce.<region>.<vpc-endpoint-service-id>.

        Amazon Data Firehose is in preview release and is subject to change.

        " } }, - "documentation":"

        Amazon Data Firehose is in preview release and is subject to change.

        " + "documentation":"

        The structure for details of the VPC Endpoint Service which Firehose uses to create a PrivateLink to the database.

        Amazon Data Firehose is in preview release and is subject to change.

        " }, "DatabaseSurrogateKeyList":{ "type":"list", @@ -1111,14 +1115,14 @@ "members":{ "Include":{ "shape":"DatabaseTableIncludeOrExcludeList", - "documentation":"

        Amazon Data Firehose is in preview release and is subject to change.

        " + "documentation":"

        The list of table patterns in source database endpoint to be included for Firehose to read from.

        Amazon Data Firehose is in preview release and is subject to change.

        " }, "Exclude":{ "shape":"DatabaseTableIncludeOrExcludeList", - "documentation":"

        Amazon Data Firehose is in preview release and is subject to change.

        " + "documentation":"

        The list of table patterns in source database endpoint to be excluded for Firehose to read from.

        Amazon Data Firehose is in preview release and is subject to change.

        " } }, - "documentation":"

        Amazon Data Firehose is in preview release and is subject to change.

        " + "documentation":"

        The structure used to configure the list of table patterns in source database endpoint for Firehose to read from.

        Amazon Data Firehose is in preview release and is subject to change.

        " }, "DatabaseTableName":{ "type":"string", @@ -1403,7 +1407,7 @@ }, "ElasticsearchDestinationDescription":{ "shape":"ElasticsearchDestinationDescription", - "documentation":"

        The destination in Amazon ES.

        " + "documentation":"

        The destination in Amazon OpenSearch Service.

        " }, "AmazonopensearchserviceDestinationDescription":{ "shape":"AmazonopensearchserviceDestinationDescription", @@ -1463,7 +1467,7 @@ }, "PartitionSpec":{ "shape":"PartitionSpec", - "documentation":"

        Amazon Data Firehose is in preview release and is subject to change.

        " + "documentation":"

        The partition spec configuration for a table that is used by automatic table creation.

        Amazon Data Firehose is in preview release and is subject to change.

        " }, "S3ErrorOutputPrefix":{ "shape":"ErrorOutputPrefix", @@ -1476,6 +1480,27 @@ "type":"list", "member":{"shape":"DestinationTableConfiguration"} }, + "DirectPutSourceConfiguration":{ + "type":"structure", + "required":["ThroughputHintInMBs"], + "members":{ + "ThroughputHintInMBs":{ + "shape":"ThroughputHintInMBs", + "documentation":"

        The value that you configure for this parameter is for information purpose only and does not affect Firehose delivery throughput limit. You can use the Firehose Limits form to request a throughput limit increase.

        " + } + }, + "documentation":"

        The structure that configures parameters such as ThroughputHintInMBs for a stream configured with Direct PUT as a source.

        " + }, + "DirectPutSourceDescription":{ + "type":"structure", + "members":{ + "ThroughputHintInMBs":{ + "shape":"ThroughputHintInMBs", + "documentation":"

        The value that you configure for this parameter is for information purpose only and does not affect Firehose delivery throughput limit. You can use the Firehose Limits form to request a throughput limit increase.

        " + } + }, + "documentation":"

        The structure that configures parameters such as ThroughputHintInMBs for a stream configured with Direct PUT as a source.

        " + }, "DocumentIdOptions":{ "type":"structure", "required":["DefaultDocumentIdFormat"], @@ -1496,7 +1521,7 @@ }, "Enabled":{ "shape":"BooleanObject", - "documentation":"

        Specifies that the dynamic partitioning is enabled for this Firehose Firehose stream.

        " + "documentation":"

        Specifies that the dynamic partitioning is enabled for this Firehose stream.

        " } }, "documentation":"

        The configuration of the dynamic partitioning mechanism that creates smaller data sets from the streaming data by partitioning it based on partition keys. Currently, dynamic partitioning is only supported for Amazon S3 destinations.

        " @@ -1513,7 +1538,7 @@ "documentation":"

        Buffer incoming data to the specified size, in MBs, before delivering it to the destination. The default value is 5.

        We recommend setting this parameter to a value greater than the amount of data you typically ingest into the Firehose stream in 10 seconds. For example, if you typically ingest data at 1 MB/sec, the value should be 10 MB or higher.

        " } }, - "documentation":"

        Describes the buffering to perform before delivering data to the Amazon ES destination.

        " + "documentation":"

        Describes the buffering to perform before delivering data to the Amazon OpenSearch Service destination.

        " }, "ElasticsearchBufferingIntervalInSeconds":{ "type":"integer", @@ -1541,11 +1566,11 @@ "members":{ "RoleARN":{ "shape":"RoleARN", - "documentation":"

        The Amazon Resource Name (ARN) of the IAM role to be assumed by Firehose for calling the Amazon ES Configuration API and for indexing documents. For more information, see Grant Firehose Access to an Amazon S3 Destination and Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces.

        " + "documentation":"

        The Amazon Resource Name (ARN) of the IAM role to be assumed by Firehose for calling the Amazon OpenSearch Service Configuration API and for indexing documents. For more information, see Grant Firehose Access to an Amazon S3 Destination and Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces.

        " }, "DomainARN":{ "shape":"ElasticsearchDomainARN", - "documentation":"

        The ARN of the Amazon ES domain. The IAM role must have permissions for DescribeDomain, DescribeDomains, and DescribeDomainConfig after assuming the role specified in RoleARN. For more information, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces.

        Specify either ClusterEndpoint or DomainARN.

        " + "documentation":"

        The ARN of the Amazon OpenSearch Service domain. The IAM role must have permissions for DescribeDomain, DescribeDomains, and DescribeDomainConfig after assuming the role specified in RoleARN. For more information, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces.

        Specify either ClusterEndpoint or DomainARN.

        " }, "ClusterEndpoint":{ "shape":"ElasticsearchClusterEndpoint", @@ -1561,7 +1586,7 @@ }, "IndexRotationPeriod":{ "shape":"ElasticsearchIndexRotationPeriod", - "documentation":"

        The Elasticsearch index rotation period. Index rotation appends a timestamp to the IndexName to facilitate the expiration of old data. For more information, see Index Rotation for the Amazon ES Destination. The default value is OneDay.

        " + "documentation":"

        The Elasticsearch index rotation period. Index rotation appends a timestamp to the IndexName to facilitate the expiration of old data. For more information, see Index Rotation for the Amazon OpenSearch Service Destination. The default value is OneDay.

        " }, "BufferingHints":{ "shape":"ElasticsearchBufferingHints", @@ -1569,11 +1594,11 @@ }, "RetryOptions":{ "shape":"ElasticsearchRetryOptions", - "documentation":"

        The retry behavior in case Firehose is unable to deliver documents to Amazon ES. The default value is 300 (5 minutes).

        " + "documentation":"

        The retry behavior in case Firehose is unable to deliver documents to Amazon OpenSearch Service. The default value is 300 (5 minutes).

        " }, "S3BackupMode":{ "shape":"ElasticsearchS3BackupMode", - "documentation":"

        Defines how documents should be delivered to Amazon S3. When it is set to FailedDocumentsOnly, Firehose writes any documents that could not be indexed to the configured Amazon S3 destination, with AmazonOpenSearchService-failed/ appended to the key prefix. When set to AllDocuments, Firehose delivers all incoming records to Amazon S3, and also writes failed documents with AmazonOpenSearchService-failed/ appended to the prefix. For more information, see Amazon S3 Backup for the Amazon ES Destination. Default value is FailedDocumentsOnly.

        You can't change this backup mode after you create the Firehose stream.

        " + "documentation":"

        Defines how documents should be delivered to Amazon S3. When it is set to FailedDocumentsOnly, Firehose writes any documents that could not be indexed to the configured Amazon S3 destination, with AmazonOpenSearchService-failed/ appended to the key prefix. When set to AllDocuments, Firehose delivers all incoming records to Amazon S3, and also writes failed documents with AmazonOpenSearchService-failed/ appended to the prefix. For more information, see Amazon S3 Backup for the Amazon OpenSearch Service Destination. Default value is FailedDocumentsOnly.

        You can't change this backup mode after you create the Firehose stream.

        " }, "S3Configuration":{ "shape":"S3DestinationConfiguration", @@ -1596,7 +1621,7 @@ "documentation":"

        Indicates the method for setting up document ID. The supported methods are Firehose generated document ID and OpenSearch Service generated document ID.

        " } }, - "documentation":"

        Describes the configuration of a destination in Amazon ES.

        " + "documentation":"

        Describes the configuration of a destination in Amazon OpenSearch Service.

        " }, "ElasticsearchDestinationDescription":{ "type":"structure", @@ -1607,11 +1632,11 @@ }, "DomainARN":{ "shape":"ElasticsearchDomainARN", - "documentation":"

        The ARN of the Amazon ES domain. For more information, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces.

        Firehose uses either ClusterEndpoint or DomainARN to send data to Amazon ES.

        " + "documentation":"

        The ARN of the Amazon OpenSearch Service domain. For more information, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces.

        Firehose uses either ClusterEndpoint or DomainARN to send data to Amazon OpenSearch Service.

        " }, "ClusterEndpoint":{ "shape":"ElasticsearchClusterEndpoint", - "documentation":"

        The endpoint to use when communicating with the cluster. Firehose uses either this ClusterEndpoint or the DomainARN field to send data to Amazon ES.

        " + "documentation":"

        The endpoint to use when communicating with the cluster. Firehose uses either this ClusterEndpoint or the DomainARN field to send data to Amazon OpenSearch Service.

        " }, "IndexName":{ "shape":"ElasticsearchIndexName", @@ -1631,7 +1656,7 @@ }, "RetryOptions":{ "shape":"ElasticsearchRetryOptions", - "documentation":"

        The Amazon ES retry options.

        " + "documentation":"

        The Amazon OpenSearch Service retry options.

        " }, "S3BackupMode":{ "shape":"ElasticsearchS3BackupMode", @@ -1658,18 +1683,18 @@ "documentation":"

        Indicates the method for setting up document ID. The supported methods are Firehose generated document ID and OpenSearch Service generated document ID.

        " } }, - "documentation":"

        The destination description in Amazon ES.

        " + "documentation":"

        The destination description in Amazon OpenSearch Service.

        " }, "ElasticsearchDestinationUpdate":{ "type":"structure", "members":{ "RoleARN":{ "shape":"RoleARN", - "documentation":"

        The Amazon Resource Name (ARN) of the IAM role to be assumed by Firehose for calling the Amazon ES Configuration API and for indexing documents. For more information, see Grant Firehose Access to an Amazon S3 Destination and Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces.

        " + "documentation":"

        The Amazon Resource Name (ARN) of the IAM role to be assumed by Firehose for calling the Amazon OpenSearch Service Configuration API and for indexing documents. For more information, see Grant Firehose Access to an Amazon S3 Destination and Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces.

        " }, "DomainARN":{ "shape":"ElasticsearchDomainARN", - "documentation":"

        The ARN of the Amazon ES domain. The IAM role must have permissions for DescribeDomain, DescribeDomains, and DescribeDomainConfig after assuming the IAM role specified in RoleARN. For more information, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces.

        Specify either ClusterEndpoint or DomainARN.

        " + "documentation":"

        The ARN of the Amazon OpenSearch Service domain. The IAM role must have permissions for DescribeDomain, DescribeDomains, and DescribeDomainConfig after assuming the IAM role specified in RoleARN. For more information, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces.

        Specify either ClusterEndpoint or DomainARN.

        " }, "ClusterEndpoint":{ "shape":"ElasticsearchClusterEndpoint", @@ -1685,7 +1710,7 @@ }, "IndexRotationPeriod":{ "shape":"ElasticsearchIndexRotationPeriod", - "documentation":"

        The Elasticsearch index rotation period. Index rotation appends a timestamp to IndexName to facilitate the expiration of old data. For more information, see Index Rotation for the Amazon ES Destination. Default value is OneDay.

        " + "documentation":"

        The Elasticsearch index rotation period. Index rotation appends a timestamp to IndexName to facilitate the expiration of old data. For more information, see Index Rotation for the Amazon OpenSearch Service Destination. Default value is OneDay.

        " }, "BufferingHints":{ "shape":"ElasticsearchBufferingHints", @@ -1693,7 +1718,7 @@ }, "RetryOptions":{ "shape":"ElasticsearchRetryOptions", - "documentation":"

        The retry behavior in case Firehose is unable to deliver documents to Amazon ES. The default value is 300 (5 minutes).

        " + "documentation":"

        The retry behavior in case Firehose is unable to deliver documents to Amazon OpenSearch Service. The default value is 300 (5 minutes).

        " }, "S3Update":{ "shape":"S3DestinationUpdate", @@ -1712,7 +1737,7 @@ "documentation":"

        Indicates the method for setting up document ID. The supported methods are Firehose generated document ID and OpenSearch Service generated document ID.

        " } }, - "documentation":"

        Describes an update for a destination in Amazon ES.

        " + "documentation":"

        Describes an update for a destination in Amazon OpenSearch Service.

        " }, "ElasticsearchDomainARN":{ "type":"string", @@ -1746,10 +1771,10 @@ "members":{ "DurationInSeconds":{ "shape":"ElasticsearchRetryDurationInSeconds", - "documentation":"

        After an initial failure to deliver to Amazon ES, the total amount of time during which Firehose retries delivery (including the first attempt). After this time has elapsed, the failed documents are written to Amazon S3. Default value is 300 seconds (5 minutes). A value of 0 (zero) results in no retries.

        " + "documentation":"

        After an initial failure to deliver to Amazon OpenSearch Service, the total amount of time during which Firehose retries delivery (including the first attempt). After this time has elapsed, the failed documents are written to Amazon S3. Default value is 300 seconds (5 minutes). A value of 0 (zero) results in no retries.

        " } }, - "documentation":"

        Configures retry behavior in case Firehose is unable to deliver documents to Amazon ES.

        " + "documentation":"

        Configures retry behavior in case Firehose is unable to deliver documents to Amazon OpenSearch Service.

        " }, "ElasticsearchS3BackupMode":{ "type":"string", @@ -2339,11 +2364,11 @@ }, "SchemaEvolutionConfiguration":{ "shape":"SchemaEvolutionConfiguration", - "documentation":"

        Amazon Data Firehose is in preview release and is subject to change.

        " + "documentation":"

        The configuration to enable automatic schema evolution.

        Amazon Data Firehose is in preview release and is subject to change.

        " }, "TableCreationConfiguration":{ "shape":"TableCreationConfiguration", - "documentation":"

        Amazon Data Firehose is in preview release and is subject to change.

        " + "documentation":"

        The configuration to enable automatic table creation.

        Amazon Data Firehose is in preview release and is subject to change.

        " }, "BufferingHints":{"shape":"BufferingHints"}, "CloudWatchLoggingOptions":{"shape":"CloudWatchLoggingOptions"}, @@ -2357,6 +2382,10 @@ "shape":"RoleARN", "documentation":"

        The Amazon Resource Name (ARN) of the IAM role to be assumed by Firehose for calling Apache Iceberg Tables.

        " }, + "AppendOnly":{ + "shape":"BooleanObject", + "documentation":"

        Describes whether all incoming data for this delivery stream will be append only (inserts only and not for updates and deletes) for Iceberg delivery. This feature is only applicable for Apache Iceberg Tables.

        The default value is false. If you set this value to true, Firehose automatically increases the throughput limit of a stream based on the throttling levels of the stream. If you set this parameter to true for a stream with updates and deletes, you will see out of order delivery.

        " + }, "CatalogConfiguration":{ "shape":"CatalogConfiguration", "documentation":"

        Configuration describing where the destination Apache Iceberg Tables are persisted.

        " @@ -2374,11 +2403,11 @@ }, "SchemaEvolutionConfiguration":{ "shape":"SchemaEvolutionConfiguration", - "documentation":"

        Amazon Data Firehose is in preview release and is subject to change.

        " + "documentation":"

        The description of automatic schema evolution configuration.

        Amazon Data Firehose is in preview release and is subject to change.

        " }, "TableCreationConfiguration":{ "shape":"TableCreationConfiguration", - "documentation":"

        Amazon Data Firehose is in preview release and is subject to change.

        " + "documentation":"

        The description of table creation configuration.

        Amazon Data Firehose is in preview release and is subject to change.

        " }, "BufferingHints":{"shape":"BufferingHints"}, "CloudWatchLoggingOptions":{"shape":"CloudWatchLoggingOptions"}, @@ -2392,6 +2421,10 @@ "shape":"RoleARN", "documentation":"

        The Amazon Resource Name (ARN) of the IAM role to be assumed by Firehose for calling Apache Iceberg Tables.

        " }, + "AppendOnly":{ + "shape":"BooleanObject", + "documentation":"

        Describes whether all incoming data for this delivery stream will be append only (inserts only and not for updates and deletes) for Iceberg delivery. This feature is only applicable for Apache Iceberg Tables.

        The default value is false. If you set this value to true, Firehose automatically increases the throughput limit of a stream based on the throttling levels of the stream. If you set this parameter to true for a stream with updates and deletes, you will see out of order delivery.

        " + }, "CatalogConfiguration":{ "shape":"CatalogConfiguration", "documentation":"

        Configuration describing where the destination Iceberg tables are persisted.

        " @@ -2409,11 +2442,11 @@ }, "SchemaEvolutionConfiguration":{ "shape":"SchemaEvolutionConfiguration", - "documentation":"

        Amazon Data Firehose is in preview release and is subject to change.

        " + "documentation":"

        The configuration to enable automatic schema evolution.

        Amazon Data Firehose is in preview release and is subject to change.

        " }, "TableCreationConfiguration":{ "shape":"TableCreationConfiguration", - "documentation":"

        Amazon Data Firehose is in preview release and is subject to change.

        " + "documentation":"

        The configuration to enable automatic table creation.

        Amazon Data Firehose is in preview release and is subject to change.

        " }, "BufferingHints":{"shape":"BufferingHints"}, "CloudWatchLoggingOptions":{"shape":"CloudWatchLoggingOptions"}, @@ -2427,6 +2460,10 @@ "shape":"RoleARN", "documentation":"

        The Amazon Resource Name (ARN) of the IAM role to be assumed by Firehose for calling Apache Iceberg Tables.

        " }, + "AppendOnly":{ + "shape":"BooleanObject", + "documentation":"

        Describes whether all incoming data for this delivery stream will be append only (inserts only and not for updates and deletes) for Iceberg delivery. This feature is only applicable for Apache Iceberg Tables.

        The default value is false. If you set this value to true, Firehose automatically increases the throughput limit of a stream based on the throttling levels of the stream. If you set this parameter to true for a stream with updates and deletes, you will see out of order delivery.

        " + }, "CatalogConfiguration":{ "shape":"CatalogConfiguration", "documentation":"

        Configuration describing where the destination Iceberg tables are persisted.

        " @@ -2544,7 +2581,7 @@ "documentation":"

        Firehose starts retrieving records from the Kinesis data stream starting with this timestamp.

        " } }, - "documentation":"

        Details about a Kinesis data stream used as the source for a Firehose Firehose stream.

        " + "documentation":"

        Details about a Kinesis data stream used as the source for a Firehose stream.

        " }, "LimitExceededException":{ "type":"structure", @@ -2719,7 +2756,7 @@ "documentation":"

        The start date and time in UTC for the offset position within your MSK topic from where Firehose begins to read. By default, this is set to timestamp when Firehose becomes Active.

        If you want to create a Firehose stream with Earliest start position from SDK or CLI, you need to set the ReadFromTimestampUTC parameter to Epoch (1970-01-01T00:00:00Z).

        " } }, - "documentation":"

        Details about the Amazon MSK cluster used as the source for a Firehose Firehose stream.

        " + "documentation":"

        Details about the Amazon MSK cluster used as the source for a Firehose stream.

        " }, "NoEncryptionConfig":{ "type":"string", @@ -2893,10 +2930,10 @@ "members":{ "SourceName":{ "shape":"NonEmptyStringWithoutWhitespace", - "documentation":"

        Amazon Data Firehose is in preview release and is subject to change.

        " + "documentation":"

        The column name to be configured in partition spec.

        Amazon Data Firehose is in preview release and is subject to change.

        " } }, - "documentation":"

        Amazon Data Firehose is in preview release and is subject to change.

        " + "documentation":"

        Represents a single field in a PartitionSpec.

        Amazon Data Firehose is in preview release and is subject to change.

        " }, "PartitionFields":{ "type":"list", @@ -2907,10 +2944,10 @@ "members":{ "Identity":{ "shape":"PartitionFields", - "documentation":"

        Amazon Data Firehose is in preview release and is subject to change.

        " + "documentation":"

        List of identity transforms that performs an identity transformation. The transform takes the source value, and does not modify it. Result type is the source type.

        Amazon Data Firehose is in preview release and is subject to change.

        " } }, - "documentation":"

        Amazon Data Firehose is in preview release and is subject to change.

        " + "documentation":"

        Represents how to produce partition data for a table. Partition data is produced by transforming columns in a table. Each column transform is represented by a named PartitionField.

        Here is an example of the schema in JSON.

        \"partitionSpec\": { \"identity\": [ {\"sourceName\": \"column1\"}, {\"sourceName\": \"column2\"}, {\"sourceName\": \"column3\"} ] }

        Amazon Data Firehose is in preview release and is subject to change.

        " }, "Password":{ "type":"string", @@ -3543,10 +3580,10 @@ "members":{ "Enabled":{ "shape":"BooleanObject", - "documentation":"

        Amazon Data Firehose is in preview release and is subject to change.

        " + "documentation":"

        Specify whether you want to enable schema evolution.

        Amazon Data Firehose is in preview release and is subject to change.

        " } }, - "documentation":"

        Amazon Data Firehose is in preview release and is subject to change.

        " + "documentation":"

        The configuration to enable schema evolution.

        Amazon Data Firehose is in preview release and is subject to change.

        " }, "SecretARN":{ "type":"string", @@ -3584,14 +3621,14 @@ "members":{ "ParquetSerDe":{ "shape":"ParquetSerDe", - "documentation":"

        A serializer to use for converting data to the Parquet format before storing it in Amazon S3. For more information, see Apache Parquet.

        " + "documentation":"

        A serializer to use for converting data to the Parquet format before storing it in Amazon S3. For more information, see Apache Parquet.

        " }, "OrcSerDe":{ "shape":"OrcSerDe", "documentation":"

        A serializer to use for converting data to the ORC format before storing it in Amazon S3. For more information, see Apache ORC.

        " } }, - "documentation":"

        The serializer that you want Firehose to use to convert data to the target format before writing it to Amazon S3. Firehose supports two types of serializers: the ORC SerDe and the Parquet SerDe.

        " + "documentation":"

        The serializer that you want Firehose to use to convert data to the target format before writing it to Amazon S3. Firehose supports two types of serializers: the ORC SerDe and the Parquet SerDe.

        " }, "ServiceUnavailableException":{ "type":"structure", @@ -3725,11 +3762,11 @@ }, "MetaDataColumnName":{ "shape":"SnowflakeMetaDataColumnName", - "documentation":"

        The name of the record metadata column

        " + "documentation":"

        Specify a column name in the table, where the metadata information has to be loaded. When you enable this field, you will see the following column in the snowflake table, which differs based on the source type.

        For Direct PUT as source

        { \"firehoseDeliveryStreamName\" : \"streamname\", \"IngestionTime\" : \"timestamp\" }

        For Kinesis Data Stream as source

        \"kinesisStreamName\" : \"streamname\", \"kinesisShardId\" : \"Id\", \"kinesisPartitionKey\" : \"key\", \"kinesisSequenceNumber\" : \"1234\", \"subsequenceNumber\" : \"2334\", \"IngestionTime\" : \"timestamp\" }

        " }, "ContentColumnName":{ "shape":"SnowflakeContentColumnName", - "documentation":"

        The name of the record content column

        " + "documentation":"

        The name of the record content column.

        " }, "SnowflakeVpcConfiguration":{ "shape":"SnowflakeVpcConfiguration", @@ -4003,6 +4040,10 @@ "SourceDescription":{ "type":"structure", "members":{ + "DirectPutSourceDescription":{ + "shape":"DirectPutSourceDescription", + "documentation":"

        Details about Direct PUT used as the source for a Firehose stream.

        " + }, "KinesisStreamSourceDescription":{ "shape":"KinesisStreamSourceDescription", "documentation":"

        The KinesisStreamSourceDescription value for the source Kinesis data stream.

        " @@ -4013,10 +4054,10 @@ }, "DatabaseSourceDescription":{ "shape":"DatabaseSourceDescription", - "documentation":"

        Amazon Data Firehose is in preview release and is subject to change.

        " + "documentation":"

        Details about a database used as the source for a Firehose stream.

        Amazon Data Firehose is in preview release and is subject to change.

        " } }, - "documentation":"

        Details about a Kinesis data stream used as the source for a Firehose Firehose stream.

        " + "documentation":"

        Details about a Kinesis data stream used as the source for a Firehose stream.

        " }, "SplunkBufferingHints":{ "type":"structure", @@ -4271,10 +4312,10 @@ "members":{ "Enabled":{ "shape":"BooleanObject", - "documentation":"

        Amazon Data Firehose is in preview release and is subject to change.

        " + "documentation":"

        Specify whether you want to enable automatic table creation.

        Amazon Data Firehose is in preview release and is subject to change.

        " } }, - "documentation":"

        Amazon Data Firehose is in preview release and is subject to change.

        " + "documentation":"

        The configuration to enable automatic table creation.

        Amazon Data Firehose is in preview release and is subject to change.

        " }, "Tag":{ "type":"structure", @@ -4337,6 +4378,11 @@ "min":0, "pattern":"^[\\p{L}\\p{Z}\\p{N}_.:\\/=+\\-@%]*$" }, + "ThroughputHintInMBs":{ + "type":"integer", + "max":100, + "min":1 + }, "Timestamp":{"type":"timestamp"}, "TopicName":{ "type":"string", @@ -4401,7 +4447,7 @@ }, "ElasticsearchDestinationUpdate":{ "shape":"ElasticsearchDestinationUpdate", - "documentation":"

        Describes an update for a destination in Amazon ES.

        " + "documentation":"

        Describes an update for a destination in Amazon OpenSearch Service.

        " }, "AmazonopensearchserviceDestinationUpdate":{ "shape":"AmazonopensearchserviceDestinationUpdate", @@ -4451,7 +4497,7 @@ "members":{ "SubnetIds":{ "shape":"SubnetIdList", - "documentation":"

        The IDs of the subnets that you want Firehose to use to create ENIs in the VPC of the Amazon ES destination. Make sure that the routing tables and inbound and outbound rules allow traffic to flow from the subnets whose IDs are specified here to the subnets that have the destination Amazon ES endpoints. Firehose creates at least one ENI in each of the subnets that are specified here. Do not delete or modify these ENIs.

        The number of ENIs that Firehose creates in the subnets specified here scales up and down automatically based on throughput. To enable Firehose to scale up the number of ENIs to match throughput, ensure that you have sufficient quota. To help you calculate the quota you need, assume that Firehose can create up to three ENIs for this Firehose stream for each of the subnets specified here. For more information about ENI quota, see Network Interfaces in the Amazon VPC Quotas topic.

        " + "documentation":"

        The IDs of the subnets that you want Firehose to use to create ENIs in the VPC of the Amazon OpenSearch Service destination. Make sure that the routing tables and inbound and outbound rules allow traffic to flow from the subnets whose IDs are specified here to the subnets that have the destination Amazon OpenSearch Service endpoints. Firehose creates at least one ENI in each of the subnets that are specified here. Do not delete or modify these ENIs.

        The number of ENIs that Firehose creates in the subnets specified here scales up and down automatically based on throughput. To enable Firehose to scale up the number of ENIs to match throughput, ensure that you have sufficient quota. To help you calculate the quota you need, assume that Firehose can create up to three ENIs for this Firehose stream for each of the subnets specified here. For more information about ENI quota, see Network Interfaces in the Amazon VPC Quotas topic.

        " }, "RoleARN":{ "shape":"RoleARN", @@ -4459,7 +4505,7 @@ }, "SecurityGroupIds":{ "shape":"SecurityGroupIdList", - "documentation":"

        The IDs of the security groups that you want Firehose to use when it creates ENIs in the VPC of the Amazon ES destination. You can use the same security group that the Amazon ES domain uses or different ones. If you specify different security groups here, ensure that they allow outbound HTTPS traffic to the Amazon ES domain's security group. Also ensure that the Amazon ES domain's security group allows HTTPS traffic from the security groups specified here. If you use the same security group for both your delivery stream and the Amazon ES domain, make sure the security group inbound rule allows HTTPS traffic. For more information about security group rules, see Security group rules in the Amazon VPC documentation.

        " + "documentation":"

        The IDs of the security groups that you want Firehose to use when it creates ENIs in the VPC of the Amazon OpenSearch Service destination. You can use the same security group that the Amazon OpenSearch Service domain uses or different ones. If you specify different security groups here, ensure that they allow outbound HTTPS traffic to the Amazon OpenSearch Service domain's security group. Also ensure that the Amazon OpenSearch Service domain's security group allows HTTPS traffic from the security groups specified here. If you use the same security group for both your delivery stream and the Amazon OpenSearch Service domain, make sure the security group inbound rule allows HTTPS traffic. For more information about security group rules, see Security group rules in the Amazon VPC documentation.

        " } }, "documentation":"

        The details of the VPC of the Amazon OpenSearch or Amazon OpenSearch Serverless destination.

        " @@ -4475,7 +4521,7 @@ "members":{ "SubnetIds":{ "shape":"SubnetIdList", - "documentation":"

        The IDs of the subnets that Firehose uses to create ENIs in the VPC of the Amazon ES destination. Make sure that the routing tables and inbound and outbound rules allow traffic to flow from the subnets whose IDs are specified here to the subnets that have the destination Amazon ES endpoints. Firehose creates at least one ENI in each of the subnets that are specified here. Do not delete or modify these ENIs.

        The number of ENIs that Firehose creates in the subnets specified here scales up and down automatically based on throughput. To enable Firehose to scale up the number of ENIs to match throughput, ensure that you have sufficient quota. To help you calculate the quota you need, assume that Firehose can create up to three ENIs for this Firehose stream for each of the subnets specified here. For more information about ENI quota, see Network Interfaces in the Amazon VPC Quotas topic.

        " + "documentation":"

        The IDs of the subnets that Firehose uses to create ENIs in the VPC of the Amazon OpenSearch Service destination. Make sure that the routing tables and inbound and outbound rules allow traffic to flow from the subnets whose IDs are specified here to the subnets that have the destination Amazon OpenSearch Service endpoints. Firehose creates at least one ENI in each of the subnets that are specified here. Do not delete or modify these ENIs.

        The number of ENIs that Firehose creates in the subnets specified here scales up and down automatically based on throughput. To enable Firehose to scale up the number of ENIs to match throughput, ensure that you have sufficient quota. To help you calculate the quota you need, assume that Firehose can create up to three ENIs for this Firehose stream for each of the subnets specified here. For more information about ENI quota, see Network Interfaces in the Amazon VPC Quotas topic.

        " }, "RoleARN":{ "shape":"RoleARN", @@ -4483,14 +4529,14 @@ }, "SecurityGroupIds":{ "shape":"SecurityGroupIdList", - "documentation":"

        The IDs of the security groups that Firehose uses when it creates ENIs in the VPC of the Amazon ES destination. You can use the same security group that the Amazon ES domain uses or different ones. If you specify different security groups, ensure that they allow outbound HTTPS traffic to the Amazon ES domain's security group. Also ensure that the Amazon ES domain's security group allows HTTPS traffic from the security groups specified here. If you use the same security group for both your Firehose stream and the Amazon ES domain, make sure the security group inbound rule allows HTTPS traffic. For more information about security group rules, see Security group rules in the Amazon VPC documentation.

        " + "documentation":"

        The IDs of the security groups that Firehose uses when it creates ENIs in the VPC of the Amazon OpenSearch Service destination. You can use the same security group that the Amazon ES domain uses or different ones. If you specify different security groups, ensure that they allow outbound HTTPS traffic to the Amazon OpenSearch Service domain's security group. Also ensure that the Amazon OpenSearch Service domain's security group allows HTTPS traffic from the security groups specified here. If you use the same security group for both your Firehose stream and the Amazon OpenSearch Service domain, make sure the security group inbound rule allows HTTPS traffic. For more information about security group rules, see Security group rules in the Amazon VPC documentation.

        " }, "VpcId":{ "shape":"NonEmptyStringWithoutWhitespace", - "documentation":"

        The ID of the Amazon ES destination's VPC.

        " + "documentation":"

        The ID of the Amazon OpenSearch Service destination's VPC.

        " } }, - "documentation":"

        The details of the VPC of the Amazon ES destination.

        " + "documentation":"

        The details of the VPC of the Amazon OpenSearch Service destination.

        " }, "VpcEndpointServiceName":{ "type":"string", diff --git a/tools/code-generation/api-descriptions/healthlake-2017-07-01.normal.json b/tools/code-generation/api-descriptions/healthlake-2017-07-01.normal.json index 8980124fef5..7a719fa9182 100644 --- a/tools/code-generation/api-descriptions/healthlake-2017-07-01.normal.json +++ b/tools/code-generation/api-descriptions/healthlake-2017-07-01.normal.json @@ -5,13 +5,15 @@ "endpointPrefix":"healthlake", "jsonVersion":"1.0", "protocol":"json", + "protocols":["json"], "serviceAbbreviation":"HealthLake", "serviceFullName":"Amazon HealthLake", "serviceId":"HealthLake", "signatureVersion":"v4", "signingName":"healthlake", "targetPrefix":"HealthLake", - "uid":"healthlake-2017-07-01" + "uid":"healthlake-2017-07-01", + "auth":["aws.auth#sigv4"] }, "operations":{ "CreateFHIRDatastore":{ @@ -241,6 +243,7 @@ "type":"string", "enum":[ "SMART_ON_FHIR_V1", + "SMART_ON_FHIR", "AWS_AUTH" ] }, @@ -807,6 +810,7 @@ "type":"string", "enum":[ "SUBMITTED", + "QUEUED", "IN_PROGRESS", "COMPLETED_WITH_ERRORS", "COMPLETED", @@ -1073,8 +1077,7 @@ "required":[ "OutputDataConfig", "DatastoreId", - "DataAccessRoleArn", - "ClientToken" + "DataAccessRoleArn" ], "members":{ "JobName":{ @@ -1127,8 +1130,7 @@ "InputDataConfig", "JobOutputDataConfig", "DatastoreId", - "DataAccessRoleArn", - "ClientToken" + "DataAccessRoleArn" ], "members":{ "JobName":{ diff --git a/tools/code-generation/api-descriptions/iot-2015-05-28.normal.json b/tools/code-generation/api-descriptions/iot-2015-05-28.normal.json index 4162a60d22b..1d237434e87 100644 --- a/tools/code-generation/api-descriptions/iot-2015-05-28.normal.json +++ b/tools/code-generation/api-descriptions/iot-2015-05-28.normal.json @@ -17582,7 +17582,7 @@ }, "ParameterValue":{ "type":"string", - "max":512, + "max":30720, "min":1, "pattern":"[^\\p{C}]+" }, diff --git a/tools/code-generation/api-descriptions/mailmanager-2023-10-17.normal.json b/tools/code-generation/api-descriptions/mailmanager-2023-10-17.normal.json index f20070197b5..ed292797304 100644 --- a/tools/code-generation/api-descriptions/mailmanager-2023-10-17.normal.json +++ b/tools/code-generation/api-descriptions/mailmanager-2023-10-17.normal.json @@ -48,6 +48,41 @@ "documentation":"

        Creates a subscription for an Add On representing the acceptance of its terms of use and additional pricing. The subscription can then be used to create an instance for use in rule sets or traffic policies.

        ", "idempotent":true }, + "CreateAddressList":{ + "name":"CreateAddressList", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateAddressListRequest"}, + "output":{"shape":"CreateAddressListResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ConflictException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

        Creates a new address list.

        ", + "idempotent":true + }, + "CreateAddressListImportJob":{ + "name":"CreateAddressListImportJob", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateAddressListImportJobRequest"}, + "output":{"shape":"CreateAddressListImportJobResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

        Creates an import job for an address list.

        ", + "idempotent":true + }, "CreateArchive":{ "name":"CreateArchive", "http":{ @@ -160,6 +195,22 @@ "documentation":"

        Deletes an Add On subscription.

        ", "idempotent":true }, + "DeleteAddressList":{ + "name":"DeleteAddressList", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteAddressListRequest"}, + "output":{"shape":"DeleteAddressListResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ConflictException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

        Deletes an address list.

        ", + "idempotent":true + }, "DeleteArchive":{ "name":"DeleteArchive", "http":{ @@ -240,6 +291,23 @@ "documentation":"

        Delete a traffic policy resource.

        ", "idempotent":true }, + "DeregisterMemberFromAddressList":{ + "name":"DeregisterMemberFromAddressList", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeregisterMemberFromAddressListRequest"}, + "output":{"shape":"DeregisterMemberFromAddressListResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

        Removes a member from an address list.

        ", + "idempotent":true + }, "GetAddonInstance":{ "name":"GetAddonInstance", "http":{ @@ -268,6 +336,38 @@ ], "documentation":"

        Gets detailed information about an Add On subscription.

        " }, + "GetAddressList":{ + "name":"GetAddressList", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetAddressListRequest"}, + "output":{"shape":"GetAddressListResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

        Fetch attributes of an address list.

        " + }, + "GetAddressListImportJob":{ + "name":"GetAddressListImportJob", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetAddressListImportJobRequest"}, + "output":{"shape":"GetAddressListImportJobResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

        Fetch attributes of an import job.

        " + }, "GetArchive":{ "name":"GetArchive", "http":{ @@ -374,6 +474,22 @@ ], "documentation":"

        Fetch ingress endpoint resource attributes.

        " }, + "GetMemberOfAddressList":{ + "name":"GetMemberOfAddressList", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetMemberOfAddressListRequest"}, + "output":{"shape":"GetMemberOfAddressListResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

        Fetch attributes of a member in an address list.

        " + }, "GetRelay":{ "name":"GetRelay", "http":{ @@ -442,6 +558,37 @@ ], "documentation":"

        Lists all Add On subscriptions in your account.

        " }, + "ListAddressListImportJobs":{ + "name":"ListAddressListImportJobs", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListAddressListImportJobsRequest"}, + "output":{"shape":"ListAddressListImportJobsResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

        Lists jobs for an address list.

        " + }, + "ListAddressLists":{ + "name":"ListAddressLists", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListAddressListsRequest"}, + "output":{"shape":"ListAddressListsResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

        Lists address lists for this account.

        " + }, "ListArchiveExports":{ "name":"ListArchiveExports", "http":{ @@ -502,6 +649,22 @@ ], "documentation":"

        List all ingress endpoint resources.

        " }, + "ListMembersOfAddressList":{ + "name":"ListMembersOfAddressList", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListMembersOfAddressListRequest"}, + "output":{"shape":"ListMembersOfAddressListResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

        Lists members of an address list.

        " + }, "ListRelays":{ "name":"ListRelays", "http":{ @@ -555,6 +718,43 @@ ], "documentation":"

        List traffic policy resources.

        " }, + "RegisterMemberToAddressList":{ + "name":"RegisterMemberToAddressList", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"RegisterMemberToAddressListRequest"}, + "output":{"shape":"RegisterMemberToAddressListResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

        Adds a member to an address list.

        ", + "idempotent":true + }, + "StartAddressListImportJob":{ + "name":"StartAddressListImportJob", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StartAddressListImportJobRequest"}, + "output":{"shape":"StartAddressListImportJobResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ConflictException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

        Starts an import job for an address list.

        ", + "idempotent":true + }, "StartArchiveExport":{ "name":"StartArchiveExport", "http":{ @@ -590,6 +790,24 @@ ], "documentation":"

        Initiates a search across emails in the specified archive.

        " }, + "StopAddressListImportJob":{ + "name":"StopAddressListImportJob", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StopAddressListImportJobRequest"}, + "output":{"shape":"StopAddressListImportJobResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ConflictException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

        Stops an ongoing import job for an address list.

        ", + "idempotent":true + }, "StopArchiveExport":{ "name":"StopArchiveExport", "http":{ @@ -850,6 +1068,84 @@ "type":"list", "member":{"shape":"AddonSubscription"} }, + "Address":{ + "type":"string", + "max":320, + "min":3, + "sensitive":true + }, + "AddressFilter":{ + "type":"structure", + "members":{ + "AddressPrefix":{ + "shape":"AddressPrefix", + "documentation":"

        Filter to limit the results to addresses having the provided prefix.

        " + } + }, + "documentation":"

        Filtering options for ListMembersOfAddressList operation.

        " + }, + "AddressList":{ + "type":"structure", + "required":[ + "AddressListArn", + "AddressListId", + "AddressListName", + "CreatedTimestamp", + "LastUpdatedTimestamp" + ], + "members":{ + "AddressListArn":{ + "shape":"AddressListArn", + "documentation":"

        The Amazon Resource Name (ARN) of the address list.

        " + }, + "AddressListId":{ + "shape":"AddressListId", + "documentation":"

        The identifier of the address list.

        " + }, + "AddressListName":{ + "shape":"AddressListName", + "documentation":"

        The user-friendly name of the address list.

        " + }, + "CreatedTimestamp":{ + "shape":"Timestamp", + "documentation":"

        The timestamp of when the address list was created.

        " + }, + "LastUpdatedTimestamp":{ + "shape":"Timestamp", + "documentation":"

        The timestamp of when the address list was last updated.

        " + } + }, + "documentation":"

        An address list contains a list of emails and domains that are used in MailManager Ingress endpoints and Rules for email management.

        " + }, + "AddressListArn":{"type":"string"}, + "AddressListId":{ + "type":"string", + "max":255, + "min":1, + "pattern":"^[a-zA-Z0-9-]+$" + }, + "AddressListName":{ + "type":"string", + "max":255, + "min":1, + "pattern":"^[a-zA-Z0-9_.-]+$" + }, + "AddressLists":{ + "type":"list", + "member":{"shape":"AddressList"} + }, + "AddressPageSize":{ + "type":"integer", + "box":true, + "max":1000, + "min":1 + }, + "AddressPrefix":{ + "type":"string", + "max":320, + "min":1, + "sensitive":true + }, "Analysis":{ "type":"structure", "required":[ @@ -1145,6 +1441,79 @@ } } }, + "CreateAddressListImportJobRequest":{ + "type":"structure", + "required":[ + "AddressListId", + "ImportDataFormat", + "Name" + ], + "members":{ + "AddressListId":{ + "shape":"AddressListId", + "documentation":"

        The unique identifier of the address list for importing addresses to.

        " + }, + "ClientToken":{ + "shape":"IdempotencyToken", + "documentation":"

        A unique token that Amazon SES uses to recognize subsequent retries of the same request.

        ", + "idempotencyToken":true + }, + "ImportDataFormat":{ + "shape":"ImportDataFormat", + "documentation":"

        The format of the input for an import job.

        " + }, + "Name":{ + "shape":"JobName", + "documentation":"

        A user-friendly name for the import job.

        " + } + } + }, + "CreateAddressListImportJobResponse":{ + "type":"structure", + "required":[ + "JobId", + "PreSignedUrl" + ], + "members":{ + "JobId":{ + "shape":"JobId", + "documentation":"

        The identifier of the created import job.

        " + }, + "PreSignedUrl":{ + "shape":"PreSignedUrl", + "documentation":"

        The pre-signed URL target for uploading the input file.

        " + } + } + }, + "CreateAddressListRequest":{ + "type":"structure", + "required":["AddressListName"], + "members":{ + "AddressListName":{ + "shape":"AddressListName", + "documentation":"

        A user-friendly name for the address list.

        " + }, + "ClientToken":{ + "shape":"IdempotencyToken", + "documentation":"

        A unique token that Amazon SES uses to recognize subsequent retries of the same request.

        ", + "idempotencyToken":true + }, + "Tags":{ + "shape":"TagList", + "documentation":"

        The tags used to organize, track, or control access for the resource. For example, { \"tags\": {\"key1\":\"value1\", \"key2\":\"value2\"} }.

        " + } + } + }, + "CreateAddressListResponse":{ + "type":"structure", + "required":["AddressListId"], + "members":{ + "AddressListId":{ + "shape":"AddressListId", + "documentation":"

        The identifier of the created address list.

        " + } + } + }, "CreateArchiveRequest":{ "type":"structure", "required":["ArchiveName"], @@ -1391,6 +1760,21 @@ "members":{ } }, + "DeleteAddressListRequest":{ + "type":"structure", + "required":["AddressListId"], + "members":{ + "AddressListId":{ + "shape":"AddressListId", + "documentation":"

        The identifier of an existing address list resource to delete.

        " + } + } + }, + "DeleteAddressListResponse":{ + "type":"structure", + "members":{ + } + }, "DeleteArchiveRequest":{ "type":"structure", "required":["ArchiveId"], @@ -1517,6 +1901,28 @@ }, "documentation":"

        The action to deliver incoming emails to an Amazon Q Business application for indexing.

        " }, + "DeregisterMemberFromAddressListRequest":{ + "type":"structure", + "required":[ + "Address", + "AddressListId" + ], + "members":{ + "Address":{ + "shape":"Address", + "documentation":"

        The address to be removed from the address list.

        " + }, + "AddressListId":{ + "shape":"AddressListId", + "documentation":"

        The unique identifier of the address list to remove the address from.

        " + } + } + }, + "DeregisterMemberFromAddressListResponse":{ + "type":"structure", + "members":{ + } + }, "Double":{ "type":"double", "box":true @@ -1645,44 +2051,158 @@ "shape":"AddonInstanceArn", "documentation":"

        The Amazon Resource Name (ARN) of the Add On instance.

        " }, - "AddonName":{ - "shape":"AddonName", - "documentation":"

        The name of the Add On provider associated to the subscription of the instance.

        " + "AddonName":{ + "shape":"AddonName", + "documentation":"

        The name of the Add On provider associated to the subscription of the instance.

        " + }, + "AddonSubscriptionId":{ + "shape":"AddonSubscriptionId", + "documentation":"

        The subscription ID associated to the instance.

        " + }, + "CreatedTimestamp":{ + "shape":"Timestamp", + "documentation":"

        The timestamp of when the Add On instance was created.

        " + } + } + }, + "GetAddonSubscriptionRequest":{ + "type":"structure", + "required":["AddonSubscriptionId"], + "members":{ + "AddonSubscriptionId":{ + "shape":"AddonSubscriptionId", + "documentation":"

        The Add On subscription ID to retrieve information for.

        " + } + } + }, + "GetAddonSubscriptionResponse":{ + "type":"structure", + "members":{ + "AddonName":{ + "shape":"AddonName", + "documentation":"

        The name of the Add On for the subscription.

        " + }, + "AddonSubscriptionArn":{ + "shape":"AddonSubscriptionArn", + "documentation":"

        Amazon Resource Name (ARN) for the subscription.

        " + }, + "CreatedTimestamp":{ + "shape":"Timestamp", + "documentation":"

        The timestamp of when the Add On subscription was created.

        " + } + } + }, + "GetAddressListImportJobRequest":{ + "type":"structure", + "required":["JobId"], + "members":{ + "JobId":{ + "shape":"JobId", + "documentation":"

        The identifier of the import job that needs to be retrieved.

        " + } + } + }, + "GetAddressListImportJobResponse":{ + "type":"structure", + "required":[ + "AddressListId", + "CreatedTimestamp", + "ImportDataFormat", + "JobId", + "Name", + "PreSignedUrl", + "Status" + ], + "members":{ + "AddressListId":{ + "shape":"AddressListId", + "documentation":"

        The unique identifier of the address list the import job was created for.

        " + }, + "CompletedTimestamp":{ + "shape":"Timestamp", + "documentation":"

        The timestamp of when the import job was completed.

        " + }, + "CreatedTimestamp":{ + "shape":"Timestamp", + "documentation":"

        The timestamp of when the import job was created.

        " + }, + "Error":{ + "shape":"ErrorMessage", + "documentation":"

        The reason for failure of an import job.

        " }, - "AddonSubscriptionId":{ - "shape":"AddonSubscriptionId", - "documentation":"

        The subscription ID associated to the instance.

        " + "FailedItemsCount":{ + "shape":"JobItemsCount", + "documentation":"

        The number of input addresses that failed to be imported into the address list.

        " }, - "CreatedTimestamp":{ + "ImportDataFormat":{ + "shape":"ImportDataFormat", + "documentation":"

        The format of the input for an import job.

        " + }, + "ImportedItemsCount":{ + "shape":"JobItemsCount", + "documentation":"

        The number of input addresses successfully imported into the address list.

        " + }, + "JobId":{ + "shape":"JobId", + "documentation":"

        The identifier of the import job.

        " + }, + "Name":{ + "shape":"JobName", + "documentation":"

        A user-friendly name for the import job.

        " + }, + "PreSignedUrl":{ + "shape":"PreSignedUrl", + "documentation":"

        The pre-signed URL target for uploading the input file.

        " + }, + "StartTimestamp":{ "shape":"Timestamp", - "documentation":"

        The timestamp of when the Add On instance was created.

        " + "documentation":"

        The timestamp of when the import job was started.

        " + }, + "Status":{ + "shape":"ImportJobStatus", + "documentation":"

        The status of the import job.

        " } } }, - "GetAddonSubscriptionRequest":{ + "GetAddressListRequest":{ "type":"structure", - "required":["AddonSubscriptionId"], + "required":["AddressListId"], "members":{ - "AddonSubscriptionId":{ - "shape":"AddonSubscriptionId", - "documentation":"

        The Add On subscription ID to retrieve information for.

        " + "AddressListId":{ + "shape":"AddressListId", + "documentation":"

        The identifier of an existing address list resource to be retrieved.

        " } } }, - "GetAddonSubscriptionResponse":{ + "GetAddressListResponse":{ "type":"structure", + "required":[ + "AddressListArn", + "AddressListId", + "AddressListName", + "CreatedTimestamp", + "LastUpdatedTimestamp" + ], "members":{ - "AddonName":{ - "shape":"AddonName", - "documentation":"

        The name of the Add On for the subscription.

        " + "AddressListArn":{ + "shape":"AddressListArn", + "documentation":"

        The Amazon Resource Name (ARN) of the address list resource.

        " }, - "AddonSubscriptionArn":{ - "shape":"AddonSubscriptionArn", - "documentation":"

        Amazon Resource Name (ARN) for the subscription.

        " + "AddressListId":{ + "shape":"AddressListId", + "documentation":"

        The identifier of the address list resource.

        " + }, + "AddressListName":{ + "shape":"AddressListName", + "documentation":"

        A user-friendly name for the address list resource.

        " }, "CreatedTimestamp":{ "shape":"Timestamp", - "documentation":"

        The timestamp of when the Add On subscription was created.

        " + "documentation":"

        The date of when then address list was created.

        " + }, + "LastUpdatedTimestamp":{ + "shape":"Timestamp", + "documentation":"

        The date of when the address list was last updated.

        " } } }, @@ -1962,6 +2482,40 @@ } } }, + "GetMemberOfAddressListRequest":{ + "type":"structure", + "required":[ + "Address", + "AddressListId" + ], + "members":{ + "Address":{ + "shape":"Address", + "documentation":"

        The address to be retrieved from the address list.

        " + }, + "AddressListId":{ + "shape":"AddressListId", + "documentation":"

        The unique identifier of the address list to retrieve the address from.

        " + } + } + }, + "GetMemberOfAddressListResponse":{ + "type":"structure", + "required":[ + "Address", + "CreatedTimestamp" + ], + "members":{ + "Address":{ + "shape":"Address", + "documentation":"

        The address retrieved from the address list.

        " + }, + "CreatedTimestamp":{ + "shape":"Timestamp", + "documentation":"

        The timestamp of when the address was created.

        " + } + } + }, "GetRelayRequest":{ "type":"structure", "required":["RelayId"], @@ -2136,6 +2690,111 @@ "max":128, "min":1 }, + "ImportDataFormat":{ + "type":"structure", + "required":["ImportDataType"], + "members":{ + "ImportDataType":{ + "shape":"ImportDataType", + "documentation":"

        The type of file that would be passed as an input for the address list import job.

        " + } + }, + "documentation":"

        The import data format contains the specifications of the input file that would be passed to the address list import job.

        " + }, + "ImportDataType":{ + "type":"string", + "enum":[ + "CSV", + "JSON" + ] + }, + "ImportJob":{ + "type":"structure", + "required":[ + "AddressListId", + "CreatedTimestamp", + "ImportDataFormat", + "JobId", + "Name", + "PreSignedUrl", + "Status" + ], + "members":{ + "AddressListId":{ + "shape":"AddressListId", + "documentation":"

        The unique identifier of the address list the import job was created for.

        " + }, + "CompletedTimestamp":{ + "shape":"Timestamp", + "documentation":"

        The timestamp of when the import job was completed.

        " + }, + "CreatedTimestamp":{ + "shape":"Timestamp", + "documentation":"

        The timestamp of when the import job was created.

        " + }, + "Error":{ + "shape":"ErrorMessage", + "documentation":"

        The reason for failure of an import job.

        " + }, + "FailedItemsCount":{ + "shape":"JobItemsCount", + "documentation":"

        The number of addresses in the input that failed to get imported into address list.

        " + }, + "ImportDataFormat":{ + "shape":"ImportDataFormat", + "documentation":"

        The format of the input for the import job.

        " + }, + "ImportedItemsCount":{ + "shape":"JobItemsCount", + "documentation":"

        The number of addresses in the input that were successfully imported into the address list.

        " + }, + "JobId":{ + "shape":"JobId", + "documentation":"

        The identifier of the import job.

        " + }, + "Name":{ + "shape":"JobName", + "documentation":"

        A user-friendly name for the import job.

        " + }, + "PreSignedUrl":{ + "shape":"PreSignedUrl", + "documentation":"

        The pre-signed URL target for uploading the input file.

        " + }, + "StartTimestamp":{ + "shape":"Timestamp", + "documentation":"

        The timestamp of when the import job was started.

        " + }, + "Status":{ + "shape":"ImportJobStatus", + "documentation":"

        The status of the import job.

        " + } + }, + "documentation":"

        Details about an import job.

        " + }, + "ImportJobStatus":{ + "type":"string", + "enum":[ + "CREATED", + "PROCESSING", + "COMPLETED", + "FAILED", + "STOPPED" + ] + }, + "ImportJobs":{ + "type":"list", + "member":{"shape":"ImportJob"} + }, + "IngressAddressListArnList":{ + "type":"list", + "member":{"shape":"AddressListArn"}, + "max":1, + "min":1 + }, + "IngressAddressListEmailAttribute":{ + "type":"string", + "enum":["RECIPIENT"] + }, "IngressAnalysis":{ "type":"structure", "required":[ @@ -2185,6 +2844,10 @@ "Analysis":{ "shape":"IngressAnalysis", "documentation":"

        The structure type for a boolean condition stating the Add On ARN and its returned value.

        " + }, + "IsInAddressList":{ + "shape":"IngressIsInAddressList", + "documentation":"

        The structure type for a boolean condition that provides the address lists to evaluate incoming traffic on.

        " } }, "documentation":"

        The union type representing the allowed types of operands for a boolean condition.

        ", @@ -2235,6 +2898,24 @@ }, "documentation":"

        The union type representing the allowed types for the left hand side of an IP condition.

        " }, + "IngressIsInAddressList":{ + "type":"structure", + "required":[ + "AddressLists", + "Attribute" + ], + "members":{ + "AddressLists":{ + "shape":"IngressAddressListArnList", + "documentation":"

        The address lists that will be used for evaluation.

        " + }, + "Attribute":{ + "shape":"IngressAddressListEmailAttribute", + "documentation":"

        The email attribute that needs to be evaluated against the address list.

        " + } + }, + "documentation":"

        The address lists and the address list attribute value that is evaluated in a policy statement's conditional expression to either deny or block the incoming email.

        " + }, "IngressPoint":{ "type":"structure", "required":[ @@ -2468,6 +3149,22 @@ "type":"list", "member":{"shape":"Ipv4Cidr"} }, + "JobId":{ + "type":"string", + "max":255, + "min":1, + "pattern":"^[a-zA-Z0-9-]+$" + }, + "JobItemsCount":{ + "type":"integer", + "box":true + }, + "JobName":{ + "type":"string", + "max":255, + "min":1, + "pattern":"^[a-zA-Z0-9_.-]+$" + }, "KmsKeyArn":{ "type":"string", "pattern":"^arn:aws(|-cn|-us-gov):kms:[a-z0-9-]{1,20}:[0-9]{12}:(key|alias)/.+$" @@ -2530,6 +3227,65 @@ } } }, + "ListAddressListImportJobsRequest":{ + "type":"structure", + "required":["AddressListId"], + "members":{ + "AddressListId":{ + "shape":"AddressListId", + "documentation":"

        The unique identifier of the address list for listing import jobs.

        " + }, + "NextToken":{ + "shape":"PaginationToken", + "documentation":"

        If you received a pagination token from a previous call to this API, you can provide it here to continue paginating through the next page of results.

        " + }, + "PageSize":{ + "shape":"PageSize", + "documentation":"

        The maximum number of import jobs that are returned per call. You can use NextToken to retrieve the next page of jobs.

        " + } + } + }, + "ListAddressListImportJobsResponse":{ + "type":"structure", + "required":["ImportJobs"], + "members":{ + "ImportJobs":{ + "shape":"ImportJobs", + "documentation":"

        The list of import jobs.

        " + }, + "NextToken":{ + "shape":"PaginationToken", + "documentation":"

        If NextToken is returned, there are more results available. The value of NextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page.

        " + } + } + }, + "ListAddressListsRequest":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"PaginationToken", + "documentation":"

        If you received a pagination token from a previous call to this API, you can provide it here to continue paginating through the next page of results.

        " + }, + "PageSize":{ + "shape":"PageSize", + "documentation":"

        The maximum number of address list resources that are returned per call. You can use NextToken to retrieve the next page of address lists.

        " + } + } + }, + "ListAddressListsResponse":{ + "type":"structure", + "required":["AddressLists"], + "members":{ + "AddressLists":{ + "shape":"AddressLists", + "documentation":"

        The list of address lists.

        " + }, + "NextToken":{ + "shape":"PaginationToken", + "documentation":"

        If NextToken is returned, there are more results available. The value of NextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page.

        " + } + } + }, "ListArchiveExportsRequest":{ "type":"structure", "required":["ArchiveId"], @@ -2651,6 +3407,42 @@ } } }, + "ListMembersOfAddressListRequest":{ + "type":"structure", + "required":["AddressListId"], + "members":{ + "AddressListId":{ + "shape":"AddressListId", + "documentation":"

        The unique identifier of the address list to list the addresses from.

        " + }, + "Filter":{ + "shape":"AddressFilter", + "documentation":"

        Filter to be used to limit the results.

        " + }, + "NextToken":{ + "shape":"PaginationToken", + "documentation":"

        If you received a pagination token from a previous call to this API, you can provide it here to continue paginating through the next page of results.

        " + }, + "PageSize":{ + "shape":"AddressPageSize", + "documentation":"

        The maximum number of address list members that are returned per call. You can use NextToken to retrieve the next page of members.

        " + } + } + }, + "ListMembersOfAddressListResponse":{ + "type":"structure", + "required":["Addresses"], + "members":{ + "Addresses":{ + "shape":"SavedAddresses", + "documentation":"

        The list of addresses.

        " + }, + "NextToken":{ + "shape":"PaginationToken", + "documentation":"

        If NextToken is returned, there are more results available. The value of NextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page.

        " + } + } + }, "ListRelaysRequest":{ "type":"structure", "members":{ @@ -2896,6 +3688,10 @@ "type":"list", "member":{"shape":"PolicyStatement"} }, + "PreSignedUrl":{ + "type":"string", + "sensitive":true + }, "QBusinessApplicationId":{ "type":"string", "max":36, @@ -2914,6 +3710,28 @@ "max":100, "min":1 }, + "RegisterMemberToAddressListRequest":{ + "type":"structure", + "required":[ + "Address", + "AddressListId" + ], + "members":{ + "Address":{ + "shape":"Address", + "documentation":"

        The address to be added to the address list.

        " + }, + "AddressListId":{ + "shape":"AddressListId", + "documentation":"

        The unique identifier of the address list where the address should be added.

        " + } + } + }, + "RegisterMemberToAddressListResponse":{ + "type":"structure", + "members":{ + } + }, "Relay":{ "type":"structure", "members":{ @@ -3194,6 +4012,23 @@ "max":10, "min":1 }, + "RuleAddressListArnList":{ + "type":"list", + "member":{"shape":"AddressListArn"}, + "max":1, + "min":1 + }, + "RuleAddressListEmailAttribute":{ + "type":"string", + "enum":[ + "RECIPIENT", + "MAIL_FROM", + "SENDER", + "FROM", + "TO", + "CC" + ] + }, "RuleBooleanEmailAttribute":{ "type":"string", "enum":[ @@ -3233,6 +4068,10 @@ "Attribute":{ "shape":"RuleBooleanEmailAttribute", "documentation":"

        The boolean type representing the allowed attribute types for an email.

        " + }, + "IsInAddressList":{ + "shape":"RuleIsInAddressList", + "documentation":"

        The structure representing the address lists and address list attribute that will be used in evaluation of boolean expression.

        " } }, "documentation":"

        The union type representing the allowed types of operands for a boolean condition.

        ", @@ -3371,6 +4210,24 @@ "max":10, "min":1 }, + "RuleIsInAddressList":{ + "type":"structure", + "required":[ + "AddressLists", + "Attribute" + ], + "members":{ + "AddressLists":{ + "shape":"RuleAddressListArnList", + "documentation":"

        The address lists that will be used for evaluation.

        " + }, + "Attribute":{ + "shape":"RuleAddressListEmailAttribute", + "documentation":"

        The email attribute that needs to be evaluated against the address list.

        " + } + }, + "documentation":"

        The structure type for a boolean condition that provides the address lists and address list attribute to evaluate.

        " + }, "RuleName":{ "type":"string", "max":32, @@ -3662,6 +4519,28 @@ "pattern":"^[a-zA-Z0-9!_.*'()/-]+$" }, "S3PresignedURL":{"type":"string"}, + "SavedAddress":{ + "type":"structure", + "required":[ + "Address", + "CreatedTimestamp" + ], + "members":{ + "Address":{ + "shape":"Address", + "documentation":"

        The email or domain that constitutes the address.

        " + }, + "CreatedTimestamp":{ + "shape":"Timestamp", + "documentation":"

        The timestamp of when the address was added to the address list.

        " + } + }, + "documentation":"

        An address that is a member of an address list.

        " + }, + "SavedAddresses":{ + "type":"list", + "member":{"shape":"SavedAddress"} + }, "SearchId":{ "type":"string", "max":64, @@ -3761,6 +4640,21 @@ "pattern":"^[A-Za-z0-9!@#$%^&*()_+\\-=\\[\\]{}|.,?]+$", "sensitive":true }, + "StartAddressListImportJobRequest":{ + "type":"structure", + "required":["JobId"], + "members":{ + "JobId":{ + "shape":"JobId", + "documentation":"

        The identifier of the import job that needs to be started.

        " + } + } + }, + "StartAddressListImportJobResponse":{ + "type":"structure", + "members":{ + } + }, "StartArchiveExportRequest":{ "type":"structure", "required":[ @@ -3853,6 +4747,21 @@ }, "documentation":"

        The response from initiating an archive search.

        " }, + "StopAddressListImportJobRequest":{ + "type":"structure", + "required":["JobId"], + "members":{ + "JobId":{ + "shape":"JobId", + "documentation":"

        The identifier of the import job that needs to be stopped.

        " + } + } + }, + "StopAddressListImportJobResponse":{ + "type":"structure", + "members":{ + } + }, "StopArchiveExportRequest":{ "type":"structure", "required":["ExportId"], @@ -3925,8 +4834,7 @@ "type":"string", "max":128, "min":1, - "pattern":"^[a-zA-Z0-9/_\\+=\\.:@\\-]+$", - "sensitive":true + "pattern":"^[a-zA-Z0-9/_\\+=\\.:@\\-]+$" }, "TagKeyList":{ "type":"list", @@ -3966,8 +4874,7 @@ "type":"string", "max":256, "min":0, - "pattern":"^[a-zA-Z0-9/_\\+=\\.:@\\-]*$", - "sensitive":true + "pattern":"^[a-zA-Z0-9/_\\+=\\.:@\\-]*$" }, "TaggableResourceArn":{ "type":"string", diff --git a/tools/code-generation/api-descriptions/mediaconvert-2017-08-29.normal.json b/tools/code-generation/api-descriptions/mediaconvert-2017-08-29.normal.json index 518a698cc43..f41cdbbda90 100644 --- a/tools/code-generation/api-descriptions/mediaconvert-2017-08-29.normal.json +++ b/tools/code-generation/api-descriptions/mediaconvert-2017-08-29.normal.json @@ -2004,7 +2004,7 @@ "ExternalAudioFileInput": { "shape": "__stringPatternS3Https", "locationName": "externalAudioFileInput", - "documentation": "Specifies audio data from an external file source." + "documentation": "Specify the S3, HTTP, or HTTPS URL for your external audio file input." }, "HlsRenditionGroupSettings": { "shape": "HlsRenditionGroupSettings", @@ -2014,12 +2014,12 @@ "LanguageCode": { "shape": "LanguageCode", "locationName": "languageCode", - "documentation": "Selects a specific language code from within an audio source." + "documentation": "Specify the language to select from your audio input. In the MediaConvert console choose from a list of languages. In your JSON job settings choose from an ISO 639-2 three-letter code listed at https://www.loc.gov/standards/iso639-2/php/code_list.php" }, "Offset": { "shape": "__integerMinNegative2147483648Max2147483647", "locationName": "offset", - "documentation": "Specifies a time delta in milliseconds to offset the audio from the input video." + "documentation": "Specify a time delta, in milliseconds, to offset the audio from the input video.\nTo specify no offset: Keep the default value, 0.\nTo specify an offset: Enter an integer from -2147483648 to 2147483647" }, "Pids": { "shape": "__listOf__integerMin1Max2147483647", @@ -4995,6 +4995,45 @@ "NO_DISPLAY_WINDOW" ] }, + "DynamicAudioSelector": { + "type": "structure", + "members": { + "AudioDurationCorrection": { + "shape": "AudioDurationCorrection", + "locationName": "audioDurationCorrection", + "documentation": "Apply audio timing corrections to help synchronize audio and video in your output. To apply timing corrections, your input must meet the following requirements: * Container: MP4, or MOV, with an accurate time-to-sample (STTS) table. * Audio track: AAC. Choose from the following audio timing correction settings: * Disabled (Default): Apply no correction. * Auto: Recommended for most inputs. MediaConvert analyzes the audio timing in your input and determines which correction setting to use, if needed. * Track: Adjust the duration of each audio frame by a constant amount to align the audio track length with STTS duration. Track-level correction does not affect pitch, and is recommended for tonal audio content such as music. * Frame: Adjust the duration of each audio frame by a variable amount to align audio frames with STTS timestamps. No corrections are made to already-aligned frames. Frame-level correction may affect the pitch of corrected frames, and is recommended for atonal audio content such as speech or percussion. * Force: Apply audio duration correction, either Track or Frame depending on your input, regardless of the accuracy of your input's STTS table. Your output audio and video may not be aligned or it may contain audio artifacts." + }, + "ExternalAudioFileInput": { + "shape": "__stringPatternS3Https", + "locationName": "externalAudioFileInput", + "documentation": "Specify the S3, HTTP, or HTTPS URL for your external audio file input." + }, + "LanguageCode": { + "shape": "LanguageCode", + "locationName": "languageCode", + "documentation": "Specify the language to select from your audio input. In the MediaConvert console choose from a list of languages. In your JSON job settings choose from an ISO 639-2 three-letter code listed at https://www.loc.gov/standards/iso639-2/php/code_list.php" + }, + "Offset": { + "shape": "__integerMinNegative2147483648Max2147483647", + "locationName": "offset", + "documentation": "Specify a time delta, in milliseconds, to offset the audio from the input video.\nTo specify no offset: Keep the default value, 0.\nTo specify an offset: Enter an integer from -2147483648 to 2147483647" + }, + "SelectorType": { + "shape": "DynamicAudioSelectorType", + "locationName": "selectorType", + "documentation": "Specify which audio tracks to dynamically select from your source. To select all audio tracks: Keep the default value, All tracks. To select all audio tracks with a specific language code: Choose Language code. When you do, you must also specify a language code under the Language code setting. If there is no matching Language code in your source, then no track will be selected." + } + }, + "documentation": "Use Dynamic audio selectors when you do not know the track layout of your source when you submit your job, but want to select multiple audio tracks. When you include an audio track in your output and specify this Dynamic audio selector as the Audio source, MediaConvert creates an output audio track for each dynamically selected track. Note that when you include a Dynamic audio selector for two or more inputs, each input must have the same number of audio tracks and audio channels." + }, + "DynamicAudioSelectorType": { + "type": "string", + "documentation": "Specify which audio tracks to dynamically select from your source. To select all audio tracks: Keep the default value, All tracks. To select all audio tracks with a specific language code: Choose Language code. When you do, you must also specify a language code under the Language code setting. If there is no matching Language code in your source, then no track will be selected.", + "enum": [ + "ALL_TRACKS", + "LANGUAGE_CODE" + ] + }, "Eac3AtmosBitstreamMode": { "type": "string", "documentation": "Specify the bitstream mode for the E-AC-3 stream that the encoder emits. For more information about the EAC3 bitstream mode, see ATSC A/52-2012 (Annex E).", @@ -6427,6 +6466,14 @@ "MAIN_422_10BIT_HIGH" ] }, + "H265Deblocking": { + "type": "string", + "documentation": "Use Deblocking to improve the video quality of your output by smoothing the edges of macroblock artifacts created during video compression. To reduce blocking artifacts at block boundaries, and improve overall video quality: Keep the default value, Enabled. To not apply any deblocking: Choose Disabled. Visible block edge artifacts might appear in the output, especially at lower bitrates.", + "enum": [ + "ENABLED", + "DISABLED" + ] + }, "H265DynamicSubGop": { "type": "string", "documentation": "Choose Adaptive to improve subjective video quality for high-motion content. This will cause the service to use fewer B-frames (which infer information based on other frames) for high-motion portions of the video and more B-frames for low-motion portions. The maximum number of B-frames is limited by the value you provide for the setting B frames between reference frames.", @@ -6602,6 +6649,11 @@ "locationName": "codecProfile", "documentation": "Represents the Profile and Tier, per the HEVC (H.265) specification. Selections are grouped as [Profile] / [Tier], so \"Main/High\" represents Main Profile with High Tier. 4:2:2 profiles are only available with the HEVC 4:2:2 License." }, + "Deblocking": { + "shape": "H265Deblocking", + "locationName": "deblocking", + "documentation": "Use Deblocking to improve the video quality of your output by smoothing the edges of macroblock artifacts created during video compression. To reduce blocking artifacts at block boundaries, and improve overall video quality: Keep the default value, Enabled. To not apply any deblocking: Choose Disabled. Visible block edge artifacts might appear in the output, especially at lower bitrates." + }, "DynamicSubGop": { "shape": "H265DynamicSubGop", "locationName": "dynamicSubGop", @@ -7652,6 +7704,11 @@ "locationName": "dolbyVisionMetadataXml", "documentation": "Use this setting only when your video source has Dolby Vision studio mastering metadata that is carried in a separate XML file. Specify the Amazon S3 location for the metadata XML file. MediaConvert uses this file to provide global and frame-level metadata for Dolby Vision preprocessing. When you specify a file here and your input also has interleaved global and frame level metadata, MediaConvert ignores the interleaved metadata and uses only the the metadata from this external XML file. Note that your IAM service role must grant MediaConvert read permissions to this file. For more information, see https://docs.aws.amazon.com/mediaconvert/latest/ug/iam-role.html." }, + "DynamicAudioSelectors": { + "shape": "__mapOfDynamicAudioSelector", + "locationName": "dynamicAudioSelectors", + "documentation": "Use Dynamic audio selectors when you do not know the track layout of your source when you submit your job, but want to select multiple audio tracks. When you include an audio track in your output and specify this Dynamic audio selector as the Audio source, MediaConvert creates an output audio track for each dynamically selected track. Note that when you include a Dynamic audio selector for two or more inputs, each input must have the same number of audio tracks and audio channels." + }, "FileInput": { "shape": "__stringMax2048PatternS3Https", "locationName": "fileInput", @@ -7889,6 +7946,11 @@ "locationName": "dolbyVisionMetadataXml", "documentation": "Use this setting only when your video source has Dolby Vision studio mastering metadata that is carried in a separate XML file. Specify the Amazon S3 location for the metadata XML file. MediaConvert uses this file to provide global and frame-level metadata for Dolby Vision preprocessing. When you specify a file here and your input also has interleaved global and frame level metadata, MediaConvert ignores the interleaved metadata and uses only the the metadata from this external XML file. Note that your IAM service role must grant MediaConvert read permissions to this file. For more information, see https://docs.aws.amazon.com/mediaconvert/latest/ug/iam-role.html." }, + "DynamicAudioSelectors": { + "shape": "__mapOfDynamicAudioSelector", + "locationName": "dynamicAudioSelectors", + "documentation": "Use Dynamic audio selectors when you do not know the track layout of your source when you submit your job, but want to select multiple audio tracks. When you include an audio track in your output and specify this Dynamic audio selector as the Audio source, MediaConvert creates an output audio track for each dynamically selected track. Note that when you include a Dynamic audio selector for two or more inputs, each input must have the same number of audio tracks and audio channels." + }, "FilterEnable": { "shape": "InputFilterEnable", "locationName": "filterEnable", @@ -8294,7 +8356,7 @@ "FollowSource": { "shape": "__integerMin1Max150", "locationName": "followSource", - "documentation": "Specify the input that MediaConvert references for your default output settings. MediaConvert uses this input's Resolution, Frame rate, and Pixel aspect ratio for all outputs that you don't manually specify different output settings for. Enabling this setting will disable \"Follow source\" for all other inputs. If MediaConvert cannot follow your source, for example if you specify an audio-only input, MediaConvert uses the first followable input instead. In your JSON job specification, enter an integer from 1 to 150 corresponding to the order of your inputs." + "documentation": "Specify the input that MediaConvert references for your default output settings. MediaConvert uses this input's Resolution, Frame rate, and Pixel aspect ratio for all outputs that you don't manually specify different output settings for. Enabling this setting will disable \"Follow source\" for all other inputs. If MediaConvert cannot follow your source, for example if you specify an audio-only input, MediaConvert uses the first followable input instead. In your JSON job specification, enter an integer from 1 to 150 corresponding to the order of your inputs." }, "Inputs": { "shape": "__listOfInput", @@ -8465,7 +8527,7 @@ "FollowSource": { "shape": "__integerMin1Max150", "locationName": "followSource", - "documentation": "Specify the input that MediaConvert references for your default output settings. MediaConvert uses this input's Resolution, Frame rate, and Pixel aspect ratio for all outputs that you don't manually specify different output settings for. Enabling this setting will disable \"Follow source\" for all other inputs. If MediaConvert cannot follow your source, for example if you specify an audio-only input, MediaConvert uses the first followable input instead. In your JSON job specification, enter an integer from 1 to 150 corresponding to the order of your inputs." + "documentation": "Specify the input that MediaConvert references for your default output settings. MediaConvert uses this input's Resolution, Frame rate, and Pixel aspect ratio for all outputs that you don't manually specify different output settings for. Enabling this setting will disable \"Follow source\" for all other inputs. If MediaConvert cannot follow your source, for example if you specify an audio-only input, MediaConvert uses the first followable input instead. In your JSON job specification, enter an integer from 1 to 150 corresponding to the order of your inputs." }, "Inputs": { "shape": "__listOfInputTemplate", @@ -14644,6 +14706,15 @@ "shape": "CaptionSelector" } }, + "__mapOfDynamicAudioSelector": { + "type": "map", + "key": { + "shape": "__string" + }, + "value": { + "shape": "DynamicAudioSelector" + } + }, "__mapOf__string": { "type": "map", "key": { diff --git a/tools/code-generation/api-descriptions/mediatailor-2018-04-23.normal.json b/tools/code-generation/api-descriptions/mediatailor-2018-04-23.normal.json index 4f3850ec881..0366d86d89d 100644 --- a/tools/code-generation/api-descriptions/mediatailor-2018-04-23.normal.json +++ b/tools/code-generation/api-descriptions/mediatailor-2018-04-23.normal.json @@ -2,9 +2,10 @@ "version":"2.0", "metadata":{ "apiVersion":"2018-04-23", + "auth":["aws.auth#sigv4"], "endpointPrefix":"api.mediatailor", - "jsonVersion":"1.1", "protocol":"rest-json", + "protocols":["rest-json"], "serviceAbbreviation":"MediaTailor", "serviceFullName":"AWS MediaTailor", "serviceId":"MediaTailor", @@ -33,7 +34,7 @@ }, "input":{"shape":"ConfigureLogsForPlaybackConfigurationRequest"}, "output":{"shape":"ConfigureLogsForPlaybackConfigurationResponse"}, - "documentation":"

        Amazon CloudWatch log settings for a playback configuration.

        ", + "documentation":"

        Defines where AWS Elemental MediaTailor sends logs for the playback configuration.

        ", "idempotent":true }, "CreateChannel":{ @@ -557,10 +558,6 @@ "type":"structure", "required":["OffsetMillis"], "members":{ - "AdBreakMetadata":{ - "shape":"AdBreakMetadataList", - "documentation":"

        Defines a list of key/value pairs that MediaTailor generates within the EXT-X-ASSETtag for SCTE35_ENHANCED output.

        " - }, "MessageType":{ "shape":"MessageType", "documentation":"

        The SCTE-35 ad insertion type. Accepted value: SPLICE_INSERT, TIME_SIGNAL.

        " @@ -580,6 +577,10 @@ "TimeSignalMessage":{ "shape":"TimeSignalMessage", "documentation":"

        Defines the SCTE-35 time_signal message inserted around the ad.

        Programs on a channel's schedule can be configured with one or more ad breaks. You can attach a splice_insert SCTE-35 message to the ad break. This message provides basic metadata about the ad break.

        See section 9.7.4 of the 2022 SCTE-35 specification for more information.

        " + }, + "AdBreakMetadata":{ + "shape":"AdBreakMetadataList", + "documentation":"

        Defines a list of key/value pairs that MediaTailor generates within the EXT-X-ASSETtag for SCTE35_ENHANCED output.

        " } }, "documentation":"

        Ad break configuration parameters.

        " @@ -604,6 +605,17 @@ }, "documentation":"

        A location at which a zero-duration ad marker was detected in a VOD source manifest.

        " }, + "AdConditioningConfiguration":{ + "type":"structure", + "required":["StreamingMediaFileConditioning"], + "members":{ + "StreamingMediaFileConditioning":{ + "shape":"StreamingMediaFileConditioning", + "documentation":"

        For ads that have media files with streaming delivery, indicates what transcoding action MediaTailor it first receives these ads from the ADS. TRANSCODE indicates that MediaTailor must transcode the ads. NONE indicates that you have already transcoded the ads outside of MediaTailor and don't need them transcoded as part of the ad insertion workflow. For more information about ad conditioning see https://docs.aws.amazon.com/precondition-ads.html.

        " + } + }, + "documentation":"

        The setting that indicates what conditioning MediaTailor will perform on ads that the ad decision server (ADS) returns.

        " + }, "AdMarkerPassthrough":{ "type":"structure", "members":{ @@ -639,10 +651,6 @@ "shape":"__string", "documentation":"

        If an alert is generated for a resource, an explanation of the reason for the alert.

        " }, - "Category":{ - "shape":"AlertCategory", - "documentation":"

        The category that MediaTailor assigns to the alert.

        " - }, "LastModifiedTime":{ "shape":"__timestampUnix", "documentation":"

        The timestamp when the alert was last modified.

        " @@ -654,6 +662,10 @@ "ResourceArn":{ "shape":"__string", "documentation":"

        The Amazon Resource Name (ARN) of the resource.

        " + }, + "Category":{ + "shape":"AlertCategory", + "documentation":"

        The category that MediaTailor assigns to the alert.

        " } }, "documentation":"

        Alert configuration parameters.

        " @@ -669,30 +681,30 @@ "AlternateMedia":{ "type":"structure", "members":{ - "AdBreaks":{ - "shape":"__listOfAdBreak", - "documentation":"

        Ad break configuration parameters defined in AlternateMedia.

        " - }, - "ClipRange":{"shape":"ClipRange"}, - "DurationMillis":{ - "shape":"__long", - "documentation":"

        The duration of the alternateMedia in milliseconds.

        " + "SourceLocationName":{ + "shape":"__string", + "documentation":"

        The name of the source location for alternateMedia.

        " }, "LiveSourceName":{ "shape":"__string", "documentation":"

        The name of the live source for alternateMedia.

        " }, + "VodSourceName":{ + "shape":"__string", + "documentation":"

        The name of the VOD source for alternateMedia.

        " + }, + "ClipRange":{"shape":"ClipRange"}, "ScheduledStartTimeMillis":{ "shape":"__long", "documentation":"

        The date and time that the alternateMedia is scheduled to start, in epoch milliseconds.

        " }, - "SourceLocationName":{ - "shape":"__string", - "documentation":"

        The name of the source location for alternateMedia.

        " + "AdBreaks":{ + "shape":"__listOfAdBreak", + "documentation":"

        Ad break configuration parameters defined in AlternateMedia.

        " }, - "VodSourceName":{ - "shape":"__string", - "documentation":"

        The name of the VOD source for alternateMedia.

        " + "DurationMillis":{ + "shape":"__long", + "documentation":"

        The duration of the alternateMedia in milliseconds.

        " } }, "documentation":"

        A playlist of media (VOD and/or live) to be played instead of the default media on a particular program.

        " @@ -700,13 +712,13 @@ "AudienceMedia":{ "type":"structure", "members":{ - "AlternateMedia":{ - "shape":"__listOfAlternateMedia", - "documentation":"

        The list of AlternateMedia defined in AudienceMedia.

        " - }, "Audience":{ "shape":"__string", "documentation":"

        The Audience defined in AudienceMedia.

        " + }, + "AlternateMedia":{ + "shape":"__listOfAlternateMedia", + "documentation":"

        The list of AlternateMedia defined in AudienceMedia.

        " } }, "documentation":"

        An AudienceMedia object contains an Audience and a list of AlternateMedia.

        " @@ -736,10 +748,6 @@ "AvailSuppression":{ "type":"structure", "members":{ - "FillPolicy":{ - "shape":"FillPolicy", - "documentation":"

        Defines the policy to apply to the avail suppression mode. BEHIND_LIVE_EDGE will always use the full avail suppression policy. AFTER_LIVE_EDGE mode can be used to invoke partial ad break fills when a session starts mid-break.

        " - }, "Mode":{ "shape":"Mode", "documentation":"

        Sets the ad suppression mode. By default, ad suppression is off and all ad breaks are filled with ads or slate. When Mode is set to BEHIND_LIVE_EDGE, ad suppression is active and MediaTailor won't fill ad breaks on or behind the ad suppression Value time in the manifest lookback window. When Mode is set to AFTER_LIVE_EDGE, ad suppression is active and MediaTailor won't fill ad breaks that are within the live edge plus the avail suppression value.

        " @@ -747,6 +755,10 @@ "Value":{ "shape":"__string", "documentation":"

        A live edge offset time in HH:MM:SS. MediaTailor won't fill ad breaks on or behind this time in the manifest lookback window. If Value is set to 00:00:00, it is in sync with the live edge, and MediaTailor won't fill any ad breaks on or behind the live edge. If you set a Value time, MediaTailor won't fill any ad breaks on or behind this time in the manifest lookback window. For example, if you set 00:45:00, then MediaTailor will fill ad breaks that occur within 45 minutes behind the live edge, but won't fill ad breaks on or behind 45 minutes behind the live edge.

        " + }, + "FillPolicy":{ + "shape":"FillPolicy", + "documentation":"

        Defines the policy to apply to the avail suppression mode. BEHIND_LIVE_EDGE will always use the full avail suppression policy. AFTER_LIVE_EDGE mode can be used to invoke partial ad break fills when a session starts mid-break.

        " } }, "documentation":"

        The configuration for avail suppression, also known as ad suppression. For more information about ad suppression, see Ad Suppression.

        " @@ -797,20 +809,16 @@ "Arn", "ChannelName", "ChannelState", - "LogConfiguration", "Outputs", "PlaybackMode", - "Tier" + "Tier", + "LogConfiguration" ], "members":{ "Arn":{ "shape":"__string", "documentation":"

        The ARN of the channel.

        " }, - "Audiences":{ - "shape":"Audiences", - "documentation":"

        The list of audiences defined in channel.

        " - }, "ChannelName":{ "shape":"__string", "documentation":"

        The name of the channel.

        " @@ -831,10 +839,6 @@ "shape":"__timestampUnix", "documentation":"

        The timestamp of when the channel was last modified.

        " }, - "LogConfiguration":{ - "shape":"LogConfigurationForChannel", - "documentation":"

        The log configuration.

        " - }, "Outputs":{ "shape":"ResponseOutputs", "documentation":"

        The channel's output properties.

        " @@ -851,6 +855,14 @@ "Tier":{ "shape":"__string", "documentation":"

        The tier for this channel. STANDARD tier channels can contain live programs.

        " + }, + "LogConfiguration":{ + "shape":"LogConfigurationForChannel", + "documentation":"

        The log configuration.

        " + }, + "Audiences":{ + "shape":"Audiences", + "documentation":"

        The list of audiences defined in channel.

        " } }, "documentation":"

        The configuration parameters for a channel. For information about MediaTailor channels, see Working with channels in the MediaTailor User Guide.

        " @@ -940,7 +952,7 @@ "members":{ "PercentEnabled":{ "shape":"__integer", - "documentation":"

        The percentage of session logs that MediaTailor sends to your Cloudwatch Logs account. For example, if your playback configuration has 1000 sessions and percentEnabled is set to 60, MediaTailor sends logs for 600 of the sessions to CloudWatch Logs. MediaTailor decides at random which of the playback configuration sessions to send logs for. If you want to view logs for a specific session, you can use the debug log mode.

        Valid values: 0 - 100

        " + "documentation":"

        The percentage of session logs that MediaTailor sends to your CloudWatch Logs account. For example, if your playback configuration has 1000 sessions and percentEnabled is set to 60, MediaTailor sends logs for 600 of the sessions to CloudWatch Logs. MediaTailor decides at random which of the playback configuration sessions to send logs for. If you want to view logs for a specific session, you can use the debug log mode.

        Valid values: 0 - 100

        " }, "PlaybackConfigurationName":{ "shape":"__string", @@ -971,10 +983,6 @@ "PlaybackMode" ], "members":{ - "Audiences":{ - "shape":"Audiences", - "documentation":"

        The list of audiences defined in channel.

        " - }, "ChannelName":{ "shape":"__string", "documentation":"

        The name of the channel.

        ", @@ -1005,6 +1013,10 @@ "TimeShiftConfiguration":{ "shape":"TimeShiftConfiguration", "documentation":"

        The time-shifted viewing configuration you want to associate to the channel.

        " + }, + "Audiences":{ + "shape":"Audiences", + "documentation":"

        The list of audiences defined in channel.

        " } } }, @@ -1015,10 +1027,6 @@ "shape":"__string", "documentation":"

        The Amazon Resource Name (ARN) to assign to the channel.

        " }, - "Audiences":{ - "shape":"Audiences", - "documentation":"

        The list of audiences defined in channel.

        " - }, "ChannelName":{ "shape":"__string", "documentation":"

        The name to assign to the channel.

        " @@ -1059,6 +1067,10 @@ "TimeShiftConfiguration":{ "shape":"TimeShiftConfiguration", "documentation":"

        The time-shifted viewing configuration assigned to the channel.

        " + }, + "Audiences":{ + "shape":"Audiences", + "documentation":"

        The list of audiences defined in channel.

        " } } }, @@ -1204,10 +1216,6 @@ "shape":"__listOfAdBreak", "documentation":"

        The ad break configuration settings.

        " }, - "AudienceMedia":{ - "shape":"__listOfAudienceMedia", - "documentation":"

        The list of AudienceMedia defined in program.

        " - }, "ChannelName":{ "shape":"__string", "documentation":"

        The name of the channel for this Program.

        ", @@ -1235,6 +1243,10 @@ "VodSourceName":{ "shape":"__string", "documentation":"

        The name that's used to refer to a VOD source.

        " + }, + "AudienceMedia":{ + "shape":"__listOfAudienceMedia", + "documentation":"

        The list of AudienceMedia defined in program.

        " } } }, @@ -1249,26 +1261,14 @@ "shape":"__string", "documentation":"

        The ARN to assign to the program.

        " }, - "AudienceMedia":{ - "shape":"__listOfAudienceMedia", - "documentation":"

        The list of AudienceMedia defined in program.

        " - }, "ChannelName":{ "shape":"__string", "documentation":"

        The name to assign to the channel for this program.

        " }, - "ClipRange":{ - "shape":"ClipRange", - "documentation":"

        The clip range configuration settings.

        " - }, "CreationTime":{ "shape":"__timestampUnix", "documentation":"

        The time the program was created.

        " }, - "DurationMillis":{ - "shape":"__long", - "documentation":"

        The duration of the live program in milliseconds.

        " - }, "LiveSourceName":{ "shape":"__string", "documentation":"

        The name of the LiveSource for this Program.

        " @@ -1288,6 +1288,18 @@ "VodSourceName":{ "shape":"__string", "documentation":"

        The name that's used to refer to a VOD source.

        " + }, + "ClipRange":{ + "shape":"ClipRange", + "documentation":"

        The clip range configuration settings.

        " + }, + "DurationMillis":{ + "shape":"__long", + "documentation":"

        The duration of the live program in milliseconds.

        " + }, + "AudienceMedia":{ + "shape":"__listOfAudienceMedia", + "documentation":"

        The list of AudienceMedia defined in program.

        " } } }, @@ -1690,10 +1702,6 @@ "shape":"__string", "documentation":"

        The ARN of the channel.

        " }, - "Audiences":{ - "shape":"Audiences", - "documentation":"

        The list of audiences defined in channel.

        " - }, "ChannelName":{ "shape":"__string", "documentation":"

        The name of the channel.

        " @@ -1714,10 +1722,6 @@ "shape":"__timestampUnix", "documentation":"

        The timestamp of when the channel was last modified.

        " }, - "LogConfiguration":{ - "shape":"LogConfigurationForChannel", - "documentation":"

        The log configuration for the channel.

        " - }, "Outputs":{ "shape":"ResponseOutputs", "documentation":"

        The channel's output properties.

        " @@ -1735,9 +1739,17 @@ "shape":"__string", "documentation":"

        The channel's tier.

        " }, + "LogConfiguration":{ + "shape":"LogConfigurationForChannel", + "documentation":"

        The log configuration for the channel.

        " + }, "TimeShiftConfiguration":{ "shape":"TimeShiftConfiguration", "documentation":"

        The time-shifted viewing configuration for the channel.

        " + }, + "Audiences":{ + "shape":"Audiences", + "documentation":"

        The list of audiences defined in channel.

        " } } }, @@ -1828,26 +1840,14 @@ "shape":"__string", "documentation":"

        The ARN of the program.

        " }, - "AudienceMedia":{ - "shape":"__listOfAudienceMedia", - "documentation":"

        The list of AudienceMedia defined in program.

        " - }, "ChannelName":{ "shape":"__string", "documentation":"

        The name of the channel that the program belongs to.

        " }, - "ClipRange":{ - "shape":"ClipRange", - "documentation":"

        The clip range configuration settings.

        " - }, "CreationTime":{ "shape":"__timestampUnix", "documentation":"

        The timestamp of when the program was created.

        " }, - "DurationMillis":{ - "shape":"Long", - "documentation":"

        The duration of the live program in milliseconds.

        " - }, "LiveSourceName":{ "shape":"__string", "documentation":"

        The name of the LiveSource for this Program.

        " @@ -1867,6 +1867,18 @@ "VodSourceName":{ "shape":"__string", "documentation":"

        The name that's used to refer to a VOD source.

        " + }, + "ClipRange":{ + "shape":"ClipRange", + "documentation":"

        The clip range configuration settings.

        " + }, + "DurationMillis":{ + "shape":"Long", + "documentation":"

        The duration of the live program in milliseconds.

        " + }, + "AudienceMedia":{ + "shape":"__listOfAudienceMedia", + "documentation":"

        The list of AudienceMedia defined in program.

        " } } }, @@ -2015,12 +2027,6 @@ "type":"structure", "required":["ChannelName"], "members":{ - "Audience":{ - "shape":"__string", - "documentation":"

        The single audience for GetChannelScheduleRequest.

        ", - "location":"querystring", - "locationName":"audience" - }, "ChannelName":{ "shape":"__string", "documentation":"

        The name of the channel associated with this Channel Schedule.

        ", @@ -2044,6 +2050,12 @@ "documentation":"

        (Optional) If the playback configuration has more than MaxResults channel schedules, use NextToken to get the second and subsequent pages of results.

        For the first GetChannelScheduleRequest request, omit this value.

        For the second and subsequent requests, get the value of NextToken from the previous response and specify that value for NextToken in the request.

        If the previous response didn't include a NextToken element, there are no more channel schedules to get.

        ", "location":"querystring", "locationName":"nextToken" + }, + "Audience":{ + "shape":"__string", + "documentation":"

        The single audience for GetChannelScheduleRequest.

        ", + "location":"querystring", + "locationName":"audience" } } }, @@ -2093,7 +2105,7 @@ }, "ConfigurationAliases":{ "shape":"ConfigurationAliasesResponse", - "documentation":"

        The player parameters and aliases used as dynamic variables during session initialization. For more information, see Domain Variables.

        " + "documentation":"

        The player parameters and aliases used as dynamic variables during session initialization. For more information, see Domain Variables.

        " }, "DashConfiguration":{ "shape":"DashConfiguration", @@ -2113,7 +2125,7 @@ }, "LogConfiguration":{ "shape":"LogConfiguration", - "documentation":"

        The Amazon CloudWatch log settings for a playback configuration.

        " + "documentation":"

        The configuration that defines where AWS Elemental MediaTailor sends logs for the playback configuration.

        " }, "ManifestProcessingRules":{ "shape":"ManifestProcessingRules", @@ -2155,6 +2167,10 @@ "VideoContentSourceUrl":{ "shape":"__string", "documentation":"

        The URL prefix for the parent manifest for the stream, minus the asset ID. The maximum length is 512 characters.

        " + }, + "AdConditioningConfiguration":{ + "shape":"AdConditioningConfiguration", + "documentation":"

        The setting that indicates what conditioning MediaTailor will perform on ads that the ad decision server (ADS) returns.

        " } } }, @@ -2221,13 +2237,13 @@ "HlsPlaylistSettings":{ "type":"structure", "members":{ - "AdMarkupType":{ - "shape":"adMarkupTypes", - "documentation":"

        Determines the type of SCTE 35 tags to use in ad markup. Specify DATERANGE to use DATERANGE tags (for live or VOD content). Specify SCTE35_ENHANCED to use EXT-X-CUE-OUT and EXT-X-CUE-IN tags (for VOD content only).

        " - }, "ManifestWindowSeconds":{ "shape":"__integer", "documentation":"

        The total duration (in seconds) of each manifest. Minimum value: 30 seconds. Maximum value: 3600 seconds.

        " + }, + "AdMarkupType":{ + "shape":"adMarkupTypes", + "documentation":"

        Determines the type of SCTE 35 tags to use in ad markup. Specify DATERANGE to use DATERANGE tags (for live or VOD content). Specify SCTE35_ENHANCED to use EXT-X-CUE-OUT and EXT-X-CUE-IN tags (for VOD content only).

        " } }, "documentation":"

        HLS playlist configuration parameters.

        " @@ -2622,10 +2638,10 @@ "members":{ "PercentEnabled":{ "shape":"__integer", - "documentation":"

        The percentage of session logs that MediaTailor sends to your Cloudwatch Logs account. For example, if your playback configuration has 1000 sessions and percentEnabled is set to 60, MediaTailor sends logs for 600 of the sessions to CloudWatch Logs. MediaTailor decides at random which of the playback configuration sessions to send logs for. If you want to view logs for a specific session, you can use the debug log mode.

        Valid values: 0 - 100

        " + "documentation":"

        The percentage of session logs that MediaTailor sends to your configured log destination. For example, if your playback configuration has 1000 sessions and percentEnabled is set to 60, MediaTailor sends logs for 600 of the sessions to CloudWatch Logs. MediaTailor decides at random which of the playback configuration sessions to send logs for. If you want to view logs for a specific session, you can use the debug log mode.

        Valid values: 0 - 100

        " } }, - "documentation":"

        Returns Amazon CloudWatch log settings for a playback configuration.

        " + "documentation":"

        Defines where AWS Elemental MediaTailor sends logs for the playback configuration.

        " }, "LogConfigurationForChannel":{ "type":"structure", @@ -2712,7 +2728,7 @@ }, "ConfigurationAliases":{ "shape":"ConfigurationAliasesResponse", - "documentation":"

        The player parameters and aliases used as dynamic variables during session initialization. For more information, see Domain Variables.

        " + "documentation":"

        The player parameters and aliases used as dynamic variables during session initialization. For more information, see Domain Variables.

        " }, "DashConfiguration":{ "shape":"DashConfiguration", @@ -2732,7 +2748,7 @@ }, "LogConfiguration":{ "shape":"LogConfiguration", - "documentation":"

        The Amazon CloudWatch log settings for a playback configuration.

        " + "documentation":"

        Defines where AWS Elemental MediaTailor sends logs for the playback configuration.

        " }, "ManifestProcessingRules":{ "shape":"ManifestProcessingRules", @@ -2774,6 +2790,10 @@ "VideoContentSourceUrl":{ "shape":"__string", "documentation":"

        The URL prefix for the parent manifest for the stream, minus the asset ID. The maximum length is 512 characters.

        " + }, + "AdConditioningConfiguration":{ + "shape":"AdConditioningConfiguration", + "documentation":"

        The setting that indicates what conditioning MediaTailor will perform on ads that the ad decision server (ADS) returns.

        " } }, "documentation":"

        A playback configuration. For information about MediaTailor configurations, see Working with configurations in AWS Elemental MediaTailor.

        " @@ -2799,7 +2819,7 @@ }, "StartTime":{ "shape":"__timestampUnix", - "documentation":"

        The time when prefetched ads are considered for use in an ad break. If you don't specify StartTime, the prefetched ads are available after MediaTailor retrives them from the ad decision server.

        " + "documentation":"

        The time when prefetched ads are considered for use in an ad break. If you don't specify StartTime, the prefetched ads are available after MediaTailor retrieves them from the ad decision server.

        " } }, "documentation":"

        A complex type that contains settings that determine how and when that MediaTailor places prefetched ads into upcoming ad breaks.

        " @@ -2906,7 +2926,7 @@ }, "ConfigurationAliases":{ "shape":"ConfigurationAliasesRequest", - "documentation":"

        The player parameters and aliases used as dynamic variables during session initialization. For more information, see Domain Variables.

        " + "documentation":"

        The player parameters and aliases used as dynamic variables during session initialization. For more information, see Domain Variables.

        " }, "DashConfiguration":{ "shape":"DashConfigurationForPut", @@ -2948,6 +2968,10 @@ "VideoContentSourceUrl":{ "shape":"__string", "documentation":"

        The URL prefix for the parent manifest for the stream, minus the asset ID. The maximum length is 512 characters.

        " + }, + "AdConditioningConfiguration":{ + "shape":"AdConditioningConfiguration", + "documentation":"

        The setting that indicates what conditioning MediaTailor will perform on ads that the ad decision server (ADS) returns.

        " } } }, @@ -2972,7 +2996,7 @@ }, "ConfigurationAliases":{ "shape":"ConfigurationAliasesResponse", - "documentation":"

        The player parameters and aliases used as dynamic variables during session initialization. For more information, see Domain Variables.

        " + "documentation":"

        The player parameters and aliases used as dynamic variables during session initialization. For more information, see Domain Variables.

        " }, "DashConfiguration":{ "shape":"DashConfiguration", @@ -2992,7 +3016,7 @@ }, "LogConfiguration":{ "shape":"LogConfiguration", - "documentation":"

        The Amazon CloudWatch log settings for a playback configuration.

        " + "documentation":"

        The configuration that defines where AWS Elemental MediaTailor sends logs for the playback configuration.

        " }, "ManifestProcessingRules":{ "shape":"ManifestProcessingRules", @@ -3034,6 +3058,10 @@ "VideoContentSourceUrl":{ "shape":"__string", "documentation":"

        The URL prefix for the parent manifest for the stream, minus the asset ID. The maximum length is 512 characters.

        " + }, + "AdConditioningConfiguration":{ + "shape":"AdConditioningConfiguration", + "documentation":"

        The setting that indicates what conditioning MediaTailor will perform on ads that the ad decision server (ADS) returns.

        " } } }, @@ -3136,13 +3164,13 @@ "type":"structure", "required":["Transition"], "members":{ - "ClipRange":{ - "shape":"ClipRange", - "documentation":"

        Program clip range configuration.

        " - }, "Transition":{ "shape":"Transition", "documentation":"

        Program transition configurations.

        " + }, + "ClipRange":{ + "shape":"ClipRange", + "documentation":"

        Program clip range configuration.

        " } }, "documentation":"

        Schedule configuration parameters. A channel must be stopped before changes can be made to the schedule.

        " @@ -3168,10 +3196,6 @@ "shape":"__string", "documentation":"

        The ARN of the program.

        " }, - "Audiences":{ - "shape":"Audiences", - "documentation":"

        The list of audiences defined in ScheduleEntry.

        " - }, "ChannelName":{ "shape":"__string", "documentation":"

        The name of the channel that uses this schedule.

        " @@ -3199,6 +3223,10 @@ "VodSourceName":{ "shape":"__string", "documentation":"

        The name of the VOD source.

        " + }, + "Audiences":{ + "shape":"Audiences", + "documentation":"

        The list of audiences defined in ScheduleEntry.

        " } }, "documentation":"

        The properties for a schedule.

        " @@ -3246,25 +3274,25 @@ "SegmentationDescriptor":{ "type":"structure", "members":{ - "SegmentNum":{ - "shape":"Integer", - "documentation":"

        The segment number to assign to the segmentation_descriptor.segment_num message, as defined in section 10.3.3.1 of the 2022 SCTE-35 specification Values must be between 0 and 256, inclusive. The default value is 0.

        " - }, "SegmentationEventId":{ "shape":"Integer", "documentation":"

        The Event Identifier to assign to the segmentation_descriptor.segmentation_event_id message, as defined in section 10.3.3.1 of the 2022 SCTE-35 specification. The default value is 1.

        " }, - "SegmentationTypeId":{ + "SegmentationUpidType":{ "shape":"Integer", - "documentation":"

        The Type Identifier to assign to the segmentation_descriptor.segmentation_type_id message, as defined in section 10.3.3.1 of the 2022 SCTE-35 specification. Values must be between 0 and 256, inclusive. The default value is 48.

        " + "documentation":"

        The Upid Type to assign to the segmentation_descriptor.segmentation_upid_type message, as defined in section 10.3.3.1 of the 2022 SCTE-35 specification. Values must be between 0 and 256, inclusive. The default value is 14.

        " }, "SegmentationUpid":{ "shape":"String", "documentation":"

        The Upid to assign to the segmentation_descriptor.segmentation_upid message, as defined in section 10.3.3.1 of the 2022 SCTE-35 specification. The value must be a hexadecimal string containing only the characters 0 though 9 and A through F. The default value is \"\" (an empty string).

        " }, - "SegmentationUpidType":{ + "SegmentationTypeId":{ "shape":"Integer", - "documentation":"

        The Upid Type to assign to the segmentation_descriptor.segmentation_upid_type message, as defined in section 10.3.3.1 of the 2022 SCTE-35 specification. Values must be between 0 and 256, inclusive. The default value is 14.

        " + "documentation":"

        The Type Identifier to assign to the segmentation_descriptor.segmentation_type_id message, as defined in section 10.3.3.1 of the 2022 SCTE-35 specification. Values must be between 0 and 256, inclusive. The default value is 48.

        " + }, + "SegmentNum":{ + "shape":"Integer", + "documentation":"

        The segment number to assign to the segmentation_descriptor.segment_num message, as defined in section 10.3.3.1 of the 2022 SCTE-35 specification Values must be between 0 and 256, inclusive. The default value is 0.

        " }, "SegmentsExpected":{ "shape":"Integer", @@ -3403,6 +3431,13 @@ "members":{ } }, + "StreamingMediaFileConditioning":{ + "type":"string", + "enum":[ + "TRANSCODE", + "NONE" + ] + }, "String":{"type":"string"}, "TagResourceRequest":{ "type":"structure", @@ -3517,10 +3552,6 @@ "Outputs" ], "members":{ - "Audiences":{ - "shape":"Audiences", - "documentation":"

        The list of audiences defined in channel.

        " - }, "ChannelName":{ "shape":"__string", "documentation":"

        The name of the channel.

        ", @@ -3538,6 +3569,10 @@ "TimeShiftConfiguration":{ "shape":"TimeShiftConfiguration", "documentation":"

        The time-shifted viewing configuration you want to associate to the channel.

        " + }, + "Audiences":{ + "shape":"Audiences", + "documentation":"

        The list of audiences defined in channel.

        " } } }, @@ -3548,10 +3583,6 @@ "shape":"__string", "documentation":"

        The Amazon Resource Name (ARN) associated with the channel.

        " }, - "Audiences":{ - "shape":"Audiences", - "documentation":"

        The list of audiences defined in channel.

        " - }, "ChannelName":{ "shape":"__string", "documentation":"

        The name of the channel.

        " @@ -3592,6 +3623,10 @@ "TimeShiftConfiguration":{ "shape":"TimeShiftConfiguration", "documentation":"

        The time-shifted viewing configuration for the channel.

        " + }, + "Audiences":{ + "shape":"Audiences", + "documentation":"

        The list of audiences defined in channel.

        " } } }, @@ -3667,10 +3702,6 @@ "shape":"__listOfAdBreak", "documentation":"

        The ad break configuration settings.

        " }, - "AudienceMedia":{ - "shape":"__listOfAudienceMedia", - "documentation":"

        The list of AudienceMedia defined in program.

        " - }, "ChannelName":{ "shape":"__string", "documentation":"

        The name of the channel for this Program.

        ", @@ -3686,6 +3717,10 @@ "ScheduleConfiguration":{ "shape":"UpdateProgramScheduleConfiguration", "documentation":"

        The schedule configuration settings.

        " + }, + "AudienceMedia":{ + "shape":"__listOfAudienceMedia", + "documentation":"

        The list of AudienceMedia defined in program.

        " } } }, @@ -3700,38 +3735,18 @@ "shape":"__string", "documentation":"

        The ARN to assign to the program.

        " }, - "AudienceMedia":{ - "shape":"__listOfAudienceMedia", - "documentation":"

        The list of AudienceMedia defined in program.

        " - }, "ChannelName":{ "shape":"__string", "documentation":"

        The name to assign to the channel for this program.

        " }, - "ClipRange":{ - "shape":"ClipRange", - "documentation":"

        The clip range configuration settings.

        " - }, "CreationTime":{ "shape":"__timestampUnix", "documentation":"

        The time the program was created.

        " }, - "DurationMillis":{ - "shape":"__long", - "documentation":"

        The duration of the live program in milliseconds.

        " - }, - "LiveSourceName":{ - "shape":"__string", - "documentation":"

        The name of the LiveSource for this Program.

        " - }, "ProgramName":{ "shape":"__string", "documentation":"

        The name to assign to this program.

        " }, - "ScheduledStartTime":{ - "shape":"__timestampUnix", - "documentation":"

        The scheduled start time for this Program.

        " - }, "SourceLocationName":{ "shape":"__string", "documentation":"

        The name to assign to the source location for this program.

        " @@ -3739,19 +3754,39 @@ "VodSourceName":{ "shape":"__string", "documentation":"

        The name that's used to refer to a VOD source.

        " + }, + "LiveSourceName":{ + "shape":"__string", + "documentation":"

        The name of the LiveSource for this Program.

        " + }, + "ClipRange":{ + "shape":"ClipRange", + "documentation":"

        The clip range configuration settings.

        " + }, + "DurationMillis":{ + "shape":"__long", + "documentation":"

        The duration of the live program in milliseconds.

        " + }, + "ScheduledStartTime":{ + "shape":"__timestampUnix", + "documentation":"

        The scheduled start time for this Program.

        " + }, + "AudienceMedia":{ + "shape":"__listOfAudienceMedia", + "documentation":"

        The list of AudienceMedia defined in program.

        " } } }, "UpdateProgramScheduleConfiguration":{ "type":"structure", "members":{ - "ClipRange":{ - "shape":"ClipRange", - "documentation":"

        Program clip range configuration.

        " - }, "Transition":{ "shape":"UpdateProgramTransition", "documentation":"

        Program transition configuration.

        " + }, + "ClipRange":{ + "shape":"ClipRange", + "documentation":"

        Program clip range configuration.

        " } }, "documentation":"

        Schedule configuration parameters.

        " @@ -3759,13 +3794,13 @@ "UpdateProgramTransition":{ "type":"structure", "members":{ - "DurationMillis":{ - "shape":"__long", - "documentation":"

        The duration of the live program in seconds.

        " - }, "ScheduledStartTimeMillis":{ "shape":"__long", "documentation":"

        The date and time that the program is scheduled to start, in epoch milliseconds.

        " + }, + "DurationMillis":{ + "shape":"__long", + "documentation":"

        The duration of the live program in seconds.

        " } }, "documentation":"

        Program transition configuration.

        " diff --git a/tools/code-generation/api-descriptions/qbusiness-2023-11-27.normal.json b/tools/code-generation/api-descriptions/qbusiness-2023-11-27.normal.json index da91069559d..c9a59aeb1dd 100644 --- a/tools/code-generation/api-descriptions/qbusiness-2023-11-27.normal.json +++ b/tools/code-generation/api-descriptions/qbusiness-2023-11-27.normal.json @@ -32,7 +32,7 @@ {"shape":"AccessDeniedException"}, {"shape":"ServiceQuotaExceededException"} ], - "documentation":"

        Adds or updates a permission policy for a Q Business application, allowing cross-account access for an ISV. This operation creates a new policy statement for the specified Q Business application. The policy statement defines the IAM actions that the ISV is allowed to perform on the Q Business application's resources.

        " + "documentation":"

        Adds or updates a permission policy for a Amazon Q Business application, allowing cross-account access for an ISV. This operation creates a new policy statement for the specified Amazon Q Business application. The policy statement defines the IAM actions that the ISV is allowed to perform on the Amazon Q Business application's resources.

        " }, "BatchDeleteDocument":{ "name":"BatchDeleteDocument", @@ -73,6 +73,25 @@ ], "documentation":"

        Adds one or more documents to an Amazon Q Business index.

        You use this API to:

        • ingest your structured and unstructured documents and documents stored in an Amazon S3 bucket into an Amazon Q Business index.

        • add custom attributes to documents in an Amazon Q Business index.

        • attach an access control list to the documents added to an Amazon Q Business index.

        You can see the progress of the deletion, and any error messages related to the process, by using CloudWatch.

        " }, + "CancelSubscription":{ + "name":"CancelSubscription", + "http":{ + "method":"DELETE", + "requestUri":"/applications/{applicationId}/subscriptions/{subscriptionId}", + "responseCode":200 + }, + "input":{"shape":"CancelSubscriptionRequest"}, + "output":{"shape":"CancelSubscriptionResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

        Unsubscribes a user or a group from their pricing tier in an Amazon Q Business application. An unsubscribed user or group loses all Amazon Q Business feature access at the start of next month.

        ", + "idempotent":true + }, "Chat":{ "name":"Chat", "http":{ @@ -154,7 +173,7 @@ {"shape":"AccessDeniedException"}, {"shape":"ServiceQuotaExceededException"} ], - "documentation":"

        Creates a new data accessor for an ISV to access data from a Q Business application. The data accessor is an entity that represents the ISV's access to the Q Business application's data. It includes the IAM role ARN for the ISV, a friendly name, and a set of action configurations that define the specific actions the ISV is allowed to perform and any associated data filters. When the data accessor is created, an AWS IAM Identity Center application is also created to manage the ISV's identity and authentication for accessing the Q Business application.

        ", + "documentation":"

        Creates a new data accessor for an ISV to access data from a Amazon Q Business application. The data accessor is an entity that represents the ISV's access to the Amazon Q Business application's data. It includes the IAM role ARN for the ISV, a friendly name, and a set of action configurations that define the specific actions the ISV is allowed to perform and any associated data filters. When the data accessor is created, an IAM Identity Center application is also created to manage the ISV's identity and authentication for accessing the Amazon Q Business application.

        ", "idempotent":true }, "CreateDataSource":{ @@ -239,6 +258,26 @@ ], "documentation":"

        Adds a retriever to your Amazon Q Business application.

        " }, + "CreateSubscription":{ + "name":"CreateSubscription", + "http":{ + "method":"POST", + "requestUri":"/applications/{applicationId}/subscriptions", + "responseCode":200 + }, + "input":{"shape":"CreateSubscriptionRequest"}, + "output":{"shape":"CreateSubscriptionResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"ConflictException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

        Subscribes an IAM Identity Center user or a group to a pricing tier for an Amazon Q Business application.

        Amazon Q Business offers two subscription tiers: Q_LITE and Q_BUSINESS. Subscription tier determines feature access for the user. For more information on subscriptions and pricing tiers, see Amazon Q Business pricing.

        ", + "idempotent":true + }, "CreateUser":{ "name":"CreateUser", "http":{ @@ -356,7 +395,7 @@ {"shape":"ValidationException"}, {"shape":"AccessDeniedException"} ], - "documentation":"

        Deletes a specified data accessor. This operation permanently removes the data accessor and its associated AWS IAM Identity Center application. Any access granted to the ISV through this data accessor will be revoked

        ", + "documentation":"

        Deletes a specified data accessor. This operation permanently removes the data accessor and its associated IAM Identity Center application. Any access granted to the ISV through this data accessor will be revoked.

        ", "idempotent":true }, "DeleteDataSource":{ @@ -516,7 +555,7 @@ {"shape":"ValidationException"}, {"shape":"AccessDeniedException"} ], - "documentation":"

        Removes a permission policy from a Q Business application, revoking the cross-account access that was previously granted to an ISV. This operation deletes the specified policy statement from the application's permission policy.

        ", + "documentation":"

        Removes a permission policy from a Amazon Q Business application, revoking the cross-account access that was previously granted to an ISV. This operation deletes the specified policy statement from the application's permission policy.

        ", "idempotent":true }, "GetApplication":{ @@ -571,7 +610,7 @@ {"shape":"ValidationException"}, {"shape":"AccessDeniedException"} ], - "documentation":"

        Retrieves information about a specified data accessor. This operation returns details about the data accessor, including its display name, unique identifier, Amazon Resource Name (ARN), the associated Q Business application and AWS IAM Identity Center application, the IAM role for the ISV, the action configurations, and the timestamps for when the data accessor was created and last updated.

        " + "documentation":"

        Retrieves information about a specified data accessor. This operation returns details about the data accessor, including its display name, unique identifier, Amazon Resource Name (ARN), the associated Amazon Q Business application and IAM Identity Center application, the IAM role for the ISV, the action configurations, and the timestamps for when the data accessor was created and last updated.

        " }, "GetDataSource":{ "name":"GetDataSource", @@ -682,7 +721,7 @@ {"shape":"ValidationException"}, {"shape":"AccessDeniedException"} ], - "documentation":"

        Retrieves the current permission policy for a Q Business application. The policy is returned as a JSON-formatted string and defines the IAM actions that are allowed or denied for the application's resources.

        " + "documentation":"

        Retrieves the current permission policy for a Amazon Q Business application. The policy is returned as a JSON-formatted string and defines the IAM actions that are allowed or denied for the application's resources.

        " }, "GetRetriever":{ "name":"GetRetriever", @@ -810,7 +849,7 @@ {"shape":"ValidationException"}, {"shape":"AccessDeniedException"} ], - "documentation":"

        Lists the data accessors for a Q Business application. This operation returns a paginated list of data accessor summaries, including the friendly name, unique identifier, ARN, associated IAM role, and creation/update timestamps for each data accessor.

        " + "documentation":"

        Lists the data accessors for a Amazon Q Business application. This operation returns a paginated list of data accessor summaries, including the friendly name, unique identifier, ARN, associated IAM role, and creation/update timestamps for each data accessor.

        " }, "ListDataSourceSyncJobs":{ "name":"ListDataSourceSyncJobs", @@ -1011,6 +1050,25 @@ ], "documentation":"

        Lists the retriever used by an Amazon Q Business application.

        " }, + "ListSubscriptions":{ + "name":"ListSubscriptions", + "http":{ + "method":"GET", + "requestUri":"/applications/{applicationId}/subscriptions", + "responseCode":200 + }, + "input":{"shape":"ListSubscriptionsRequest"}, + "output":{"shape":"ListSubscriptionsResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"ConflictException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

        Lists all subscriptions created in an Amazon Q Business application.

        " + }, "ListTagsForResource":{ "name":"ListTagsForResource", "http":{ @@ -1082,7 +1140,7 @@ {"shape":"AccessDeniedException"}, {"shape":"ServiceQuotaExceededException"} ], - "documentation":"

        Create, or updates, a mapping of users—who have access to a document—to groups.

        You can also map sub groups to groups. For example, the group \"Company Intellectual Property Teams\" includes sub groups \"Research\" and \"Engineering\". These sub groups include their own list of users or people who work in these teams. Only users who work in research and engineering, and therefore belong in the intellectual property group, can see top-secret company documents in their Amazon Q Business chat results.

        ", + "documentation":"

        Create, or updates, a mapping of users—who have access to a document—to groups.

        You can also map sub groups to groups. For example, the group \"Company Intellectual Property Teams\" includes sub groups \"Research\" and \"Engineering\". These sub groups include their own list of users or people who work in these teams. Only users who work in research and engineering, and therefore belong in the intellectual property group, can see top-secret company documents in their Amazon Q Business chat results.

        There are two options for creating groups, either passing group members inline or using an S3 file via the S3PathForGroupMembers field. For inline groups, there is a limit of 1000 members per group and for provided S3 files there is a limit of 100 thousand members. When creating a group using an S3 file, you provide both an S3 file and a RoleArn for Amazon Q Buisness to access the file.

        ", "idempotent":true }, "SearchRelevantContent":{ @@ -1102,7 +1160,7 @@ {"shape":"ValidationException"}, {"shape":"AccessDeniedException"} ], - "documentation":"

        Searches for relevant content in a Q Business application based on a query. This operation takes a search query text, the Q Business application identifier, and optional filters (such as content source and maximum results) as input. It returns a list of relevant content items, where each item includes the content text, the unique document identifier, the document title, the document URI, any relevant document attributes, and score attributes indicating the confidence level of the relevance.

        " + "documentation":"

        Searches for relevant content in a Amazon Q Business application based on a query. This operation takes a search query text, the Amazon Q Business application identifier, and optional filters (such as content source and maximum results) as input. It returns a list of relevant content items, where each item includes the content text, the unique document identifier, the document title, the document URI, any relevant document attributes, and score attributes indicating the confidence level of the relevance.

        " }, "StartDataSourceSyncJob":{ "name":"StartDataSourceSyncJob", @@ -1326,6 +1384,26 @@ "documentation":"

        Updates the retriever used for your Amazon Q Business application.

        ", "idempotent":true }, + "UpdateSubscription":{ + "name":"UpdateSubscription", + "http":{ + "method":"PUT", + "requestUri":"/applications/{applicationId}/subscriptions/{subscriptionId}", + "responseCode":200 + }, + "input":{"shape":"UpdateSubscriptionRequest"}, + "output":{"shape":"UpdateSubscriptionResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"ConflictException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

        Updates the pricing tier for an Amazon Q Business subscription. Upgrades are instant. Downgrades apply at the start of the next month. Subscription tier determines feature access for the user. For more information on subscriptions and pricing tiers, see Amazon Q Business pricing.

        ", + "idempotent":true + }, "UpdateUser":{ "name":"UpdateUser", "http":{ @@ -1440,7 +1518,7 @@ "members":{ "action":{ "shape":"QIamAction", - "documentation":"

        The Q Business action that is allowed.

        " + "documentation":"

        The Amazon Q Business action that is allowed.

        " }, "filterConfiguration":{ "shape":"ActionFilterConfiguration", @@ -1807,7 +1885,7 @@ "members":{ "applicationId":{ "shape":"ApplicationId", - "documentation":"

        The unique identifier of the Q Business application.

        ", + "documentation":"

        The unique identifier of the Amazon Q Business application.

        ", "location":"uri", "locationName":"applicationId" }, @@ -1817,11 +1895,11 @@ }, "actions":{ "shape":"QIamActions", - "documentation":"

        The list of Q Business actions that the ISV is allowed to perform.

        " + "documentation":"

        The list of Amazon Q Business actions that the ISV is allowed to perform.

        " }, "principal":{ "shape":"PrincipalRoleArn", - "documentation":"

        The Amazon Resource Name (ARN) of the IAM role for the ISV that is being granted permission.

        " + "documentation":"

        The Amazon Resource Name of the IAM role for the ISV that is being granted permission.

        " } } }, @@ -2303,6 +2381,44 @@ "max":2, "min":0 }, + "CancelSubscriptionRequest":{ + "type":"structure", + "required":[ + "applicationId", + "subscriptionId" + ], + "members":{ + "applicationId":{ + "shape":"ApplicationId", + "documentation":"

        The identifier of the Amazon Q Business application for which the subscription is being cancelled.

        ", + "location":"uri", + "locationName":"applicationId" + }, + "subscriptionId":{ + "shape":"SubscriptionId", + "documentation":"

        The identifier of the Amazon Q Business subscription being cancelled.

        ", + "location":"uri", + "locationName":"subscriptionId" + } + } + }, + "CancelSubscriptionResponse":{ + "type":"structure", + "members":{ + "subscriptionArn":{ + "shape":"SubscriptionArn", + "documentation":"

        The Amazon Resource Name (ARN) of the Amazon Q Business subscription being cancelled.

        " + }, + "currentSubscription":{ + "shape":"SubscriptionDetails", + "documentation":"

        The type of your current Amazon Q Business subscription.

        " + }, + "nextSubscription":{ + "shape":"SubscriptionDetails", + "documentation":"

        The type of the Amazon Q Business subscription for the next month.

        " + } + } + }, "ChatInput":{ "type":"structure", "required":["applicationId"], @@ -2795,7 +2911,7 @@ "members":{ "applicationId":{ "shape":"ApplicationId", - "documentation":"

        The unique identifier of the Q Business application.

        ", + "documentation":"

        The unique identifier of the Amazon Q Business application.

        ", "location":"uri", "locationName":"applicationId" }, @@ -2836,7 +2952,7 @@ }, "idcApplicationArn":{ "shape":"IdcApplicationArn", - "documentation":"

        The Amazon Resource Name (ARN) of the AWS IAM Identity Center application created for this data accessor.

        " + "documentation":"

        The Amazon Resource Name (ARN) of the IAM Identity Center application created for this data accessor.

        " }, "dataAccessorArn":{ "shape":"DataAccessorArn", @@ -3083,6 +3199,56 @@ } } }, + "CreateSubscriptionRequest":{ + "type":"structure", + "required":[ + "applicationId", + "principal", + "type" + ], + "members":{ + "applicationId":{ + "shape":"ApplicationId", + "documentation":"

        The identifier of the Amazon Q Business application the subscription should be added to.

        ", + "location":"uri", + "locationName":"applicationId" + }, + "principal":{ + "shape":"SubscriptionPrincipal", + "documentation":"

        The IAM Identity Center UserId or GroupId of a user or group in the IAM Identity Center instance connected to the Amazon Q Business application.

        " + }, + "type":{ + "shape":"SubscriptionType", + "documentation":"

        The type of Amazon Q Business subscription you want to create.

        " + }, + "clientToken":{ + "shape":"ClientToken", + "documentation":"

        A token that you provide to identify the request to create a subscription for your Amazon Q Business application.

        ", + "idempotencyToken":true + } + } + }, + "CreateSubscriptionResponse":{ + "type":"structure", + "members":{ + "subscriptionId":{ + "shape":"SubscriptionId", + "documentation":"

        The identifier of the Amazon Q Business subscription created.

        " + }, + "subscriptionArn":{ + "shape":"SubscriptionArn", + "documentation":"

        The Amazon Resource Name (ARN) of the Amazon Q Business subscription created.

        " + }, + "currentSubscription":{ + "shape":"SubscriptionDetails", + "documentation":"

        The type of your current Amazon Q Business subscription.

        " + }, + "nextSubscription":{ + "shape":"SubscriptionDetails", + "documentation":"

        The type of the Amazon Q Business subscription for the next month.

        " + } + } + }, "CreateUserRequest":{ "type":"structure", "required":[ @@ -3278,7 +3444,7 @@ }, "idcApplicationArn":{ "shape":"IdcApplicationArn", - "documentation":"

        The Amazon Resource Name (ARN) of the associated AWS IAM Identity Center application.

        " + "documentation":"

        The Amazon Resource Name (ARN) of the associated IAM Identity Center application.

        " }, "principal":{ "shape":"PrincipalRoleArn", @@ -3584,7 +3750,7 @@ "members":{ "applicationId":{ "shape":"ApplicationId", - "documentation":"

        The unique identifier of the Q Business application.

        ", + "documentation":"

        The unique identifier of the Amazon Q Business application.

        ", "location":"uri", "locationName":"applicationId" }, @@ -3833,7 +3999,7 @@ "members":{ "applicationId":{ "shape":"ApplicationId", - "documentation":"

        The unique identifier of the Q Business application.

        ", + "documentation":"

        The unique identifier of the Amazon Q Business application.

        ", "location":"uri", "locationName":"applicationId" }, @@ -4459,7 +4625,7 @@ "members":{ "applicationId":{ "shape":"ApplicationId", - "documentation":"

        The unique identifier of the Q Business application.

        ", + "documentation":"

        The unique identifier of the Amazon Q Business application.

        ", "location":"uri", "locationName":"applicationId" }, @@ -4488,11 +4654,11 @@ }, "applicationId":{ "shape":"ApplicationId", - "documentation":"

        The unique identifier of the Q Business application associated with this data accessor.

        " + "documentation":"

        The unique identifier of the Amazon Q Business application associated with this data accessor.

        " }, "idcApplicationArn":{ "shape":"IdcApplicationArn", - "documentation":"

        The Amazon Resource Name (ARN) of the AWS IAM Identity Center application associated with this data accessor.

        " + "documentation":"

        The Amazon Resource Name (ARN) of the IAM Identity Center application associated with this data accessor.

        " }, "principal":{ "shape":"PrincipalRoleArn", @@ -4860,7 +5026,7 @@ "members":{ "applicationId":{ "shape":"ApplicationId", - "documentation":"

        The unique identifier of the Q Business application.

        ", + "documentation":"

        The unique identifier of the Amazon Q Business application.

        ", "location":"uri", "locationName":"applicationId" } @@ -5068,6 +5234,12 @@ } } }, + "GroupIdentifier":{ + "type":"string", + "max":47, + "min":1, + "pattern":"([0-9a-f]{10}-|)[A-Fa-f0-9]{8}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{12}" + }, "GroupMembers":{ "type":"structure", "members":{ @@ -5532,7 +5704,7 @@ "members":{ "applicationId":{ "shape":"ApplicationId", - "documentation":"

        The unique identifier of the Q Business application.

        ", + "documentation":"

        The unique identifier of the Amazon Q Business application.

        ", "location":"uri", "locationName":"applicationId" }, @@ -6071,6 +6243,43 @@ } } }, + "ListSubscriptionsRequest":{ + "type":"structure", + "required":["applicationId"], + "members":{ + "applicationId":{ + "shape":"ApplicationId", + "documentation":"

        The identifier of the Amazon Q Business application linked to the subscription.

        ", + "location":"uri", + "locationName":"applicationId" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

        If the maxResults response was incomplete because there is more data to retrieve, Amazon Q Business returns a pagination token in the response. You can use this pagination token to retrieve the next set of Amazon Q Business subscriptions.

        ", + "location":"querystring", + "locationName":"nextToken" + }, + "maxResults":{ + "shape":"MaxResultsIntegerForListSubscriptions", + "documentation":"

        The maximum number of Amazon Q Business subscriptions to return.

        ", + "location":"querystring", + "locationName":"maxResults" + } + } + }, + "ListSubscriptionsResponse":{ + "type":"structure", + "members":{ + "nextToken":{ + "shape":"NextToken", + "documentation":"

        If the response is truncated, Amazon Q Business returns this token. You can use this token in a subsequent request to retrieve the next set of subscriptions.

        " + }, + "subscriptions":{ + "shape":"Subscriptions", + "documentation":"

        An array of summary information on the subscriptions configured for an Amazon Q Business application.

        " + } + } + }, "ListTagsForResourceRequest":{ "type":"structure", "required":["resourceARN"], @@ -6239,6 +6448,12 @@ "max":50, "min":1 }, + "MaxResultsIntegerForListSubscriptions":{ + "type":"integer", + "box":true, + "max":100, + "min":1 + }, "MaxResultsIntegerForListWebExperiencesRequest":{ "type":"integer", "box":true, @@ -6903,7 +7118,7 @@ "groupMembers":{"shape":"GroupMembers"}, "roleArn":{ "shape":"RoleArn", - "documentation":"

        The Amazon Resource Name (ARN) of an IAM role that has access to the S3 file that contains your list of users that belong to a group.The Amazon Resource Name (ARN) of an IAM role that has access to the S3 file that contains your list of users that belong to a group.

        " + "documentation":"

        The Amazon Resource Name (ARN) of an IAM role that has access to the S3 file that contains your list of users that belong to a group.

        " } } }, @@ -7285,7 +7500,7 @@ "members":{ "applicationId":{ "shape":"ApplicationId", - "documentation":"

        The unique identifier of the Q Business application to search.

        ", + "documentation":"

        The unique identifier of the Amazon Q Business application to search.

        ", "location":"uri", "locationName":"applicationId" }, @@ -7558,6 +7773,68 @@ "type":"list", "member":{"shape":"SubnetId"} }, + "Subscription":{ + "type":"structure", + "members":{ + "subscriptionId":{ + "shape":"SubscriptionId", + "documentation":"

        The identifier of the Amazon Q Business subscription to be updated.

        " + }, + "subscriptionArn":{ + "shape":"SubscriptionArn", + "documentation":"

        The Amazon Resource Name (ARN) of the Amazon Q Business subscription that was updated.

        " + }, + "principal":{ + "shape":"SubscriptionPrincipal", + "documentation":"

        The IAM Identity Center UserId or GroupId of a user or group in the IAM Identity Center instance connected to the Amazon Q Business application.

        " + }, + "currentSubscription":{ + "shape":"SubscriptionDetails", + "documentation":"

        The type of your current Amazon Q Business subscription.

        " + }, + "nextSubscription":{ + "shape":"SubscriptionDetails", + "documentation":"

        The type of the Amazon Q Business subscription for the next month.

        " + } + }, + "documentation":"

        Information about an Amazon Q Business subscription.

        Subscriptions are used to provide access for an IAM Identity Center user or a group to an Amazon Q Business application.

        Amazon Q Business offers two subscription tiers: Q_LITE and Q_BUSINESS. Subscription tier determines feature access for the user. For more information on subscriptions and pricing tiers, see Amazon Q Business pricing.

        " + }, + "SubscriptionArn":{ + "type":"string", + "max":1224, + "min":10, + "pattern":"arn:[a-z0-9-\\.]{1,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[^/].{0,1023}" + }, + "SubscriptionDetails":{ + "type":"structure", + "members":{ + "type":{ + "shape":"SubscriptionType", + "documentation":"

        The type of an Amazon Q Business subscription.

        " + } + }, + "documentation":"

        The details of an Amazon Q Business subscription.

        " + }, + "SubscriptionId":{ + "type":"string", + "max":1224, + "min":0 + }, + "SubscriptionPrincipal":{ + "type":"structure", + "members":{ + "user":{ + "shape":"UserIdentifier", + "documentation":"

        The identifier of a user in the IAM Identity Center instance connected to the Amazon Q Business application.

        " + }, + "group":{ + "shape":"GroupIdentifier", + "documentation":"

        The identifier of a group in the IAM Identity Center instance connected to the Amazon Q Business application.

        " + } + }, + "documentation":"

        A user or group in the IAM Identity Center instance connected to the Amazon Q Business application.

        ", + "union":true + }, "SubscriptionType":{ "type":"string", "enum":[ @@ -7565,6 +7842,10 @@ "Q_BUSINESS" ] }, + "Subscriptions":{ + "type":"list", + "member":{"shape":"Subscription"} + }, "SyncSchedule":{ "type":"string", "max":998, @@ -7916,7 +8197,7 @@ "members":{ "applicationId":{ "shape":"ApplicationId", - "documentation":"

        The unique identifier of the Q Business application.

        ", + "documentation":"

        The unique identifier of the Amazon Q Business application.

        ", "location":"uri", "locationName":"applicationId" }, @@ -8120,6 +8401,49 @@ "members":{ } }, + "UpdateSubscriptionRequest":{ + "type":"structure", + "required":[ + "applicationId", + "subscriptionId", + "type" + ], + "members":{ + "applicationId":{ + "shape":"ApplicationId", + "documentation":"

        The identifier of the Amazon Q Business application where the subscription update should take effect.

        ", + "location":"uri", + "locationName":"applicationId" + }, + "subscriptionId":{ + "shape":"SubscriptionId", + "documentation":"

        The identifier of the Amazon Q Business subscription to be updated.

        ", + "location":"uri", + "locationName":"subscriptionId" + }, + "type":{ + "shape":"SubscriptionType", + "documentation":"

        The type of the Amazon Q Business subscription to be updated.

        " + } + } + }, + "UpdateSubscriptionResponse":{ + "type":"structure", + "members":{ + "subscriptionArn":{ + "shape":"SubscriptionArn", + "documentation":"

        The Amazon Resource Name (ARN) of the Amazon Q Business subscription that was updated.

        " + }, + "currentSubscription":{ + "shape":"SubscriptionDetails", + "documentation":"

        The type of your current Amazon Q Business subscription.

        " + }, + "nextSubscription":{ + "shape":"SubscriptionDetails", + "documentation":"

        The type of the Amazon Q Business subscription for the next month.

        " + } + } + }, "UpdateUserRequest":{ "type":"structure", "required":[ @@ -8273,6 +8597,12 @@ "min":1, "pattern":"\\P{C}*" }, + "UserIdentifier":{ + "type":"string", + "max":47, + "min":1, + "pattern":"([0-9a-f]{10}-|)[A-Fa-f0-9]{8}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{12}" + }, "UserIds":{ "type":"list", "member":{"shape":"String"} diff --git a/tools/code-generation/api-descriptions/s3-2006-03-01.normal.json b/tools/code-generation/api-descriptions/s3-2006-03-01.normal.json index 669fe1e1392..3ac1958d3f7 100644 --- a/tools/code-generation/api-descriptions/s3-2006-03-01.normal.json +++ b/tools/code-generation/api-descriptions/s3-2006-03-01.normal.json @@ -7934,7 +7934,7 @@ "box":true }, "MissingMeta":{"type":"integer"}, - "MpuObjectSize":{"type":"integer"}, + "MpuObjectSize":{"type":"long"}, "MultipartUpload":{ "type":"structure", "members":{ diff --git a/tools/code-generation/api-descriptions/s3control-2018-08-20.normal.json b/tools/code-generation/api-descriptions/s3control-2018-08-20.normal.json index f7f41266127..a234cfc2990 100755 --- a/tools/code-generation/api-descriptions/s3control-2018-08-20.normal.json +++ b/tools/code-generation/api-descriptions/s3control-2018-08-20.normal.json @@ -3380,7 +3380,7 @@ "type":"string", "max":1024, "min":1, - "pattern":"(arn:(aws[a-zA-Z-]*)?:lambda:)?([a-z]{2}((-gov)|(-iso(b?)))?-[a-z]+-\\d{1}:)?(\\d{12}:)?(function:)?([a-zA-Z0-9-_]+)(:(\\$LATEST|[a-zA-Z0-9-_]+))?" + "pattern":"(arn:(aws[a-zA-Z-]*)?:lambda:)?([a-z]{2}((-gov)|(-iso([a-z]?)))?-[a-z]+-\\d{1}:)?(\\d{12}:)?(function:)?([a-zA-Z0-9-_]+)(:(\\$LATEST|[a-zA-Z0-9-_]+))?" }, "GeneratedManifestEncryption":{ "type":"structure", @@ -5102,7 +5102,7 @@ }, "ExpiredObjectDeleteMarker":{ "shape":"ExpiredObjectDeleteMarker", - "documentation":"

        Indicates whether Amazon S3 will remove a delete marker with no noncurrent versions. If set to true, the delete marker will be expired. If set to false, the policy takes no action. This cannot be specified with Days or Date in a Lifecycle Expiration Policy.

        " + "documentation":"

        Indicates whether Amazon S3 will remove a delete marker with no noncurrent versions. If set to true, the delete marker will be expired. If set to false, the policy takes no action. This cannot be specified with Days or Date in a Lifecycle Expiration Policy. To learn more about delete markers, see Working with delete markers.

        " } }, "documentation":"

        The container of the Outposts bucket lifecycle expiration.

        " @@ -7408,7 +7408,7 @@ "members":{ "TargetResource":{ "shape":"S3RegionalOrS3ExpressBucketArnString", - "documentation":"

        Specifies the destination bucket Amazon Resource Name (ARN) for the batch copy operation.

        • General purpose buckets - For example, to copy objects to a general purpose bucket named destinationBucket, set the TargetResource property to arn:aws:s3:::destinationBucket.

        • Directory buckets - For example, to copy objects to a directory bucket named destinationBucket in the Availability Zone; identified by the AZ ID usw2-az1, set the TargetResource property to arn:aws:s3express:region:account_id:/bucket/destination_bucket_base_name--usw2-az1--x-s3.

        " + "documentation":"

        Specifies the destination bucket Amazon Resource Name (ARN) for the batch copy operation.

        • General purpose buckets - For example, to copy objects to a general purpose bucket named destinationBucket, set the TargetResource property to arn:aws:s3:::destinationBucket.

        • Directory buckets - For example, to copy objects to a directory bucket named destinationBucket in the Availability Zone identified by the AZ ID usw2-az1, set the TargetResource property to arn:aws:s3express:region:account_id:/bucket/destination_bucket_base_name--usw2-az1--x-s3. A directory bucket as a destination bucket can be in Availability Zone or Local Zone.

          Copying objects across different Amazon Web Services Regions isn't supported when the source or destination bucket is in Amazon Web Services Local Zones. The source and destination buckets must have the same parent Amazon Web Services Region. Otherwise, you get an HTTP 400 Bad Request error with the error code InvalidRequest.

        " }, "CannedAccessControlList":{ "shape":"S3CannedAccessControlList", diff --git a/tools/code-generation/api-descriptions/s3tables-2018-05-10.normal.json b/tools/code-generation/api-descriptions/s3tables-2018-05-10.normal.json index 441889a7dd6..fb894ec07fe 100644 --- a/tools/code-generation/api-descriptions/s3tables-2018-05-10.normal.json +++ b/tools/code-generation/api-descriptions/s3tables-2018-05-10.normal.json @@ -30,7 +30,7 @@ {"shape":"ConflictException"}, {"shape":"BadRequestException"} ], - "documentation":"

        Creates a namespace. A namespace is a logical grouping of tables within your table bucket, which you can use to organize tables. For more information, see Table namespaces.

        " + "documentation":"

        Creates a namespace. A namespace is a logical grouping of tables within your table bucket, which you can use to organize tables. For more information, see Create a namespace in the Amazon Simple Storage Service User Guide.

        Permissions

        You must have the s3tables:CreateNamespace permission to use this operation.

        " }, "CreateTable":{ "name":"CreateTable", @@ -49,7 +49,7 @@ {"shape":"ConflictException"}, {"shape":"BadRequestException"} ], - "documentation":"

        Creates a new table associated with the given namespace in a table bucket.

        " + "documentation":"

        Creates a new table associated with the given namespace in a table bucket. For more information, see Creating an Amazon S3 table in the Amazon Simple Storage Service User Guide.

        Permissions

        You must have the s3tables:CreateTable permission to use this operation.

        Additionally, you must have the s3tables:PutTableData permission to use this operation with the optional metadata request parameter.

        " }, "CreateTableBucket":{ "name":"CreateTableBucket", @@ -68,7 +68,7 @@ {"shape":"ConflictException"}, {"shape":"BadRequestException"} ], - "documentation":"

        Creates a table bucket.

        " + "documentation":"

        Creates a table bucket. For more information, see Creating a table bucket in the Amazon Simple Storage Service User Guide.

        Permissions

        You must have the s3tables:CreateTableBucket permission to use this operation.

        " }, "DeleteNamespace":{ "name":"DeleteNamespace", @@ -86,7 +86,7 @@ {"shape":"ConflictException"}, {"shape":"BadRequestException"} ], - "documentation":"

        Deletes a namespace.

        ", + "documentation":"

        Deletes a namespace. For more information, see Delete a namespace in the Amazon Simple Storage Service User Guide.

        Permissions

        You must have the s3tables:DeleteNamespace permission to use this operation.

        ", "idempotent":true }, "DeleteTable":{ @@ -105,7 +105,7 @@ {"shape":"ConflictException"}, {"shape":"BadRequestException"} ], - "documentation":"

        Deletes a table.

        ", + "documentation":"

        Deletes a table. For more information, see Deleting an Amazon S3 table in the Amazon Simple Storage Service User Guide.

        Permissions

        You must have the s3tables:DeleteTable permission to use this operation.

        ", "idempotent":true }, "DeleteTableBucket":{ @@ -124,7 +124,7 @@ {"shape":"ConflictException"}, {"shape":"BadRequestException"} ], - "documentation":"

        Deletes a table bucket.

        ", + "documentation":"

        Deletes a table bucket. For more information, see Deleting a table bucket in the Amazon Simple Storage Service User Guide.

        Permissions

        You must have the s3tables:DeleteTableBucket permission to use this operation.

        ", "idempotent":true }, "DeleteTableBucketPolicy":{ @@ -143,7 +143,7 @@ {"shape":"ConflictException"}, {"shape":"BadRequestException"} ], - "documentation":"

        Deletes a table bucket policy.

        ", + "documentation":"

        Deletes a table bucket policy. For more information, see Deleting a table bucket policy in the Amazon Simple Storage Service User Guide.

        Permissions

        You must have the s3tables:DeleteTableBucketPolicy permission to use this operation.

        ", "idempotent":true }, "DeleteTablePolicy":{ @@ -162,7 +162,7 @@ {"shape":"ConflictException"}, {"shape":"BadRequestException"} ], - "documentation":"

        Deletes a table policy.

        ", + "documentation":"

        Deletes a table policy. For more information, see Deleting a table policy in the Amazon Simple Storage Service User Guide.

        Permissions

        You must have the s3tables:DeleteTablePolicy permission to use this operation.

        ", "idempotent":true }, "GetNamespace":{ @@ -183,7 +183,7 @@ {"shape":"ConflictException"}, {"shape":"BadRequestException"} ], - "documentation":"

        Gets details about a namespace.

        " + "documentation":"

        Gets details about a namespace. For more information, see Table namespaces in the Amazon Simple Storage Service User Guide.

        Permissions

        You must have the s3tables:GetNamespace permission to use this operation.

        " }, "GetTable":{ "name":"GetTable", @@ -203,7 +203,7 @@ {"shape":"ConflictException"}, {"shape":"BadRequestException"} ], - "documentation":"

        Gets details about a table.

        " + "documentation":"

        Gets details about a table. For more information, see S3 Tables in the Amazon Simple Storage Service User Guide.

        Permissions

        You must have the s3tables:GetTable permission to use this operation.

        " }, "GetTableBucket":{ "name":"GetTableBucket", @@ -223,7 +223,7 @@ {"shape":"ConflictException"}, {"shape":"BadRequestException"} ], - "documentation":"

        Gets details on a table bucket.

        " + "documentation":"

        Gets details on a table bucket. For more information, see Viewing details about an Amazon S3 table bucket in the Amazon Simple Storage Service User Guide.

        Permissions

        You must have the s3tables:GetTableBucket permission to use this operation.

        " }, "GetTableBucketMaintenanceConfiguration":{ "name":"GetTableBucketMaintenanceConfiguration", @@ -242,7 +242,7 @@ {"shape":"ConflictException"}, {"shape":"BadRequestException"} ], - "documentation":"

        Gets details about a maintenance configuration for a given table bucket.

        " + "documentation":"

        Gets details about a maintenance configuration for a given table bucket. For more information, see Amazon S3 table bucket maintenance in the Amazon Simple Storage Service User Guide.

        Permissions

        You must have the s3tables:GetTableBucketMaintenanceConfiguration permission to use this operation.

        " }, "GetTableBucketPolicy":{ "name":"GetTableBucketPolicy", @@ -261,7 +261,7 @@ {"shape":"ConflictException"}, {"shape":"BadRequestException"} ], - "documentation":"

        Gets details about a table bucket policy.

        " + "documentation":"

        Gets details about a table bucket policy. For more information, see Viewing a table bucket policy in the Amazon Simple Storage Service User Guide.

        Permissions

        You must have the s3tables:GetTableBucketPolicy permission to use this operation.

        " }, "GetTableMaintenanceConfiguration":{ "name":"GetTableMaintenanceConfiguration", @@ -280,7 +280,7 @@ {"shape":"ConflictException"}, {"shape":"BadRequestException"} ], - "documentation":"

        Gets details about the maintenance configuration of a table.

        " + "documentation":"

        Gets details about the maintenance configuration of a table. For more information, see S3 Tables maintenance in the Amazon Simple Storage Service User Guide.

        Permissions

        You must have the s3tables:GetTableMaintenanceConfiguration permission to use this operation.

        " }, "GetTableMaintenanceJobStatus":{ "name":"GetTableMaintenanceJobStatus", @@ -299,7 +299,7 @@ {"shape":"ConflictException"}, {"shape":"BadRequestException"} ], - "documentation":"

        Gets the status of a maintenance job for a table.

        " + "documentation":"

        Gets the status of a maintenance job for a table. For more information, see S3 Tables maintenance in the Amazon Simple Storage Service User Guide.

        Permissions

        You must have the s3tables:GetTableMaintenanceJobStatus permission to use this operation.

        " }, "GetTableMetadataLocation":{ "name":"GetTableMetadataLocation", @@ -318,7 +318,7 @@ {"shape":"ConflictException"}, {"shape":"BadRequestException"} ], - "documentation":"

        Gets the location of the table metadata.

        " + "documentation":"

        Gets the location of the table metadata.

        Permissions

        You must have the s3tables:GetTableMetadataLocation permission to use this operation.

        " }, "GetTablePolicy":{ "name":"GetTablePolicy", @@ -337,7 +337,7 @@ {"shape":"ConflictException"}, {"shape":"BadRequestException"} ], - "documentation":"

        Gets details about a table policy.

        " + "documentation":"

        Gets details about a table policy. For more information, see Viewing a table policy in the Amazon Simple Storage Service User Guide.

        Permissions

        You must have the s3tables:GetTablePolicy permission to use this operation.

        " }, "ListNamespaces":{ "name":"ListNamespaces", @@ -357,7 +357,7 @@ {"shape":"ConflictException"}, {"shape":"BadRequestException"} ], - "documentation":"

        Lists the namespaces within a table bucket.

        " + "documentation":"

        Lists the namespaces within a table bucket. For more information, see Table namespaces in the Amazon Simple Storage Service User Guide.

        Permissions

        You must have the s3tables:ListNamespaces permission to use this operation.

        " }, "ListTableBuckets":{ "name":"ListTableBuckets", @@ -377,7 +377,7 @@ {"shape":"ConflictException"}, {"shape":"BadRequestException"} ], - "documentation":"

        Lists table buckets for your account.

        " + "documentation":"

        Lists table buckets for your account. For more information, see S3 Table buckets in the Amazon Simple Storage Service User Guide.

        Permissions

        You must have the s3tables:ListTableBuckets permission to use this operation.

        " }, "ListTables":{ "name":"ListTables", @@ -396,7 +396,7 @@ {"shape":"ConflictException"}, {"shape":"BadRequestException"} ], - "documentation":"

        List tables in the given table bucket.

        " + "documentation":"

        List tables in the given table bucket. For more information, see S3 Tables in the Amazon Simple Storage Service User Guide.

        Permissions

        You must have the s3tables:ListTables permission to use this operation.

        " }, "PutTableBucketMaintenanceConfiguration":{ "name":"PutTableBucketMaintenanceConfiguration", @@ -414,7 +414,7 @@ {"shape":"ConflictException"}, {"shape":"BadRequestException"} ], - "documentation":"

        Creates a new maintenance configuration or replaces an existing maintenance configuration for a table bucket.

        " + "documentation":"

        Creates a new maintenance configuration or replaces an existing maintenance configuration for a table bucket. For more information, see Amazon S3 table bucket maintenance in the Amazon Simple Storage Service User Guide.

        Permissions

        You must have the s3tables:PutTableBucketMaintenanceConfiguration permission to use this operation.

        " }, "PutTableBucketPolicy":{ "name":"PutTableBucketPolicy", @@ -432,7 +432,7 @@ {"shape":"ConflictException"}, {"shape":"BadRequestException"} ], - "documentation":"

        Creates a new maintenance configuration or replaces an existing table bucket policy for a table bucket.

        ", + "documentation":"

        Creates a new maintenance configuration or replaces an existing table bucket policy for a table bucket. For more information, see Adding a table bucket policy in the Amazon Simple Storage Service User Guide.

        Permissions

        You must have the s3tables:PutTableBucketPolicy permission to use this operation.

        ", "idempotent":true }, "PutTableMaintenanceConfiguration":{ @@ -451,7 +451,7 @@ {"shape":"ConflictException"}, {"shape":"BadRequestException"} ], - "documentation":"

        Creates a new maintenance configuration or replaces an existing maintenance configuration for a table.

        " + "documentation":"

        Creates a new maintenance configuration or replaces an existing maintenance configuration for a table. For more information, see S3 Tables maintenance in the Amazon Simple Storage Service User Guide.

        Permissions

        You must have the s3tables:PutTableMaintenanceConfiguration permission to use this operation.

        " }, "PutTablePolicy":{ "name":"PutTablePolicy", @@ -469,7 +469,7 @@ {"shape":"ConflictException"}, {"shape":"BadRequestException"} ], - "documentation":"

        Creates a new maintenance configuration or replaces an existing table policy for a table.

        ", + "documentation":"

        Creates a new maintenance configuration or replaces an existing table policy for a table. For more information, see Adding a table policy in the Amazon Simple Storage Service User Guide.

        Permissions

        You must have the s3tables:PutTablePolicy permission to use this operation.

        ", "idempotent":true }, "RenameTable":{ @@ -488,7 +488,7 @@ {"shape":"ConflictException"}, {"shape":"BadRequestException"} ], - "documentation":"

        Renames a table or a namespace.

        " + "documentation":"

        Renames a table or a namespace. For more information, see S3 Tables in the Amazon Simple Storage Service User Guide.

        Permissions

        You must have the s3tables:RenameTable permission to use this operation.

        " }, "UpdateTableMetadataLocation":{ "name":"UpdateTableMetadataLocation", @@ -507,7 +507,7 @@ {"shape":"ConflictException"}, {"shape":"BadRequestException"} ], - "documentation":"

        Updates the metadata location for a table.

        " + "documentation":"

        Updates the metadata location for a table. The metadata location of a table must be an S3 URI that begins with the table's warehouse location. The metadata location for an Apache Iceberg table must end with .metadata.json, or if the metadata file is Gzip-compressed, .metadata.json.gz.

        Permissions

        You must have the s3tables:UpdateTableMetadataLocation permission to use this operation.

        " } }, "shapes":{ @@ -541,6 +541,10 @@ }, "exception":true }, + "Boolean":{ + "type":"boolean", + "box":true + }, "ConflictException":{ "type":"structure", "members":{ @@ -643,6 +647,10 @@ "format":{ "shape":"OpenTableFormat", "documentation":"

        The format for the table.

        " + }, + "metadata":{ + "shape":"TableMetadata", + "documentation":"

        The metadata for the table.

        " } } }, @@ -690,7 +698,7 @@ "members":{ "tableBucketARN":{ "shape":"TableBucketARN", - "documentation":"

        The Amazon Resource Number (ARN) of the table bucket.

        ", + "documentation":"

        The Amazon Resource Name (ARN) of the table bucket.

        ", "location":"uri", "locationName":"tableBucketARN" } @@ -718,7 +726,7 @@ "members":{ "tableBucketARN":{ "shape":"TableBucketARN", - "documentation":"

        The Amazon Resource Number (ARN) of the table bucket that contains the table.

        ", + "documentation":"

        The Amazon Resource Name (ARN) of the table bucket that contains the table.

        ", "location":"uri", "locationName":"tableBucketARN" }, @@ -866,7 +874,7 @@ "members":{ "tableBucketARN":{ "shape":"TableBucketARN", - "documentation":"

        The Amazon Resource Number (ARN) of the table bucket.

        ", + "documentation":"

        The Amazon Resource Name (ARN) of the table bucket.

        ", "location":"uri", "locationName":"tableBucketARN" } @@ -878,7 +886,7 @@ "members":{ "resourcePolicy":{ "shape":"ResourcePolicy", - "documentation":"

        The name of the resource policy.

        " + "documentation":"

        The JSON that defines the policy.

        " } } }, @@ -1070,7 +1078,7 @@ "members":{ "tableBucketARN":{ "shape":"TableBucketARN", - "documentation":"

        The Amazon Resource Number (ARN) of the table bucket that contains the table.

        ", + "documentation":"

        The Amazon Resource Name (ARN) of the table bucket that contains the table.

        ", "location":"uri", "locationName":"tableBucketARN" }, @@ -1094,7 +1102,7 @@ "members":{ "resourcePolicy":{ "shape":"ResourcePolicy", - "documentation":"

        The name of the resource policy.

        " + "documentation":"

        The JSON that defines the policy.

        " } } }, @@ -1211,6 +1219,28 @@ }, "documentation":"

        Contains details about the compaction settings for an Iceberg table.

        " }, + "IcebergMetadata":{ + "type":"structure", + "required":["schema"], + "members":{ + "schema":{ + "shape":"IcebergSchema", + "documentation":"

        The schema for an Iceberg table.

        " + } + }, + "documentation":"

        Contains details about the metadata for an Iceberg table.

        " + }, + "IcebergSchema":{ + "type":"structure", + "required":["fields"], + "members":{ + "fields":{ + "shape":"SchemaFieldList", + "documentation":"

        The schema fields for the table

        " + } + }, + "documentation":"

        Contains details about the schema for an Iceberg table.

        " + }, "IcebergSnapshotManagementSettings":{ "type":"structure", "members":{ @@ -1373,7 +1403,7 @@ "members":{ "tableBucketARN":{ "shape":"TableBucketARN", - "documentation":"

        The Amazon resource Number (ARN) of the table bucket.

        ", + "documentation":"

        The Amazon resource Name (ARN) of the table bucket.

        ", "location":"uri", "locationName":"tableBucketARN" }, @@ -1538,13 +1568,13 @@ "members":{ "tableBucketARN":{ "shape":"TableBucketARN", - "documentation":"

        The Amazon Resource Number (ARN) of the table bucket.

        ", + "documentation":"

        The Amazon Resource Name (ARN) of the table bucket.

        ", "location":"uri", "locationName":"tableBucketARN" }, "resourcePolicy":{ "shape":"ResourcePolicy", - "documentation":"

        The name of the resource policy.

        " + "documentation":"

        The JSON that defines the policy.

        " } } }, @@ -1599,7 +1629,7 @@ "members":{ "tableBucketARN":{ "shape":"TableBucketARN", - "documentation":"

        The Amazon Resource Number (ARN) of the table bucket that contains the table.

        ", + "documentation":"

        The Amazon Resource Name (ARN) of the table bucket that contains the table.

        ", "location":"uri", "locationName":"tableBucketARN" }, @@ -1617,7 +1647,7 @@ }, "resourcePolicy":{ "shape":"ResourcePolicy", - "documentation":"

        The name of the resource policy.

        " + "documentation":"

        The JSON that defines the policy.

        " } } }, @@ -1666,6 +1696,32 @@ "max":20480, "min":1 }, + "SchemaField":{ + "type":"structure", + "required":[ + "name", + "type" + ], + "members":{ + "name":{ + "shape":"String", + "documentation":"

        The name of the field.

        " + }, + "type":{ + "shape":"String", + "documentation":"

        The field type. S3 Tables supports all Apache Iceberg primitive types. For more information, see the Apache Iceberg documentation.

        " + }, + "required":{ + "shape":"Boolean", + "documentation":"

        A Boolean value that specifies whether values are required for each row in this field. By default, this is false and null values are allowed in the field. If this is true the field does not allow null values.

        " + } + }, + "documentation":"

        Contains details about a schema field.

        " + }, + "SchemaFieldList":{ + "type":"list", + "member":{"shape":"SchemaField"} + }, "String":{"type":"string"}, "SyntheticTimestamp_date_time":{ "type":"timestamp", @@ -1732,7 +1788,7 @@ "members":{ "arn":{ "shape":"TableBucketARN", - "documentation":"

        The Amazon Resource Number (ARN) of the table bucket.

        " + "documentation":"

        The Amazon Resource Name (ARN) of the table bucket.

        " }, "name":{ "shape":"TableBucketName", @@ -1826,6 +1882,17 @@ "icebergSnapshotManagement" ] }, + "TableMetadata":{ + "type":"structure", + "members":{ + "iceberg":{ + "shape":"IcebergMetadata", + "documentation":"

        Contains details about the metadata of an Iceberg table.

        " + } + }, + "documentation":"

        Contains details about the table metadata.

        ", + "union":true + }, "TableName":{ "type":"string", "max":255, @@ -1857,7 +1924,7 @@ }, "tableARN":{ "shape":"TableARN", - "documentation":"

        The Amazon Resource Number (ARN) of the table.

        " + "documentation":"

        The Amazon Resource Name (ARN) of the table.

        " }, "createdAt":{ "shape":"SyntheticTimestamp_date_time", @@ -1947,7 +2014,7 @@ }, "tableARN":{ "shape":"TableARN", - "documentation":"

        The Amazon Resource Number (ARN) of the table.

        " + "documentation":"

        The Amazon Resource Name (ARN) of the table.

        " }, "namespace":{ "shape":"NamespaceList", diff --git a/tools/code-generation/api-descriptions/ssm-2014-11-06.normal.json b/tools/code-generation/api-descriptions/ssm-2014-11-06.normal.json index de7db8a0442..bcbff684a55 100644 --- a/tools/code-generation/api-descriptions/ssm-2014-11-06.normal.json +++ b/tools/code-generation/api-descriptions/ssm-2014-11-06.normal.json @@ -48,7 +48,7 @@ {"shape":"OpsItemRelatedItemAlreadyExistsException"}, {"shape":"OpsItemConflictException"} ], - "documentation":"

        Associates a related item to a Systems Manager OpsCenter OpsItem. For example, you can associate an Incident Manager incident or analysis with an OpsItem. Incident Manager and OpsCenter are capabilities of Amazon Web Services Systems Manager.

        " + "documentation":"

        Associates a related item to a Systems Manager OpsCenter OpsItem. For example, you can associate an Incident Manager incident or analysis with an OpsItem. Incident Manager and OpsCenter are tools in Amazon Web Services Systems Manager.

        " }, "CancelCommand":{ "name":"CancelCommand", @@ -92,7 +92,7 @@ {"shape":"InvalidParameters"}, {"shape":"InternalServerError"} ], - "documentation":"

        Generates an activation code and activation ID you can use to register your on-premises servers, edge devices, or virtual machine (VM) with Amazon Web Services Systems Manager. Registering these machines with Systems Manager makes it possible to manage them using Systems Manager capabilities. You use the activation code and ID when installing SSM Agent on machines in your hybrid environment. For more information about requirements for managing on-premises machines using Systems Manager, see Using Amazon Web Services Systems Manager in hybrid and multicloud environments in the Amazon Web Services Systems Manager User Guide.

        Amazon Elastic Compute Cloud (Amazon EC2) instances, edge devices, and on-premises servers and VMs that are configured for Systems Manager are all called managed nodes.

        " + "documentation":"

        Generates an activation code and activation ID you can use to register your on-premises servers, edge devices, or virtual machine (VM) with Amazon Web Services Systems Manager. Registering these machines with Systems Manager makes it possible to manage them using Systems Manager tools. You use the activation code and ID when installing SSM Agent on machines in your hybrid environment. For more information about requirements for managing on-premises machines using Systems Manager, see Using Amazon Web Services Systems Manager in hybrid and multicloud environments in the Amazon Web Services Systems Manager User Guide.

        Amazon Elastic Compute Cloud (Amazon EC2) instances, edge devices, and on-premises servers and VMs that are configured for Systems Manager are all called managed nodes.

        " }, "CreateAssociation":{ "name":"CreateAssociation", @@ -117,7 +117,7 @@ {"shape":"InvalidTargetMaps"}, {"shape":"InvalidTag"} ], - "documentation":"

        A State Manager association defines the state that you want to maintain on your managed nodes. For example, an association can specify that anti-virus software must be installed and running on your managed nodes, or that certain ports must be closed. For static targets, the association specifies a schedule for when the configuration is reapplied. For dynamic targets, such as an Amazon Web Services resource group or an Amazon Web Services autoscaling group, State Manager, a capability of Amazon Web Services Systems Manager applies the configuration when new managed nodes are added to the group. The association also specifies actions to take when applying the configuration. For example, an association for anti-virus software might run once a day. If the software isn't installed, then State Manager installs it. If the software is installed, but the service isn't running, then the association might instruct State Manager to start the service.

        " + "documentation":"

        A State Manager association defines the state that you want to maintain on your managed nodes. For example, an association can specify that anti-virus software must be installed and running on your managed nodes, or that certain ports must be closed. For static targets, the association specifies a schedule for when the configuration is reapplied. For dynamic targets, such as an Amazon Web Services resource group or an Amazon Web Services autoscaling group, State Manager, a tool in Amazon Web Services Systems Manager applies the configuration when new managed nodes are added to the group. The association also specifies actions to take when applying the configuration. For example, an association for anti-virus software might run once a day. If the software isn't installed, then State Manager installs it. If the software is installed, but the service isn't running, then the association might instruct State Manager to start the service.

        " }, "CreateAssociationBatch":{ "name":"CreateAssociationBatch", @@ -985,7 +985,7 @@ {"shape":"OpsItemInvalidParameterException"}, {"shape":"OpsItemConflictException"} ], - "documentation":"

        Deletes the association between an OpsItem and a related item. For example, this API operation can delete an Incident Manager incident from an OpsItem. Incident Manager is a capability of Amazon Web Services Systems Manager.

        " + "documentation":"

        Deletes the association between an OpsItem and a related item. For example, this API operation can delete an Incident Manager incident from an OpsItem. Incident Manager is a tool in Amazon Web Services Systems Manager.

        " }, "GetAutomationExecution":{ "name":"GetAutomationExecution", @@ -1015,7 +1015,7 @@ {"shape":"InvalidDocumentType"}, {"shape":"UnsupportedCalendarException"} ], - "documentation":"

        Gets the state of a Amazon Web Services Systems Manager change calendar at the current time or a specified time. If you specify a time, GetCalendarState returns the state of the calendar at that specific time, and returns the next time that the change calendar state will transition. If you don't specify a time, GetCalendarState uses the current time. Change Calendar entries have two possible states: OPEN or CLOSED.

        If you specify more than one calendar in a request, the command returns the status of OPEN only if all calendars in the request are open. If one or more calendars in the request are closed, the status returned is CLOSED.

        For more information about Change Calendar, a capability of Amazon Web Services Systems Manager, see Amazon Web Services Systems Manager Change Calendar in the Amazon Web Services Systems Manager User Guide.

        " + "documentation":"

        Gets the state of a Amazon Web Services Systems Manager change calendar at the current time or a specified time. If you specify a time, GetCalendarState returns the state of the calendar at that specific time, and returns the next time that the change calendar state will transition. If you don't specify a time, GetCalendarState uses the current time. Change Calendar entries have two possible states: OPEN or CLOSED.

        If you specify more than one calendar in a request, the command returns the status of OPEN only if all calendars in the request are open. If one or more calendars in the request are closed, the status returned is CLOSED.

        For more information about Change Calendar, a tool in Amazon Web Services Systems Manager, see Amazon Web Services Systems Manager Change Calendar in the Amazon Web Services Systems Manager User Guide.

        " }, "GetCommandInvocation":{ "name":"GetCommandInvocation", @@ -1073,7 +1073,7 @@ {"shape":"UnsupportedOperatingSystem"}, {"shape":"UnsupportedFeatureRequiredException"} ], - "documentation":"

        Retrieves the current snapshot for the patch baseline the managed node uses. This API is primarily used by the AWS-RunPatchBaseline Systems Manager document (SSM document).

        If you run the command locally, such as with the Command Line Interface (CLI), the system attempts to use your local Amazon Web Services credentials and the operation fails. To avoid this, you can run the command in the Amazon Web Services Systems Manager console. Use Run Command, a capability of Amazon Web Services Systems Manager, with an SSM document that enables you to target a managed node with a script or command. For example, run the command using the AWS-RunShellScript document or the AWS-RunPowerShellScript document.

        " + "documentation":"

        Retrieves the current snapshot for the patch baseline the managed node uses. This API is primarily used by the AWS-RunPatchBaseline Systems Manager document (SSM document).

        If you run the command locally, such as with the Command Line Interface (CLI), the system attempts to use your local Amazon Web Services credentials and the operation fails. To avoid this, you can run the command in the Amazon Web Services Systems Manager console. Use Run Command, a tool in Amazon Web Services Systems Manager, with an SSM document that enables you to target a managed node with a script or command. For example, run the command using the AWS-RunShellScript document or the AWS-RunPowerShellScript document.

        " }, "GetDocument":{ "name":"GetDocument", @@ -1318,7 +1318,7 @@ {"shape":"InvalidKeyId"}, {"shape":"InvalidNextToken"} ], - "documentation":"

        Retrieve information about one or more parameters in a specific hierarchy.

        Request results are returned on a best-effort basis. If you specify MaxResults in the request, the response includes information up to the limit specified. The number of items returned, however, can be between zero and the value of MaxResults. If the service reaches an internal limit while processing the results, it stops the operation and returns the matching values up to that point and a NextToken. You can specify the NextToken in a subsequent call to get the next set of results.

        " + "documentation":"

        Retrieve information about one or more parameters under a specified level in a hierarchy.

        Request results are returned on a best-effort basis. If you specify MaxResults in the request, the response includes information up to the limit specified. The number of items returned, however, can be between zero and the value of MaxResults. If the service reaches an internal limit while processing the results, it stops the operation and returns the matching values up to that point and a NextToken. You can specify the NextToken in a subsequent call to get the next set of results.

        " }, "GetPatchBaseline":{ "name":"GetPatchBaseline", @@ -1421,7 +1421,7 @@ {"shape":"InternalServerError"}, {"shape":"InvalidNextToken"} ], - "documentation":"

        Returns all State Manager associations in the current Amazon Web Services account and Amazon Web Services Region. You can limit the results to a specific State Manager association document or managed node by specifying a filter. State Manager is a capability of Amazon Web Services Systems Manager.

        " + "documentation":"

        Returns all State Manager associations in the current Amazon Web Services account and Amazon Web Services Region. You can limit the results to a specific State Manager association document or managed node by specifying a filter. State Manager is a tool in Amazon Web Services Systems Manager.

        " }, "ListCommandInvocations":{ "name":"ListCommandInvocations", @@ -1615,7 +1615,7 @@ {"shape":"InternalServerError"}, {"shape":"OpsItemInvalidParameterException"} ], - "documentation":"

        Lists all related-item resources associated with a Systems Manager OpsCenter OpsItem. OpsCenter is a capability of Amazon Web Services Systems Manager.

        " + "documentation":"

        Lists all related-item resources associated with a Systems Manager OpsCenter OpsItem. OpsCenter is a tool in Amazon Web Services Systems Manager.

        " }, "ListOpsMetadata":{ "name":"ListOpsMetadata", @@ -2675,7 +2675,7 @@ }, "AutomationTargetParameterName":{ "shape":"AutomationTargetParameterName", - "documentation":"

        Choose the parameter that will define how your automation will branch out. This target is required for associations that use an Automation runbook and target resources by using rate controls. Automation is a capability of Amazon Web Services Systems Manager.

        " + "documentation":"

        Choose the parameter that will define how your automation will branch out. This target is required for associations that use an Automation runbook and target resources by using rate controls. Automation is a tool in Amazon Web Services Systems Manager.

        " }, "Parameters":{ "shape":"Parameters", @@ -2723,7 +2723,7 @@ }, "SyncCompliance":{ "shape":"AssociationSyncCompliance", - "documentation":"

        The mode for generating association compliance. You can specify AUTO or MANUAL. In AUTO mode, the system uses the status of the association execution to determine the compliance status. If the association execution runs successfully, then the association is COMPLIANT. If the association execution doesn't run successfully, the association is NON-COMPLIANT.

        In MANUAL mode, you must specify the AssociationId as a parameter for the PutComplianceItems API operation. In this case, compliance data isn't managed by State Manager, a capability of Amazon Web Services Systems Manager. It is managed by your direct call to the PutComplianceItems API operation.

        By default, all associations use AUTO mode.

        " + "documentation":"

        The mode for generating association compliance. You can specify AUTO or MANUAL. In AUTO mode, the system uses the status of the association execution to determine the compliance status. If the association execution runs successfully, then the association is COMPLIANT. If the association execution doesn't run successfully, the association is NON-COMPLIANT.

        In MANUAL mode, you must specify the AssociationId as a parameter for the PutComplianceItems API operation. In this case, compliance data isn't managed by State Manager, a tool in Amazon Web Services Systems Manager. It is managed by your direct call to the PutComplianceItems API operation.

        By default, all associations use AUTO mode.

        " }, "ApplyOnlyAtCronInterval":{ "shape":"ApplyOnlyAtCronInterval", @@ -3161,7 +3161,7 @@ }, "SyncCompliance":{ "shape":"AssociationSyncCompliance", - "documentation":"

        The mode for generating association compliance. You can specify AUTO or MANUAL. In AUTO mode, the system uses the status of the association execution to determine the compliance status. If the association execution runs successfully, then the association is COMPLIANT. If the association execution doesn't run successfully, the association is NON-COMPLIANT.

        In MANUAL mode, you must specify the AssociationId as a parameter for the PutComplianceItems API operation. In this case, compliance data isn't managed by State Manager, a capability of Amazon Web Services Systems Manager. It is managed by your direct call to the PutComplianceItems API operation.

        By default, all associations use AUTO mode.

        " + "documentation":"

        The mode for generating association compliance. You can specify AUTO or MANUAL. In AUTO mode, the system uses the status of the association execution to determine the compliance status. If the association execution runs successfully, then the association is COMPLIANT. If the association execution doesn't run successfully, the association is NON-COMPLIANT.

        In MANUAL mode, you must specify the AssociationId as a parameter for the PutComplianceItems API operation. In this case, compliance data isn't managed by State Manager, a tool in Amazon Web Services Systems Manager. It is managed by your direct call to the PutComplianceItems API operation.

        By default, all associations use AUTO mode.

        " }, "ApplyOnlyAtCronInterval":{ "shape":"ApplyOnlyAtCronInterval", @@ -4068,7 +4068,7 @@ }, "ServiceRole":{ "shape":"ServiceRole", - "documentation":"

        The Identity and Access Management (IAM) service role that Run Command, a capability of Amazon Web Services Systems Manager, uses to act on your behalf when sending notifications about command status changes.

        " + "documentation":"

        The Identity and Access Management (IAM) service role that Run Command, a tool in Amazon Web Services Systems Manager, uses to act on your behalf when sending notifications about command status changes.

        " }, "NotificationConfig":{ "shape":"NotificationConfig", @@ -4194,7 +4194,7 @@ }, "ServiceRole":{ "shape":"ServiceRole", - "documentation":"

        The Identity and Access Management (IAM) service role that Run Command, a capability of Amazon Web Services Systems Manager, uses to act on your behalf when sending notifications about command status changes on a per managed node basis.

        " + "documentation":"

        The Identity and Access Management (IAM) service role that Run Command, a tool in Amazon Web Services Systems Manager, uses to act on your behalf when sending notifications about command status changes on a per managed node basis.

        " }, "NotificationConfig":{ "shape":"NotificationConfig", @@ -4684,7 +4684,7 @@ }, "AutomationTargetParameterName":{ "shape":"AutomationTargetParameterName", - "documentation":"

        Specify the target for the association. This target is required for associations that use an Automation runbook and target resources by using rate controls. Automation is a capability of Amazon Web Services Systems Manager.

        " + "documentation":"

        Specify the target for the association. This target is required for associations that use an Automation runbook and target resources by using rate controls. Automation is a tool in Amazon Web Services Systems Manager.

        " }, "DocumentVersion":{ "shape":"DocumentVersion", @@ -4720,7 +4720,7 @@ }, "SyncCompliance":{ "shape":"AssociationSyncCompliance", - "documentation":"

        The mode for generating association compliance. You can specify AUTO or MANUAL. In AUTO mode, the system uses the status of the association execution to determine the compliance status. If the association execution runs successfully, then the association is COMPLIANT. If the association execution doesn't run successfully, the association is NON-COMPLIANT.

        In MANUAL mode, you must specify the AssociationId as a parameter for the PutComplianceItems API operation. In this case, compliance data isn't managed by State Manager, a capability of Amazon Web Services Systems Manager. It is managed by your direct call to the PutComplianceItems API operation.

        By default, all associations use AUTO mode.

        " + "documentation":"

        The mode for generating association compliance. You can specify AUTO or MANUAL. In AUTO mode, the system uses the status of the association execution to determine the compliance status. If the association execution runs successfully, then the association is COMPLIANT. If the association execution doesn't run successfully, the association is NON-COMPLIANT.

        In MANUAL mode, you must specify the AssociationId as a parameter for the PutComplianceItems API operation. In this case, compliance data isn't managed by State Manager, a tool in Amazon Web Services Systems Manager. It is managed by your direct call to the PutComplianceItems API operation.

        By default, all associations use AUTO mode.

        " }, "ApplyOnlyAtCronInterval":{ "shape":"ApplyOnlyAtCronInterval", @@ -4804,7 +4804,7 @@ }, "AutomationTargetParameterName":{ "shape":"AutomationTargetParameterName", - "documentation":"

        Choose the parameter that will define how your automation will branch out. This target is required for associations that use an Automation runbook and target resources by using rate controls. Automation is a capability of Amazon Web Services Systems Manager.

        " + "documentation":"

        Choose the parameter that will define how your automation will branch out. This target is required for associations that use an Automation runbook and target resources by using rate controls. Automation is a tool in Amazon Web Services Systems Manager.

        " }, "MaxErrors":{ "shape":"MaxErrors", @@ -6685,7 +6685,7 @@ }, "InstancesWithUnreportedNotApplicablePatches":{ "shape":"Integer", - "documentation":"

        The number of managed nodes with NotApplicable patches beyond the supported limit, which aren't reported by name to Inventory. Inventory is a capability of Amazon Web Services Systems Manager.

        ", + "documentation":"

        The number of managed nodes with NotApplicable patches beyond the supported limit, which aren't reported by name to Inventory. Inventory is a tool in Amazon Web Services Systems Manager.

        ", "box":true }, "InstancesWithCriticalNonCompliantPatches":{ @@ -9355,7 +9355,7 @@ }, "UnreportedNotApplicableCount":{ "shape":"PatchUnreportedNotApplicableCount", - "documentation":"

        The number of patches beyond the supported limit of NotApplicableCount that aren't reported by name to Inventory. Inventory is a capability of Amazon Web Services Systems Manager.

        ", + "documentation":"

        The number of patches beyond the supported limit of NotApplicableCount that aren't reported by name to Inventory. Inventory is a tool in Amazon Web Services Systems Manager.

        ", "box":true }, "NotApplicableCount":{ @@ -13540,7 +13540,7 @@ }, "PolicyType":{ "shape":"String", - "documentation":"

        The type of policy. Parameter Store, a capability of Amazon Web Services Systems Manager, supports the following policy types: Expiration, ExpirationNotification, and NoChangeNotification.

        " + "documentation":"

        The type of policy. Parameter Store, a tool in Amazon Web Services Systems Manager, supports the following policy types: Expiration, ExpirationNotification, and NoChangeNotification.

        " }, "PolicyStatus":{ "shape":"String", @@ -14563,7 +14563,7 @@ }, "Value":{ "shape":"PSParameterValue", - "documentation":"

        The parameter value that you want to add to the system. Standard parameters have a value limit of 4 KB. Advanced parameters have a value limit of 8 KB.

        Parameters can't be referenced or nested in the values of other parameters. You can't include {{}} or {{ssm:parameter-name}} in a parameter value.

        " + "documentation":"

        The parameter value that you want to add to the system. Standard parameters have a value limit of 4 KB. Advanced parameters have a value limit of 8 KB.

        Parameters can't be referenced or nested in the values of other parameters. You can't include values wrapped in double brackets {{}} or {{ssm:parameter-name}} in a parameter value.

        " }, "Type":{ "shape":"ParameterType", @@ -14592,7 +14592,7 @@ }, "Policies":{ "shape":"ParameterPolicies", - "documentation":"

        One or more policies to apply to a parameter. This operation takes a JSON array. Parameter Store, a capability of Amazon Web Services Systems Manager supports the following policy types:

        Expiration: This policy deletes the parameter after it expires. When you create the policy, you specify the expiration date. You can update the expiration date and time by updating the policy. Updating the parameter doesn't affect the expiration date and time. When the expiration time is reached, Parameter Store deletes the parameter.

        ExpirationNotification: This policy initiates an event in Amazon CloudWatch Events that notifies you about the expiration. By using this policy, you can receive notification before or after the expiration time is reached, in units of days or hours.

        NoChangeNotification: This policy initiates a CloudWatch Events event if a parameter hasn't been modified for a specified period of time. This policy type is useful when, for example, a secret needs to be changed within a period of time, but it hasn't been changed.

        All existing policies are preserved until you send new policies or an empty policy. For more information about parameter policies, see Assigning parameter policies.

        " + "documentation":"

        One or more policies to apply to a parameter. This operation takes a JSON array. Parameter Store, a tool in Amazon Web Services Systems Manager supports the following policy types:

        Expiration: This policy deletes the parameter after it expires. When you create the policy, you specify the expiration date. You can update the expiration date and time by updating the policy. Updating the parameter doesn't affect the expiration date and time. When the expiration time is reached, Parameter Store deletes the parameter.

        ExpirationNotification: This policy initiates an event in Amazon CloudWatch Events that notifies you about the expiration. By using this policy, you can receive notification before or after the expiration time is reached, in units of days or hours.

        NoChangeNotification: This policy initiates a CloudWatch Events event if a parameter hasn't been modified for a specified period of time. This policy type is useful when, for example, a secret needs to be changed within a period of time, but it hasn't been changed.

        All existing policies are preserved until you send new policies or an empty policy. For more information about parameter policies, see Assigning parameter policies.

        " }, "DataType":{ "shape":"ParameterDataType", @@ -15729,7 +15729,7 @@ }, "CloudWatchOutputConfig":{ "shape":"CloudWatchOutputConfig", - "documentation":"

        Enables Amazon Web Services Systems Manager to send Run Command output to Amazon CloudWatch Logs. Run Command is a capability of Amazon Web Services Systems Manager.

        " + "documentation":"

        Enables Amazon Web Services Systems Manager to send Run Command output to Amazon CloudWatch Logs. Run Command is a tool in Amazon Web Services Systems Manager.

        " }, "AlarmConfiguration":{ "shape":"AlarmConfiguration", @@ -16123,7 +16123,7 @@ }, "Tags":{ "shape":"TagList", - "documentation":"

        Optional metadata that you assign to a resource. You can specify a maximum of five tags for an automation. Tags enable you to categorize a resource in different ways, such as by purpose, owner, or environment. For example, you might want to tag an automation to identify an environment or operating system. In this case, you could specify the following key-value pairs:

        • Key=environment,Value=test

        • Key=OS,Value=Windows

        To add tags to an existing automation, use the AddTagsToResource operation.

        " + "documentation":"

        Optional metadata that you assign to a resource. You can specify a maximum of five tags for an automation. Tags enable you to categorize a resource in different ways, such as by purpose, owner, or environment. For example, you might want to tag an automation to identify an environment or operating system. In this case, you could specify the following key-value pairs:

        • Key=environment,Value=test

        • Key=OS,Value=Windows

        The Array Members maximum value is reported as 1000. This number includes capacity reserved for internal operations. When calling the StartAutomationExecution action, you can specify a maximum of 5 tags. You can, however, use the AddTagsToResource action to add up to a total of 50 tags to an existing automation configuration.

        " }, "AlarmConfiguration":{ "shape":"AlarmConfiguration", @@ -16186,7 +16186,7 @@ }, "Tags":{ "shape":"TagList", - "documentation":"

        Optional metadata that you assign to a resource. You can specify a maximum of five tags for a change request. Tags enable you to categorize a resource in different ways, such as by purpose, owner, or environment. For example, you might want to tag a change request to identify an environment or target Amazon Web Services Region. In this case, you could specify the following key-value pairs:

        • Key=Environment,Value=Production

        • Key=Region,Value=us-east-2

        " + "documentation":"

        Optional metadata that you assign to a resource. You can specify a maximum of five tags for a change request. Tags enable you to categorize a resource in different ways, such as by purpose, owner, or environment. For example, you might want to tag a change request to identify an environment or target Amazon Web Services Region. In this case, you could specify the following key-value pairs:

        • Key=Environment,Value=Production

        • Key=Region,Value=us-east-2

        The Array Members maximum value is reported as 1000. This number includes capacity reserved for internal operations. When calling the StartChangeRequestExecution action, you can specify a maximum of 5 tags. You can, however, use the AddTagsToResource action to add up to a total of 50 tags to an existing change request configuration.

        " }, "ScheduledEndTime":{ "shape":"DateTime", @@ -16252,7 +16252,7 @@ }, "Parameters":{ "shape":"SessionManagerParameters", - "documentation":"

        The values you want to specify for the parameters defined in the Session document.

        " + "documentation":"

        The values you want to specify for the parameters defined in the Session document. For more information about these parameters, see Create a Session Manager preferences document in the Amazon Web Services Systems Manager User Guide.

        " } } }, @@ -16553,7 +16553,7 @@ "documentation":"

        User-defined criteria that maps to Key. For example, if you specified tag:ServerRole, you could specify value:WebServer to run a command on instances that include EC2 tags of ServerRole,WebServer.

        Depending on the type of target, the maximum number of values for a key might be lower than the global maximum of 50.

        " } }, - "documentation":"

        An array of search criteria that targets managed nodes using a key-value pair that you specify.

        One or more targets must be specified for maintenance window Run Command-type tasks. Depending on the task, targets are optional for other maintenance window task types (Automation, Lambda, and Step Functions). For more information about running tasks that don't specify targets, see Registering maintenance window tasks without targets in the Amazon Web Services Systems Manager User Guide.

        Supported formats include the following.

        For all Systems Manager capabilities:

        • Key=tag-key,Values=tag-value-1,tag-value-2

        For Automation and Change Manager:

        • Key=tag:tag-key,Values=tag-value

        • Key=ResourceGroup,Values=resource-group-name

        • Key=ParameterValues,Values=value-1,value-2,value-3

        • To target all instances in the Amazon Web Services Region:

          • Key=AWS::EC2::Instance,Values=*

          • Key=InstanceIds,Values=*

        For Run Command and Maintenance Windows:

        • Key=InstanceIds,Values=instance-id-1,instance-id-2,instance-id-3

        • Key=tag:tag-key,Values=tag-value-1,tag-value-2

        • Key=resource-groups:Name,Values=resource-group-name

        • Additionally, Maintenance Windows support targeting resource types:

          • Key=resource-groups:ResourceTypeFilters,Values=resource-type-1,resource-type-2

        For State Manager:

        • Key=InstanceIds,Values=instance-id-1,instance-id-2,instance-id-3

        • Key=tag:tag-key,Values=tag-value-1,tag-value-2

        • To target all instances in the Amazon Web Services Region:

          • Key=InstanceIds,Values=*

        For more information about how to send commands that target managed nodes using Key,Value parameters, see Targeting multiple managed nodes in the Amazon Web Services Systems Manager User Guide.

        " + "documentation":"

        An array of search criteria that targets managed nodes using a key-value pair that you specify.

        One or more targets must be specified for maintenance window Run Command-type tasks. Depending on the task, targets are optional for other maintenance window task types (Automation, Lambda, and Step Functions). For more information about running tasks that don't specify targets, see Registering maintenance window tasks without targets in the Amazon Web Services Systems Manager User Guide.

        Supported formats include the following.

        For all Systems Manager tools:

        • Key=tag-key,Values=tag-value-1,tag-value-2

        For Automation and Change Manager:

        • Key=tag:tag-key,Values=tag-value

        • Key=ResourceGroup,Values=resource-group-name

        • Key=ParameterValues,Values=value-1,value-2,value-3

        • To target all instances in the Amazon Web Services Region:

          • Key=AWS::EC2::Instance,Values=*

          • Key=InstanceIds,Values=*

        For Run Command and Maintenance Windows:

        • Key=InstanceIds,Values=instance-id-1,instance-id-2,instance-id-3

        • Key=tag:tag-key,Values=tag-value-1,tag-value-2

        • Key=resource-groups:Name,Values=resource-group-name

        • Additionally, Maintenance Windows support targeting resource types:

          • Key=resource-groups:ResourceTypeFilters,Values=resource-type-1,resource-type-2

        For State Manager:

        • Key=InstanceIds,Values=instance-id-1,instance-id-2,instance-id-3

        • Key=tag:tag-key,Values=tag-value-1,tag-value-2

        • To target all instances in the Amazon Web Services Region:

          • Key=InstanceIds,Values=*

        For more information about how to send commands that target managed nodes using Key,Value parameters, see Targeting multiple managed nodes in the Amazon Web Services Systems Manager User Guide.

        " }, "TargetCount":{"type":"integer"}, "TargetInUseException":{ @@ -16880,7 +16880,7 @@ }, "Parameters":{ "shape":"Parameters", - "documentation":"

        The parameters you want to update for the association. If you create a parameter using Parameter Store, a capability of Amazon Web Services Systems Manager, you can reference the parameter using {{ssm:parameter-name}}.

        " + "documentation":"

        The parameters you want to update for the association. If you create a parameter using Parameter Store, a tool in Amazon Web Services Systems Manager, you can reference the parameter using {{ssm:parameter-name}}.

        " }, "DocumentVersion":{ "shape":"DocumentVersion", @@ -16912,7 +16912,7 @@ }, "AutomationTargetParameterName":{ "shape":"AutomationTargetParameterName", - "documentation":"

        Choose the parameter that will define how your automation will branch out. This target is required for associations that use an Automation runbook and target resources by using rate controls. Automation is a capability of Amazon Web Services Systems Manager.

        " + "documentation":"

        Choose the parameter that will define how your automation will branch out. This target is required for associations that use an Automation runbook and target resources by using rate controls. Automation is a tool in Amazon Web Services Systems Manager.

        " }, "MaxErrors":{ "shape":"MaxErrors", @@ -16928,7 +16928,7 @@ }, "SyncCompliance":{ "shape":"AssociationSyncCompliance", - "documentation":"

        The mode for generating association compliance. You can specify AUTO or MANUAL. In AUTO mode, the system uses the status of the association execution to determine the compliance status. If the association execution runs successfully, then the association is COMPLIANT. If the association execution doesn't run successfully, the association is NON-COMPLIANT.

        In MANUAL mode, you must specify the AssociationId as a parameter for the PutComplianceItems API operation. In this case, compliance data isn't managed by State Manager, a capability of Amazon Web Services Systems Manager. It is managed by your direct call to the PutComplianceItems API operation.

        By default, all associations use AUTO mode.

        " + "documentation":"

        The mode for generating association compliance. You can specify AUTO or MANUAL. In AUTO mode, the system uses the status of the association execution to determine the compliance status. If the association execution runs successfully, then the association is COMPLIANT. If the association execution doesn't run successfully, the association is NON-COMPLIANT.

        In MANUAL mode, you must specify the AssociationId as a parameter for the PutComplianceItems API operation. In this case, compliance data isn't managed by State Manager, a tool in Amazon Web Services Systems Manager. It is managed by your direct call to the PutComplianceItems API operation.

        By default, all associations use AUTO mode.

        " }, "ApplyOnlyAtCronInterval":{ "shape":"ApplyOnlyAtCronInterval", @@ -17749,5 +17749,5 @@ "pattern":"^[0-9]{1,6}(\\.[0-9]{1,6}){2,3}$" } }, - "documentation":"

        Amazon Web Services Systems Manager is the operations hub for your Amazon Web Services applications and resources and a secure end-to-end management solution for hybrid cloud environments that enables safe and secure operations at scale.

        This reference is intended to be used with the Amazon Web Services Systems Manager User Guide. To get started, see Setting up Amazon Web Services Systems Manager.

        Related resources

        " + "documentation":"

        Amazon Web Services Systems Manager is the operations hub for your Amazon Web Services applications and resources and a secure end-to-end management solution for hybrid cloud environments that enables safe and secure operations at scale.

        This reference is intended to be used with the Amazon Web Services Systems Manager User Guide. To get started, see Setting up Amazon Web Services Systems Manager.

        Related resources

        " } diff --git a/tools/code-generation/api-descriptions/sso-oidc-2019-06-10.normal.json b/tools/code-generation/api-descriptions/sso-oidc-2019-06-10.normal.json index 5b32e9bc707..d2e3b11a792 100644 --- a/tools/code-generation/api-descriptions/sso-oidc-2019-06-10.normal.json +++ b/tools/code-generation/api-descriptions/sso-oidc-2019-06-10.normal.json @@ -11,7 +11,8 @@ "serviceId":"SSO OIDC", "signatureVersion":"v4", "signingName":"sso-oauth", - "uid":"sso-oidc-2019-06-10" + "uid":"sso-oidc-2019-06-10", + "auth":["aws.auth#sigv4"] }, "operations":{ "CreateToken":{ @@ -35,8 +36,9 @@ {"shape":"ExpiredTokenException"}, {"shape":"InternalServerException"} ], - "documentation":"

        Creates and returns access and refresh tokens for clients that are authenticated using client secrets. The access token can be used to fetch short-term credentials for the assigned AWS accounts or to access application APIs using bearer authentication.

        ", - "authtype":"none" + "documentation":"

        Creates and returns access and refresh tokens for clients that are authenticated using client secrets. The access token can be used to fetch short-lived credentials for the assigned AWS accounts or to access application APIs using bearer authentication.

        ", + "authtype":"none", + "auth":["smithy.api#noAuth"] }, "CreateTokenWithIAM":{ "name":"CreateTokenWithIAM", @@ -60,7 +62,7 @@ {"shape":"InternalServerException"}, {"shape":"InvalidRequestRegionException"} ], - "documentation":"

        Creates and returns access and refresh tokens for clients and applications that are authenticated using IAM entities. The access token can be used to fetch short-term credentials for the assigned Amazon Web Services accounts or to access application APIs using bearer authentication.

        " + "documentation":"

        Creates and returns access and refresh tokens for clients and applications that are authenticated using IAM entities. The access token can be used to fetch short-lived credentials for the assigned Amazon Web Services accounts or to access application APIs using bearer authentication.

        " }, "RegisterClient":{ "name":"RegisterClient", @@ -78,8 +80,9 @@ {"shape":"InvalidRedirectUriException"}, {"shape":"UnsupportedGrantTypeException"} ], - "documentation":"

        Registers a client with IAM Identity Center. This allows clients to initiate device authorization. The output should be persisted for reuse through many authentication requests.

        ", - "authtype":"none" + "documentation":"

        Registers a public client with IAM Identity Center. This allows clients to perform authorization using the authorization code grant with Proof Key for Code Exchange (PKCE) or the device code grant.

        ", + "authtype":"none", + "auth":["smithy.api#noAuth"] }, "StartDeviceAuthorization":{ "name":"StartDeviceAuthorization", @@ -97,7 +100,8 @@ {"shape":"InternalServerException"} ], "documentation":"

        Initiates device authorization by requesting a pair of verification codes from the authorization service.

        ", - "authtype":"none" + "authtype":"none", + "auth":["smithy.api#noAuth"] } }, "shapes":{ @@ -172,19 +176,19 @@ }, "grantType":{ "shape":"GrantType", - "documentation":"

        Supports the following OAuth grant types: Device Code and Refresh Token. Specify either of the following values, depending on the grant type that you want:

        * Device Code - urn:ietf:params:oauth:grant-type:device_code

        * Refresh Token - refresh_token

        For information about how to obtain the device code, see the StartDeviceAuthorization topic.

        " + "documentation":"

        Supports the following OAuth grant types: Authorization Code, Device Code, and Refresh Token. Specify one of the following values, depending on the grant type that you want:

        * Authorization Code - authorization_code

        * Device Code - urn:ietf:params:oauth:grant-type:device_code

        * Refresh Token - refresh_token

        " }, "deviceCode":{ "shape":"DeviceCode", - "documentation":"

        Used only when calling this API for the Device Code grant type. This short-term code is used to identify this authorization request. This comes from the result of the StartDeviceAuthorization API.

        " + "documentation":"

        Used only when calling this API for the Device Code grant type. This short-lived code is used to identify this authorization request. This comes from the result of the StartDeviceAuthorization API.

        " }, "code":{ "shape":"AuthCode", - "documentation":"

        Used only when calling this API for the Authorization Code grant type. The short-term code is used to identify this authorization request. This grant type is currently unsupported for the CreateToken API.

        " + "documentation":"

        Used only when calling this API for the Authorization Code grant type. The short-lived code is used to identify this authorization request.

        " }, "refreshToken":{ "shape":"RefreshToken", - "documentation":"

        Used only when calling this API for the Refresh Token grant type. This token is used to refresh short-term tokens, such as the access token, that might expire.

        For more information about the features and limitations of the current IAM Identity Center OIDC implementation, see Considerations for Using this Guide in the IAM Identity Center OIDC API Reference.

        " + "documentation":"

        Used only when calling this API for the Refresh Token grant type. This token is used to refresh short-lived tokens, such as the access token, that might expire.

        For more information about the features and limitations of the current IAM Identity Center OIDC implementation, see Considerations for Using this Guide in the IAM Identity Center OIDC API Reference.

        " }, "scope":{ "shape":"Scopes", @@ -242,11 +246,11 @@ }, "code":{ "shape":"AuthCode", - "documentation":"

        Used only when calling this API for the Authorization Code grant type. This short-term code is used to identify this authorization request. The code is obtained through a redirect from IAM Identity Center to a redirect URI persisted in the Authorization Code GrantOptions for the application.

        " + "documentation":"

        Used only when calling this API for the Authorization Code grant type. This short-lived code is used to identify this authorization request. The code is obtained through a redirect from IAM Identity Center to a redirect URI persisted in the Authorization Code GrantOptions for the application.

        " }, "refreshToken":{ "shape":"RefreshToken", - "documentation":"

        Used only when calling this API for the Refresh Token grant type. This token is used to refresh short-term tokens, such as the access token, that might expire.

        For more information about the features and limitations of the current IAM Identity Center OIDC implementation, see Considerations for Using this Guide in the IAM Identity Center OIDC API Reference.

        " + "documentation":"

        Used only when calling this API for the Refresh Token grant type. This token is used to refresh short-lived tokens, such as the access token, that might expire.

        For more information about the features and limitations of the current IAM Identity Center OIDC implementation, see Considerations for Using this Guide in the IAM Identity Center OIDC API Reference.

        " }, "assertion":{ "shape":"Assertion", @@ -514,7 +518,7 @@ }, "grantTypes":{ "shape":"GrantTypes", - "documentation":"

        The list of OAuth 2.0 grant types that are defined by the client. This list is used to restrict the token granting flows available to the client.

        " + "documentation":"

        The list of OAuth 2.0 grant types that are defined by the client. This list is used to restrict the token granting flows available to the client. Supports the following OAuth 2.0 grant types: Authorization Code, Device Code, and Refresh Token.

        * Authorization Code - authorization_code

        * Device Code - urn:ietf:params:oauth:grant-type:device_code

        * Refresh Token - refresh_token

        " }, "issuerUrl":{ "shape":"URI", @@ -668,5 +672,5 @@ }, "UserCode":{"type":"string"} }, - "documentation":"

        IAM Identity Center OpenID Connect (OIDC) is a web service that enables a client (such as CLI or a native application) to register with IAM Identity Center. The service also enables the client to fetch the user’s access token upon successful authentication and authorization with IAM Identity Center.

        IAM Identity Center uses the sso and identitystore API namespaces.

        Considerations for Using This Guide

        Before you begin using this guide, we recommend that you first review the following important information about how the IAM Identity Center OIDC service works.

        • The IAM Identity Center OIDC service currently implements only the portions of the OAuth 2.0 Device Authorization Grant standard (https://tools.ietf.org/html/rfc8628) that are necessary to enable single sign-on authentication with the CLI.

        • With older versions of the CLI, the service only emits OIDC access tokens, so to obtain a new token, users must explicitly re-authenticate. To access the OIDC flow that supports token refresh and doesn’t require re-authentication, update to the latest CLI version (1.27.10 for CLI V1 and 2.9.0 for CLI V2) with support for OIDC token refresh and configurable IAM Identity Center session durations. For more information, see Configure Amazon Web Services access portal session duration .

        • The access tokens provided by this service grant access to all Amazon Web Services account entitlements assigned to an IAM Identity Center user, not just a particular application.

        • The documentation in this guide does not describe the mechanism to convert the access token into Amazon Web Services Auth (“sigv4”) credentials for use with IAM-protected Amazon Web Services service endpoints. For more information, see GetRoleCredentials in the IAM Identity Center Portal API Reference Guide.

        For general information about IAM Identity Center, see What is IAM Identity Center? in the IAM Identity Center User Guide.

        " + "documentation":"

        IAM Identity Center OpenID Connect (OIDC) is a web service that enables a client (such as CLI or a native application) to register with IAM Identity Center. The service also enables the client to fetch the user’s access token upon successful authentication and authorization with IAM Identity Center.

        API namespaces

        IAM Identity Center uses the sso and identitystore API namespaces. IAM Identity Center OpenID Connect uses the sso-oidc namespace.

        Considerations for using this guide

        Before you begin using this guide, we recommend that you first review the following important information about how the IAM Identity Center OIDC service works.

        • The IAM Identity Center OIDC service currently implements only the portions of the OAuth 2.0 Device Authorization Grant standard (https://tools.ietf.org/html/rfc8628) that are necessary to enable single sign-on authentication with the CLI.

        • With older versions of the CLI, the service only emits OIDC access tokens, so to obtain a new token, users must explicitly re-authenticate. To access the OIDC flow that supports token refresh and doesn’t require re-authentication, update to the latest CLI version (1.27.10 for CLI V1 and 2.9.0 for CLI V2) with support for OIDC token refresh and configurable IAM Identity Center session durations. For more information, see Configure Amazon Web Services access portal session duration .

        • The access tokens provided by this service grant access to all Amazon Web Services account entitlements assigned to an IAM Identity Center user, not just a particular application.

        • The documentation in this guide does not describe the mechanism to convert the access token into Amazon Web Services Auth (“sigv4”) credentials for use with IAM-protected Amazon Web Services service endpoints. For more information, see GetRoleCredentials in the IAM Identity Center Portal API Reference Guide.

        For general information about IAM Identity Center, see What is IAM Identity Center? in the IAM Identity Center User Guide.

        " } diff --git a/tools/code-generation/api-descriptions/timestream-influxdb-2023-01-27.normal.json b/tools/code-generation/api-descriptions/timestream-influxdb-2023-01-27.normal.json index c95a7644c7e..e26858763df 100644 --- a/tools/code-generation/api-descriptions/timestream-influxdb-2023-01-27.normal.json +++ b/tools/code-generation/api-descriptions/timestream-influxdb-2023-01-27.normal.json @@ -1478,6 +1478,14 @@ "deploymentType":{ "shape":"DeploymentType", "documentation":"

        Specifies whether the DB instance will be deployed as a standalone instance or with a Multi-AZ standby for high availability.

        " + }, + "dbStorageType":{ + "shape":"DbStorageType", + "documentation":"

        The Timestream for InfluxDB DB storage type that InfluxDB stores data on.

        " + }, + "allocatedStorage":{ + "shape":"AllocatedStorage", + "documentation":"

        The amount of storage to allocate for your DB storage type (in gibibytes).

        " } } }, diff --git a/tools/code-generation/api-descriptions/transcribe-streaming-2017-10-26.normal.json b/tools/code-generation/api-descriptions/transcribe-streaming-2017-10-26.normal.json index e98990d15e8..5d0ee5323c3 100644 --- a/tools/code-generation/api-descriptions/transcribe-streaming-2017-10-26.normal.json +++ b/tools/code-generation/api-descriptions/transcribe-streaming-2017-10-26.normal.json @@ -14,6 +14,22 @@ "auth":["aws.auth#sigv4"] }, "operations":{ + "GetMedicalScribeStream":{ + "name":"GetMedicalScribeStream", + "http":{ + "method":"GET", + "requestUri":"/medical-scribe-stream/{SessionId}" + }, + "input":{"shape":"GetMedicalScribeStreamRequest"}, + "output":{"shape":"GetMedicalScribeStreamResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"LimitExceededException"}, + {"shape":"InternalFailureException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

        Provides details about the specified Amazon Web Services HealthScribe streaming session. To view the status of the streaming session, check the StreamStatus field in the response. To get the details of post-stream analytics, including its status, check the PostStreamAnalyticsResult field in the response.

        " + }, "StartCallAnalyticsStreamTranscription":{ "name":"StartCallAnalyticsStreamTranscription", "http":{ @@ -31,6 +47,23 @@ ], "documentation":"

        Starts a bidirectional HTTP/2 or WebSocket stream where audio is streamed to Amazon Transcribe and the transcription results are streamed to your application. Use this operation for Call Analytics transcriptions.

        The following parameters are required:

        • language-code

        • media-encoding

        • sample-rate

        For more information on streaming with Amazon Transcribe, see Transcribing streaming audio.

        " }, + "StartMedicalScribeStream":{ + "name":"StartMedicalScribeStream", + "http":{ + "method":"POST", + "requestUri":"/medical-scribe-stream" + }, + "input":{"shape":"StartMedicalScribeStreamRequest"}, + "output":{"shape":"StartMedicalScribeStreamResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"LimitExceededException"}, + {"shape":"InternalFailureException"}, + {"shape":"ConflictException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

        Starts a bidirectional HTTP/2 stream, where audio is streamed to Amazon Web Services HealthScribe and the transcription results are streamed to your application.

        When you start a stream, you first specify the stream configuration in a MedicalScribeConfigurationEvent. This event includes channel definitions, encryption settings, and post-stream analytics settings, such as the output configuration for aggregated transcript and clinical note generation. These are additional streaming session configurations beyond those provided in your initial start request headers. Whether you are starting a new session or resuming an existing session, your first event must be a MedicalScribeConfigurationEvent.

        After you send a MedicalScribeConfigurationEvent, you start AudioEvents and Amazon Web Services HealthScribe responds with real-time transcription results. When you are finished, to start processing the results with the post-stream analytics, send a MedicalScribeSessionControlEvent with a Type of END_OF_SESSION and Amazon Web Services HealthScribe starts the analytics.

        You can pause or resume streaming. To pause streaming, complete the input stream without sending the MedicalScribeSessionControlEvent. To resume streaming, call the StartMedicalScribeStream and specify the same SessionId you used to start the stream.

        The following parameters are required:

        • language-code

        • media-encoding

        • media-sample-rate-hertz

        For more information on streaming with Amazon Web Services HealthScribe, see Amazon Web Services HealthScribe.

        " + }, "StartMedicalStreamTranscription":{ "name":"StartMedicalStreamTranscription", "http":{ @@ -95,7 +128,7 @@ "members":{ "AudioChunk":{ "shape":"AudioChunk", - "documentation":"

        An audio blob that contains the next part of the audio that you want to transcribe. The maximum audio chunk size is 32 KB.

        ", + "documentation":"

        An audio blob containing the next segment of audio from your application, with a maximum duration of 1 second. The maximum size in bytes varies based on audio properties.

        Find recommended size in Transcribing streaming best practices.

        Size calculation: Duration (s) * Sample Rate (Hz) * Number of Channels * 2 (Bytes per Sample)

        For example, a 1-second chunk of 16 kHz, 2-channel, 16-bit audio would be 1 * 16000 * 2 * 2 = 64000 bytes.

        For 8 kHz, 1-channel, 16-bit audio, a 1-second chunk would be 1 * 8000 * 1 * 2 = 16000 bytes.

        ", "eventpayload":true } }, @@ -127,6 +160,11 @@ "exception":true }, "Boolean":{"type":"boolean"}, + "BucketName":{ + "type":"string", + "max":64, + "pattern":"[a-z0-9][\\.\\-a-z0-9]{1,61}[a-z0-9]" + }, "CallAnalyticsEntity":{ "type":"structure", "members":{ @@ -291,6 +329,47 @@ }, "documentation":"

        Provides the location, using character count, in your transcript where a match is identified. For example, the location of an issue or a category match within a segment.

        " }, + "ClinicalNoteGenerationResult":{ + "type":"structure", + "members":{ + "ClinicalNoteOutputLocation":{ + "shape":"Uri", + "documentation":"

        Holds the Amazon S3 URI for the output Clinical Note.

        " + }, + "TranscriptOutputLocation":{ + "shape":"Uri", + "documentation":"

        Holds the Amazon S3 URI for the output Transcript.

        " + }, + "Status":{ + "shape":"ClinicalNoteGenerationStatus", + "documentation":"

        The status of the clinical note generation.

        Possible Values:

        • IN_PROGRESS

        • FAILED

        • COMPLETED

        After audio streaming finishes, and you send a MedicalScribeSessionControlEvent event (with END_OF_SESSION as the Type), the status is set to IN_PROGRESS. If the status is COMPLETED, the analytics completed successfully, and you can find the results at the locations specified in ClinicalNoteOutputLocation and TranscriptOutputLocation. If the status is FAILED, FailureReason provides details about the failure.

        " + }, + "FailureReason":{ + "shape":"String", + "documentation":"

        If ClinicalNoteGenerationResult is FAILED, information about why it failed.

        " + } + }, + "documentation":"

        The details for clinical note generation, including status, and output locations for clinical note and aggregated transcript if the analytics completed, or failure reason if the analytics failed.

        " + }, + "ClinicalNoteGenerationSettings":{ + "type":"structure", + "required":["OutputBucketName"], + "members":{ + "OutputBucketName":{ + "shape":"BucketName", + "documentation":"

        The name of the Amazon S3 bucket where you want the output of Amazon Web Services HealthScribe post-stream analytics stored. Don't include the S3:// prefix of the specified bucket.

        HealthScribe outputs transcript and clinical note files under the prefix: S3://$output-bucket-name/healthscribe-streaming/session-id/post-stream-analytics/clinical-notes

        The role ResourceAccessRoleArn specified in the MedicalScribeConfigurationEvent must have permission to use the specified location. You can change Amazon S3 permissions using the Amazon Web Services Management Console . See also Permissions Required for IAM User Roles .

        " + } + }, + "documentation":"

        The output configuration for aggregated transcript and clinical note generation.

        " + }, + "ClinicalNoteGenerationStatus":{ + "type":"string", + "enum":[ + "IN_PROGRESS", + "FAILED", + "COMPLETED" + ] + }, "Confidence":{"type":"double"}, "ConfigurationEvent":{ "type":"structure", @@ -331,6 +410,7 @@ "type":"string", "enum":["PII"] }, + "DateTime":{"type":"timestamp"}, "Double":{"type":"double"}, "Entity":{ "type":"structure", @@ -366,6 +446,33 @@ "type":"list", "member":{"shape":"Entity"} }, + "GetMedicalScribeStreamRequest":{ + "type":"structure", + "required":["SessionId"], + "members":{ + "SessionId":{ + "shape":"SessionId", + "documentation":"

        The identifier of the HealthScribe streaming session you want information about.

        ", + "location":"uri", + "locationName":"SessionId" + } + } + }, + "GetMedicalScribeStreamResponse":{ + "type":"structure", + "members":{ + "MedicalScribeStreamDetails":{ + "shape":"MedicalScribeStreamDetails", + "documentation":"

        Provides details about a HealthScribe streaming session.

        " + } + } + }, + "IamRoleArn":{ + "type":"string", + "max":2048, + "min":20, + "pattern":"^arn:(aws|aws-cn|aws-us-gov|aws-iso-{0,1}[a-z]{0,1}):iam::[0-9]{0,63}:role/[A-Za-z0-9:_/+=,@.-]{0,1024}$" + }, "Integer":{"type":"integer"}, "InternalFailureException":{ "type":"structure", @@ -440,6 +547,19 @@ "punctuation" ] }, + "KMSEncryptionContextMap":{ + "type":"map", + "key":{"shape":"NonEmptyString"}, + "value":{"shape":"NonEmptyString"}, + "max":10, + "min":1 + }, + "KMSKeyId":{ + "type":"string", + "max":2048, + "min":1, + "pattern":"^[A-Za-z0-9][A-Za-z0-9:_/+=,@.-]{0,2048}$" + }, "LanguageCode":{ "type":"string", "enum":[ @@ -675,6 +795,364 @@ "type":"list", "member":{"shape":"MedicalResult"} }, + "MedicalScribeAudioEvent":{ + "type":"structure", + "required":["AudioChunk"], + "members":{ + "AudioChunk":{ + "shape":"AudioChunk", + "documentation":"

        An audio blob containing the next segment of audio from your application, with a maximum duration of 1 second. The maximum size in bytes varies based on audio properties.

        Find recommended size in Transcribing streaming best practices.

        Size calculation: Duration (s) * Sample Rate (Hz) * Number of Channels * 2 (Bytes per Sample)

        For example, a 1-second chunk of 16 kHz, 2-channel, 16-bit audio would be 1 * 16000 * 2 * 2 = 64000 bytes.

        For 8 kHz, 1-channel, 16-bit audio, a 1-second chunk would be 1 * 8000 * 1 * 2 = 16000 bytes.

        ", + "eventpayload":true + } + }, + "documentation":"

        A wrapper for your audio chunks

        For more information, see Event stream encoding.

        ", + "event":true + }, + "MedicalScribeChannelDefinition":{ + "type":"structure", + "required":[ + "ChannelId", + "ParticipantRole" + ], + "members":{ + "ChannelId":{ + "shape":"MedicalScribeChannelId", + "documentation":"

        Specify the audio channel you want to define.

        " + }, + "ParticipantRole":{ + "shape":"MedicalScribeParticipantRole", + "documentation":"

        Specify the participant that you want to flag. The allowed options are CLINICIAN and PATIENT.

        " + } + }, + "documentation":"

        Makes it possible to specify which speaker is on which channel. For example, if the clinician is the first participant to speak, you would set the ChannelId of the first ChannelDefinition in the list to 0 (to indicate the first channel) and ParticipantRole to CLINICIAN (to indicate that it's the clinician speaking). Then you would set the ChannelId of the second ChannelDefinition in the list to 1 (to indicate the second channel) and ParticipantRole to PATIENT (to indicate that it's the patient speaking).

        If you don't specify a channel definition, HealthScribe will diarize the transcription and identify speaker roles for each speaker.

        " + }, + "MedicalScribeChannelDefinitions":{ + "type":"list", + "member":{"shape":"MedicalScribeChannelDefinition"}, + "max":2, + "min":2 + }, + "MedicalScribeChannelId":{ + "type":"integer", + "max":1, + "min":0 + }, + "MedicalScribeConfigurationEvent":{ + "type":"structure", + "required":[ + "ResourceAccessRoleArn", + "PostStreamAnalyticsSettings" + ], + "members":{ + "VocabularyName":{ + "shape":"VocabularyName", + "documentation":"

        Specify the name of the custom vocabulary you want to use for your streaming session. Custom vocabulary names are case-sensitive.

        " + }, + "VocabularyFilterName":{ + "shape":"VocabularyFilterName", + "documentation":"

        Specify the name of the custom vocabulary filter you want to include in your streaming session. Custom vocabulary filter names are case-sensitive.

        If you include VocabularyFilterName in the MedicalScribeConfigurationEvent, you must also include VocabularyFilterMethod.

        " + }, + "VocabularyFilterMethod":{ + "shape":"MedicalScribeVocabularyFilterMethod", + "documentation":"

        Specify how you want your custom vocabulary filter applied to the streaming session.

        To replace words with ***, specify mask.

        To delete words, specify remove.

        To flag words without changing them, specify tag.

        " + }, + "ResourceAccessRoleArn":{ + "shape":"IamRoleArn", + "documentation":"

        The Amazon Resource Name (ARN) of an IAM role that has permissions to access the Amazon S3 output bucket you specified, and use your KMS key if supplied. If the role that you specify doesn’t have the appropriate permissions, your request fails.

        IAM role ARNs have the format arn:partition:iam::account:role/role-name-with-path. For example: arn:aws:iam::111122223333:role/Admin.

        For more information, see Amazon Web Services HealthScribe.

        " + }, + "ChannelDefinitions":{ + "shape":"MedicalScribeChannelDefinitions", + "documentation":"

        Specify which speaker is on which audio channel.

        " + }, + "EncryptionSettings":{ + "shape":"MedicalScribeEncryptionSettings", + "documentation":"

        Specify the encryption settings for your streaming session.

        " + }, + "PostStreamAnalyticsSettings":{ + "shape":"MedicalScribePostStreamAnalyticsSettings", + "documentation":"

        Specify settings for post-stream analytics.

        " + } + }, + "documentation":"

        Specify details to configure the streaming session, including channel definitions, encryption settings, post-stream analytics settings, resource access role ARN and vocabulary settings.

        Whether you are starting a new session or resuming an existing session, your first event must be a MedicalScribeConfigurationEvent. If you are resuming a session, then this event must have the same configurations that you provided to start the session.

        ", + "event":true + }, + "MedicalScribeEncryptionSettings":{ + "type":"structure", + "required":["KmsKeyId"], + "members":{ + "KmsEncryptionContext":{ + "shape":"KMSEncryptionContextMap", + "documentation":"

        A map of plain text, non-secret key:value pairs, known as encryption context pairs, that provide an added layer of security for your data. For more information, see KMSencryption context and Asymmetric keys in KMS .

        " + }, + "KmsKeyId":{ + "shape":"KMSKeyId", + "documentation":"

        The ID of the KMS key you want to use for your streaming session. You can specify its KMS key ID, key Amazon Resource Name (ARN), alias name, or alias ARN. When using an alias name, prefix it with \"alias/\". To specify a KMS key in a different Amazon Web Services account, you must use the key ARN or alias ARN.

        For example:

        • Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab

        • Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab

        • Alias name: alias/ExampleAlias

        • Alias ARN: arn:aws:kms:us-east-2:111122223333:alias/ExampleAlias

        To get the key ID and key ARN for a KMS key, use the ListKeys or DescribeKey KMS API operations. To get the alias name and alias ARN, use ListKeys API operation.

        " + } + }, + "documentation":"

        Contains encryption related settings to be used for data encryption with Key Management Service, including KmsEncryptionContext and KmsKeyId. The KmsKeyId is required, while KmsEncryptionContext is optional for additional layer of security.

        By default, Amazon Web Services HealthScribe provides encryption at rest to protect sensitive customer data using Amazon S3-managed keys. HealthScribe uses the KMS key you specify as a second layer of encryption.

        Your ResourceAccessRoleArn must permission to use your KMS key. For more information, see Data Encryption at rest for Amazon Web Services HealthScribe.

        " + }, + "MedicalScribeInputStream":{ + "type":"structure", + "members":{ + "AudioEvent":{"shape":"MedicalScribeAudioEvent"}, + "SessionControlEvent":{ + "shape":"MedicalScribeSessionControlEvent", + "documentation":"

        Specify the lifecycle of your streaming session, such as ending the session.

        " + }, + "ConfigurationEvent":{ + "shape":"MedicalScribeConfigurationEvent", + "documentation":"

        Specify additional streaming session configurations beyond those provided in your initial start request headers. For example, specify channel definitions, encryption settings, and post-stream analytics settings.

        Whether you are starting a new session or resuming an existing session, your first event must be a MedicalScribeConfigurationEvent.

        " + } + }, + "documentation":"

        An encoded stream of events. The stream is encoded as HTTP/2 data frames.

        An input stream consists of the following types of events. The first element of the input stream must be the MedicalScribeConfigurationEvent event type.

        • MedicalScribeConfigurationEvent

        • MedicalScribeAudioEvent

        • MedicalScribeSessionControlEvent

        ", + "eventstream":true + }, + "MedicalScribeLanguageCode":{ + "type":"string", + "enum":["en-US"] + }, + "MedicalScribeMediaEncoding":{ + "type":"string", + "enum":[ + "pcm", + "ogg-opus", + "flac" + ] + }, + "MedicalScribeMediaSampleRateHertz":{ + "type":"integer", + "max":48000, + "min":16000 + }, + "MedicalScribeParticipantRole":{ + "type":"string", + "enum":[ + "PATIENT", + "CLINICIAN" + ] + }, + "MedicalScribePostStreamAnalyticsResult":{ + "type":"structure", + "members":{ + "ClinicalNoteGenerationResult":{ + "shape":"ClinicalNoteGenerationResult", + "documentation":"

        Provides the Clinical Note Generation result for post-stream analytics.

        " + } + }, + "documentation":"

        Contains details for the result of post-stream analytics.

        " + }, + "MedicalScribePostStreamAnalyticsSettings":{ + "type":"structure", + "required":["ClinicalNoteGenerationSettings"], + "members":{ + "ClinicalNoteGenerationSettings":{ + "shape":"ClinicalNoteGenerationSettings", + "documentation":"

        Specify settings for the post-stream clinical note generation.

        " + } + }, + "documentation":"

        The settings for post-stream analytics.

        " + }, + "MedicalScribeResultStream":{ + "type":"structure", + "members":{ + "TranscriptEvent":{ + "shape":"MedicalScribeTranscriptEvent", + "documentation":"

        The transcript event that contains real-time transcription results.

        " + }, + "BadRequestException":{"shape":"BadRequestException"}, + "LimitExceededException":{"shape":"LimitExceededException"}, + "InternalFailureException":{"shape":"InternalFailureException"}, + "ConflictException":{"shape":"ConflictException"}, + "ServiceUnavailableException":{"shape":"ServiceUnavailableException"} + }, + "documentation":"

        Result stream where you will receive the output events. The details are provided in the MedicalScribeTranscriptEvent object.

        ", + "eventstream":true + }, + "MedicalScribeSessionControlEvent":{ + "type":"structure", + "required":["Type"], + "members":{ + "Type":{ + "shape":"MedicalScribeSessionControlEventType", + "documentation":"

        The type of MedicalScribeSessionControlEvent.

        Possible Values:

        • END_OF_SESSION - Indicates the audio streaming is complete. After you send an END_OF_SESSION event, Amazon Web Services HealthScribe starts the post-stream analytics. The session can't be resumed after this event is sent. After Amazon Web Services HealthScribe processes the event, the real-time StreamStatus is COMPLETED. You get the StreamStatus and other stream details with the GetMedicalScribeStream API operation. For more information about different streaming statuses, see the StreamStatus description in the MedicalScribeStreamDetails.

        " + } + }, + "documentation":"

        Specify the lifecycle of your streaming session.

        ", + "event":true + }, + "MedicalScribeSessionControlEventType":{ + "type":"string", + "enum":["END_OF_SESSION"] + }, + "MedicalScribeStreamDetails":{ + "type":"structure", + "members":{ + "SessionId":{ + "shape":"SessionId", + "documentation":"

        The identifier of the HealthScribe streaming session.

        " + }, + "StreamCreatedAt":{ + "shape":"DateTime", + "documentation":"

        The date and time when the HealthScribe streaming session was created.

        " + }, + "StreamEndedAt":{ + "shape":"DateTime", + "documentation":"

        The date and time when the HealthScribe streaming session was ended.

        " + }, + "LanguageCode":{ + "shape":"MedicalScribeLanguageCode", + "documentation":"

        The Language Code of the HealthScribe streaming session.

        " + }, + "MediaSampleRateHertz":{ + "shape":"MedicalScribeMediaSampleRateHertz", + "documentation":"

        The sample rate (in hertz) of the HealthScribe streaming session.

        " + }, + "MediaEncoding":{ + "shape":"MedicalScribeMediaEncoding", + "documentation":"

        The Media Encoding of the HealthScribe streaming session.

        " + }, + "VocabularyName":{ + "shape":"VocabularyName", + "documentation":"

        The vocabulary name of the HealthScribe streaming session.

        " + }, + "VocabularyFilterName":{ + "shape":"VocabularyFilterName", + "documentation":"

        The name of the vocabulary filter used for the HealthScribe streaming session .

        " + }, + "VocabularyFilterMethod":{ + "shape":"MedicalScribeVocabularyFilterMethod", + "documentation":"

        The method of the vocabulary filter for the HealthScribe streaming session.

        " + }, + "ResourceAccessRoleArn":{ + "shape":"IamRoleArn", + "documentation":"

        The Amazon Resource Name (ARN) of the role used in the HealthScribe streaming session.

        " + }, + "ChannelDefinitions":{ + "shape":"MedicalScribeChannelDefinitions", + "documentation":"

        The Channel Definitions of the HealthScribe streaming session.

        " + }, + "EncryptionSettings":{ + "shape":"MedicalScribeEncryptionSettings", + "documentation":"

        The Encryption Settings of the HealthScribe streaming session.

        " + }, + "StreamStatus":{ + "shape":"MedicalScribeStreamStatus", + "documentation":"

        The streaming status of the HealthScribe streaming session.

        Possible Values:

        • IN_PROGRESS

        • PAUSED

        • FAILED

        • COMPLETED

        This status is specific to real-time streaming. A COMPLETED status doesn't mean that the post-stream analytics is complete. To get status of an analytics result, check the Status field for the analytics result within the MedicalScribePostStreamAnalyticsResult. For example, you can view the status of the ClinicalNoteGenerationResult.

        " + }, + "PostStreamAnalyticsSettings":{ + "shape":"MedicalScribePostStreamAnalyticsSettings", + "documentation":"

        The post-stream analytics settings of the HealthScribe streaming session.

        " + }, + "PostStreamAnalyticsResult":{ + "shape":"MedicalScribePostStreamAnalyticsResult", + "documentation":"

        The result of post-stream analytics for the HealthScribe streaming session.

        " + } + }, + "documentation":"

        Contains details about a Amazon Web Services HealthScribe streaming session.

        " + }, + "MedicalScribeStreamStatus":{ + "type":"string", + "enum":[ + "IN_PROGRESS", + "PAUSED", + "FAILED", + "COMPLETED" + ] + }, + "MedicalScribeTranscriptEvent":{ + "type":"structure", + "members":{ + "TranscriptSegment":{ + "shape":"MedicalScribeTranscriptSegment", + "documentation":"

        The TranscriptSegment associated with a MedicalScribeTranscriptEvent.

        " + } + }, + "documentation":"

        The event associated with MedicalScribeResultStream.

        Contains MedicalScribeTranscriptSegment, which contains segment related information.

        ", + "event":true + }, + "MedicalScribeTranscriptItem":{ + "type":"structure", + "members":{ + "BeginAudioTime":{ + "shape":"Double", + "documentation":"

        The start time, in milliseconds, of the transcribed item.

        " + }, + "EndAudioTime":{ + "shape":"Double", + "documentation":"

        The end time, in milliseconds, of the transcribed item.

        " + }, + "Type":{ + "shape":"MedicalScribeTranscriptItemType", + "documentation":"

        The type of item identified. Options are: PRONUNCIATION (spoken words) and PUNCTUATION.

        " + }, + "Confidence":{ + "shape":"Confidence", + "documentation":"

        The confidence score associated with a word or phrase in your transcript.

        Confidence scores are values between 0 and 1. A larger value indicates a higher probability that the identified item correctly matches the item spoken in your media.

        " + }, + "Content":{ + "shape":"String", + "documentation":"

        The word, phrase or punctuation mark that was transcribed.

        " + }, + "VocabularyFilterMatch":{ + "shape":"NullableBoolean", + "documentation":"

        Indicates whether the specified item matches a word in the vocabulary filter included in your configuration event. If true, there is a vocabulary filter match.

        " + } + }, + "documentation":"

        A word, phrase, or punctuation mark in your transcription output, along with various associated attributes, such as confidence score, type, and start and end times.

        " + }, + "MedicalScribeTranscriptItemList":{ + "type":"list", + "member":{"shape":"MedicalScribeTranscriptItem"} + }, + "MedicalScribeTranscriptItemType":{ + "type":"string", + "enum":[ + "pronunciation", + "punctuation" + ] + }, + "MedicalScribeTranscriptSegment":{ + "type":"structure", + "members":{ + "SegmentId":{ + "shape":"String", + "documentation":"

        The identifier of the segment.

        " + }, + "BeginAudioTime":{ + "shape":"Double", + "documentation":"

        The start time, in milliseconds, of the segment.

        " + }, + "EndAudioTime":{ + "shape":"Double", + "documentation":"

        The end time, in milliseconds, of the segment.

        " + }, + "Content":{ + "shape":"String", + "documentation":"

        Contains transcribed text of the segment.

        " + }, + "Items":{ + "shape":"MedicalScribeTranscriptItemList", + "documentation":"

        Contains words, phrases, or punctuation marks in your segment.

        " + }, + "IsPartial":{ + "shape":"Boolean", + "documentation":"

        Indicates if the segment is complete.

        If IsPartial is true, the segment is not complete. If IsPartial is false, the segment is complete.

        " + }, + "ChannelId":{ + "shape":"String", + "documentation":"

        Indicates which audio channel is associated with the MedicalScribeTranscriptSegment.

        If MedicalScribeChannelDefinition is not provided in the MedicalScribeConfigurationEvent, then this field will not be included.

        " + } + }, + "documentation":"

        Contains a set of transcription results, along with additional information of the segment.

        " + }, + "MedicalScribeVocabularyFilterMethod":{ + "type":"string", + "enum":[ + "remove", + "mask", + "tag" + ] + }, "MedicalTranscript":{ "type":"structure", "members":{ @@ -718,6 +1196,16 @@ "min":1, "pattern":"^[0-9a-zA-Z._-]+" }, + "NonEmptyString":{ + "type":"string", + "max":2000, + "min":1, + "pattern":".*\\S.*" + }, + "NullableBoolean":{ + "type":"boolean", + "box":true + }, "NumberOfChannels":{ "type":"integer", "min":2 @@ -780,6 +1268,15 @@ "documentation":"

        Allows you to specify additional settings for your Call Analytics post-call request, including output locations for your redacted transcript, which IAM role to use, and which encryption key to use.

        DataAccessRoleArn and OutputLocation are required fields.

        PostCallAnalyticsSettings provides you with the same insights as a Call Analytics post-call transcription. Refer to Post-call analytics for more information on this feature.

        " }, "RequestId":{"type":"string"}, + "ResourceNotFoundException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

        The request references a resource which doesn't exist.

        ", + "error":{"httpStatusCode":404}, + "exception":true + }, "Result":{ "type":"structure", "members":{ @@ -1046,6 +1543,86 @@ }, "payload":"CallAnalyticsTranscriptResultStream" }, + "StartMedicalScribeStreamRequest":{ + "type":"structure", + "required":[ + "LanguageCode", + "MediaSampleRateHertz", + "MediaEncoding", + "InputStream" + ], + "members":{ + "SessionId":{ + "shape":"SessionId", + "documentation":"

        Specify an identifier for your streaming session (in UUID format). If you don't include a SessionId in your request, Amazon Web Services HealthScribe generates an ID and returns it in the response.

        ", + "location":"header", + "locationName":"x-amzn-transcribe-session-id" + }, + "LanguageCode":{ + "shape":"MedicalScribeLanguageCode", + "documentation":"

        Specify the language code for your HealthScribe streaming session.

        ", + "location":"header", + "locationName":"x-amzn-transcribe-language-code" + }, + "MediaSampleRateHertz":{ + "shape":"MedicalScribeMediaSampleRateHertz", + "documentation":"

        Specify the sample rate of the input audio (in hertz). Amazon Web Services HealthScribe supports a range from 16,000 Hz to 48,000 Hz. The sample rate you specify must match that of your audio.

        ", + "location":"header", + "locationName":"x-amzn-transcribe-sample-rate" + }, + "MediaEncoding":{ + "shape":"MedicalScribeMediaEncoding", + "documentation":"

        Specify the encoding used for the input audio.

        Supported formats are:

        • FLAC

        • OPUS-encoded audio in an Ogg container

        • PCM (only signed 16-bit little-endian audio formats, which does not include WAV)

        For more information, see Media formats.

        ", + "location":"header", + "locationName":"x-amzn-transcribe-media-encoding" + }, + "InputStream":{ + "shape":"MedicalScribeInputStream", + "documentation":"

        Specify the input stream where you will send events in real time.

        The first element of the input stream must be a MedicalScribeConfigurationEvent.

        " + } + }, + "payload":"InputStream" + }, + "StartMedicalScribeStreamResponse":{ + "type":"structure", + "members":{ + "SessionId":{ + "shape":"SessionId", + "documentation":"

        The identifier (in UUID format) for your streaming session.

        If you already started streaming, this is same ID as the one you specified in your initial StartMedicalScribeStreamRequest.

        ", + "location":"header", + "locationName":"x-amzn-transcribe-session-id" + }, + "RequestId":{ + "shape":"RequestId", + "documentation":"

        The unique identifier for your streaming request.

        ", + "location":"header", + "locationName":"x-amzn-request-id" + }, + "LanguageCode":{ + "shape":"MedicalScribeLanguageCode", + "documentation":"

        The Language Code that you specified in your request. Same as provided in the StartMedicalScribeStreamRequest.

        ", + "location":"header", + "locationName":"x-amzn-transcribe-language-code" + }, + "MediaSampleRateHertz":{ + "shape":"MedicalScribeMediaSampleRateHertz", + "documentation":"

        The sample rate (in hertz) that you specified in your request. Same as provided in the StartMedicalScribeStreamRequest

        ", + "location":"header", + "locationName":"x-amzn-transcribe-sample-rate" + }, + "MediaEncoding":{ + "shape":"MedicalScribeMediaEncoding", + "documentation":"

        The Media Encoding you specified in your request. Same as provided in the StartMedicalScribeStreamRequest

        ", + "location":"header", + "locationName":"x-amzn-transcribe-media-encoding" + }, + "ResultStream":{ + "shape":"MedicalScribeResultStream", + "documentation":"

        The result stream where you will receive the output events.

        " + } + }, + "payload":"ResultStream" + }, "StartMedicalStreamTranscriptionRequest":{ "type":"structure", "required":[ @@ -1586,6 +2163,12 @@ "DICTATION" ] }, + "Uri":{ + "type":"string", + "max":2000, + "min":1, + "pattern":"(s3://|http(s*)://).+" + }, "UtteranceEvent":{ "type":"structure", "members":{ @@ -1666,5 +2249,5 @@ "pattern":"^[a-zA-Z0-9,-._]+" } }, - "documentation":"

        Amazon Transcribe streaming offers three main types of real-time transcription: Standard, Medical, and Call Analytics.

        • Standard transcriptions are the most common option. Refer to for details.

        • Medical transcriptions are tailored to medical professionals and incorporate medical terms. A common use case for this service is transcribing doctor-patient dialogue in real time, so doctors can focus on their patient instead of taking notes. Refer to for details.

        • Call Analytics transcriptions are designed for use with call center audio on two different channels; if you're looking for insight into customer service calls, use this option. Refer to for details.

        " + "documentation":"

        Amazon Transcribe streaming offers four main types of real-time transcription: Standard, Medical, Call Analytics, and Health Scribe.

        • Standard transcriptions are the most common option. Refer to for details.

        • Medical transcriptions are tailored to medical professionals and incorporate medical terms. A common use case for this service is transcribing doctor-patient dialogue in real time, so doctors can focus on their patient instead of taking notes. Refer to for details.

        • Call Analytics transcriptions are designed for use with call center audio on two different channels; if you're looking for insight into customer service calls, use this option. Refer to for details.

        • HealthScribe transcriptions are designed to automatically create clinical notes from patient-clinician conversations using generative AI. Refer to [here] for details.

        " } diff --git a/tools/code-generation/api-descriptions/transfer-2018-11-05.normal.json b/tools/code-generation/api-descriptions/transfer-2018-11-05.normal.json index 7f7778b79a0..b367d9a85f5 100644 --- a/tools/code-generation/api-descriptions/transfer-2018-11-05.normal.json +++ b/tools/code-generation/api-descriptions/transfer-2018-11-05.normal.json @@ -49,7 +49,7 @@ {"shape":"ServiceUnavailableException"}, {"shape":"ResourceExistsException"} ], - "documentation":"

        Creates an agreement. An agreement is a bilateral trading partner agreement, or partnership, between an Transfer Family server and an AS2 process. The agreement defines the file and message transfer relationship between the server and the AS2 process. To define an agreement, Transfer Family combines a server, local profile, partner profile, certificate, and other attributes.

        The partner is identified with the PartnerProfileId, and the AS2 process is identified with the LocalProfileId.

        " + "documentation":"

        Creates an agreement. An agreement is a bilateral trading partner agreement, or partnership, between an Transfer Family server and an AS2 process. The agreement defines the file and message transfer relationship between the server and the AS2 process. To define an agreement, Transfer Family combines a server, local profile, partner profile, certificate, and other attributes.

        The partner is identified with the PartnerProfileId, and the AS2 process is identified with the LocalProfileId.

        Specify either BaseDirectory or CustomDirectories, but not both. Specifying both causes the command to fail.

        " }, "CreateConnector":{ "name":"CreateConnector", @@ -1028,7 +1028,7 @@ {"shape":"ServiceUnavailableException"}, {"shape":"ResourceExistsException"} ], - "documentation":"

        Updates some of the parameters for an existing agreement. Provide the AgreementId and the ServerId for the agreement that you want to update, along with the new values for the parameters to update.

        " + "documentation":"

        Updates some of the parameters for an existing agreement. Provide the AgreementId and the ServerId for the agreement that you want to update, along with the new values for the parameters to update.

        Specify either BaseDirectory or CustomDirectories, but not both. Specifying both causes the command to fail.

        If you update an agreement from using base directory to custom directories, the base directory is no longer used. Similarly, if you change from custom directories to a base directory, the custom directories are no longer used.

        " }, "UpdateCertificate":{ "name":"UpdateCertificate", @@ -1482,7 +1482,6 @@ "ServerId", "LocalProfileId", "PartnerProfileId", - "BaseDirectory", "AccessRole" ], "members":{ @@ -1525,6 +1524,10 @@ "EnforceMessageSigning":{ "shape":"EnforceMessageSigningType", "documentation":"

        Determines whether or not unsigned messages from your trading partners will be accepted.

        • ENABLED: Transfer Family rejects unsigned messages from your trading partner.

        • DISABLED (default value): Transfer Family accepts unsigned messages from your trading partner.

        " + }, + "CustomDirectories":{ + "shape":"CustomDirectoriesType", + "documentation":"

        A CustomDirectoriesType structure. This structure specifies custom directories for storing various AS2 message files. You can specify directories for the following types of files.

        • Failed files

        • MDN files

        • Payload files

        • Status files

        • Temporary files

        " } } }, @@ -1834,6 +1837,39 @@ } } }, + "CustomDirectoriesType":{ + "type":"structure", + "required":[ + "FailedFilesDirectory", + "MdnFilesDirectory", + "PayloadFilesDirectory", + "StatusFilesDirectory", + "TemporaryFilesDirectory" + ], + "members":{ + "FailedFilesDirectory":{ + "shape":"HomeDirectory", + "documentation":"

        Specifies a location to store failed AS2 message files.

        " + }, + "MdnFilesDirectory":{ + "shape":"HomeDirectory", + "documentation":"

        Specifies a location to store MDN files.

        " + }, + "PayloadFilesDirectory":{ + "shape":"HomeDirectory", + "documentation":"

        Specifies a location to store the payload for AS2 message files.

        " + }, + "StatusFilesDirectory":{ + "shape":"HomeDirectory", + "documentation":"

        Specifies a location to store AS2 status messages.

        " + }, + "TemporaryFilesDirectory":{ + "shape":"HomeDirectory", + "documentation":"

        Specifies a location to store temporary AS2 message files.

        " + } + }, + "documentation":"

        Contains Amazon S3 locations for storing specific types of AS2 message files.

        " + }, "CustomStepDetails":{ "type":"structure", "members":{ @@ -2478,6 +2514,10 @@ "EnforceMessageSigning":{ "shape":"EnforceMessageSigningType", "documentation":"

        Determines whether or not unsigned messages from your trading partners will be accepted.

        • ENABLED: Transfer Family rejects unsigned messages from your trading partner.

        • DISABLED (default value): Transfer Family accepts unsigned messages from your trading partner.

        " + }, + "CustomDirectories":{ + "shape":"CustomDirectoriesType", + "documentation":"

        A CustomDirectoriesType structure. This structure specifies custom directories for storing various AS2 message files. You can specify directories for the following types of files.

        • Failed files

        • MDN files

        • Payload files

        • Status files

        • Temporary files

        " } }, "documentation":"

        Describes the properties of an agreement.

        " @@ -5406,6 +5446,10 @@ "EnforceMessageSigning":{ "shape":"EnforceMessageSigningType", "documentation":"

        Determines whether or not unsigned messages from your trading partners will be accepted.

        • ENABLED: Transfer Family rejects unsigned messages from your trading partner.

        • DISABLED (default value): Transfer Family accepts unsigned messages from your trading partner.

        " + }, + "CustomDirectories":{ + "shape":"CustomDirectoriesType", + "documentation":"

        A CustomDirectoriesType structure. This structure specifies custom directories for storing various AS2 message files. You can specify directories for the following types of files.

        • Failed files

        • MDN files

        • Payload files

        • Status files

        • Temporary files

        " } } }, diff --git a/tools/code-generation/api-descriptions/verifiedpermissions-2021-12-01.normal.json b/tools/code-generation/api-descriptions/verifiedpermissions-2021-12-01.normal.json index 9c57215e874..d285e68769d 100644 --- a/tools/code-generation/api-descriptions/verifiedpermissions-2021-12-01.normal.json +++ b/tools/code-generation/api-descriptions/verifiedpermissions-2021-12-01.normal.json @@ -927,6 +927,10 @@ "box":true, "sensitive":true }, + "CedarJson":{ + "type":"string", + "sensitive":true + }, "Claim":{ "type":"string", "min":1, @@ -1116,9 +1120,13 @@ "contextMap":{ "shape":"ContextMap", "documentation":"

        An list of attributes that are needed to successfully evaluate an authorization request. Each attribute in this array must include a map of a data type and its value.

        Example: \"contextMap\":{\"<KeyName1>\":{\"boolean\":true},\"<KeyName2>\":{\"long\":1234}}

        " + }, + "cedarJson":{ + "shape":"CedarJson", + "documentation":"

        A Cedar JSON string representation of the context needed to successfully evaluate an authorization request.

        Example: {\"cedarJson\":\"{\\\"<KeyName1>\\\": true, \\\"<KeyName2>\\\": 1234}\" }

        " } }, - "documentation":"

        Contains additional details about the context of the request. Verified Permissions evaluates this information in an authorization request as part of the when and unless clauses in a policy.

        This data type is used as a request parameter for the IsAuthorized, BatchIsAuthorized, and IsAuthorizedWithToken operations.

        Example: \"context\":{\"contextMap\":{\"<KeyName1>\":{\"boolean\":true},\"<KeyName2>\":{\"long\":1234}}}

        ", + "documentation":"

        Contains additional details about the context of the request. Verified Permissions evaluates this information in an authorization request as part of the when and unless clauses in a policy.

        This data type is used as a request parameter for the IsAuthorized, BatchIsAuthorized, and IsAuthorizedWithToken operations.

        If you're passing context as part of the request, exactly one instance of context must be passed. If you don't want to pass context, omit the context parameter from your request rather than sending context {}.

        Example: \"context\":{\"contextMap\":{\"<KeyName1>\":{\"boolean\":true},\"<KeyName2>\":{\"long\":1234}}}

        ", "union":true }, "ContextMap":{ @@ -1470,7 +1478,11 @@ "members":{ "entityList":{ "shape":"EntityList", - "documentation":"

        An array of entities that are needed to successfully evaluate an authorization request. Each entity in this array must include an identifier for the entity, the attributes of the entity, and a list of any parent entities.

        " + "documentation":"

        An array of entities that are needed to successfully evaluate an authorization request. Each entity in this array must include an identifier for the entity, the attributes of the entity, and a list of any parent entities.

        If you include multiple entities with the same identifier, only the last one is processed in the request.

        " + }, + "cedarJson":{ + "shape":"CedarJson", + "documentation":"

        A Cedar JSON string representation of the entities needed to successfully evaluate an authorization request.

        Example: {\"cedarJson\": \"[{\\\"uid\\\":{\\\"type\\\":\\\"Photo\\\",\\\"id\\\":\\\"VacationPhoto94.jpg\\\"},\\\"attrs\\\":{\\\"accessLevel\\\":\\\"public\\\"},\\\"parents\\\":[]}]\"}

        " } }, "documentation":"

        Contains the list of entities to be considered during an authorization request. This includes all principals, resources, and actions required to successfully evaluate the request.

        This data type is used as a field in the response parameter for the IsAuthorized and IsAuthorizedWithToken operations.

        ", diff --git a/tools/code-generation/generator/src/main/java/com/amazonaws/util/awsclientgenerator/domainmodels/c2j_protocol_test/C2jGiven.java b/tools/code-generation/generator/src/main/java/com/amazonaws/util/awsclientgenerator/domainmodels/c2j_protocol_test/C2jGiven.java new file mode 100644 index 00000000000..479061122f7 --- /dev/null +++ b/tools/code-generation/generator/src/main/java/com/amazonaws/util/awsclientgenerator/domainmodels/c2j_protocol_test/C2jGiven.java @@ -0,0 +1,33 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +package com.amazonaws.util.awsclientgenerator.domainmodels.c2j_protocol_test; + +import lombok.Data; + +@Data +public class C2jGiven { + @Data + public class C2jGivenHttp { + private String method; + private String requestUri; + } + + @Data + public class C2jGivenInput { + private String shape; + private String locationName; + } + + @Data + public class C2jGivenEndpoint { + private String hostPrefix; + } + + private String name; + private C2jGivenHttp http; + private C2jGivenInput input; + private C2jGivenEndpoint endpoint; +} diff --git a/tools/code-generation/generator/src/main/java/com/amazonaws/util/awsclientgenerator/domainmodels/c2j_protocol_test/C2jInputSerialized.java b/tools/code-generation/generator/src/main/java/com/amazonaws/util/awsclientgenerator/domainmodels/c2j_protocol_test/C2jInputSerialized.java new file mode 100644 index 00000000000..a51226ff4a3 --- /dev/null +++ b/tools/code-generation/generator/src/main/java/com/amazonaws/util/awsclientgenerator/domainmodels/c2j_protocol_test/C2jInputSerialized.java @@ -0,0 +1,43 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +package com.amazonaws.util.awsclientgenerator.domainmodels.c2j_protocol_test; + +import lombok.Data; + +import java.util.List; +import java.util.Map; + +@Data +public class C2jInputSerialized { + /** + * The HTTP method. + */ + private String method; + /** + * The HTTP body as a string. + */ + private String body; + /** + * The uri path and querystring of the request. + */ + private String uri; + /** + * The URL host of the request. + */ + private String host; + /** + * Any HTTP headers for the HTTP request. + */ + private Map headers; + /** + * A list of header names that must not exist in the HTTP Request. + */ + private List forbidHeaders; + /** + * A list of header names that must exist in the HTTP Request. + */ + private List requireHeaders; +} diff --git a/tools/code-generation/generator/src/main/java/com/amazonaws/util/awsclientgenerator/domainmodels/c2j_protocol_test/C2jInputTestCase.java b/tools/code-generation/generator/src/main/java/com/amazonaws/util/awsclientgenerator/domainmodels/c2j_protocol_test/C2jInputTestCase.java new file mode 100644 index 00000000000..906f61d2b4c --- /dev/null +++ b/tools/code-generation/generator/src/main/java/com/amazonaws/util/awsclientgenerator/domainmodels/c2j_protocol_test/C2jInputTestCase.java @@ -0,0 +1,35 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +package com.amazonaws.util.awsclientgenerator.domainmodels.c2j_protocol_test; + +import com.fasterxml.jackson.databind.JsonNode; +import lombok.Data; + +@Data +public class C2jInputTestCase { + /** + * A test case id. + */ + private String id; + /** + * A test case description. + */ + private String description; + /** + * This corresponds to the JSON object that would define an operation in the service's JSON model. + * Valid keys include http, input, endpoint, and name. + */ + private C2jGiven given; + /** + * The input parameters a user would provide. + */ + private JsonNode params; + + /** + * The expected serialized HTTP request. + */ + private C2jInputSerialized serialized; +} diff --git a/tools/code-generation/generator/src/main/java/com/amazonaws/util/awsclientgenerator/domainmodels/c2j_protocol_test/C2jInputTestSuite.java b/tools/code-generation/generator/src/main/java/com/amazonaws/util/awsclientgenerator/domainmodels/c2j_protocol_test/C2jInputTestSuite.java new file mode 100644 index 00000000000..99acaaa08f6 --- /dev/null +++ b/tools/code-generation/generator/src/main/java/com/amazonaws/util/awsclientgenerator/domainmodels/c2j_protocol_test/C2jInputTestSuite.java @@ -0,0 +1,38 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +package com.amazonaws.util.awsclientgenerator.domainmodels.c2j_protocol_test; + + +import com.amazonaws.util.awsclientgenerator.domainmodels.c2j.C2jMetadata; +import com.amazonaws.util.awsclientgenerator.domainmodels.c2j.C2jShape; +import lombok.Data; + +import java.util.List; +import java.util.Map; + +@Data +public class C2jInputTestSuite { + /** + * A description of the tests + */ + private String description; + /** + * The top level metadata that would correspond to the metadata key in the service's JSON model. + */ + private C2jMetadata metadata; + /** + * An URL string the test cases must use when constructing the request's URL endpoint. + */ + private String clientEndpoint; + /** + * A JSON object of shapes. This would correspond to the top level shapes key in the service's JSON model. + */ + private Map shapes; + /** + * a JSON list of test cases. + */ + private List cases; +} diff --git a/tools/code-generation/generator/src/main/java/com/amazonaws/util/awsclientgenerator/domainmodels/c2j_protocol_test/C2jOutputResponse.java b/tools/code-generation/generator/src/main/java/com/amazonaws/util/awsclientgenerator/domainmodels/c2j_protocol_test/C2jOutputResponse.java new file mode 100644 index 00000000000..7fb82af1464 --- /dev/null +++ b/tools/code-generation/generator/src/main/java/com/amazonaws/util/awsclientgenerator/domainmodels/c2j_protocol_test/C2jOutputResponse.java @@ -0,0 +1,17 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +package com.amazonaws.util.awsclientgenerator.domainmodels.c2j_protocol_test; + +import lombok.Data; + +import java.util.Map; + +@Data +public class C2jOutputResponse { + Integer status_code; + private Map headers; + private String body; +} diff --git a/tools/code-generation/generator/src/main/java/com/amazonaws/util/awsclientgenerator/domainmodels/c2j_protocol_test/C2jOutputTestCase.java b/tools/code-generation/generator/src/main/java/com/amazonaws/util/awsclientgenerator/domainmodels/c2j_protocol_test/C2jOutputTestCase.java new file mode 100644 index 00000000000..02df5e19c0c --- /dev/null +++ b/tools/code-generation/generator/src/main/java/com/amazonaws/util/awsclientgenerator/domainmodels/c2j_protocol_test/C2jOutputTestCase.java @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +package com.amazonaws.util.awsclientgenerator.domainmodels.c2j_protocol_test; + +import com.fasterxml.jackson.databind.JsonNode; +import lombok.Data; + +@Data +public class C2jOutputTestCase { + /** + * A test case id. + */ + private String id; + /** + * A test case description. + */ + private String description; + /** + * This corresponds to the JSON object that would define an operation in the service's JSON model. + * Valid keys include http, input, endpoint, and name. + */ + private C2jGiven given; + /** + * A JSON hash representing the structure of the parsed response. Either this or error (not both) must appear in the test case. + */ + private JsonNode result; + /** + * A JSON hash representing the structure of the parsed error response. Either this or result (not both) must appear in the test case. + */ + private JsonNode error; + /** + * A string specifying the AWS error code extracted from the response. Corresponds to the error shape to be unmarshalled and + * should always be set, even when the shape can not be found. Must be present when the error key is present. + */ + private String errorCode; + /** + * A string specifying the error message extracted from the response. + * Should be able to be extracted even when an error shape is not unmarshalled. May only be present when the error key is present. + */ + private String errorMessage; + /** + * The HTTP response to be parsed + */ + private C2jOutputResponse response; +} diff --git a/tools/code-generation/generator/src/main/java/com/amazonaws/util/awsclientgenerator/domainmodels/c2j_protocol_test/C2jOutputTestSuite.java b/tools/code-generation/generator/src/main/java/com/amazonaws/util/awsclientgenerator/domainmodels/c2j_protocol_test/C2jOutputTestSuite.java new file mode 100644 index 00000000000..4e8d65b31a1 --- /dev/null +++ b/tools/code-generation/generator/src/main/java/com/amazonaws/util/awsclientgenerator/domainmodels/c2j_protocol_test/C2jOutputTestSuite.java @@ -0,0 +1,37 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +package com.amazonaws.util.awsclientgenerator.domainmodels.c2j_protocol_test; + +import com.amazonaws.util.awsclientgenerator.domainmodels.c2j.C2jMetadata; +import com.amazonaws.util.awsclientgenerator.domainmodels.c2j.C2jShape; +import lombok.Data; + +import java.util.List; +import java.util.Map; + +@Data +public class C2jOutputTestSuite { + /** + * A description of the tests + */ + private String description; + /** + * The top level metadata that would correspond to the metadata key in the service's JSON model. + */ + private C2jMetadata metadata; + /** + * A URL string the test cases must use when constructing the request's URL endpoint. + */ + private String clientEndpoint; + /** + * A JSON object of C2jShapes. This would correspond to the top level C2jShapes key in the service's JSON model. + */ + private Map shapes; + /** + * a JSON list of test cases. + */ + private List cases; +} diff --git a/tools/code-generation/generator/src/main/java/com/amazonaws/util/awsclientgenerator/domainmodels/c2j_protocol_test/C2jTestSuite.java b/tools/code-generation/generator/src/main/java/com/amazonaws/util/awsclientgenerator/domainmodels/c2j_protocol_test/C2jTestSuite.java new file mode 100644 index 00000000000..127aa9e62ed --- /dev/null +++ b/tools/code-generation/generator/src/main/java/com/amazonaws/util/awsclientgenerator/domainmodels/c2j_protocol_test/C2jTestSuite.java @@ -0,0 +1,26 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +package com.amazonaws.util.awsclientgenerator.domainmodels.c2j_protocol_test; + +import com.amazonaws.util.awsclientgenerator.domainmodels.c2j.C2jMetadata; +import com.amazonaws.util.awsclientgenerator.domainmodels.c2j.C2jShape; +import lombok.Data; + +import java.util.List; +import java.util.Map; + +@Data +public class C2jTestSuite { + private String name; + private String serviceToUse; + public enum TestSuiteType { + INPUT, + OUTPUT + } + TestSuiteType type; // only can be present. + private List inputTestSuites; + private List outputTestSuites; +} diff --git a/tools/code-generation/generator/src/main/java/com/amazonaws/util/awsclientgenerator/domainmodels/c2j_protocol_test/JsonNodeDeserializer.java b/tools/code-generation/generator/src/main/java/com/amazonaws/util/awsclientgenerator/domainmodels/c2j_protocol_test/JsonNodeDeserializer.java new file mode 100644 index 00000000000..de51298b5c3 --- /dev/null +++ b/tools/code-generation/generator/src/main/java/com/amazonaws/util/awsclientgenerator/domainmodels/c2j_protocol_test/JsonNodeDeserializer.java @@ -0,0 +1,35 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +package com.amazonaws.util.awsclientgenerator.domainmodels.c2j; + + +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonParseException; + +import java.lang.reflect.Type; + +/** + * A helper for gson parser to deserialize raw JSON entry in the protocol test definition to a "Jackson.JsonNode" + */ +public class JsonNodeDeserializer implements JsonDeserializer { + @Override + public JsonNode deserialize(JsonElement jsonElement, Type type, + JsonDeserializationContext context) throws JsonParseException { + ObjectMapper objectMapper = new ObjectMapper(); + JsonNode jsonNode = null; + try { + jsonNode = objectMapper.readValue(jsonElement.getAsJsonObject().toString(), JsonNode.class); + } catch (JsonProcessingException e) { + throw new RuntimeException(e); + } + return jsonNode; + } +} \ No newline at end of file diff --git a/tools/code-generation/generator/src/main/java/com/amazonaws/util/awsclientgenerator/generators/DirectFromC2jGenerator.java b/tools/code-generation/generator/src/main/java/com/amazonaws/util/awsclientgenerator/generators/DirectFromC2jGenerator.java index 02e30611566..50947198f3a 100644 --- a/tools/code-generation/generator/src/main/java/com/amazonaws/util/awsclientgenerator/generators/DirectFromC2jGenerator.java +++ b/tools/code-generation/generator/src/main/java/com/amazonaws/util/awsclientgenerator/generators/DirectFromC2jGenerator.java @@ -8,6 +8,10 @@ import com.amazonaws.util.awsclientgenerator.domainmodels.c2j.C2jServiceModel; import com.amazonaws.util.awsclientgenerator.domainmodels.c2j.C2jXmlNamespace; import com.amazonaws.util.awsclientgenerator.domainmodels.c2j.C2jXmlNamespaceDeserializer; +import com.amazonaws.util.awsclientgenerator.domainmodels.c2j.JsonNodeDeserializer; +import com.amazonaws.util.awsclientgenerator.domainmodels.c2j_protocol_test.C2jInputTestSuite; +import com.amazonaws.util.awsclientgenerator.domainmodels.c2j_protocol_test.C2jOutputTestSuite; +import com.amazonaws.util.awsclientgenerator.domainmodels.c2j_protocol_test.C2jTestSuite; import com.amazonaws.util.awsclientgenerator.domainmodels.codegeneration.EndpointRuleSetModel; import com.amazonaws.util.awsclientgenerator.domainmodels.codegeneration.PartitionsModel; import com.amazonaws.util.awsclientgenerator.domainmodels.defaults.BaseOption; @@ -20,10 +24,14 @@ import com.amazonaws.util.awsclientgenerator.domainmodels.endpoints.EndpointParameterValueDeserializer; import com.amazonaws.util.awsclientgenerator.domainmodels.endpoints.EndpointTestParamsDeserializer; import com.amazonaws.util.awsclientgenerator.domainmodels.endpoints.EndpointTests; +import com.fasterxml.jackson.databind.JsonNode; import com.google.gson.Gson; import com.google.gson.GsonBuilder; +import com.google.gson.reflect.TypeToken; import java.io.ByteArrayOutputStream; +import java.lang.reflect.Type; +import java.util.List; public class DirectFromC2jGenerator { @@ -168,4 +176,39 @@ public ByteArrayOutputStream generateServiceTestSourceFromModels(String rawJson, return mainClientGenerator.generateTestSourceFromModel(c2jServiceModel, serviceName, languageBinding, namespace, licenseText); } + + /** + * A function to generate C++ source for service client tests + * + * @throws Exception + */ + public ByteArrayOutputStream generateProtocolTestSourceFromModels(String c2jModelJson, String protocolTestsJson, + String protocolTestsType, String protocolTestsName, + String serviceName) throws Exception { + GsonBuilder gsonBuilder = new GsonBuilder(); + gsonBuilder.registerTypeAdapter(C2jXmlNamespace.class, new C2jXmlNamespaceDeserializer()); + gsonBuilder.registerTypeAdapter(JsonNode.class, new JsonNodeDeserializer()); + Gson gson = gsonBuilder.create(); + + C2jServiceModel c2jServiceModel = gson.fromJson(c2jModelJson, C2jServiceModel.class); + c2jServiceModel.setServiceName(serviceName); + + C2jTestSuite c2jProtocolTestModel = new C2jTestSuite(); + c2jProtocolTestModel.setName(protocolTestsName); + c2jProtocolTestModel.setServiceToUse(serviceName); + if (protocolTestsType.equalsIgnoreCase("input")) { + c2jProtocolTestModel.setType(C2jTestSuite.TestSuiteType.INPUT); + Type listType = new TypeToken>() {}.getType(); + List testSuite = gson.fromJson(protocolTestsJson, listType); + c2jProtocolTestModel.setInputTestSuites(testSuite); + } else if (protocolTestsType.equalsIgnoreCase("output")) { + c2jProtocolTestModel.setType(C2jTestSuite.TestSuiteType.OUTPUT); + Type listType = new TypeToken>() {}.getType(); + List testSuite = gson.fromJson(protocolTestsJson, listType); + c2jProtocolTestModel.setOutputTestSuites(testSuite); + } else { + throw new RuntimeException("Unknown protocol test type: " + protocolTestsType); + } + return mainClientGenerator.generateProtocolTestSourceFromModel(c2jServiceModel, c2jProtocolTestModel); + } } diff --git a/tools/code-generation/generator/src/main/java/com/amazonaws/util/awsclientgenerator/generators/MainGenerator.java b/tools/code-generation/generator/src/main/java/com/amazonaws/util/awsclientgenerator/generators/MainGenerator.java index a309b86bc38..047fce93eb0 100644 --- a/tools/code-generation/generator/src/main/java/com/amazonaws/util/awsclientgenerator/generators/MainGenerator.java +++ b/tools/code-generation/generator/src/main/java/com/amazonaws/util/awsclientgenerator/generators/MainGenerator.java @@ -9,6 +9,7 @@ import com.amazonaws.util.awsclientgenerator.config.ServiceGeneratorConfig; import com.amazonaws.util.awsclientgenerator.domainmodels.SdkFileEntry; import com.amazonaws.util.awsclientgenerator.domainmodels.c2j.C2jServiceModel; +import com.amazonaws.util.awsclientgenerator.domainmodels.c2j_protocol_test.C2jTestSuite; import com.amazonaws.util.awsclientgenerator.domainmodels.codegeneration.DefaultsModel; import com.amazonaws.util.awsclientgenerator.domainmodels.codegeneration.PartitionsModel; import com.amazonaws.util.awsclientgenerator.domainmodels.codegeneration.ServiceModel; @@ -17,6 +18,7 @@ import com.amazonaws.util.awsclientgenerator.domainmodels.defaults.DefaultClientConfigs; import com.amazonaws.util.awsclientgenerator.generators.cpp.CppDefaultsGenerator; import com.amazonaws.util.awsclientgenerator.generators.cpp.CppPartitionsGenerator; +import com.amazonaws.util.awsclientgenerator.generators.cpp.CppProtocolTestGenerator; import com.amazonaws.util.awsclientgenerator.generators.cpp.CppServiceClientTestGenerator; import com.amazonaws.util.awsclientgenerator.transform.C2jModelToGeneratorModelTransformer; @@ -105,6 +107,28 @@ public ByteArrayOutputStream generateTestSourceFromModel(C2jServiceModel c2jMode return compressFilesToZip(apiFiles, componentOutputName); } + public ByteArrayOutputStream generateProtocolTestSourceFromModel(C2jServiceModel c2jModel, + C2jTestSuite testSuiteModel) throws Exception { + SdkSpec spec = new SdkSpec("cpp", c2jModel.getServiceName(), null); + // Transform to intermediate code gen models from input c2j format. + ServiceModel serviceModel = new C2jModelToGeneratorModelTransformer(c2jModel, false).convert(); + + serviceModel.setRuntimeMajorVersion("@RUNTIME_MAJOR_VERSION@"); + serviceModel.setRuntimeMajorVersionUpperBound("@RUNTIME_MAJOR_VERSION_UPPER_BOUND@"); + serviceModel.setRuntimeMinorVersion("@RUNTIME_MINOR_VERSION@"); + serviceModel.setNamespace("Aws"); + serviceModel.setEnableVirtualOperations(true); + + spec.setVersion(serviceModel.getMetadata().getApiVersion()); + + // TODO: Also transform C2j Protocol test model to an intermediate code gen model + CppProtocolTestGenerator cppTestGenerator = new CppProtocolTestGenerator(serviceModel, testSuiteModel); + SdkFileEntry[] apiFiles = cppTestGenerator.generateSourceFiles(serviceModel); + String componentOutputName = String.format("%s", testSuiteModel.getName()); + + return compressFilesToZip(apiFiles, componentOutputName); + } + private static ByteArrayOutputStream compressFilesToZip(final SdkFileEntry[] apiFiles, final String componentOutputName) throws IOException { //we need to add a BOM to accommodate MSFT compilers. //as specified here https://blogs.msdn.microsoft.com/vcblog/2016/02/22/new-options-for-managing-character-sets-in-the-microsoft-cc-compiler/ diff --git a/tools/code-generation/generator/src/main/java/com/amazonaws/util/awsclientgenerator/generators/cpp/CppClientGenerator.java b/tools/code-generation/generator/src/main/java/com/amazonaws/util/awsclientgenerator/generators/cpp/CppClientGenerator.java index fc5d1009409..556fb79af9a 100644 --- a/tools/code-generation/generator/src/main/java/com/amazonaws/util/awsclientgenerator/generators/cpp/CppClientGenerator.java +++ b/tools/code-generation/generator/src/main/java/com/amazonaws/util/awsclientgenerator/generators/cpp/CppClientGenerator.java @@ -229,7 +229,8 @@ private void CheckAndEnableSigV4A(final ServiceModel serviceModel, VelocityConte boolean hasSigV4AOperation = serviceModel.getOperations().values().stream() .anyMatch(op -> op.getAuth() != null && op.getAuth().contains("aws.auth#sigv4a")); - if (serviceModel.getEndpointRules().contains("\"sigv4a\"") || hasSigV4AOperation) { + if (serviceModel.getEndpointRules() != null && + (serviceModel.getEndpointRules().contains("\"sigv4a\"") || hasSigV4AOperation)) { throw new RuntimeException("Endpoint rules or operation reference sigv4a auth scheme but c2j model " + serviceId + " does not list aws.auth#sigv4a as a supported auth!"); } diff --git a/tools/code-generation/generator/src/main/java/com/amazonaws/util/awsclientgenerator/generators/cpp/CppProtocolTestGenerator.java b/tools/code-generation/generator/src/main/java/com/amazonaws/util/awsclientgenerator/generators/cpp/CppProtocolTestGenerator.java new file mode 100644 index 00000000000..0cb5456c8ab --- /dev/null +++ b/tools/code-generation/generator/src/main/java/com/amazonaws/util/awsclientgenerator/generators/cpp/CppProtocolTestGenerator.java @@ -0,0 +1,105 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +package com.amazonaws.util.awsclientgenerator.generators.cpp; + +import com.amazonaws.util.awsclientgenerator.domainmodels.SdkFileEntry; +import com.amazonaws.util.awsclientgenerator.domainmodels.c2j.C2jServiceModel; +import com.amazonaws.util.awsclientgenerator.domainmodels.c2j_protocol_test.C2jTestSuite; +import com.amazonaws.util.awsclientgenerator.domainmodels.codegeneration.ServiceModel; + +import com.amazonaws.util.awsclientgenerator.generators.ClientGenerator; +import com.amazonaws.util.awsclientgenerator.generators.exceptions.SourceGenerationFailedException; +import org.apache.velocity.Template; +import org.apache.velocity.VelocityContext; +import org.apache.velocity.app.VelocityEngine; +import org.apache.velocity.runtime.RuntimeConstants; +import org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader; +import org.slf4j.helpers.NOPLoggerFactory; + +import java.io.IOException; +import java.io.StringWriter; +import java.nio.charset.StandardCharsets; +import java.util.ArrayList; +import java.util.List; + +public class CppProtocolTestGenerator implements ClientGenerator { + + private static String CMAKE_LISTS_TEMPLATE = "/com/amazonaws/util/awsclientgenerator/velocity/cpp/protocoltests/ProtocolTestsCMakeLists.vm"; + private static String TEST_DRIVER_TEMPLATE = "/com/amazonaws/util/awsclientgenerator/velocity/cpp/protocoltests/ProtocolTestsSource.vm"; + + protected final VelocityEngine velocityEngine; + private final ServiceModel serviceModel; + private final C2jTestSuite testModel; // TODO: use an intermediate codegen model instead of raw C2J + private final String projectName; + + public CppProtocolTestGenerator(ServiceModel serviceModel, C2jTestSuite testSuiteModel) throws Exception { + this.serviceModel = serviceModel; + this.testModel = testSuiteModel; + String prefix = testSuiteModel.getType().toString().toLowerCase(); + this.projectName = testSuiteModel.getName() + "-" + prefix + "-protocol-tests"; + + velocityEngine = new VelocityEngine(); + velocityEngine.setProperty(RuntimeConstants.RESOURCE_LOADERS, "classpath"); + velocityEngine.setProperty("resource.loader.classpath.class", ClasspathResourceLoader.class.getName()); + velocityEngine.addProperty(RuntimeConstants.RUNTIME_LOG_INSTANCE, new NOPLoggerFactory().getLogger("")); + velocityEngine.setProperty("context.scope_control.template", true); + velocityEngine.setProperty(RuntimeConstants.SPACE_GOBBLING, RuntimeConstants.SpaceGobbling.BC.toString()); + + velocityEngine.init(); + } + + public SdkFileEntry[] generateSourceFiles(ServiceModel dummy) throws Exception { + List fileList = new ArrayList<>(); + fileList.add(generateCmakeFile()); + fileList.add(generateTestDriver()); + + SdkFileEntry[] retArray = new SdkFileEntry[fileList.size()]; + return fileList.toArray(retArray); + } + + private SdkFileEntry generateCmakeFile() throws Exception { + VelocityContext context = createContext(); + Template template = velocityEngine.getTemplate(CMAKE_LISTS_TEMPLATE, StandardCharsets.UTF_8.name()); + return makeFile(template, context, "CMakeLists.txt", false); + } + + protected SdkFileEntry generateTestDriver() throws Exception { + VelocityContext context = createContext(); + Template template = velocityEngine.getTemplate(TEST_DRIVER_TEMPLATE, StandardCharsets.UTF_8.name()); + return makeFile(template, context, "RunTests.cpp", true); + } + + protected final VelocityContext createContext() { + VelocityContext context = new VelocityContext(); + context.put("nl", System.lineSeparator()); + context.put("projectName", projectName); + context.put("serviceModel", serviceModel); + context.put("testModel", testModel); + context.put("input.encoding", StandardCharsets.UTF_8.name()); + context.put("output.encoding", StandardCharsets.UTF_8.name()); + return context; + } + + protected final SdkFileEntry makeFile(Template template, VelocityContext context, String path, boolean needsBOM) throws IOException { + StringWriter sw = new StringWriter(); + template.merge(context, sw); + + try { + sw.close(); + } catch (IOException e) { + throw new SourceGenerationFailedException(String.format("Generation of template failed for template %s", template.getName()), e); + } + sw.flush(); + StringBuffer sb = new StringBuffer(); + sb.append(sw.toString()); + + SdkFileEntry file = new SdkFileEntry(); + file.setPathRelativeToRoot(path); + file.setSdkFile(sb); + file.setNeedsByteOrderMark(needsBOM); + return file; + } +} diff --git a/tools/code-generation/generator/src/main/java/com/amazonaws/util/awsclientgenerator/main.java b/tools/code-generation/generator/src/main/java/com/amazonaws/util/awsclientgenerator/main.java index b369fb8dd9e..eb677de86f1 100644 --- a/tools/code-generation/generator/src/main/java/com/amazonaws/util/awsclientgenerator/main.java +++ b/tools/code-generation/generator/src/main/java/com/amazonaws/util/awsclientgenerator/main.java @@ -30,6 +30,9 @@ public class main { static final String INPUT_FILE_NAME = "inputfile"; static final String ENDPOINT_RULE_SET = "endpoint-rule-set"; static final String ENDPOINT_TESTS = "endpoint-tests"; + static final String PROTOCOL_TESTS = "protocol-tests"; + static final String PROTOCOL_TESTS_TYPE = "protocol-tests-type"; // ex: "input" or "output" + static final String PROTOCOL_TESTS_NAME = "protocol-tests-name"; // ex: "xml" or "json", ... static final String OUTPUT_FILE_NAME = "outputfile"; static final String ARBITRARY_OPTION = "arbitrary"; static final String LANGUAGE_BINDING_OPTION = "language-binding"; @@ -57,9 +60,7 @@ public static void main(String[] args) throws IOException { //AWSClientGenerator --service myService --language-binding cpp < /home/henso/someC2jFile.normal.json if (argPairs.containsKey(ARBITRARY_OPTION) || argPairs.containsKey(INPUT_FILE_NAME)) { if (!argPairs.containsKey(LANGUAGE_BINDING_OPTION) || argPairs.get(LANGUAGE_BINDING_OPTION).isEmpty()) { - System.err.println("Error: A language binding must be specified with the --arbitrary option."); - System.exit(-1); - return; + argPairs.put(LANGUAGE_BINDING_OPTION, "cpp"); // legacy argument and in fact always cpp in this project } final Set ALLOWED_OPTIONS = new HashSet<>(Arrays.asList(SERVICE_OPTION, DEFAULTS_OPTION, PARTITIONS_OPTION)); Set selectedOptions = ALLOWED_OPTIONS; @@ -95,6 +96,18 @@ public static void main(String[] args) throws IOException { if (argPairs.containsKey(ENDPOINT_TESTS)) { endpointRuleTests = readFile(argPairs.get(ENDPOINT_TESTS)); } + String protocolTests = null; + if (argPairs.containsKey(PROTOCOL_TESTS)) { + protocolTests = readFile(argPairs.get(PROTOCOL_TESTS)); + } + String protocolTestsType = ""; + if (argPairs.containsKey(PROTOCOL_TESTS_TYPE) && !argPairs.get(PROTOCOL_TESTS_TYPE).isEmpty()) { + protocolTestsType = argPairs.get(PROTOCOL_TESTS_TYPE); + } + String protocolTestsName = ""; + if (argPairs.containsKey(PROTOCOL_TESTS_NAME) && !argPairs.get(PROTOCOL_TESTS_NAME).isEmpty()) { + protocolTestsName = argPairs.get(PROTOCOL_TESTS_NAME); + } String outputFileName = null; if (argPairs.containsKey(OUTPUT_FILE_NAME) && !argPairs.get(OUTPUT_FILE_NAME).isEmpty()) { @@ -114,11 +127,20 @@ public static void main(String[] args) throws IOException { licenseText, generateStandalonePackage, enableVirtualOperations, useSmithyClient); componentOutputName = String.format("aws-cpp-sdk-%s", serviceName); - } else { + } else if (argPairs.containsKey(ENDPOINT_TESTS)) { generated = generateServiceTest(arbitraryJson, endpointRules, endpointRuleTests, languageBinding, serviceName, namespace, licenseText); componentOutputName = String.format("%s-gen-tests", serviceName); + } else if (argPairs.containsKey(PROTOCOL_TESTS)) { + generated = generateProtocolTest(arbitraryJson, protocolTests, protocolTestsType, protocolTestsName, serviceName); + + componentOutputName = String.format("%s", serviceName); + } else { + generated = new ByteArrayOutputStream(); + componentOutputName = ""; + System.out.println("Unknown component to generate!"); + System.exit(-1); } } else { if (generateTests) { @@ -222,6 +244,23 @@ private static ByteArrayOutputStream generateServiceTest(String arbitraryJson, return outputStream; } + private static ByteArrayOutputStream generateProtocolTest(String c2jModelJson, + String protocolTestsJson, + String protocolTestsType, + String protocolTestsName, + String serviceName) throws Exception { + MainGenerator generator = new MainGenerator(); + DirectFromC2jGenerator directFromC2jGenerator = new DirectFromC2jGenerator(generator); + + ByteArrayOutputStream outputStream = directFromC2jGenerator.generateProtocolTestSourceFromModels( + c2jModelJson, + protocolTestsJson, + protocolTestsType, + protocolTestsName, + serviceName); + return outputStream; + } + private static ByteArrayOutputStream generateDefaults(String arbitraryJson, String languageBinding, String serviceName, String namespace, String licenseText, boolean generateStandalonePackage, boolean enableVirtualOperations) throws Exception { diff --git a/tools/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/AddQueryStringParametersToRequest.vm b/tools/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/AddQueryStringParametersToRequest.vm index 9da83082bb9..264a4d2357b 100644 --- a/tools/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/AddQueryStringParametersToRequest.vm +++ b/tools/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/AddQueryStringParametersToRequest.vm @@ -3,81 +3,7 @@ void ${typeInfo.className}::AddQueryStringParameters(URI& uri) const Aws::StringStream ss; #foreach($memberEntry in $shape.members.entrySet()) #if($memberEntry.value.usedForQueryString && !$memberEntry.value.customizedQuery) -#set($memberVarName = $CppViewHelper.computeMemberVariableName($memberEntry.key)) -#set($spaces = '') -#if(!$memberEntry.value.required) - if($CppViewHelper.computeVariableHasBeenSetName($memberEntry.key)) - { -#set($spaces = ' ') -#end -#if($memberEntry.value.shape.enum) - ${spaces}ss << ${memberEntry.value.shape.name}Mapper::GetNameFor${memberEntry.value.shape.name}(${memberVarName}); - ${spaces}uri.AddQueryStringParameter("${memberEntry.value.locationName}", ss.str()); - ${spaces}ss.str(""); -#elseif($memberEntry.value.shape.timeStamp) - ${spaces}ss << ${memberVarName}.ToGmtString(Aws::Utils::DateFormat::$CppViewHelper.computeTimestampFormatInQueryString($memberEntry.value.shape)); - ${spaces}uri.AddQueryStringParameter("${memberEntry.value.locationName}", ss.str()); - ${spaces}ss.str(""); -#elseif($memberEntry.value.shape.map) - ${spaces}for(auto& item : ${memberVarName}) - ${spaces}{ -#if(!$memberEntry.value.shape.mapValue.shape.list) - ${spaces} ss << item.second; - ${spaces} uri.AddQueryStringParameter(item.first.c_str(), ss.str()); - ${spaces} ss.str(""); -#else##URL query Key has multiple values, multiply key per https://smithy.io/2.0/spec/http-bindings.html#id9 - ${spaces} for(auto& innerItem : item.second) - ${spaces} { - ${spaces} ss << innerItem; - ${spaces} uri.AddQueryStringParameter(item.first.c_str(), ss.str()); - ${spaces} ss.str(""); - ${spaces} } -#end##if(!$memberEntry.value.shape.map.mapValue.shape.list) - ${spaces}} -#elseif($memberEntry.value.shape.list) - ${spaces}for(const auto& item : $memberVarName) - ${spaces}{ -#if($memberEntry.value.shape.listMember.shape.enum) - ${spaces} ss << ${memberEntry.value.shape.listMember.shape.name}Mapper::GetNameFor${memberEntry.value.shape.listMember.shape.name}(item); -#else - ${spaces} ss << item; -#end - ${spaces} uri.AddQueryStringParameter("${memberEntry.value.locationName}", ss.str()); - ${spaces} ss.str(""); - ${spaces}} -#else -#if($operation.arnEndpointAllowed && $operation.arnLocation.equals("querystring") && $operation.arnEndpointMemberName.equals($$memberEntry.key) && !$serviceModel.endpointRules)) - ${spaces}${metadata.classNamePrefix}ARN arn($CppViewHelper.computeMemberVariableName($operation.arnEndpointMemberName)); - ${spaces}if (arn && arn.Validate().IsSuccess()) - ${spaces}{ - ${spaces} if (arn.GetResourceType() == ARNResourceType::BUCKET) - ${spaces} { - ${spaces} ss << arn.GetResourceId(); - ${spaces} } - ${spaces} else if (arn.GetResourceType() == ARNResourceType::OUTPOST) - ${spaces} { - ${spaces} ss << arn.GetSubResourceId(); - ${spaces} } - ${spaces} else - ${spaces} { - ${spaces} // It's a valid ARN, but has incorrect resource type. - ${spaces} assert(false); - ${spaces} } - ${spaces}} - ${spaces}else - ${spaces}{ - ${spaces} ss << ${memberVarName}; - ${spaces}} -#else - ${spaces}ss << ${memberVarName}; -#end - ${spaces}uri.AddQueryStringParameter("${memberEntry.value.locationName}", ss.str()); - ${spaces}ss.str(""); -#end -#if(!$memberEntry.value.required) - } - -#end +#parse("com/amazonaws/util/awsclientgenerator/velocity/cpp/common/request/AddRequestQueryParameter.vm") #end #end #if($shape.customizedQuery) diff --git a/tools/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/common/request/AddRequestQueryParameter.vm b/tools/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/common/request/AddRequestQueryParameter.vm new file mode 100644 index 00000000000..0233ef51cc9 --- /dev/null +++ b/tools/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/common/request/AddRequestQueryParameter.vm @@ -0,0 +1,84 @@ +#macro( serializeElement $shapeMember $memberVarName ) +##/* --- the actual shape member is $shapeMember; the actual shape is $shapeMember.shape; --- */ +#if($shapeMember.shape.enum) +${shapeMember.shape.name}Mapper::GetNameFor${shapeMember.shape.name}(${memberVarName}); +#elseif($shapeMember.shape.timeStamp) +${memberVarName}.ToGmtString(Aws::Utils::DateFormat::$CppViewHelper.computeTimestampFormatInQueryString($shapeMember.shape)); +#else +$memberVarName; +#end +#end##macro serializeElement +#macro( serializeMap $spaces $shapeMember $memberVarName ) + ${spaces}for(auto& item : ${memberVarName}) + ${spaces}{ +#if(!$shapeMember.shape.mapValue.shape.list) + ${spaces} ss << #serializeElement($shapeMember.shape.mapValue, "item.second") + ${spaces} uri.AddQueryStringParameter(item.first.c_str(), ss.str()); + ${spaces} ss.str(""); +#else##URL query Key has multiple values, multiply key per https://smithy.io/2.0/spec/http-bindings.html#id9 + ${spaces} for(auto& innerItem : item.second) + ${spaces} { + ${spaces} ss << #serializeElement($shapeMember.shape.mapValue, "innerItem") + ${spaces} uri.AddQueryStringParameter(item.first.c_str(), ss.str()); + ${spaces} ss.str(""); + ${spaces} } +#end##if(!$shapeMember.shape.map.mapValue.shape.list) + ${spaces}} +#end##macro serializeMap +#macro( serializeList $spaces $shapeMember $memberVarName ) + ${spaces}for(const auto& item : $memberVarName) + ${spaces}{ + ${spaces} ss << #serializeElement($shapeMember.shape.listMember, "item") + ${spaces} uri.AddQueryStringParameter("${shapeMember.locationName}", ss.str()); + ${spaces} ss.str(""); + ${spaces}} +#end##macro serializeList +#set($memberVarName = $CppViewHelper.computeMemberVariableName($memberEntry.key)) +#set($spaces = '') +#if(!$memberEntry.value.required) + if($CppViewHelper.computeVariableHasBeenSetName($memberEntry.key)) + { +#set($spaces = ' ') +#end +#if($memberEntry.value.shape.map) +#serializeMap($spaces, $memberEntry.value, $memberVarName) +#elseif($memberEntry.value.shape.list) +#serializeList($spaces, $memberEntry.value, $memberVarName) +##TODO remove the check for enum and timestamp and the following block (everything until next "${spaces}ss << ${memberVarName};" once it is safe to remove endpoint rules check) +#elseif($memberEntry.value.shape.enum || $memberEntry.value.shape.timeStamp) + ${spaces}ss << #serializeElement($memberEntry.value, $memberVarName) + ${spaces}uri.AddQueryStringParameter("${memberEntry.value.locationName}", ss.str()); + ${spaces}ss.str(""); +#else +#if($operation.arnEndpointAllowed && $operation.arnLocation.equals("querystring") && $operation.arnEndpointMemberName.equals($$memberEntry.key) && !$serviceModel.endpointRules)) + ${spaces}${metadata.classNamePrefix}ARN arn($CppViewHelper.computeMemberVariableName($operation.arnEndpointMemberName)); + ${spaces}if (arn && arn.Validate().IsSuccess()) + ${spaces}{ + ${spaces} if (arn.GetResourceType() == ARNResourceType::BUCKET) + ${spaces} { + ${spaces} ss << arn.GetResourceId(); + ${spaces} } + ${spaces} else if (arn.GetResourceType() == ARNResourceType::OUTPOST) + ${spaces} { + ${spaces} ss << arn.GetSubResourceId(); + ${spaces} } + ${spaces} else + ${spaces} { + ${spaces} // It's a valid ARN, but has incorrect resource type. + ${spaces} assert(false); + ${spaces} } + ${spaces}} + ${spaces}else + ${spaces}{ + ${spaces} ss << ${memberVarName}; + ${spaces}} +#else + ${spaces}ss << ${memberVarName}; +#end + ${spaces}uri.AddQueryStringParameter("${memberEntry.value.locationName}", ss.str()); + ${spaces}ss.str(""); +#end +#if(!$memberEntry.value.required) + } + +#end \ No newline at end of file diff --git a/tools/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/protocoltests/ProtocolTestsCMakeLists.vm b/tools/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/protocoltests/ProtocolTestsCMakeLists.vm new file mode 100644 index 00000000000..eed6eccc037 --- /dev/null +++ b/tools/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/protocoltests/ProtocolTestsCMakeLists.vm @@ -0,0 +1,45 @@ +#set($projectNameCaps = $projectName.toUpperCase()) +#set($awsProjectProtocolTestSrc = "AWS_" + ${projectNameCaps.replace("-", "_")} +"_SRC") +#set($awsProjectProtocolTestSrcVar = "${" + $awsProjectProtocolTestSrc +"}") +add_project($projectName + "Tests for the protocol $serviceModel.metadata.protocol of AWS C++ SDK" + testing-resources + aws-cpp-sdk-${serviceModel.metadata.projectName} + aws-cpp-sdk-core) + +file(GLOB $awsProjectProtocolTestSrc + "${CMAKE_CURRENT_SOURCE_DIR}/*.cpp" +) + +if(MSVC AND BUILD_SHARED_LIBS) + add_definitions(-DGTEST_LINKED_AS_SHARED_LIBRARY=1) +endif() + +if (CMAKE_CROSSCOMPILING) + set(AUTORUN_UNIT_TESTS OFF) +endif() + +if (AUTORUN_UNIT_TESTS) + enable_testing() +endif() + +if(PLATFORM_ANDROID AND BUILD_SHARED_LIBS) + add_library(${PROJECT_NAME} "${awsProjectProtocolTestSrcVar}") +else() + add_executable(${PROJECT_NAME} "${awsProjectProtocolTestSrcVar}") +endif() + +set_compiler_flags(${PROJECT_NAME}) +set_compiler_warnings(${PROJECT_NAME}) + +target_link_libraries(${PROJECT_NAME} ${PROJECT_LIBS}) + +if (AUTORUN_UNIT_TESTS) + ADD_CUSTOM_COMMAND( TARGET ${PROJECT_NAME} POST_BUILD + COMMAND ${CMAKE_COMMAND} -E env LD_LIBRARY_PATH=${AWS_AUTORUN_LD_LIBRARY_PATH}:$ENV{LD_LIBRARY_PATH} $ + ARGS "--gtest_brief=1") +endif() + +if(NOT CMAKE_CROSSCOMPILING) + SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES OUTPUT_NAME ${PROJECT_NAME}) +endif() \ No newline at end of file diff --git a/tools/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/protocoltests/ProtocolTestsSource.vm b/tools/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/protocoltests/ProtocolTestsSource.vm new file mode 100644 index 00000000000..6515a9683ee --- /dev/null +++ b/tools/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/protocoltests/ProtocolTestsSource.vm @@ -0,0 +1,26 @@ +#parse("com/amazonaws/util/awsclientgenerator/velocity/cfamily/Attribution.vm") + +\#include +\#include +\#include +\#include +\#include + +int main(int argc, char** argv) +{ + Aws::SDKOptions options; + options.loggingOptions.logLevel = Aws::Utils::Logging::LogLevel::Trace; + + AWS_BEGIN_MEMORY_TEST_EX(options, 1024, 128); + Aws::Testing::InitPlatformTest(options); + Aws::Testing::ParseArgs(argc, argv); + + Aws::InitAPI(options); + ::testing::InitGoogleTest(&argc, argv); + int exitCode = RUN_ALL_TESTS(); + Aws::ShutdownAPI(options); + + AWS_END_MEMORY_TEST_EX; + Aws::Testing::ShutdownPlatformTest(options); + return exitCode; +} diff --git a/tools/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/queryxml/QueryXmlSubObjectHeader.vm b/tools/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/queryxml/QueryXmlSubObjectHeader.vm index 7cf7452553a..1fb5ec8a0c5 100644 --- a/tools/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/queryxml/QueryXmlSubObjectHeader.vm +++ b/tools/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/queryxml/QueryXmlSubObjectHeader.vm @@ -29,6 +29,9 @@ namespace ${serviceNamespace} { namespace Model { +#foreach($forwardDeclaration in $typeInfo.forwardDeclarations) + class $forwardDeclaration; +#end #set($xmlRef = "${typeInfo.xmlNodeType}&") #set($classNameRef = "${typeInfo.className}&") diff --git a/tools/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/xml/ModelClassMemberSingleXmlizeSource.vm b/tools/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/xml/ModelClassMemberSingleXmlizeSource.vm new file mode 100644 index 00000000000..238400e6d88 --- /dev/null +++ b/tools/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/xml/ModelClassMemberSingleXmlizeSource.vm @@ -0,0 +1,136 @@ +##-------------------- serializeElementToText macro +#macro( serializeElementToText $shapeMember $memberVarName ) +##/* --- the actual shape member is $shapeMember; the actual shape is $shapeMember.shape; --- */ +#if($shapeMember.shape.enum) +${shapeMember.shape.name}Mapper::GetNameFor${shapeMember.shape.name}(${memberVarName})## +#elseif($shapeMember.shape.timeStamp) +#if($member.shape.timestampFormat != "unixTimestamp") +#set($timestamptFormatStr = $CppViewHelper.computeTimestampFormatInXml($shapeMember.shape)) +${memberVarName}.ToGmtString(Aws::Utils::DateFormat::${timestamptFormatStr})## +#else +StringUtils::to_string(${memberVarName}.Seconds())## +#end +#elseif($shapeMember.shape.boolean) +std::boolalpha << ${memberVarName}## +#elseif($shapeMember.shape.blob) +HashingUtils::Base64Encode(${memberVarName})## +#else +${memberVarName}## +#end +#end##macro serializeElementToText +##-------------------- serializeXmlPayloadElement macro +#macro( serializeXmlPayloadElement $spaces $serializationName $lowerCaseVarName $shapeMember $memberVarName $parentNode="parentNode") +#if($shapeMember.xmlAttribute) +#if($shapeMember.shape.boolean || $shapeMember.shape.primitive) + ${spaces}ss << #serializeElementToText($shapeMember, $memberVarName); + ${spaces}${parentNode}.SetAttributeValue("${serializationName}", ss.str()); + ${spaces}ss.str(""); +#else + ${spaces}${parentNode}.SetAttributeValue("${serializationName}", #serializeElementToText($shapeMember, $memberVarName)); +#end +#else##($shapeMember.xmlAttribute) + ${spaces}XmlNode ${lowerCaseVarName}Node = ${parentNode}.CreateChildElement("${serializationName}"); +#if($shapeMember.shape.boolean || $shapeMember.shape.primitive) + ${spaces}ss << #serializeElementToText($shapeMember, $memberVarName); + ${spaces}${lowerCaseVarName}Node.SetText(ss.str()); + ${spaces}ss.str(""); +#else +#if($shapeMember.shape.structure) + ${spaces}${memberVarName}.AddToNode(${lowerCaseVarName}Node); +#else + ${spaces}${lowerCaseVarName}Node.SetText(#serializeElementToText($shapeMember, $memberVarName)); +#end +#end +#end +#end##macro serializeXmlPayloadElement +##-------------------- serializeXmlListPayloadElement macro +#macro( serializeXmlListPayloadElement $spaces $serializationName $lowerCaseVarName $member $memberVarName ) +#if(!($member.locationName && $member.shape.flattened) && !(${member.shape.listMember.locationName} && ${member.isFlattened()})) + ${spaces}XmlNode ${lowerCaseVarName}ParentNode = parentNode.CreateChildElement("${serializationName}"); +#end + ${spaces}for(const auto& item : $memberVarName) + ${spaces}{ +#set($listElParentNode = "parentNode") +#set($listElSerializationName = "") +#if($member.locationName && $member.shape.flattened) +#set($listElSerializationName = ${member.locationName}) +#elseif(${member.shape.listMember.locationName} && ${member.isFlattened()}) +#set($listElSerializationName = ${member.shape.listMember.locationName}) +#elseif(${member.shape.listMember.locationName}) +#set($listElSerializationName = ${member.shape.listMember.locationName}) +#set($listElParentNode = "${lowerCaseVarName}ParentNode") +#else +#set($listElSerializationName = ${member.shape.listMember.shape.name}) +#set($listElParentNode = "${lowerCaseVarName}ParentNode") +#end +#set($listSpaces = $spaces + " ") +#serializeXmlPayloadElement($listSpaces, $listElSerializationName, $lowerCaseVarName, $member.shape.listMember, "item", $listElParentNode) + ${spaces}} +#end##macro serializeXmlListPayloadElement +##-------------------- serializeXmlMapPayloadElement macro +#macro( serializeXmlMapPayloadElement $spaces $serializationName $lowerCaseVarName $member $memberVarName ) +##https://smithy.io/2.0/spec/protocol-traits.html#xml-map-serialization +##TODO: might not be 100% correct, pending validation by protocol tests +##// /* --- the actual shape member is $member; the actual shape is $member.shape; --- */ +##// /* --- key member: ${member.shape.mapKey} */ +##// /* --- key shape: ${member.shape.mapKey.shape} */ +##// /* --- key member: ${member.shape.mapValue} */ +##// /* --- key shape: ${member.shape.mapValue.shape} */ +#set($mapEntryParentNode = "parentNode") +#if(!($member.locationName && $member.shape.flattened)) + ${spaces}XmlNode ${lowerCaseVarName}ParentNode = parentNode.CreateChildElement("${serializationName}"); +#set($mapEntryParentNode = "${lowerCaseVarName}ParentNode") +#end + ${spaces}for(const auto& mapItem : $memberVarName) + ${spaces}{ +#set($mapSpaces = $spaces + " ") +#set($mapEntrySerializationName = "#if($member.locationName)$member.locationName#{else}entry#end") + ${spaces} XmlNode ${lowerCaseVarName}MapEntryNode = ${mapEntryParentNode}.CreateChildElement("${mapEntrySerializationName}"); +#set($mapKeySerializationName = "#if($member.shape.mapKey.locationName)$member.shape.mapKey.locationName#{else}key#end") +#serializeXmlPayloadElement($mapSpaces, $mapKeySerializationName, "${lowerCaseVarName}Key", $member.shape.mapKey, "mapItem.first", "${lowerCaseVarName}MapEntryNode") +#set($mapValueSerializationName = "#if($member.shape.mapValue.locationName)$member.shape.mapValue.locationName#{else}value#end") +#serializeXmlPayloadElement($mapSpaces, $mapValueSerializationName, "${lowerCaseVarName}Value", $member.shape.mapValue, "mapItem.second", "${lowerCaseVarName}MapEntryNode") + ${spaces}} +#end##macro serializeXmlMapPayloadElement +##-------------------- END OF MACROS, ACTUAL TEMPLATE BEGINS -------------------- +#if($member.shape.enum || $member.shape.boolean || $member.shape.primitive || $member.shape.timeStamp || $member.shape.structure || $member.shape.blob) +#serializeXmlPayloadElement($spaces, $serializationName, $lowerCaseVarName, $member, $memberVarName) +#elseif($member.shape.string) +#if($member.xmlAttribute) + ${spaces}parentNode.SetAttributeValue("${serializationName}", ${memberVarName}); +#else + ${spaces}XmlNode ${lowerCaseVarName}Node = parentNode.CreateChildElement("${serializationName}"); +#if($operation.arnEndpointAllowed && $operation.arnLocation.equals("body") && $operation.arnEndpointMemberName.equals($memberName) && !$serviceModel.endpointRules)) +## TODO: just remove this block once endpoints check can be removed + ${spaces}${metadata.classNamePrefix}ARN arn($CppViewHelper.computeMemberVariableName($operation.arnEndpointMemberName)); + ${spaces}if (arn && arn.Validate().IsSuccess()) + ${spaces}{ + ${spaces} if (arn.GetResourceType() == ARNResourceType::BUCKET) + ${spaces} { + ${spaces} ${lowerCaseVarName}Node.SetText(arn.GetResourceId()); + ${spaces} } + ${spaces} else if (arn.GetResourceType() == ARNResourceType::OUTPOST) + ${spaces} { + ${spaces} ${lowerCaseVarName}Node.SetText(arn.GetSubResourceId()); + ${spaces} } + ${spaces} else + ${spaces} { + ${spaces} // It's a valid ARN, but has incorrect resource type. + ${spaces} assert(false); + ${spaces} } + ${spaces}} + ${spaces}else + ${spaces}{ + ${spaces} ${lowerCaseVarName}Node.SetText(${memberVarName}); + ${spaces}} +#else + ${spaces}${lowerCaseVarName}Node.SetText(${memberVarName}); +#end##$operation.arnEndpointAllowed... +#end +#elseif($member.shape.list) +#serializeXmlListPayloadElement($spaces, $serializationName, $lowerCaseVarName, $member, $memberVarName) +#elseif($member.shape.map) +#serializeXmlMapPayloadElement($spaces, $serializationName, $lowerCaseVarName, $member, $memberVarName) +#else +!!!! Code generation error: the template does not support this shape under $serializationName serialization to xml: ${member} +#end##End of member.shape is structure or list \ No newline at end of file diff --git a/tools/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/xml/ModelClassMembersDeserializeXml.vm b/tools/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/xml/ModelClassMembersDeserializeXml.vm index 99a517ce21a..03ce3398639 100644 --- a/tools/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/xml/ModelClassMembersDeserializeXml.vm +++ b/tools/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/xml/ModelClassMembersDeserializeXml.vm @@ -177,7 +177,11 @@ #elseif($member.shape.string) ${spaces}${memberVarName} = ${substituteString}; #elseif($member.shape.timeStamp) +#if($member.shape.timestampFormat != "unixTimestamp") ${spaces}${memberVarName} = DateTime(StringUtils::Trim(${substituteString}.c_str()).c_str(), Aws::Utils::DateFormat::$CppViewHelper.computeTimestampFormatInXml($member.shape)); +#else + ${spaces}${memberVarName} = DateTime(StringUtils::ConvertToDouble(StringUtils::Trim(${substituteString}.c_str()).c_str())); +#end #end #if(!$member.required && $useRequiredField) $varNameHasBeenSet = true; diff --git a/tools/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/xml/ModelClassMembersXmlizeSource.vm b/tools/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/xml/ModelClassMembersXmlizeSource.vm index 43d554112b0..8f6aa0d1476 100644 --- a/tools/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/xml/ModelClassMembersXmlizeSource.vm +++ b/tools/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/xml/ModelClassMembersXmlizeSource.vm @@ -28,117 +28,7 @@ if($varNameHasBeenSet) { #end -#if($member.shape.enum) -#if($member.xmlAttribute) - ${spaces}parentNode.SetAttributeValue("${serializationName}", ${member.shape.name}Mapper::GetNameFor${member.shape.name}(${memberVarName})); -#else - ${spaces}XmlNode ${lowerCaseVarName}Node = parentNode.CreateChildElement("${serializationName}"); - ${spaces}${lowerCaseVarName}Node.SetText(${member.shape.name}Mapper::GetNameFor${member.shape.name}(${memberVarName})); -#end -#elseif($member.shape.boolean) -#if($member.xmlAttribute) - ${spaces}ss << std::boolalpha << ${memberVarName}; - ${spaces}parentNode.SetAttributeValue("${serializationName}", ss.str()); -#else - ${spaces}XmlNode ${lowerCaseVarName}Node = parentNode.CreateChildElement("${serializationName}"); - ${spaces}ss << std::boolalpha << ${memberVarName}; - ${spaces}${lowerCaseVarName}Node.SetText(ss.str()); -#end - ${spaces}ss.str(""); -#elseif($member.shape.primitive) -#if($member.xmlAttribute) - ${spaces}ss << ${memberVarName}; - ${spaces}parentNode.SetAttributeValue("${serializationName}", ss.str()); -#else - ${spaces}XmlNode ${lowerCaseVarName}Node = parentNode.CreateChildElement("${serializationName}"); - ${spaces}ss << ${memberVarName}; - ${spaces}${lowerCaseVarName}Node.SetText(ss.str()); -#end - ${spaces}ss.str(""); -#elseif($member.shape.string) -#if($member.xmlAttribute) - ${spaces}parentNode.SetAttributeValue("${serializationName}", ${memberVarName}); -#else - ${spaces}XmlNode ${lowerCaseVarName}Node = parentNode.CreateChildElement("${serializationName}"); -#if($operation.arnEndpointAllowed && $operation.arnLocation.equals("body") && $operation.arnEndpointMemberName.equals($memberName) && !$serviceModel.endpointRules)) - ${spaces}${metadata.classNamePrefix}ARN arn($CppViewHelper.computeMemberVariableName($operation.arnEndpointMemberName)); - ${spaces}if (arn && arn.Validate().IsSuccess()) - ${spaces}{ - ${spaces} if (arn.GetResourceType() == ARNResourceType::BUCKET) - ${spaces} { - ${spaces} ${lowerCaseVarName}Node.SetText(arn.GetResourceId()); - ${spaces} } - ${spaces} else if (arn.GetResourceType() == ARNResourceType::OUTPOST) - ${spaces} { - ${spaces} ${lowerCaseVarName}Node.SetText(arn.GetSubResourceId()); - ${spaces} } - ${spaces} else - ${spaces} { - ${spaces} // It's a valid ARN, but has incorrect resource type. - ${spaces} assert(false); - ${spaces} } - ${spaces}} - ${spaces}else - ${spaces}{ - ${spaces} ${lowerCaseVarName}Node.SetText(${memberVarName}); - ${spaces}} -#else - ${spaces}${lowerCaseVarName}Node.SetText(${memberVarName}); -#end -#end -#elseif($member.shape.timeStamp) -#if($member.xmlAttribute) - ${spaces}parentNode.SetAttributeValue("${serializationName}", ${memberVarName}.ToGmtString(Aws::Utils::DateFormat::$CppViewHelper.computeTimestampFormatInXml($member.shape))); -#else - ${spaces}XmlNode ${lowerCaseVarName}Node = parentNode.CreateChildElement("${serializationName}"); - ${spaces}${lowerCaseVarName}Node.SetText(${memberVarName}.ToGmtString(Aws::Utils::DateFormat::ISO_8601)); -#end -#elseif($member.shape.blob) -#if($member.xmlAttribute) - ${spaces}parentNode.SetAttributeValue("${serializationName}", HashingUtils::Base64Encode(${memberVarName})); -#else - ${spaces}XmlNode ${lowerCaseVarName}Node = parentNode.CreateChildElement("${serializationName}"); - ${spaces}${lowerCaseVarName}Node.SetText(HashingUtils::Base64Encode(${memberVarName})); -#end -#elseif($member.shape.structure) - ${spaces}XmlNode ${lowerCaseVarName}Node = parentNode.CreateChildElement("${serializationName}"); - ${spaces}${memberVarName}.AddToNode(${lowerCaseVarName}Node); -#elseif($member.shape.list) -#if(!($member.locationName && $member.shape.flattened) && !(${member.shape.listMember.locationName} && ${member.isFlattened()})) - ${spaces}XmlNode ${lowerCaseVarName}ParentNode = parentNode.CreateChildElement("${serializationName}"); -#end - ${spaces}for(const auto& item : $memberVarName) - ${spaces}{ -#if($member.locationName && $member.shape.flattened) - ${spaces}XmlNode ${lowerCaseVarName}Node = parentNode.CreateChildElement("${member.locationName}"); -#elseif(${member.shape.listMember.locationName} && ${member.isFlattened()}) - ${spaces}XmlNode ${lowerCaseVarName}Node = parentNode.CreateChildElement("${member.shape.listMember.locationName}"); -#elseif(${member.shape.listMember.locationName}) - ${spaces}XmlNode ${lowerCaseVarName}Node = ${lowerCaseVarName}ParentNode.CreateChildElement("${member.shape.listMember.locationName}"); -#else - ${spaces}XmlNode ${lowerCaseVarName}Node = ${lowerCaseVarName}ParentNode.CreateChildElement("${member.shape.listMember.shape.name}"); -#end -#if($member.shape.listMember.shape.enum) - ${spaces}${lowerCaseVarName}Node.SetText(${member.shape.listMember.shape.name}Mapper::GetNameFor${member.shape.listMember.shape.name}(item)); -#elseif($member.shape.listMember.shape.boolean) - ${spaces}ss << std::boolalpha << item; - ${spaces}${lowerCaseVarName}Node.SetText(ss.str()); - ${spaces}ss.str(""); -#elseif($member.shape.listMember.shape.primitive) - ${spaces}ss << item; - ${spaces}${lowerCaseVarName}Node.SetText(ss.str()); - ${spaces}ss.str(""); -#elseif($member.shape.listMember.shape.string) - ${spaces}${lowerCaseVarName}Node.SetText(item); -#elseif($member.shape.listMember.shape.timeStamp) - ${spaces}${lowerCaseVarName}Node.SetText(item.ToGmtString(Aws::Utils::DateFormat::$CppViewHelper.computeTimestampFormatInXml($member.shape.listMember.shape)); -#elseif($member.shape.listMember.shape.blob) - ${spaces}${lowerCaseVarName}Node.SetText(HashingUtils::Base64Encode(item)); -#elseif($member.shape.listMember.shape.structure) - ${spaces}item.AddToNode(${lowerCaseVarName}Node); -#end - ${spaces}} -#end##End of member.shape is structure or list +#parse("com/amazonaws/util/awsclientgenerator/velocity/cpp/xml/ModelClassMemberSingleXmlizeSource.vm") #if(!$member.required && $useRequiredField) } diff --git a/tools/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/xml/XmlRequestSource.vm b/tools/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/xml/XmlRequestSource.vm index efeaee32a8c..099f66012fc 100644 --- a/tools/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/xml/XmlRequestSource.vm +++ b/tools/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/xml/XmlRequestSource.vm @@ -69,6 +69,7 @@ Aws::String ${typeInfo.className}::SerializePayload() const #set($xmlNamespace = ${payloadMember.xmlNamespace}) #set($locationName = $payloadMember.locationName) #end +#if(!$payloadMember || !$payloadMember.shape.enum && !$payloadMember.shape.string && !$payloadMember.shape.string)##if payload is structured #if($locationName) XmlDocument payloadDoc = XmlDocument::CreateWithRootNode("${locationName}"); #else @@ -76,6 +77,7 @@ Aws::String ${typeInfo.className}::SerializePayload() const #end XmlNode parentNode = payloadDoc.GetRootElement(); +#end #if($xmlNamespace) #if($xmlNamespace.prefix) #set($xmlnsKey = "xmlns:${xmlNamespace.prefix}") @@ -86,6 +88,20 @@ Aws::String ${typeInfo.className}::SerializePayload() const #end #if($payloadMember) +#if($payloadMember.shape.enum || $payloadMember.shape.string || $payloadMember.shape.string) +##payload member is "streamed", i.e. payload doc is not the XML, but the enum string/string/blob itself +##and CPP SDK did not generate legacy "streaming" request for some modelling quirks) - we need to set the payload to just a string/buffer. +#if($payloadMember.shape.enum) + if ($payloadMember.shape.name::NOT_SET != ${CppViewHelper.computeMemberVariableName($shape.payload)}) { + return ${payloadMember.shape.name}Mapper::GetNameFor${payloadMember.shape.name}(${CppViewHelper.computeMemberVariableName($shape.payload)}); + } + return {}; +#elseif($payloadMember.shape.string) + return ${CppViewHelper.computeMemberVariableName($shape.payload)}; +#else + static_assert(false, "Failed to generate code to serialize non-streaming request with non-structured (not xml) plain string/blob payload" /*payloadMember: $payloadMember*/); +#end +#else ${CppViewHelper.computeMemberVariableName($shape.payload)}.AddToNode(parentNode); if(parentNode.HasChildren()) { @@ -93,6 +109,7 @@ Aws::String ${typeInfo.className}::SerializePayload() const } return {}; +#end #else #set($useRequiredField = true) #set($callFromRequestShape = true) diff --git a/tools/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/xml/rest/RestXmlSubObjectHeader.vm b/tools/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/xml/rest/RestXmlSubObjectHeader.vm index 919ae5c67f3..33489947c02 100644 --- a/tools/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/xml/rest/RestXmlSubObjectHeader.vm +++ b/tools/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/xml/rest/RestXmlSubObjectHeader.vm @@ -28,6 +28,9 @@ namespace ${serviceNamespace} { namespace Model { +#foreach($forwardDeclaration in $typeInfo.forwardDeclarations) + class $forwardDeclaration; +#end #set($xmlRef = "${typeInfo.xmlNodeType}&") #set($classNameRef = "${typeInfo.className}&") diff --git a/tools/code-generation/smithy/api-descriptions/appstream.json b/tools/code-generation/smithy/api-descriptions/appstream.json index 11b0cb92d3e..6eb470f77a2 100644 --- a/tools/code-generation/smithy/api-descriptions/appstream.json +++ b/tools/code-generation/smithy/api-descriptions/appstream.json @@ -9228,6 +9228,12 @@ "traits": { "smithy.api#documentation": "

        The names of the domains for the account.

        " } + }, + "DomainsRequireAdminConsent": { + "target": "com.amazonaws.appstream#DomainList", + "traits": { + "smithy.api#documentation": "

        The OneDrive for Business domains where you require admin consent when users try to link their OneDrive account to AppStream 2.0. The attribute can only be specified when ConnectorType=ONE_DRIVE.

        " + } } }, "traits": { diff --git a/tools/code-generation/smithy/api-descriptions/appsync.json b/tools/code-generation/smithy/api-descriptions/appsync.json index e1dbedc20bd..95c16123eee 100644 --- a/tools/code-generation/smithy/api-descriptions/appsync.json +++ b/tools/code-generation/smithy/api-descriptions/appsync.json @@ -5092,6 +5092,18 @@ "traits": { "smithy.api#documentation": "

        A list of logs that were generated by calls to util.log.info and\n util.log.error in the evaluated code.

        " } + }, + "stash": { + "target": "com.amazonaws.appsync#Stash", + "traits": { + "smithy.api#documentation": "

        An object available inside each resolver and function handler. A single stash object lives through a single resolver run. Therefore, you can use the stash to pass arbitrary data across request and response handlers and across functions in a pipeline resolver.

        " + } + }, + "outErrors": { + "target": "com.amazonaws.appsync#OutErrors", + "traits": { + "smithy.api#documentation": "

        The list of runtime errors that are added to the GraphQL operation response.

        " + } } }, "traits": { @@ -5168,6 +5180,18 @@ "traits": { "smithy.api#documentation": "

        A list of logs that were generated by calls to util.log.info and\n util.log.error in the evaluated code.

        " } + }, + "stash": { + "target": "com.amazonaws.appsync#Stash", + "traits": { + "smithy.api#documentation": "

        An object available inside each resolver and function handler. A single stash object lives through a single resolver run. Therefore, you can use the stash to pass arbitrary data across request and response handlers and across functions in a pipeline resolver.

        " + } + }, + "outErrors": { + "target": "com.amazonaws.appsync#OutErrors", + "traits": { + "smithy.api#documentation": "

        The list of runtime errors that are added to the GraphQL operation response.

        " + } } }, "traits": { @@ -8201,6 +8225,12 @@ } } }, + "com.amazonaws.appsync#OutErrors": { + "type": "string", + "traits": { + "smithy.api#pattern": "^[\\s\\S]*$" + } + }, "com.amazonaws.appsync#OutputType": { "type": "enum", "members": { @@ -9133,6 +9163,12 @@ "smithy.api#output": {} } }, + "com.amazonaws.appsync#Stash": { + "type": "string", + "traits": { + "smithy.api#pattern": "^[\\s\\S]*$" + } + }, "com.amazonaws.appsync#String": { "type": "string" }, diff --git a/tools/code-generation/smithy/api-descriptions/bcm-pricing-calculator.json b/tools/code-generation/smithy/api-descriptions/bcm-pricing-calculator.json index 5e283231c20..a568ef483b7 100644 --- a/tools/code-generation/smithy/api-descriptions/bcm-pricing-calculator.json +++ b/tools/code-generation/smithy/api-descriptions/bcm-pricing-calculator.json @@ -674,7 +674,7 @@ "name": "CreateBillScenarioCommitmentModification", "documentation": "Grants permission to create new commitments or remove existing commitment from a specified bill scenario" }, - "smithy.api#documentation": "

        \n Create Compute Savings Plans, EC2 Instance Savings Plans, or EC2 Reserved Instances commitments that you want to model in a Bill Scenario.\n

        ", + "smithy.api#documentation": "

        \n Create Compute Savings Plans, EC2 Instance Savings Plans, or EC2 Reserved Instances commitments that you want to model in a Bill Scenario.\n

        \n \n

        The BatchCreateBillScenarioCommitmentModification operation doesn't have its own IAM permission. To authorize this operation for Amazon Web Services principals, \n include the permission bcm-pricing-calculator:CreateBillScenarioCommitmentModification in your policies.

        \n
        ", "smithy.api#idempotent": {} } }, @@ -902,7 +902,7 @@ "name": "CreateBillScenarioUsageModification", "documentation": "Grants permission to create usage in the specified bill scenario" }, - "smithy.api#documentation": "

        \n Create Amazon Web Services service usage that you want to model in a Bill Scenario.\n

        ", + "smithy.api#documentation": "

        \n Create Amazon Web Services service usage that you want to model in a Bill Scenario.\n

        \n \n

        The BatchCreateBillScenarioUsageModification operation doesn't have its own IAM permission. To authorize this operation for Amazon Web Services principals, \n include the permission bcm-pricing-calculator:CreateBillScenarioUsageModification in your policies.

        \n
        ", "smithy.api#idempotent": {} } }, @@ -1207,7 +1207,7 @@ "name": "CreateWorkloadEstimateUsage", "documentation": "Grants permission to create usage in the specified workload estimate" }, - "smithy.api#documentation": "

        \n Create Amazon Web Services service usage that you want to model in a Workload Estimate.\n

        ", + "smithy.api#documentation": "

        \n Create Amazon Web Services service usage that you want to model in a Workload Estimate.\n

        \n \n

        The BatchCreateWorkloadEstimateUsage operation doesn't have its own IAM permission. To authorize this operation for Amazon Web Services principals, \n include the permission bcm-pricing-calculator:CreateWorkloadEstimateUsage in your policies.

        \n
        ", "smithy.api#idempotent": {} } }, @@ -1501,6 +1501,9 @@ "target": "com.amazonaws.bcmpricingcalculator#BatchDeleteBillScenarioCommitmentModificationResponse" }, "errors": [ + { + "target": "com.amazonaws.bcmpricingcalculator#ConflictException" + }, { "target": "com.amazonaws.bcmpricingcalculator#DataUnavailableException" }, @@ -1513,7 +1516,7 @@ "name": "DeleteBillScenarioCommitmentModification", "documentation": "Grants permission to delete newly added commitments from the specified bill scenario" }, - "smithy.api#documentation": "

        \n Delete commitment that you have created in a Bill Scenario. You can only delete a commitment that you had \n added and cannot model deletion (or removal) of a existing commitment. If you want model deletion of an existing \n commitment, see the negate \n BillScenarioCommitmentModificationAction of \n \n BatchCreateBillScenarioCommitmentModification operation.\n

        ", + "smithy.api#documentation": "

        \n Delete commitment that you have created in a Bill Scenario. You can only delete a commitment that you had \n added and cannot model deletion (or removal) of a existing commitment. If you want model deletion of an existing \n commitment, see the negate \n BillScenarioCommitmentModificationAction of \n \n BatchCreateBillScenarioCommitmentModification operation.\n

        \n \n

        The BatchDeleteBillScenarioCommitmentModification operation doesn't have its own IAM permission. To authorize this operation for Amazon Web Services principals, \n include the permission bcm-pricing-calculator:DeleteBillScenarioCommitmentModification in your policies.

        \n
        ", "smithy.api#idempotent": {} } }, @@ -1629,6 +1632,9 @@ "target": "com.amazonaws.bcmpricingcalculator#BatchDeleteBillScenarioUsageModificationResponse" }, "errors": [ + { + "target": "com.amazonaws.bcmpricingcalculator#ConflictException" + }, { "target": "com.amazonaws.bcmpricingcalculator#DataUnavailableException" }, @@ -1644,7 +1650,7 @@ "name": "DeleteBillScenarioUsageModification", "documentation": "Grants permission to delete newly added usage from the specified bill scenario" }, - "smithy.api#documentation": "

        \n Delete usage that you have created in a Bill Scenario. You can only delete usage that you had added and cannot model \n deletion (or removal) of a existing usage. If you want model removal of an existing usage, see \n \n BatchUpdateBillScenarioUsageModification.\n

        ", + "smithy.api#documentation": "

        \n Delete usage that you have created in a Bill Scenario. You can only delete usage that you had added and cannot model \n deletion (or removal) of a existing usage. If you want model removal of an existing usage, see \n \n BatchUpdateBillScenarioUsageModification.\n

        \n \n

        The BatchDeleteBillScenarioUsageModification operation doesn't have its own IAM permission. To authorize this operation for Amazon Web Services principals, \n include the permission bcm-pricing-calculator:DeleteBillScenarioUsageModification in your policies.

        \n
        ", "smithy.api#idempotent": {} } }, @@ -1775,7 +1781,7 @@ "name": "DeleteWorkloadEstimateUsage", "documentation": "Grants permission to delete newly added usage from the specified workload estimate" }, - "smithy.api#documentation": "

        \n Delete usage that you have created in a Workload estimate. You can only delete usage that you had added and cannot model deletion \n (or removal) of a existing usage. If you want model removal of an existing usage, see \n \n BatchUpdateWorkloadEstimateUsage.\n

        ", + "smithy.api#documentation": "

        \n Delete usage that you have created in a Workload estimate. You can only delete usage that you had added and cannot model deletion \n (or removal) of a existing usage. If you want model removal of an existing usage, see \n \n BatchUpdateWorkloadEstimateUsage.\n

        \n \n

        The BatchDeleteWorkloadEstimateUsage operation doesn't have its own IAM permission. To authorize this operation for Amazon Web Services principals, \n include the permission bcm-pricing-calculator:DeleteWorkloadEstimateUsage in your policies.

        \n
        ", "smithy.api#idempotent": {} } }, @@ -1868,6 +1874,9 @@ "target": "com.amazonaws.bcmpricingcalculator#BatchUpdateBillScenarioCommitmentModificationResponse" }, "errors": [ + { + "target": "com.amazonaws.bcmpricingcalculator#ConflictException" + }, { "target": "com.amazonaws.bcmpricingcalculator#DataUnavailableException" }, @@ -1880,7 +1889,7 @@ "name": "UpdateBillScenarioCommitmentModification", "documentation": "Grants permission to update commitment group of commitments in the specified bill scenario" }, - "smithy.api#documentation": "

        \n Update a newly added or existing commitment. You can update the commitment group based on a commitment ID and a Bill scenario ID.\n

        ", + "smithy.api#documentation": "

        \n Update a newly added or existing commitment. You can update the commitment group based on a commitment ID and a Bill scenario ID.\n

        \n \n

        The BatchUpdateBillScenarioCommitmentModification operation doesn't have its own IAM permission. To authorize this operation for Amazon Web Services principals, \n include the permission bcm-pricing-calculator:UpdateBillScenarioCommitmentModification in your policies.

        \n
        ", "smithy.api#idempotent": {} } }, @@ -2029,6 +2038,9 @@ "target": "com.amazonaws.bcmpricingcalculator#BatchUpdateBillScenarioUsageModificationResponse" }, "errors": [ + { + "target": "com.amazonaws.bcmpricingcalculator#ConflictException" + }, { "target": "com.amazonaws.bcmpricingcalculator#DataUnavailableException" }, @@ -2044,7 +2056,7 @@ "name": "UpdateBillScenarioUsageModification", "documentation": "Grants permission to update usage amount, usage hour, and usage group in the specified bill scenario" }, - "smithy.api#documentation": "

        \n Update a newly added or existing usage lines. You can update the usage amounts, usage hour, and usage group based on a usage ID and a Bill scenario ID.\n

        ", + "smithy.api#documentation": "

        \n Update a newly added or existing usage lines. You can update the usage amounts, usage hour, and usage group based on a usage ID and a Bill scenario ID.\n

        \n \n

        The BatchUpdateBillScenarioUsageModification operation doesn't have its own IAM permission. To authorize this operation for Amazon Web Services principals, \n include the permission bcm-pricing-calculator:UpdateBillScenarioUsageModification in your policies.

        \n
        ", "smithy.api#idempotent": {} } }, @@ -2214,7 +2226,7 @@ "name": "UpdateWorkloadEstimateUsage", "documentation": "Grants permission to update usage amount and usage group in the specified workload estimate based on the usage id" }, - "smithy.api#documentation": "

        \n Update a newly added or existing usage lines. You can update the usage amounts and usage group based on a usage ID and a Workload estimate ID.\n

        ", + "smithy.api#documentation": "

        \n Update a newly added or existing usage lines. You can update the usage amounts and usage group based on a usage ID and a Workload estimate ID.\n

        \n \n

        The BatchUpdateWorkloadEstimateUsage operation doesn't have its own IAM permission. To authorize this operation for Amazon Web Services principals, \n include the permission bcm-pricing-calculator:UpdateWorkloadEstimateUsage in your policies.

        \n
        ", "smithy.api#idempotent": {} } }, @@ -3784,6 +3796,9 @@ "target": "com.amazonaws.bcmpricingcalculator#DeleteBillScenarioResponse" }, "errors": [ + { + "target": "com.amazonaws.bcmpricingcalculator#ConflictException" + }, { "target": "com.amazonaws.bcmpricingcalculator#DataUnavailableException" } @@ -4905,13 +4920,13 @@ "createdAtFilter": { "target": "com.amazonaws.bcmpricingcalculator#FilterTimestamp", "traits": { - "smithy.api#documentation": "

        \n Filter bill estimates based on their creation date.\n

        " + "smithy.api#documentation": "

        \n Filter bill estimates based on the creation date.\n

        " } }, "expiresAtFilter": { "target": "com.amazonaws.bcmpricingcalculator#FilterTimestamp", "traits": { - "smithy.api#documentation": "

        \n Filter bill estimates based on their expiration date.\n

        " + "smithy.api#documentation": "

        \n Filter bill estimates based on the expiration date.\n

        " } }, "nextToken": { @@ -5207,13 +5222,13 @@ "createdAtFilter": { "target": "com.amazonaws.bcmpricingcalculator#FilterTimestamp", "traits": { - "smithy.api#documentation": "

        \n Filter bill scenarios based on their creation date.\n

        " + "smithy.api#documentation": "

        \n Filter bill scenarios based on the creation date.\n

        " } }, "expiresAtFilter": { "target": "com.amazonaws.bcmpricingcalculator#FilterTimestamp", "traits": { - "smithy.api#documentation": "

        \n Filter bill scenarios based on their expiration date.\n

        " + "smithy.api#documentation": "

        \n Filter bill scenarios based on the expiration date.\n

        " } }, "nextToken": { @@ -5587,13 +5602,13 @@ "createdAtFilter": { "target": "com.amazonaws.bcmpricingcalculator#FilterTimestamp", "traits": { - "smithy.api#documentation": "

        \n Filter workload estimates based on their creation date.\n

        " + "smithy.api#documentation": "

        \n Filter workload estimates based on the creation date.\n

        " } }, "expiresAtFilter": { "target": "com.amazonaws.bcmpricingcalculator#FilterTimestamp", "traits": { - "smithy.api#documentation": "

        \n Filter workload estimates based on their expiration date.\n

        " + "smithy.api#documentation": "

        \n Filter workload estimates based on the expiration date.\n

        " } }, "filters": { diff --git a/tools/code-generation/smithy/api-descriptions/bedrock-agent-runtime.json b/tools/code-generation/smithy/api-descriptions/bedrock-agent-runtime.json index 631335bc312..6218426b589 100644 --- a/tools/code-generation/smithy/api-descriptions/bedrock-agent-runtime.json +++ b/tools/code-generation/smithy/api-descriptions/bedrock-agent-runtime.json @@ -4547,6 +4547,12 @@ "members": { "message": { "target": "com.amazonaws.bedrockagentruntime#NonBlankString" + }, + "reason": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

        The reason for the exception. If the reason is BEDROCK_MODEL_INVOCATION_SERVICE_UNAVAILABLE, the model invocation service is unavailable. Retry your request.

        " + } } }, "traits": { @@ -8285,7 +8291,7 @@ } ], "traits": { - "smithy.api#documentation": "

        Queries a knowledge base and generates responses based on the retrieved results, with output in streaming format.

        \n \n

        The CLI doesn't support streaming operations in Amazon Bedrock, including InvokeModelWithResponseStream.

        \n
        ", + "smithy.api#documentation": "

        Queries a knowledge base and generates responses based on the retrieved results, with output in streaming format.

        \n \n

        The CLI doesn't support streaming operations in Amazon Bedrock, including InvokeModelWithResponseStream.

        \n
        \n

        This operation requires permission for the bedrock:RetrieveAndGenerate action.

        ", "smithy.api#http": { "code": 200, "method": "POST", diff --git a/tools/code-generation/smithy/api-descriptions/bedrock-agent.json b/tools/code-generation/smithy/api-descriptions/bedrock-agent.json index 3a4a7368899..ccaa5c32e0f 100644 --- a/tools/code-generation/smithy/api-descriptions/bedrock-agent.json +++ b/tools/code-generation/smithy/api-descriptions/bedrock-agent.json @@ -482,7 +482,7 @@ "agentAliasStatus": { "target": "com.amazonaws.bedrockagent#AgentAliasStatus", "traits": { - "smithy.api#documentation": "

        The status of the alias of the agent and whether it is ready for use. The following statuses are possible:

        \n
          \n
        • \n

          CREATING – The agent alias is being created.

          \n
        • \n
        • \n

          PREPARED – The agent alias is finished being created or updated and is ready to be invoked.

          \n
        • \n
        • \n

          FAILED – The agent alias API operation failed.

          \n
        • \n
        • \n

          UPDATING – The agent alias is being updated.

          \n
        • \n
        • \n

          DELETING – The agent alias is being deleted.

          \n
        • \n
        ", + "smithy.api#documentation": "

        The status of the alias of the agent and whether it is ready for use. The following statuses are possible:

        \n
          \n
        • \n

          CREATING – The agent alias is being created.

          \n
        • \n
        • \n

          PREPARED – The agent alias is finished being created or updated and is ready to be invoked.

          \n
        • \n
        • \n

          FAILED – The agent alias API operation failed.

          \n
        • \n
        • \n

          UPDATING – The agent alias is being updated.

          \n
        • \n
        • \n

          DELETING – The agent alias is being deleted.

          \n
        • \n
        • \n

          DISSOCIATED - The agent alias has no version associated with it.

          \n
        • \n
        ", "smithy.api#required": {} } }, @@ -616,6 +616,12 @@ "traits": { "smithy.api#enumValue": "DELETING" } + }, + "DISSOCIATED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DISSOCIATED" + } } } }, @@ -2525,6 +2531,32 @@ "smithy.api#documentation": "

        Contains information about content defined inline in bytes.

        " } }, + "com.amazonaws.bedrockagent#CachePointBlock": { + "type": "structure", + "members": { + "type": { + "target": "com.amazonaws.bedrockagent#CachePointType", + "traits": { + "smithy.api#documentation": "

        Indicates that the CachePointBlock is of the default type

        ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

        Indicates where a cache checkpoint is located. All information before this checkpoint is cached to be accessed on subsequent requests.

        " + } + }, + "com.amazonaws.bedrockagent#CachePointType": { + "type": "enum", + "members": { + "DEFAULT": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "default" + } + } + } + }, "com.amazonaws.bedrockagent#ChatPromptTemplateConfiguration": { "type": "structure", "members": { @@ -2792,6 +2824,12 @@ "traits": { "smithy.api#documentation": "

        The text in the message.

        " } + }, + "cachePoint": { + "target": "com.amazonaws.bedrockagent#CachePointBlock", + "traits": { + "smithy.api#documentation": "

        Creates a cache checkpoint within a message.

        " + } } }, "traits": { @@ -7091,7 +7129,7 @@ }, "traits": { "smithy.api#length": { - "max": 20 + "max": 40 } } }, @@ -7425,6 +7463,18 @@ "traits": { "smithy.api#documentation": "

        Details about an unspecified validation.

        " } + }, + "unknownNodeInput": { + "target": "com.amazonaws.bedrockagent#UnknownNodeInputFlowValidationDetails", + "traits": { + "smithy.api#documentation": "

        Details about an unknown input for a node.

        " + } + }, + "unknownNodeOutput": { + "target": "com.amazonaws.bedrockagent#UnknownNodeOutputFlowValidationDetails", + "traits": { + "smithy.api#documentation": "

        Details about an unknown output for a node.

        " + } } }, "traits": { @@ -7600,6 +7650,18 @@ "traits": { "smithy.api#enumValue": "Unspecified" } + }, + "UNKNOWN_NODE_INPUT": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "UnknownNodeInput" + } + }, + "UNKNOWN_NODE_OUTPUT": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "UnknownNodeOutput" + } } } }, @@ -11893,7 +11955,7 @@ "traits": { "smithy.api#range": { "min": 0, - "max": 4096 + "max": 8192 } } }, @@ -13273,7 +13335,7 @@ }, "traits": { "smithy.api#length": { - "max": 5 + "max": 10 }, "smithy.api#sensitive": {} } @@ -15372,6 +15434,12 @@ "traits": { "smithy.api#documentation": "

        The text in the system prompt.

        " } + }, + "cachePoint": { + "target": "com.amazonaws.bedrockagent#CachePointBlock", + "traits": { + "smithy.api#documentation": "

        Creates a cache checkpoint within a tool designation

        " + } } }, "traits": { @@ -15561,6 +15629,12 @@ "smithy.api#required": {} } }, + "cachePoint": { + "target": "com.amazonaws.bedrockagent#CachePointBlock", + "traits": { + "smithy.api#documentation": "

        A cache checkpoint within a template configuration.

        " + } + }, "inputVariables": { "target": "com.amazonaws.bedrockagent#PromptInputVariablesList", "traits": { @@ -15594,6 +15668,12 @@ "traits": { "smithy.api#documentation": "

        The specification for the tool.

        " } + }, + "cachePoint": { + "target": "com.amazonaws.bedrockagent#CachePointBlock", + "traits": { + "smithy.api#documentation": "

        Creates a cache checkpoint within a tool designation

        " + } } }, "traits": { @@ -15926,6 +16006,50 @@ "smithy.api#documentation": "

        Details about an unknown target input for a connection.

        " } }, + "com.amazonaws.bedrockagent#UnknownNodeInputFlowValidationDetails": { + "type": "structure", + "members": { + "node": { + "target": "com.amazonaws.bedrockagent#FlowNodeName", + "traits": { + "smithy.api#documentation": "

        The name of the unknown input.

        ", + "smithy.api#required": {} + } + }, + "input": { + "target": "com.amazonaws.bedrockagent#FlowNodeInputName", + "traits": { + "smithy.api#documentation": "

        The name of the node with the unknown input.

        ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

        Details about an unknown input for a node.

        " + } + }, + "com.amazonaws.bedrockagent#UnknownNodeOutputFlowValidationDetails": { + "type": "structure", + "members": { + "node": { + "target": "com.amazonaws.bedrockagent#FlowNodeName", + "traits": { + "smithy.api#documentation": "

        The name of the node with the unknown output.

        ", + "smithy.api#required": {} + } + }, + "output": { + "target": "com.amazonaws.bedrockagent#FlowNodeOutputName", + "traits": { + "smithy.api#documentation": "

        The name of the unknown output.

        ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

        Details about an unknown output for a node.

        " + } + }, "com.amazonaws.bedrockagent#UnreachableNodeFlowValidationDetails": { "type": "structure", "members": { diff --git a/tools/code-generation/smithy/api-descriptions/cloudtrail.json b/tools/code-generation/smithy/api-descriptions/cloudtrail.json index cd57d4a614f..0eb96f168ea 100644 --- a/tools/code-generation/smithy/api-descriptions/cloudtrail.json +++ b/tools/code-generation/smithy/api-descriptions/cloudtrail.json @@ -251,7 +251,7 @@ } }, "traits": { - "smithy.api#documentation": "

        Advanced event selectors let you create fine-grained selectors for CloudTrail management, data, and network activity events. They help you control costs by logging only those\n events that are important to you. For more information about configuring advanced event selectors, see\n the Logging data events, Logging network activity events, and Logging management events topics in the CloudTrail User Guide.

        \n

        You cannot apply both event selectors and advanced event selectors to a trail.

        \n

        For information about configurable advanced event selector fields, see \n AdvancedEventSelector \n in the CloudTrailUser Guide.

        " + "smithy.api#documentation": "

        Advanced event selectors let you create fine-grained selectors for CloudTrail management, data, and network activity events. They help you control costs by logging only those\n events that are important to you. For more information about configuring advanced event selectors, see\n the Logging data events, Logging network activity events, and Logging management events topics in the CloudTrail User Guide.

        \n

        You cannot apply both event selectors and advanced event selectors to a trail.

        \n

        For information about configurable advanced event selector fields, see \n AdvancedEventSelector \n in the CloudTrail API Reference.

        " } }, "com.amazonaws.cloudtrail#AdvancedEventSelectors": { @@ -266,7 +266,7 @@ "Field": { "target": "com.amazonaws.cloudtrail#SelectorField", "traits": { - "smithy.api#documentation": "

        A field in a CloudTrail event record on which to filter events to be logged. For\n event data stores for CloudTrail Insights events, Config configuration items, Audit Manager evidence, or events outside of Amazon Web Services, the field is used only for\n selecting events as filtering is not supported.

        \n

        For more information, see \n AdvancedFieldSelector \n in the CloudTrailUser Guide.

        ", + "smithy.api#documentation": "

        A field in a CloudTrail event record on which to filter events to be logged. For\n event data stores for CloudTrail Insights events, Config configuration items, Audit Manager evidence, or events outside of Amazon Web Services, the field is used only for\n selecting events as filtering is not supported.

        \n

        For more information, see \n AdvancedFieldSelector \n in the CloudTrail API Reference.

        \n \n

        Selectors don't support the use of wildcards like * . To match multiple values with a single condition, \n you may use StartsWith, EndsWith, NotStartsWith, or NotEndsWith to explicitly match the beginning or end of the event field.

        \n
        ", "smithy.api#required": {} } }, @@ -810,6 +810,9 @@ { "target": "com.amazonaws.cloudtrail#RestoreEventDataStore" }, + { + "target": "com.amazonaws.cloudtrail#SearchSampleQueries" + }, { "target": "com.amazonaws.cloudtrail#StartDashboardRefresh" }, @@ -4943,7 +4946,7 @@ } ], "traits": { - "smithy.api#documentation": "

        Describes the settings for the Insights event selectors that you configured for your\n trail or event data store. GetInsightSelectors shows if CloudTrail Insights event logging\n is enabled on the trail or event data store, and if it is, which Insights types are enabled. If you run\n GetInsightSelectors on a trail or event data store that does not have Insights events enabled,\n the operation throws the exception InsightNotEnabledException\n

        \n

        Specify either the EventDataStore parameter to get Insights event selectors for an event data store, \n or the TrailName parameter to the get Insights event selectors for a trail. You cannot specify these parameters together.

        \n

        For more information, see Logging CloudTrail Insights events in the CloudTrail User Guide.

        ", + "smithy.api#documentation": "

        Describes the settings for the Insights event selectors that you configured for your\n trail or event data store. GetInsightSelectors shows if CloudTrail Insights event logging\n is enabled on the trail or event data store, and if it is, which Insights types are enabled. If you run\n GetInsightSelectors on a trail or event data store that does not have Insights events enabled,\n the operation throws the exception InsightNotEnabledException\n

        \n

        Specify either the EventDataStore parameter to get Insights event selectors for an event data store, \n or the TrailName parameter to the get Insights event selectors for a trail. You cannot specify these parameters together.

        \n

        For more information, see Working with CloudTrail Insights in the CloudTrail User Guide.

        ", "smithy.api#idempotent": {} } }, @@ -8012,7 +8015,7 @@ } ], "traits": { - "smithy.api#documentation": "

        Configures event selectors (also referred to as basic event selectors) or advanced event selectors for your trail. You can use\n either AdvancedEventSelectors or EventSelectors, but not both. If\n you apply AdvancedEventSelectors to a trail, any existing\n EventSelectors are overwritten.

        \n

        You can use AdvancedEventSelectors to \n log management events, data events for all resource types, and network activity events.

        \n

        You can use EventSelectors to log management events and data events for the following resource types:

        \n
          \n
        • \n

          \n AWS::DynamoDB::Table\n

          \n
        • \n
        • \n

          \n AWS::Lambda::Function\n

          \n
        • \n
        • \n

          \n AWS::S3::Object\n

          \n
        • \n
        \n

        You can't use EventSelectors to log network activity events.

        \n

        If you want your trail to log Insights events, be sure the event selector or advanced event selector enables \n logging of the Insights event types you want configured for your trail. For more information about logging Insights events, see Logging Insights events in the CloudTrail User Guide.\n By default, trails created without specific event selectors are configured to\n log all read and write management events, and no data events or network activity events.

        \n

        When an event occurs in your account, CloudTrail evaluates the event selectors or\n advanced event selectors in all trails. For each trail, if the event matches any event\n selector, the trail processes and logs the event. If the event doesn't match any event\n selector, the trail doesn't log the event.

        \n

        Example

        \n
          \n
        1. \n

          You create an event selector for a trail and specify that you want to log write-only\n events.

          \n
        2. \n
        3. \n

          The EC2 GetConsoleOutput and RunInstances API operations\n occur in your account.

          \n
        4. \n
        5. \n

          CloudTrail evaluates whether the events match your event selectors.

          \n
        6. \n
        7. \n

          The RunInstances is a write-only event and it matches your event\n selector. The trail logs the event.

          \n
        8. \n
        9. \n

          The GetConsoleOutput is a read-only event that doesn't match your\n event selector. The trail doesn't log the event.

          \n
        10. \n
        \n

        The PutEventSelectors operation must be called from the Region in which the\n trail was created; otherwise, an InvalidHomeRegionException exception is\n thrown.

        \n

        You can configure up to five event selectors for each trail.

        \n

        You can add advanced event selectors, and conditions for your advanced event selectors,\n up to a maximum of 500 values for all conditions and selectors on a trail. For more information, see\n Logging management events, Logging\n data events, Logging\n network activity events, and Quotas in CloudTrail in the CloudTrail User\n Guide.

        ", + "smithy.api#documentation": "

        Configures event selectors (also referred to as basic event selectors) or advanced event selectors for your trail. You can use\n either AdvancedEventSelectors or EventSelectors, but not both. If\n you apply AdvancedEventSelectors to a trail, any existing\n EventSelectors are overwritten.

        \n

        You can use AdvancedEventSelectors to \n log management events, data events for all resource types, and network activity events.

        \n

        You can use EventSelectors to log management events and data events for the following resource types:

        \n
          \n
        • \n

          \n AWS::DynamoDB::Table\n

          \n
        • \n
        • \n

          \n AWS::Lambda::Function\n

          \n
        • \n
        • \n

          \n AWS::S3::Object\n

          \n
        • \n
        \n

        You can't use EventSelectors to log network activity events.

        \n

        If you want your trail to log Insights events, be sure the event selector or advanced event selector enables \n logging of the Insights event types you want configured for your trail. For more information about logging Insights events, see Working with CloudTrail Insights in the CloudTrail User Guide.\n By default, trails created without specific event selectors are configured to\n log all read and write management events, and no data events or network activity events.

        \n

        When an event occurs in your account, CloudTrail evaluates the event selectors or\n advanced event selectors in all trails. For each trail, if the event matches any event\n selector, the trail processes and logs the event. If the event doesn't match any event\n selector, the trail doesn't log the event.

        \n

        Example

        \n
          \n
        1. \n

          You create an event selector for a trail and specify that you want to log write-only\n events.

          \n
        2. \n
        3. \n

          The EC2 GetConsoleOutput and RunInstances API operations\n occur in your account.

          \n
        4. \n
        5. \n

          CloudTrail evaluates whether the events match your event selectors.

          \n
        6. \n
        7. \n

          The RunInstances is a write-only event and it matches your event\n selector. The trail logs the event.

          \n
        8. \n
        9. \n

          The GetConsoleOutput is a read-only event that doesn't match your\n event selector. The trail doesn't log the event.

          \n
        10. \n
        \n

        The PutEventSelectors operation must be called from the Region in which the\n trail was created; otherwise, an InvalidHomeRegionException exception is\n thrown.

        \n

        You can configure up to five event selectors for each trail.

        \n

        You can add advanced event selectors, and conditions for your advanced event selectors,\n up to a maximum of 500 values for all conditions and selectors on a trail. For more information, see\n Logging management events, Logging\n data events, Logging\n network activity events, and Quotas in CloudTrail in the CloudTrail User\n Guide.

        ", "smithy.api#idempotent": {} } }, @@ -8128,7 +8131,7 @@ } ], "traits": { - "smithy.api#documentation": "

        Lets you enable Insights event logging by specifying the Insights selectors that you\n want to enable on an existing trail or event data store. You also use PutInsightSelectors to turn\n off Insights event logging, by passing an empty list of Insights types. The valid Insights\n event types are ApiErrorRateInsight and\n ApiCallRateInsight.

        \n

        To enable Insights on an event data store, you must specify the ARNs (or ID suffix of the ARNs) for the source event data store (EventDataStore) and the destination event data store (InsightsDestination). The source event data store logs management events and enables Insights. \n The destination event data store logs Insights events based upon the management event activity of the source event data store. The source and destination event data stores must belong to the same Amazon Web Services account.

        \n

        To log Insights events for a trail, you must specify the name (TrailName) of the CloudTrail trail for which you want to change or add Insights\n selectors.

        \n

        To log CloudTrail Insights events on API call volume, the trail or event data store\n must log write management events. To log CloudTrail\n Insights events on API error rate, the trail or event data store must log read or\n write management events. You can call GetEventSelectors on a trail \n to check whether the trail logs management events. You can call GetEventDataStore on an \n event data store to check whether the event data store logs management events.

        \n

        For more information, see Logging CloudTrail Insights events in the CloudTrail User Guide.

        ", + "smithy.api#documentation": "

        Lets you enable Insights event logging by specifying the Insights selectors that you\n want to enable on an existing trail or event data store. You also use PutInsightSelectors to turn\n off Insights event logging, by passing an empty list of Insights types. The valid Insights\n event types are ApiErrorRateInsight and\n ApiCallRateInsight.

        \n

        To enable Insights on an event data store, you must specify the ARNs (or ID suffix of the ARNs) for the source event data store (EventDataStore) and the destination event data store (InsightsDestination). The source event data store logs management events and enables Insights. \n The destination event data store logs Insights events based upon the management event activity of the source event data store. The source and destination event data stores must belong to the same Amazon Web Services account.

        \n

        To log Insights events for a trail, you must specify the name (TrailName) of the CloudTrail trail for which you want to change or add Insights\n selectors.

        \n

        To log CloudTrail Insights events on API call volume, the trail or event data store\n must log write management events. To log CloudTrail\n Insights events on API error rate, the trail or event data store must log read or\n write management events. You can call GetEventSelectors on a trail \n to check whether the trail logs management events. You can call GetEventDataStore on an \n event data store to check whether the event data store logs management events.

        \n

        For more information, see Working with CloudTrail Insights in the CloudTrail User Guide.

        ", "smithy.api#idempotent": {} } }, @@ -9241,6 +9244,150 @@ "smithy.api#documentation": "

        The settings for the source S3 bucket.

        " } }, + "com.amazonaws.cloudtrail#SampleQueryDescription": { + "type": "string" + }, + "com.amazonaws.cloudtrail#SampleQueryName": { + "type": "string" + }, + "com.amazonaws.cloudtrail#SampleQueryRelevance": { + "type": "float", + "traits": { + "smithy.api#default": 0 + } + }, + "com.amazonaws.cloudtrail#SampleQuerySQL": { + "type": "string" + }, + "com.amazonaws.cloudtrail#SearchSampleQueries": { + "type": "operation", + "input": { + "target": "com.amazonaws.cloudtrail#SearchSampleQueriesRequest" + }, + "output": { + "target": "com.amazonaws.cloudtrail#SearchSampleQueriesResponse" + }, + "errors": [ + { + "target": "com.amazonaws.cloudtrail#InvalidParameterException" + }, + { + "target": "com.amazonaws.cloudtrail#OperationNotPermittedException" + }, + { + "target": "com.amazonaws.cloudtrail#UnsupportedOperationException" + } + ], + "traits": { + "smithy.api#documentation": "

        \n Searches sample queries and returns a list of sample queries that are sorted by relevance. \n To search for sample queries, provide a natural language SearchPhrase in English.\n

        ", + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.cloudtrail#SearchSampleQueriesMaxResults": { + "type": "integer", + "traits": { + "smithy.api#range": { + "min": 1, + "max": 50 + } + } + }, + "com.amazonaws.cloudtrail#SearchSampleQueriesRequest": { + "type": "structure", + "members": { + "SearchPhrase": { + "target": "com.amazonaws.cloudtrail#SearchSampleQueriesSearchPhrase", + "traits": { + "smithy.api#documentation": "

        \n The natural language phrase to use for the semantic search. The phrase must be in English. The length constraint is in characters, not words.

        ", + "smithy.api#required": {} + } + }, + "MaxResults": { + "target": "com.amazonaws.cloudtrail#SearchSampleQueriesMaxResults", + "traits": { + "smithy.api#documentation": "

        \n The maximum number of results to return on a single page. The default value is 10.\n

        " + } + }, + "NextToken": { + "target": "com.amazonaws.cloudtrail#PaginationToken", + "traits": { + "smithy.api#documentation": "

        \n A token you can use to get the next page of results. The length constraint is in characters, not words.\n

        " + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.cloudtrail#SearchSampleQueriesResponse": { + "type": "structure", + "members": { + "SearchResults": { + "target": "com.amazonaws.cloudtrail#SearchSampleQueriesSearchResults", + "traits": { + "smithy.api#documentation": "

        \n A list of objects containing the search results ordered from most relevant to least relevant.\n

        " + } + }, + "NextToken": { + "target": "com.amazonaws.cloudtrail#PaginationToken", + "traits": { + "smithy.api#documentation": "

        \n A token you can use to get the next page of results.

        " + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.cloudtrail#SearchSampleQueriesSearchPhrase": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 2, + "max": 1000 + }, + "smithy.api#pattern": "^[ -~\\n]*$" + } + }, + "com.amazonaws.cloudtrail#SearchSampleQueriesSearchResult": { + "type": "structure", + "members": { + "Name": { + "target": "com.amazonaws.cloudtrail#SampleQueryName", + "traits": { + "smithy.api#documentation": "

        \n The name of a sample query.\n

        " + } + }, + "Description": { + "target": "com.amazonaws.cloudtrail#SampleQueryDescription", + "traits": { + "smithy.api#documentation": "

        \n A longer description of a sample query.\n

        " + } + }, + "SQL": { + "target": "com.amazonaws.cloudtrail#SampleQuerySQL", + "traits": { + "smithy.api#documentation": "

        \n The SQL code of the sample query.\n

        " + } + }, + "Relevance": { + "target": "com.amazonaws.cloudtrail#SampleQueryRelevance", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "

        \n A value between 0 and 1 indicating the similarity between the search phrase and result.\n

        " + } + } + }, + "traits": { + "smithy.api#documentation": "

        \n A search result returned by the SearchSampleQueries operation.\n

        " + } + }, + "com.amazonaws.cloudtrail#SearchSampleQueriesSearchResults": { + "type": "list", + "member": { + "target": "com.amazonaws.cloudtrail#SearchSampleQueriesSearchResult" + } + }, "com.amazonaws.cloudtrail#SelectorField": { "type": "string", "traits": { diff --git a/tools/code-generation/smithy/api-descriptions/datasync.json b/tools/code-generation/smithy/api-descriptions/datasync.json index a789c126283..c4bbce49f51 100644 --- a/tools/code-generation/smithy/api-descriptions/datasync.json +++ b/tools/code-generation/smithy/api-descriptions/datasync.json @@ -1398,7 +1398,7 @@ } ], "traits": { - "smithy.api#documentation": "

        Creates a transfer location for a Server Message Block (SMB) file\n server. DataSync can use this location as a source or destination for\n transferring data.

        \n

        Before you begin, make sure that you understand how DataSync\n accesses\n SMB file servers.

        " + "smithy.api#documentation": "

        Creates a transfer location for a Server Message Block (SMB) file\n server. DataSync can use this location as a source or destination for\n transferring data.

        \n

        Before you begin, make sure that you understand how DataSync accesses SMB\n file servers. For more information, see Providing DataSync access to SMB file servers.

        " } }, "com.amazonaws.datasync#CreateLocationSmbRequest": { @@ -1407,35 +1407,33 @@ "Subdirectory": { "target": "com.amazonaws.datasync#SmbSubdirectory", "traits": { - "smithy.api#documentation": "

        Specifies the name of the share exported by your SMB file server where DataSync\n will read or write data. You can include a subdirectory in the share path (for example,\n /path/to/subdirectory). Make sure that other SMB clients in your network can\n also mount this path.

        \n

        To copy all data in the subdirectory, DataSync must be able to mount the SMB\n share and access all of its data. For more information, see required permissions for SMB locations.

        ", + "smithy.api#documentation": "

        Specifies the name of the share exported by your SMB file server where DataSync\n will read or write data. You can include a subdirectory in the share path (for example,\n /path/to/subdirectory). Make sure that other SMB clients in your network can\n also mount this path.

        \n

        To copy all data in the subdirectory, DataSync must be able to mount the SMB\n share and access all of its data. For more information, see Providing DataSync access to SMB file servers.

        ", "smithy.api#required": {} } }, "ServerHostname": { "target": "com.amazonaws.datasync#ServerHostname", "traits": { - "smithy.api#documentation": "

        Specifies the Domain Name Service (DNS) name or IP address of the SMB file server that\n your DataSync agent will mount.

        \n \n

        You can't specify an IP version 6 (IPv6) address.

        \n
        ", + "smithy.api#documentation": "

        Specifies the domain name or IP address of the SMB file server that your DataSync agent will mount.

        \n

        Remember the following when configuring this parameter:

        \n
          \n
        • \n

          You can't specify an IP version 6 (IPv6) address.

          \n
        • \n
        • \n

          If you're using Kerberos authentication, you must specify a domain name.

          \n
        • \n
        ", "smithy.api#required": {} } }, "User": { "target": "com.amazonaws.datasync#SmbUser", "traits": { - "smithy.api#documentation": "

        Specifies the user that can mount and access the files, folders, and file metadata in your\n SMB file server.

        \n

        For information about choosing a user with the right level of access for your transfer,\n see required permissions for SMB locations.

        ", - "smithy.api#required": {} + "smithy.api#documentation": "

        Specifies the user that can mount and access the files, folders, and file metadata in your\n SMB file server. This parameter applies only if AuthenticationType is set to\n NTLM.

        \n

        For information about choosing a user with the right level of access for your transfer,\n see Providing DataSync access to SMB file servers.

        " } }, "Domain": { "target": "com.amazonaws.datasync#SmbDomain", "traits": { - "smithy.api#documentation": "

        Specifies the name of the Active Directory domain that your SMB file server belongs to.

        \n

        If you have multiple Active Directory domains in your environment, configuring this\n parameter makes sure that DataSync connects to the right file server.

        " + "smithy.api#documentation": "

        Specifies the Windows domain name that your SMB file server belongs to. This parameter\n applies only if AuthenticationType is set to NTLM.

        \n

        If you have multiple domains in your environment, configuring this parameter makes sure\n that DataSync connects to the right file server.

        " } }, "Password": { "target": "com.amazonaws.datasync#SmbPassword", "traits": { - "smithy.api#documentation": "

        Specifies the password of the user who can mount your SMB file server and has permission\n to access the files and folders involved in your transfer.

        \n

        For more information, see required permissions for SMB locations.

        ", - "smithy.api#required": {} + "smithy.api#documentation": "

        Specifies the password of the user who can mount your SMB file server and has permission\n to access the files and folders involved in your transfer. This parameter applies only if\n AuthenticationType is set to NTLM.

        " } }, "AgentArns": { @@ -1456,6 +1454,36 @@ "traits": { "smithy.api#documentation": "

        Specifies labels that help you categorize, filter, and search for your Amazon Web Services\n resources. We recommend creating at least a name tag for your location.

        " } + }, + "AuthenticationType": { + "target": "com.amazonaws.datasync#SmbAuthenticationType", + "traits": { + "smithy.api#documentation": "

        Specifies the authentication protocol that DataSync uses to connect to your SMB\n file server. DataSync supports NTLM (default) and KERBEROS\n authentication.

        " + } + }, + "DnsIpAddresses": { + "target": "com.amazonaws.datasync#DnsIpList", + "traits": { + "smithy.api#documentation": "

        Specifies the IPv4 addresses for the DNS servers that your SMB file server belongs to.\n This parameter applies only if AuthenticationType is set to\n KERBEROS.

        \n

        If you have multiple domains in your environment, configuring this parameter makes sure\n that DataSync connects to the right SMB file server.

        " + } + }, + "KerberosPrincipal": { + "target": "com.amazonaws.datasync#KerberosPrincipal", + "traits": { + "smithy.api#documentation": "

        Specifies a service principal name (SPN), which is an identity in your Kerberos realm that\n has permission to access the files, folders, and file metadata in your SMB file server.

        \n

        SPNs are case sensitive and must include a prepended cifs/. For example, an\n SPN might look like cifs/kerberosuser@EXAMPLE.COM.

        \n

        Your task execution will fail if the SPN that you provide for this parameter doesn’t match\n what’s exactly in your keytab or krb5.conf files.

        " + } + }, + "KerberosKeytab": { + "target": "com.amazonaws.datasync#KerberosKeytabFile", + "traits": { + "smithy.api#documentation": "

        Specifies your Kerberos key table (keytab) file, which includes mappings between your\n service principal name (SPN) and encryption keys.

        \n

        You can specify the keytab using a file path (for example,\n file://path/to/file.keytab). The file must be base64 encoded. If you're using\n the CLI, the encoding is done for you.

        \n

        To avoid task execution errors, make sure that the SPN in the keytab file matches exactly\n what you specify for KerberosPrincipal and in your krb5.conf file.

        " + } + }, + "KerberosKrb5Conf": { + "target": "com.amazonaws.datasync#KerberosKrb5ConfFile", + "traits": { + "smithy.api#documentation": "

        Specifies a Kerberos configuration file (krb5.conf) that defines your\n Kerberos realm configuration.

        \n

        You can specify the krb5.conf using a file path (for example,\n file://path/to/krb5.conf). The file must be base64 encoded. If you're using the\nCLI, the encoding is done for you.

        \n

        To avoid task execution errors, make sure that the service principal name (SPN) in the\n krb5.conf file matches exactly what you specify for\n KerberosPrincipal and in your keytab file.

        " + } } }, "traits": { @@ -2810,19 +2838,19 @@ "User": { "target": "com.amazonaws.datasync#SmbUser", "traits": { - "smithy.api#documentation": "

        The user that can mount and access the files, folders, and file metadata in your SMB file\n server.

        " + "smithy.api#documentation": "

        The user that can mount and access the files, folders, and file metadata in your SMB file\n server. This element applies only if AuthenticationType is set to\n NTLM.

        " } }, "Domain": { "target": "com.amazonaws.datasync#SmbDomain", "traits": { - "smithy.api#documentation": "

        The name of the Microsoft Active Directory domain that the SMB file server belongs\n to.

        " + "smithy.api#documentation": "

        The name of the Windows domain that the SMB file server belongs to. This element applies\n only if AuthenticationType is set to NTLM.

        " } }, "MountOptions": { "target": "com.amazonaws.datasync#SmbMountOptions", "traits": { - "smithy.api#documentation": "

        The protocol that DataSync use to access your SMB file.

        " + "smithy.api#documentation": "

        The SMB protocol version that DataSync uses to access your SMB file\n server.

        " } }, "CreationTime": { @@ -2830,6 +2858,24 @@ "traits": { "smithy.api#documentation": "

        The time that the SMB location was created.

        " } + }, + "DnsIpAddresses": { + "target": "com.amazonaws.datasync#DnsIpList", + "traits": { + "smithy.api#documentation": "

        The IPv4 addresses for the DNS servers that your SMB file server belongs to. This element\n applies only if AuthenticationType is set to KERBEROS.

        " + } + }, + "KerberosPrincipal": { + "target": "com.amazonaws.datasync#KerberosPrincipal", + "traits": { + "smithy.api#documentation": "

        The Kerberos service principal name (SPN) that has permission to access the files,\n folders, and file metadata in your SMB file server.

        " + } + }, + "AuthenticationType": { + "target": "com.amazonaws.datasync#SmbAuthenticationType", + "traits": { + "smithy.api#documentation": "

        The authentication protocol that DataSync uses to connect to your SMB file\n server.

        " + } } }, "traits": { @@ -3709,6 +3755,18 @@ "com.amazonaws.datasync#DiscoveryTime": { "type": "timestamp" }, + "com.amazonaws.datasync#DnsIpList": { + "type": "list", + "member": { + "target": "com.amazonaws.datasync#ServerIpAddress" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 2 + } + } + }, "com.amazonaws.datasync#Duration": { "type": "long", "traits": { @@ -5270,7 +5328,7 @@ "type": "structure", "members": { "Domain": { - "target": "com.amazonaws.datasync#FsxUpdateSmbDomain", + "target": "com.amazonaws.datasync#UpdateSmbDomain", "traits": { "smithy.api#documentation": "

        Specifies the name of the Windows domain that your storage virtual machine (SVM) belongs to.

        \n

        If you have multiple Active Directory domains in your environment, configuring this parameter makes sure that DataSync connects to the right SVM.

        " } @@ -5295,16 +5353,6 @@ "smithy.api#documentation": "

        Specifies the Server Message Block (SMB) protocol configuration that DataSync uses to access your Amazon FSx for NetApp ONTAP file system's storage virtual machine (SVM). For more information, see\n Providing DataSync access to FSx for ONTAP file systems.

        " } }, - "com.amazonaws.datasync#FsxUpdateSmbDomain": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 0, - "max": 253 - }, - "smithy.api#pattern": "^([A-Za-z0-9]((\\.|-+)?[A-Za-z0-9]){0,252})?$" - } - }, "com.amazonaws.datasync#FsxWindowsSubdirectory": { "type": "string", "traits": { @@ -6924,7 +6972,7 @@ "min": 3, "max": 63 }, - "smithy.api#pattern": "^[a-zA-Z0-9_\\-\\+\\./\\(\\)\\$\\p{Zs}]+$" + "smithy.api#pattern": "^[a-zA-Z0-9_\\-\\+\\.\\(\\)\\$\\p{Zs}]+$" } }, "com.amazonaws.datasync#ObjectStorageCertificate": { @@ -8009,6 +8057,33 @@ "smithy.api#pattern": "^(([a-zA-Z0-9\\-]*[a-zA-Z0-9])\\.)*([A-Za-z0-9\\-]*[A-Za-z0-9])$" } }, + "com.amazonaws.datasync#ServerIpAddress": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 7, + "max": 15 + }, + "smithy.api#pattern": "^\\A(25[0-5]|2[0-4]\\d|[0-1]?\\d?\\d)(\\.(25[0-5]|2[0-4]\\d|[0-1]?\\d?\\d)){3}\\z$" + } + }, + "com.amazonaws.datasync#SmbAuthenticationType": { + "type": "enum", + "members": { + "NTLM": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "NTLM" + } + }, + "KERBEROS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "KERBEROS" + } + } + } + }, "com.amazonaws.datasync#SmbDomain": { "type": "string", "traits": { @@ -8084,7 +8159,7 @@ "min": 0, "max": 104 }, - "smithy.api#pattern": "^[^\\x5B\\x5D\\\\/:;|=,+*?]{1,104}$" + "smithy.api#pattern": "^[^\\x22\\x5B\\x5D/\\\\:;|=,+*?\\x3C\\x3E]{1,104}$" } }, "com.amazonaws.datasync#SmbVersion": { @@ -9565,7 +9640,7 @@ } }, "Domain": { - "target": "com.amazonaws.datasync#FsxUpdateSmbDomain", + "target": "com.amazonaws.datasync#UpdateSmbDomain", "traits": { "smithy.api#documentation": "

        Specifies the name of the Windows domain that your FSx for Windows File Server file system belongs to.

        \n

        If you have multiple Active Directory domains in your environment, configuring this parameter makes sure that DataSync connects to the right file system.

        " } @@ -9936,25 +10011,25 @@ "Subdirectory": { "target": "com.amazonaws.datasync#SmbSubdirectory", "traits": { - "smithy.api#documentation": "

        Specifies the name of the share exported by your SMB file server where DataSync\n will read or write data. You can include a subdirectory in the share path (for example,\n /path/to/subdirectory). Make sure that other SMB clients in your network can\n also mount this path.

        \n

        To copy all data in the specified subdirectory, DataSync must be able to mount\n the SMB share and access all of its data. For more information, see required permissions for SMB locations.

        " + "smithy.api#documentation": "

        Specifies the name of the share exported by your SMB file server where DataSync\n will read or write data. You can include a subdirectory in the share path (for example,\n /path/to/subdirectory). Make sure that other SMB clients in your network can\n also mount this path.

        \n

        To copy all data in the specified subdirectory, DataSync must be able to mount\n the SMB share and access all of its data. For more information, see Providing DataSync access to SMB file servers.

        " } }, "User": { "target": "com.amazonaws.datasync#SmbUser", "traits": { - "smithy.api#documentation": "

        Specifies the user name that can mount your SMB file server and has permission to access\n the files and folders involved in your transfer.

        \n

        For information about choosing a user with the right level of access for your transfer,\n see required permissions for SMB locations.

        " + "smithy.api#documentation": "

        Specifies the user name that can mount your SMB file server and has permission to access\n the files and folders involved in your transfer. This parameter applies only if\n AuthenticationType is set to NTLM.

        \n

        For information about choosing a user with the right level of access for your transfer,\n see Providing DataSync access to SMB file servers.

        " } }, "Domain": { "target": "com.amazonaws.datasync#SmbDomain", "traits": { - "smithy.api#documentation": "

        Specifies the Windows domain name that your SMB file server belongs to.

        \n

        If you have multiple domains in your environment, configuring this parameter makes sure that DataSync connects to the right file server.

        \n

        For more information, see required permissions for SMB locations.

        " + "smithy.api#documentation": "

        Specifies the Windows domain name that your SMB file server belongs to. This parameter\n applies only if AuthenticationType is set to NTLM.

        \n

        If you have multiple domains in your environment, configuring this parameter makes sure that DataSync connects to the right file server.

        " } }, "Password": { "target": "com.amazonaws.datasync#SmbPassword", "traits": { - "smithy.api#documentation": "

        Specifies the password of the user who can mount your SMB file server and has permission\n to access the files and folders involved in your transfer.

        \n

        For more information, see required permissions for SMB locations.

        " + "smithy.api#documentation": "

        Specifies the password of the user who can mount your SMB file server and has permission\n to access the files and folders involved in your transfer. This parameter applies only if\n AuthenticationType is set to NTLM.

        " } }, "AgentArns": { @@ -9965,6 +10040,36 @@ }, "MountOptions": { "target": "com.amazonaws.datasync#SmbMountOptions" + }, + "AuthenticationType": { + "target": "com.amazonaws.datasync#SmbAuthenticationType", + "traits": { + "smithy.api#documentation": "

        Specifies the authentication protocol that DataSync uses to connect to your SMB\n file server. DataSync supports NTLM (default) and KERBEROS\n authentication.

        " + } + }, + "DnsIpAddresses": { + "target": "com.amazonaws.datasync#DnsIpList", + "traits": { + "smithy.api#documentation": "

        Specifies the IPv4 addresses for the DNS servers that your SMB file server belongs to.\n This parameter applies only if AuthenticationType is set to\n KERBEROS.

        \n

        If you have multiple domains in your environment, configuring this parameter makes sure\n that DataSync connects to the right SMB file server.

        " + } + }, + "KerberosPrincipal": { + "target": "com.amazonaws.datasync#KerberosPrincipal", + "traits": { + "smithy.api#documentation": "

        Specifies a service principal name (SPN), which is an identity in your Kerberos realm that\n has permission to access the files, folders, and file metadata in your SMB file server.

        \n

        SPNs are case sensitive and must include a prepended cifs/. For example, an\n SPN might look like cifs/kerberosuser@EXAMPLE.COM.

        \n

        Your task execution will fail if the SPN that you provide for this parameter doesn’t match\n what’s exactly in your keytab or krb5.conf files.

        " + } + }, + "KerberosKeytab": { + "target": "com.amazonaws.datasync#KerberosKeytabFile", + "traits": { + "smithy.api#documentation": "

        Specifies your Kerberos key table (keytab) file, which includes mappings between your\n service principal name (SPN) and encryption keys.

        \n

        You can specify the keytab using a file path (for example,\n file://path/to/file.keytab). The file must be base64 encoded. If you're using\n the CLI, the encoding is done for you.

        \n

        To avoid task execution errors, make sure that the SPN in the keytab file matches exactly\n what you specify for KerberosPrincipal and in your krb5.conf file.

        " + } + }, + "KerberosKrb5Conf": { + "target": "com.amazonaws.datasync#KerberosKrb5ConfFile", + "traits": { + "smithy.api#documentation": "

        Specifies a Kerberos configuration file (krb5.conf) that defines your\n Kerberos realm configuration.

        \n

        You can specify the krb5.conf using a file path (for example,\n file://path/to/krb5.conf). The file must be base64 encoded. If you're using the\n CLI, the encoding is done for you.

        \n

        To avoid task execution errors, make sure that the service principal name (SPN) in the\n krb5.conf file matches exactly what you specify for\n KerberosPrincipal and in your keytab file.

        " + } } }, "traits": { @@ -9978,6 +10083,16 @@ "smithy.api#output": {} } }, + "com.amazonaws.datasync#UpdateSmbDomain": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 253 + }, + "smithy.api#pattern": "^([A-Za-z0-9]((\\.|-+)?[A-Za-z0-9]){0,252})?$" + } + }, "com.amazonaws.datasync#UpdateStorageSystem": { "type": "operation", "input": { diff --git a/tools/code-generation/smithy/api-descriptions/deadline.json b/tools/code-generation/smithy/api-descriptions/deadline.json index f1304f8b3a6..6ad647129c4 100644 --- a/tools/code-generation/smithy/api-descriptions/deadline.json +++ b/tools/code-generation/smithy/api-descriptions/deadline.json @@ -22,19 +22,19 @@ "selections": { "target": "com.amazonaws.deadline#AcceleratorSelections", "traits": { - "smithy.api#documentation": "

        A list of objects that contain the GPU name of the accelerator and driver for the\n instance types that support the accelerator.

        ", + "smithy.api#documentation": "

        A list of accelerator capabilities requested for this fleet. Only Amazon Elastic Compute Cloud instances\n that provide these capabilities will be used. For example, if you specify both L4 and T4\n chips, Deadline Cloud will use Amazon EC2 instances that have either the L4 or the T4 chip\n installed.

        ", "smithy.api#required": {} } }, "count": { "target": "com.amazonaws.deadline#AcceleratorCountRange", "traits": { - "smithy.api#documentation": "

        The number of GPUs on each worker. The default is 1.

        " + "smithy.api#documentation": "

        The number of GPU accelerators specified for worker hosts in this fleet.

        " } } }, "traits": { - "smithy.api#documentation": "

        Provides information about the GPU accelerators and drivers for the instance types in a\n fleet. If you include the acceleratorCapabilities property in the ServiceManagedEc2InstanceCapabilities object, all of the Amazon EC2\n instances will have at least one accelerator.

        " + "smithy.api#documentation": "

        Provides information about the GPU accelerators used for jobs processed by a\n fleet.

        " } }, "com.amazonaws.deadline#AcceleratorCountRange": { @@ -43,19 +43,19 @@ "min": { "target": "com.amazonaws.deadline#MinZeroMaxInteger", "traits": { - "smithy.api#documentation": "

        The minimum number of GPUs for the accelerator. If you set the value to 0, a worker will\n still have 1 GPU.

        ", + "smithy.api#documentation": "

        The minimum number of GPU accelerators in the worker host.

        ", "smithy.api#required": {} } }, "max": { "target": "com.amazonaws.deadline#MinZeroMaxInteger", "traits": { - "smithy.api#documentation": "

        The maximum number of GPUs for the accelerator.

        " + "smithy.api#documentation": "

        The maximum number of GPU accelerators in the worker host.

        " } } }, "traits": { - "smithy.api#documentation": "

        The range for the GPU fleet acceleration.

        " + "smithy.api#documentation": "

        Defines the maximum and minimum number of GPU accelerators required for a worker\n instance..

        " } }, "com.amazonaws.deadline#AcceleratorName": { @@ -102,7 +102,7 @@ "name": { "target": "com.amazonaws.deadline#AcceleratorName", "traits": { - "smithy.api#documentation": "

        The name of the GPU accelerator.

        ", + "smithy.api#documentation": "

        The name of the chip used by the GPU accelerator.

        \n

        If you specify l4 as the name of the accelerator, you must specify\n latest or grid:r550 as the runtime.

        \n

        The available GPU accelerators are:

        \n
          \n
        • \n

          \n t4 - NVIDIA T4 Tensor Core GPU

          \n
        • \n
        • \n

          \n a10g - NVIDIA A10G Tensor Core GPU

          \n
        • \n
        • \n

          \n l4 - NVIDIA L4 Tensor Core GPU

          \n
        • \n
        • \n

          \n l40s - NVIDIA L40S Tensor Core GPU

          \n
        • \n
        ", "smithy.api#required": {} } }, @@ -110,12 +110,12 @@ "target": "com.amazonaws.deadline#AcceleratorRuntime", "traits": { "smithy.api#default": "latest", - "smithy.api#documentation": "

        The driver version that the GPU accelerator uses.

        " + "smithy.api#documentation": "

        Specifies the runtime driver to use for the GPU accelerator. You must use the same\n runtime for all GPUs.

        \n

        You can choose from the following runtimes:

        \n
          \n
        • \n

          \n latest - Use the latest runtime available for the chip. If you\n specify latest and a new version of the runtime is released, the new\n version of the runtime is used.

          \n
        • \n
        • \n

          \n grid:r550 - NVIDIA vGPU software 17\n

          \n
        • \n
        • \n

          \n grid:r535 - NVIDIA vGPU software 16\n

          \n
        • \n
        \n

        If you don't specify a runtime, Deadline Cloud uses latest as the default. However,\n if you have multiple accelerators and specify latest for some and leave others\n blank, Deadline Cloud raises an exception.

        " } } }, "traits": { - "smithy.api#documentation": "

        Values that you can use to select a particular Amazon EC2 instance type.

        " + "smithy.api#documentation": "

        Describes a specific GPU accelerator required for an Amazon Elastic Compute Cloud worker host.

        " } }, "com.amazonaws.deadline#AcceleratorSelections": { @@ -142,7 +142,7 @@ } }, "traits": { - "smithy.api#documentation": "

        The range for memory, in MiB, to use for the accelerator.

        " + "smithy.api#documentation": "

        Defines the maximum and minimum amount of memory, in MiB, to use for the\n accelerator.

        " } }, "com.amazonaws.deadline#AcceleratorType": { @@ -191,6 +191,37 @@ "smithy.api#sensitive": {} } }, + "com.amazonaws.deadline#AcquiredLimit": { + "type": "structure", + "members": { + "limitId": { + "target": "com.amazonaws.deadline#LimitId", + "traits": { + "smithy.api#documentation": "

        The unique identifier of the limit.

        ", + "smithy.api#required": {} + } + }, + "count": { + "target": "com.amazonaws.deadline#MinOneMaxInteger", + "traits": { + "smithy.api#documentation": "

        The number of limit resources used.

        ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

        Provides information about the number of resources used.

        " + } + }, + "com.amazonaws.deadline#AcquiredLimits": { + "type": "list", + "member": { + "target": "com.amazonaws.deadline#AcquiredLimit" + }, + "traits": { + "smithy.api#uniqueItems": {} + } + }, "com.amazonaws.deadline#AggregationId": { "type": "string", "traits": { @@ -220,6 +251,14 @@ "smithy.api#pattern": "^([a-zA-Z][a-zA-Z0-9]{0,63}:)?amount(\\.[a-zA-Z][a-zA-Z0-9]{0,63})+$" } }, + "com.amazonaws.deadline#AmountRequirementName": { + "type": "string", + "traits": { + "smithy.api#length": { + "max": 1024 + } + } + }, "com.amazonaws.deadline#AssignedEnvironmentEnterSessionActionDefinition": { "type": "structure", "members": { @@ -2561,10 +2600,11 @@ "name": "CreateJob", "documentation": "Grants permission to create a job", "requiredActions": [ + "deadline:GetJobTemplate", "identitystore:ListGroupMembershipsForMember" ] }, - "smithy.api#documentation": "

        Creates a job. A job is a set of instructions that AWS Deadline Cloud uses to schedule\n and run work on available workers. For more information, see Deadline Cloud\n jobs.

        ", + "smithy.api#documentation": "

        Creates a job. A job is a set of instructions that Deadline Cloud uses to schedule\n and run work on available workers. For more information, see Deadline Cloud\n jobs.

        ", "smithy.api#endpoint": { "hostPrefix": "management." }, @@ -2661,6 +2701,12 @@ "smithy.api#documentation": "

        The maximum number of retries for each task.

        " } }, + "maxWorkerCount": { + "target": "com.amazonaws.deadline#MaxWorkerCount", + "traits": { + "smithy.api#documentation": "

        The maximum number of worker hosts that can concurrently process a job. When the\n maxWorkerCount is reached, no more workers will be assigned to process the\n job, even if the fleets assigned to the job's queue has available workers.

        \n

        You can't set the maxWorkerCount to 0. If you set it to -1, there is no\n maximum number of workers.

        \n

        If you don't specify the maxWorkerCount, Deadline Cloud won't throttle\n the number of workers used to process the job.

        " + } + }, "sourceJobId": { "target": "com.amazonaws.deadline#JobId", "traits": { @@ -2825,6 +2871,121 @@ "smithy.api#output": {} } }, + "com.amazonaws.deadline#CreateLimit": { + "type": "operation", + "input": { + "target": "com.amazonaws.deadline#CreateLimitRequest" + }, + "output": { + "target": "com.amazonaws.deadline#CreateLimitResponse" + }, + "errors": [ + { + "target": "com.amazonaws.deadline#AccessDeniedException" + }, + { + "target": "com.amazonaws.deadline#InternalServerErrorException" + }, + { + "target": "com.amazonaws.deadline#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.deadline#ServiceQuotaExceededException" + }, + { + "target": "com.amazonaws.deadline#ThrottlingException" + }, + { + "target": "com.amazonaws.deadline#ValidationException" + } + ], + "traits": { + "aws.iam#iamAction": { + "name": "CreateLimit", + "documentation": "Grants permission to create a limit for a farm", + "requiredActions": [ + "identitystore:ListGroupMembershipsForMember" + ] + }, + "smithy.api#documentation": "

        Creates a limit that manages the distribution of shared resources, such as floating\n licenses. A limit can throttle work assignments, help manage workloads, and track current\n usage. Before you use a limit, you must associate the limit with one or more queues.

        \n

        You must add the amountRequirementName to a step in a job template to\n declare the limit requirement.

        ", + "smithy.api#endpoint": { + "hostPrefix": "management." + }, + "smithy.api#http": { + "method": "POST", + "uri": "/2023-10-12/farms/{farmId}/limits", + "code": 200 + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.deadline#CreateLimitRequest": { + "type": "structure", + "members": { + "clientToken": { + "target": "com.amazonaws.deadline#ClientToken", + "traits": { + "smithy.api#documentation": "

        The unique token which the server uses to recognize retries of the same request.

        ", + "smithy.api#httpHeader": "X-Amz-Client-Token", + "smithy.api#idempotencyToken": {} + } + }, + "displayName": { + "target": "com.amazonaws.deadline#ResourceName", + "traits": { + "smithy.api#documentation": "

        The display name of the limit.

        \n \n

        This field can store any content. Escape or encode this content before displaying it on a webpage or any other system that might interpret the content of this field.

        \n
        ", + "smithy.api#required": {} + } + }, + "amountRequirementName": { + "target": "com.amazonaws.deadline#AmountRequirementName", + "traits": { + "smithy.api#documentation": "

        The value that you specify as the name in the amounts field of\n the hostRequirements in a step of a job template to declare the limit\n requirement.

        ", + "smithy.api#required": {} + } + }, + "maxCount": { + "target": "com.amazonaws.deadline#MaxCount", + "traits": { + "smithy.api#documentation": "

        The maximum number of resources constrained by this limit. When all of the resources are\n in use, steps that require the limit won't be scheduled until the resource is\n available.

        \n

        The maxCount must not be 0. If the value is -1, there is no restriction on\n the number of resources that can be acquired for this limit.

        ", + "smithy.api#required": {} + } + }, + "farmId": { + "target": "com.amazonaws.deadline#FarmId", + "traits": { + "smithy.api#documentation": "

        The farm ID of the farm that contains the limit.

        ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "description": { + "target": "com.amazonaws.deadline#Description", + "traits": { + "smithy.api#default": "", + "smithy.api#documentation": "

        A description of the limit. A description helps you identify the purpose of the\n limit.

        \n \n

        This field can store any content. Escape or encode this content before displaying it on a webpage or any other system that might interpret the content of this field.

        \n
        " + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.deadline#CreateLimitResponse": { + "type": "structure", + "members": { + "limitId": { + "target": "com.amazonaws.deadline#LimitId", + "traits": { + "smithy.api#documentation": "

        A unique identifier for the limit. Use this identifier in other operations, such as\n CreateQueueLimitAssociation and DeleteLimit.

        ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.deadline#CreateMonitor": { "type": "operation", "input": { @@ -3204,6 +3365,96 @@ "smithy.api#output": {} } }, + "com.amazonaws.deadline#CreateQueueLimitAssociation": { + "type": "operation", + "input": { + "target": "com.amazonaws.deadline#CreateQueueLimitAssociationRequest" + }, + "output": { + "target": "com.amazonaws.deadline#CreateQueueLimitAssociationResponse" + }, + "errors": [ + { + "target": "com.amazonaws.deadline#AccessDeniedException" + }, + { + "target": "com.amazonaws.deadline#InternalServerErrorException" + }, + { + "target": "com.amazonaws.deadline#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.deadline#ThrottlingException" + }, + { + "target": "com.amazonaws.deadline#ValidationException" + } + ], + "traits": { + "aws.iam#iamAction": { + "name": "CreateQueueLimitAssociation", + "documentation": "Grants permission to create a queue-limit association", + "requiredActions": [ + "identitystore:ListGroupMembershipsForMember" + ] + }, + "smithy.api#documentation": "

        Associates a limit with a particular queue. After the limit is associated, all workers\n for jobs that specify the limit associated with the queue are subject to the limit. You\n can't associate two limits with the same amountRequirementName to the same\n queue.

        ", + "smithy.api#endpoint": { + "hostPrefix": "management." + }, + "smithy.api#http": { + "method": "PUT", + "uri": "/2023-10-12/farms/{farmId}/queue-limit-associations", + "code": 200 + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.deadline#CreateQueueLimitAssociationRequest": { + "type": "structure", + "members": { + "farmId": { + "target": "com.amazonaws.deadline#FarmId", + "traits": { + "smithy.api#documentation": "

        The unique identifier of the farm that contains the queue and limit to associate.

        ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "queueId": { + "target": "com.amazonaws.deadline#QueueId", + "traits": { + "smithy.api#documentation": "

        The unique identifier of the queue to associate with the limit.

        ", + "smithy.api#required": {} + } + }, + "limitId": { + "target": "com.amazonaws.deadline#LimitId", + "traits": { + "smithy.api#documentation": "

        The unique identifier of the limit to associate with the queue.

        ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {}, + "smithy.api#references": [ + { + "resource": "com.amazonaws.deadline#FarmResource" + }, + { + "resource": "com.amazonaws.deadline#QueueResource" + } + ] + } + }, + "com.amazonaws.deadline#CreateQueueLimitAssociationResponse": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.deadline#CreateQueueRequest": { "type": "structure", "members": { @@ -3692,12 +3943,21 @@ { "target": "com.amazonaws.deadline#CreateQueueFleetAssociation" }, + { + "target": "com.amazonaws.deadline#CreateQueueLimitAssociation" + }, { "target": "com.amazonaws.deadline#DeleteQueueFleetAssociation" }, + { + "target": "com.amazonaws.deadline#DeleteQueueLimitAssociation" + }, { "target": "com.amazonaws.deadline#GetQueueFleetAssociation" }, + { + "target": "com.amazonaws.deadline#GetQueueLimitAssociation" + }, { "target": "com.amazonaws.deadline#GetSessionsStatisticsAggregation" }, @@ -3707,6 +3967,9 @@ { "target": "com.amazonaws.deadline#ListQueueFleetAssociations" }, + { + "target": "com.amazonaws.deadline#ListQueueLimitAssociations" + }, { "target": "com.amazonaws.deadline#ListTagsForResource" }, @@ -3733,6 +3996,9 @@ }, { "target": "com.amazonaws.deadline#UpdateQueueFleetAssociation" + }, + { + "target": "com.amazonaws.deadline#UpdateQueueLimitAssociation" } ], "resources": [ @@ -4844,13 +5110,13 @@ "smithy.api#output": {} } }, - "com.amazonaws.deadline#DeleteMeteredProduct": { + "com.amazonaws.deadline#DeleteLimit": { "type": "operation", "input": { - "target": "com.amazonaws.deadline#DeleteMeteredProductRequest" + "target": "com.amazonaws.deadline#DeleteLimitRequest" }, "output": { - "target": "com.amazonaws.deadline#DeleteMeteredProductResponse" + "target": "com.amazonaws.deadline#DeleteLimitResponse" }, "errors": [ { @@ -4859,9 +5125,6 @@ { "target": "com.amazonaws.deadline#InternalServerErrorException" }, - { - "target": "com.amazonaws.deadline#ResourceNotFoundException" - }, { "target": "com.amazonaws.deadline#ThrottlingException" }, @@ -4870,38 +5133,40 @@ } ], "traits": { - "aws.iam#conditionKeys": [], "aws.iam#iamAction": { - "name": "DeleteMeteredProduct", - "documentation": "Grants permission to delete a metered product" + "name": "DeleteLimit", + "documentation": "Grants permission to delete a limit", + "requiredActions": [ + "identitystore:ListGroupMembershipsForMember" + ] }, - "smithy.api#documentation": "

        Deletes a metered product.

        ", + "smithy.api#documentation": "

        Removes a limit from the specified farm. Before you delete a limit you must use the\n DeleteQueueLimitAssociation operation to remove the association with any\n queues.

        ", "smithy.api#endpoint": { "hostPrefix": "management." }, "smithy.api#http": { "method": "DELETE", - "uri": "/2023-10-12/license-endpoints/{licenseEndpointId}/metered-products/{productId}", + "uri": "/2023-10-12/farms/{farmId}/limits/{limitId}", "code": 200 }, "smithy.api#idempotent": {} } }, - "com.amazonaws.deadline#DeleteMeteredProductRequest": { + "com.amazonaws.deadline#DeleteLimitRequest": { "type": "structure", "members": { - "licenseEndpointId": { - "target": "com.amazonaws.deadline#LicenseEndpointId", + "farmId": { + "target": "com.amazonaws.deadline#FarmId", "traits": { - "smithy.api#documentation": "

        The ID of the license endpoint from which to remove the metered product.

        ", + "smithy.api#documentation": "

        The unique identifier of the farm that contains the limit to delete.

        ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } }, - "productId": { - "target": "com.amazonaws.deadline#MeteredProductId", + "limitId": { + "target": "com.amazonaws.deadline#LimitId", "traits": { - "smithy.api#documentation": "

        The product ID to remove from the license endpoint.

        ", + "smithy.api#documentation": "

        The unique identifier of the limit to delete.

        ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -4911,20 +5176,20 @@ "smithy.api#input": {} } }, - "com.amazonaws.deadline#DeleteMeteredProductResponse": { + "com.amazonaws.deadline#DeleteLimitResponse": { "type": "structure", "members": {}, "traits": { "smithy.api#output": {} } }, - "com.amazonaws.deadline#DeleteMonitor": { + "com.amazonaws.deadline#DeleteMeteredProduct": { "type": "operation", "input": { - "target": "com.amazonaws.deadline#DeleteMonitorRequest" + "target": "com.amazonaws.deadline#DeleteMeteredProductRequest" }, "output": { - "target": "com.amazonaws.deadline#DeleteMonitorResponse" + "target": "com.amazonaws.deadline#DeleteMeteredProductResponse" }, "errors": [ { @@ -4946,25 +5211,99 @@ "traits": { "aws.iam#conditionKeys": [], "aws.iam#iamAction": { - "name": "DeleteMonitor", - "documentation": "Grants permission to delete a monitor", - "requiredActions": [ - "sso:DeleteApplication" - ] + "name": "DeleteMeteredProduct", + "documentation": "Grants permission to delete a metered product" }, - "smithy.api#documentation": "

        Removes a Deadline Cloud monitor. After you delete a monitor, you can create a new one and\n attach farms to the monitor.

        ", + "smithy.api#documentation": "

        Deletes a metered product.

        ", "smithy.api#endpoint": { "hostPrefix": "management." }, "smithy.api#http": { "method": "DELETE", - "uri": "/2023-10-12/monitors/{monitorId}", + "uri": "/2023-10-12/license-endpoints/{licenseEndpointId}/metered-products/{productId}", "code": 200 }, "smithy.api#idempotent": {} } }, - "com.amazonaws.deadline#DeleteMonitorRequest": { + "com.amazonaws.deadline#DeleteMeteredProductRequest": { + "type": "structure", + "members": { + "licenseEndpointId": { + "target": "com.amazonaws.deadline#LicenseEndpointId", + "traits": { + "smithy.api#documentation": "

        The ID of the license endpoint from which to remove the metered product.

        ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "productId": { + "target": "com.amazonaws.deadline#MeteredProductId", + "traits": { + "smithy.api#documentation": "

        The product ID to remove from the license endpoint.

        ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.deadline#DeleteMeteredProductResponse": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.deadline#DeleteMonitor": { + "type": "operation", + "input": { + "target": "com.amazonaws.deadline#DeleteMonitorRequest" + }, + "output": { + "target": "com.amazonaws.deadline#DeleteMonitorResponse" + }, + "errors": [ + { + "target": "com.amazonaws.deadline#AccessDeniedException" + }, + { + "target": "com.amazonaws.deadline#InternalServerErrorException" + }, + { + "target": "com.amazonaws.deadline#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.deadline#ThrottlingException" + }, + { + "target": "com.amazonaws.deadline#ValidationException" + } + ], + "traits": { + "aws.iam#conditionKeys": [], + "aws.iam#iamAction": { + "name": "DeleteMonitor", + "documentation": "Grants permission to delete a monitor", + "requiredActions": [ + "sso:DeleteApplication" + ] + }, + "smithy.api#documentation": "

        Removes a Deadline Cloud monitor. After you delete a monitor, you can create a new one and\n attach farms to the monitor.

        ", + "smithy.api#endpoint": { + "hostPrefix": "management." + }, + "smithy.api#http": { + "method": "DELETE", + "uri": "/2023-10-12/monitors/{monitorId}", + "code": 200 + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.deadline#DeleteMonitorRequest": { "type": "structure", "members": { "monitorId": { @@ -5211,6 +5550,101 @@ "smithy.api#output": {} } }, + "com.amazonaws.deadline#DeleteQueueLimitAssociation": { + "type": "operation", + "input": { + "target": "com.amazonaws.deadline#DeleteQueueLimitAssociationRequest" + }, + "output": { + "target": "com.amazonaws.deadline#DeleteQueueLimitAssociationResponse" + }, + "errors": [ + { + "target": "com.amazonaws.deadline#AccessDeniedException" + }, + { + "target": "com.amazonaws.deadline#ConflictException" + }, + { + "target": "com.amazonaws.deadline#InternalServerErrorException" + }, + { + "target": "com.amazonaws.deadline#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.deadline#ThrottlingException" + }, + { + "target": "com.amazonaws.deadline#ValidationException" + } + ], + "traits": { + "aws.iam#iamAction": { + "name": "DeleteQueueLimitAssociation", + "documentation": "Grants permission to delete a queue-limit association", + "requiredActions": [ + "identitystore:ListGroupMembershipsForMember" + ] + }, + "smithy.api#documentation": "

        Removes the association between a queue and a limit. You must use the\n UpdateQueueLimitAssociation operation to set the status to\n STOP_LIMIT_USAGE_AND_COMPLETE_TASKS or\n STOP_LIMIT_USAGE_AND_CANCEL_TASKS. The status does not change immediately.\n Use the GetQueueLimitAssociation operation to see if the status changed to\n STOPPED before deleting the association.

        ", + "smithy.api#endpoint": { + "hostPrefix": "management." + }, + "smithy.api#http": { + "method": "DELETE", + "uri": "/2023-10-12/farms/{farmId}/queue-limit-associations/{queueId}/{limitId}", + "code": 200 + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.deadline#DeleteQueueLimitAssociationRequest": { + "type": "structure", + "members": { + "farmId": { + "target": "com.amazonaws.deadline#FarmId", + "traits": { + "smithy.api#documentation": "

        The unique identifier of the farm that contains the queue and limit to\n disassociate.

        ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "queueId": { + "target": "com.amazonaws.deadline#QueueId", + "traits": { + "smithy.api#documentation": "

        The unique identifier of the queue to disassociate.

        ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "limitId": { + "target": "com.amazonaws.deadline#LimitId", + "traits": { + "smithy.api#documentation": "

        The unique identifier of the limit to disassociate.

        ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {}, + "smithy.api#references": [ + { + "resource": "com.amazonaws.deadline#FarmResource" + }, + { + "resource": "com.amazonaws.deadline#QueueResource" + } + ] + } + }, + "com.amazonaws.deadline#DeleteQueueLimitAssociationResponse": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.deadline#DeleteQueueRequest": { "type": "structure", "members": { @@ -5838,10 +6272,7 @@ } }, "com.amazonaws.deadline#DnsName": { - "type": "string", - "traits": { - "smithy.api#pattern": "^vpce-[\\w]+-[\\w]+.vpce-svc-[\\w]+.*.vpce.amazonaws.com$" - } + "type": "string" }, "com.amazonaws.deadline#Document": { "type": "document", @@ -6212,24 +6643,39 @@ { "target": "com.amazonaws.deadline#AssociateMemberToFarm" }, + { + "target": "com.amazonaws.deadline#CreateLimit" + }, { "target": "com.amazonaws.deadline#CreateStorageProfile" }, + { + "target": "com.amazonaws.deadline#DeleteLimit" + }, { "target": "com.amazonaws.deadline#DeleteStorageProfile" }, { "target": "com.amazonaws.deadline#DisassociateMemberFromFarm" }, + { + "target": "com.amazonaws.deadline#GetLimit" + }, { "target": "com.amazonaws.deadline#GetStorageProfile" }, { "target": "com.amazonaws.deadline#ListFarmMembers" }, + { + "target": "com.amazonaws.deadline#ListLimits" + }, { "target": "com.amazonaws.deadline#ListStorageProfiles" }, + { + "target": "com.amazonaws.deadline#UpdateLimit" + }, { "target": "com.amazonaws.deadline#UpdateStorageProfile" } @@ -7511,18 +7957,18 @@ "smithy.api#required": {} } }, - "jobId": { - "target": "com.amazonaws.deadline#JobId", + "queueId": { + "target": "com.amazonaws.deadline#QueueId", "traits": { - "smithy.api#documentation": "

        The job ID.

        ", + "smithy.api#documentation": "

        The queue ID associated with the job.

        ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } }, - "queueId": { - "target": "com.amazonaws.deadline#QueueId", + "jobId": { + "target": "com.amazonaws.deadline#JobId", "traits": { - "smithy.api#documentation": "

        The queue ID associated with the job.

        ", + "smithy.api#documentation": "

        The job ID.

        ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -7662,6 +8108,12 @@ "smithy.api#documentation": "

        The description of the job.

        \n \n

        This field can store any content. Escape or encode this content before displaying it on a webpage or any other system that might interpret the content of this field.

        \n
        " } }, + "maxWorkerCount": { + "target": "com.amazonaws.deadline#MaxWorkerCount", + "traits": { + "smithy.api#documentation": "

        The maximum number of worker hosts that can concurrently process a job. When the\n maxWorkerCount is reached, no more workers will be assigned to process the\n job, even if the fleets assigned to the job's queue has available workers.

        \n

        If you don't set the maxWorkerCount when you create a job, this value is\n not returned in the response.

        " + } + }, "sourceJobId": { "target": "com.amazonaws.deadline#JobId", "traits": { @@ -7845,6 +8297,157 @@ "smithy.api#output": {} } }, + "com.amazonaws.deadline#GetLimit": { + "type": "operation", + "input": { + "target": "com.amazonaws.deadline#GetLimitRequest" + }, + "output": { + "target": "com.amazonaws.deadline#GetLimitResponse" + }, + "errors": [ + { + "target": "com.amazonaws.deadline#AccessDeniedException" + }, + { + "target": "com.amazonaws.deadline#InternalServerErrorException" + }, + { + "target": "com.amazonaws.deadline#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.deadline#ThrottlingException" + }, + { + "target": "com.amazonaws.deadline#ValidationException" + } + ], + "traits": { + "aws.iam#iamAction": { + "name": "GetLimit", + "documentation": "Grants permission to get a limit", + "requiredActions": [ + "identitystore:ListGroupMembershipsForMember" + ] + }, + "smithy.api#documentation": "

        Gets information about a specific limit.

        ", + "smithy.api#endpoint": { + "hostPrefix": "management." + }, + "smithy.api#http": { + "method": "GET", + "uri": "/2023-10-12/farms/{farmId}/limits/{limitId}", + "code": 200 + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.deadline#GetLimitRequest": { + "type": "structure", + "members": { + "farmId": { + "target": "com.amazonaws.deadline#FarmId", + "traits": { + "smithy.api#documentation": "

        The unique identifier of the farm that contains the limit.

        ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "limitId": { + "target": "com.amazonaws.deadline#LimitId", + "traits": { + "smithy.api#documentation": "

        The unique identifier of the limit to return.

        ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.deadline#GetLimitResponse": { + "type": "structure", + "members": { + "displayName": { + "target": "com.amazonaws.deadline#ResourceName", + "traits": { + "smithy.api#documentation": "

        The display name of the limit.

        \n \n

        This field can store any content. Escape or encode this content before displaying it on a webpage or any other system that might interpret the content of this field.

        \n
        ", + "smithy.api#required": {} + } + }, + "amountRequirementName": { + "target": "com.amazonaws.deadline#AmountRequirementName", + "traits": { + "smithy.api#documentation": "

        The value that you specify as the name in the amounts field of\n the hostRequirements in a step of a job template to declare the limit\n requirement.

        ", + "smithy.api#required": {} + } + }, + "maxCount": { + "target": "com.amazonaws.deadline#MaxCount", + "traits": { + "smithy.api#documentation": "

        The maximum number of resources constrained by this limit. When all of the resources are\n in use, steps that require the limit won't be scheduled until the resource is\n available.

        \n

        The maxValue must not be 0. If the value is -1, there is no restriction on\n the number of resources that can be acquired for this limit.

        ", + "smithy.api#required": {} + } + }, + "createdAt": { + "target": "com.amazonaws.deadline#CreatedAt", + "traits": { + "smithy.api#documentation": "

        The Unix timestamp of the date and time that the limit was created.

        ", + "smithy.api#required": {} + } + }, + "createdBy": { + "target": "com.amazonaws.deadline#CreatedBy", + "traits": { + "smithy.api#documentation": "

        The user identifier of the person that created the limit.

        ", + "smithy.api#required": {} + } + }, + "updatedAt": { + "target": "com.amazonaws.deadline#UpdatedAt", + "traits": { + "smithy.api#documentation": "

        The Unix timestamp of the date and time that the limit was last updated.

        " + } + }, + "updatedBy": { + "target": "com.amazonaws.deadline#UpdatedBy", + "traits": { + "smithy.api#documentation": "

        The user identifier of the person that last updated the limit.

        " + } + }, + "farmId": { + "target": "com.amazonaws.deadline#FarmId", + "traits": { + "smithy.api#documentation": "

        The unique identifier of the farm that contains the limit.

        ", + "smithy.api#required": {} + } + }, + "limitId": { + "target": "com.amazonaws.deadline#LimitId", + "traits": { + "smithy.api#documentation": "

        The unique identifier of the limit.

        ", + "smithy.api#required": {} + } + }, + "currentCount": { + "target": "com.amazonaws.deadline#MinZeroMaxInteger", + "traits": { + "smithy.api#documentation": "

        The number of resources from the limit that are being used by jobs. The result is\n delayed and may not be the count at the time that you called the operation.

        ", + "smithy.api#required": {} + } + }, + "description": { + "target": "com.amazonaws.deadline#Description", + "traits": { + "smithy.api#documentation": "

        The description of the limit that helps identify what the limit is used for.

        \n \n

        This field can store any content. Escape or encode this content before displaying it on a webpage or any other system that might interpret the content of this field.

        \n
        " + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.deadline#GetMonitor": { "type": "operation", "input": { @@ -8251,13 +8854,172 @@ }, "smithy.api#http": { "method": "GET", - "uri": "/2023-10-12/farms/{farmId}/queue-fleet-associations/{queueId}/{fleetId}", + "uri": "/2023-10-12/farms/{farmId}/queue-fleet-associations/{queueId}/{fleetId}", + "code": 200 + }, + "smithy.api#readonly": {}, + "smithy.waiters#waitable": { + "QueueFleetAssociationStopped": { + "documentation": "Wait until a QueueFleetAssociation is stopped. Use this after setting the status to STOP_SCHEDULING_AND_COMPLETE_TASKS or STOP_SCHEDULING_AND_CANCEL_TASKS to wait for a QueueFleetAssociation to reach STOPPED", + "minDelay": 10, + "maxDelay": 600, + "acceptors": [ + { + "state": "success", + "matcher": { + "output": { + "path": "status", + "expected": "STOPPED", + "comparator": "stringEquals" + } + } + } + ] + } + } + } + }, + "com.amazonaws.deadline#GetQueueFleetAssociationRequest": { + "type": "structure", + "members": { + "farmId": { + "target": "com.amazonaws.deadline#FarmId", + "traits": { + "smithy.api#documentation": "

        The farm ID of the farm that contains the queue-fleet association.

        ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "queueId": { + "target": "com.amazonaws.deadline#QueueId", + "traits": { + "smithy.api#documentation": "

        The queue ID for the queue-fleet association.

        ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "fleetId": { + "target": "com.amazonaws.deadline#FleetId", + "traits": { + "smithy.api#documentation": "

        The fleet ID for the queue-fleet association.

        ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {}, + "smithy.api#references": [ + { + "resource": "com.amazonaws.deadline#QueueResource" + }, + { + "resource": "com.amazonaws.deadline#FleetResource" + } + ] + } + }, + "com.amazonaws.deadline#GetQueueFleetAssociationResponse": { + "type": "structure", + "members": { + "queueId": { + "target": "com.amazonaws.deadline#QueueId", + "traits": { + "smithy.api#documentation": "

        The queue ID for the queue-fleet association.

        ", + "smithy.api#required": {} + } + }, + "fleetId": { + "target": "com.amazonaws.deadline#FleetId", + "traits": { + "smithy.api#documentation": "

        The fleet ID for the queue-fleet association.

        ", + "smithy.api#required": {} + } + }, + "status": { + "target": "com.amazonaws.deadline#QueueFleetAssociationStatus", + "traits": { + "smithy.api#documentation": "

        The status of the queue-fleet association.

        ", + "smithy.api#required": {} + } + }, + "createdAt": { + "target": "com.amazonaws.deadline#CreatedAt", + "traits": { + "smithy.api#documentation": "

        The date and time the resource was created.

        ", + "smithy.api#required": {} + } + }, + "createdBy": { + "target": "com.amazonaws.deadline#CreatedBy", + "traits": { + "smithy.api#documentation": "

        The user or system that created this resource.

        ", + "smithy.api#required": {} + } + }, + "updatedAt": { + "target": "com.amazonaws.deadline#UpdatedAt", + "traits": { + "smithy.api#documentation": "

        The date and time the resource was updated.

        " + } + }, + "updatedBy": { + "target": "com.amazonaws.deadline#UpdatedBy", + "traits": { + "smithy.api#documentation": "

        The user or system that updated this resource.

        " + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.deadline#GetQueueLimitAssociation": { + "type": "operation", + "input": { + "target": "com.amazonaws.deadline#GetQueueLimitAssociationRequest" + }, + "output": { + "target": "com.amazonaws.deadline#GetQueueLimitAssociationResponse" + }, + "errors": [ + { + "target": "com.amazonaws.deadline#AccessDeniedException" + }, + { + "target": "com.amazonaws.deadline#InternalServerErrorException" + }, + { + "target": "com.amazonaws.deadline#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.deadline#ThrottlingException" + }, + { + "target": "com.amazonaws.deadline#ValidationException" + } + ], + "traits": { + "aws.iam#iamAction": { + "name": "GetQueueLimitAssociation", + "documentation": "Grants permission to get a queue-limit association", + "requiredActions": [ + "identitystore:ListGroupMembershipsForMember" + ] + }, + "smithy.api#documentation": "

        Gets information about a specific association between a queue and a limit.

        ", + "smithy.api#endpoint": { + "hostPrefix": "management." + }, + "smithy.api#http": { + "method": "GET", + "uri": "/2023-10-12/farms/{farmId}/queue-limit-associations/{queueId}/{limitId}", "code": 200 }, "smithy.api#readonly": {}, "smithy.waiters#waitable": { - "QueueFleetAssociationStopped": { - "documentation": "Wait until a QueueFleetAssociation is stopped. Use this after setting the status to STOP_SCHEDULING_AND_COMPLETE_TASKS or STOP_SCHEDULING_AND_CANCEL_TASKS to wait for a QueueFleetAssociation to reach STOPPED", + "QueueLimitAssociationStopped": { + "documentation": "Wait until a QueueLimitAssociation is stopped. Use this after setting the status to STOP_LIMIT_USAGE_AND_COMPLETE_TASKS or STOP_LIMIT_USAGE_AND_CANCEL_TASKS to wait for a QueueLimitAssociation to reach STOPPED", "minDelay": 10, "maxDelay": 600, "acceptors": [ @@ -8276,13 +9038,13 @@ } } }, - "com.amazonaws.deadline#GetQueueFleetAssociationRequest": { + "com.amazonaws.deadline#GetQueueLimitAssociationRequest": { "type": "structure", "members": { "farmId": { "target": "com.amazonaws.deadline#FarmId", "traits": { - "smithy.api#documentation": "

        The farm ID of the farm that contains the queue-fleet association.

        ", + "smithy.api#documentation": "

        The unique identifier of the farm that contains the associated queue and limit.

        ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -8290,15 +9052,15 @@ "queueId": { "target": "com.amazonaws.deadline#QueueId", "traits": { - "smithy.api#documentation": "

        The queue ID for the queue-fleet association.

        ", + "smithy.api#documentation": "

        The unique identifier of the queue associated with the limit.

        ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } }, - "fleetId": { - "target": "com.amazonaws.deadline#FleetId", + "limitId": { + "target": "com.amazonaws.deadline#LimitId", "traits": { - "smithy.api#documentation": "

        The fleet ID for the queue-fleet association.

        ", + "smithy.api#documentation": "

        The unique identifier of the limit associated with the queue.

        ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -8308,62 +9070,62 @@ "smithy.api#input": {}, "smithy.api#references": [ { - "resource": "com.amazonaws.deadline#QueueResource" + "resource": "com.amazonaws.deadline#FarmResource" }, { - "resource": "com.amazonaws.deadline#FleetResource" + "resource": "com.amazonaws.deadline#QueueResource" } ] } }, - "com.amazonaws.deadline#GetQueueFleetAssociationResponse": { + "com.amazonaws.deadline#GetQueueLimitAssociationResponse": { "type": "structure", "members": { - "queueId": { - "target": "com.amazonaws.deadline#QueueId", + "createdAt": { + "target": "com.amazonaws.deadline#CreatedAt", "traits": { - "smithy.api#documentation": "

        The queue ID for the queue-fleet association.

        ", + "smithy.api#documentation": "

        The Unix timestamp of the date and time that the association was created.

        ", "smithy.api#required": {} } }, - "fleetId": { - "target": "com.amazonaws.deadline#FleetId", + "createdBy": { + "target": "com.amazonaws.deadline#CreatedBy", "traits": { - "smithy.api#documentation": "

        The fleet ID for the queue-fleet association.

        ", + "smithy.api#documentation": "

        The user identifier of the person that created the association.

        ", "smithy.api#required": {} } }, - "status": { - "target": "com.amazonaws.deadline#QueueFleetAssociationStatus", + "updatedAt": { + "target": "com.amazonaws.deadline#UpdatedAt", "traits": { - "smithy.api#documentation": "

        The status of the queue-fleet association.

        ", - "smithy.api#required": {} + "smithy.api#documentation": "

        The Unix timestamp of the date and time that the association was last updated.

        " } }, - "createdAt": { - "target": "com.amazonaws.deadline#CreatedAt", + "updatedBy": { + "target": "com.amazonaws.deadline#UpdatedBy", "traits": { - "smithy.api#documentation": "

        The date and time the resource was created.

        ", - "smithy.api#required": {} + "smithy.api#documentation": "

        The user identifier of the person that last updated the association.

        " } }, - "createdBy": { - "target": "com.amazonaws.deadline#CreatedBy", + "queueId": { + "target": "com.amazonaws.deadline#QueueId", "traits": { - "smithy.api#documentation": "

        The user or system that created this resource.

        ", + "smithy.api#documentation": "

        The unique identifier of the queue associated with the limit.

        ", "smithy.api#required": {} } }, - "updatedAt": { - "target": "com.amazonaws.deadline#UpdatedAt", + "limitId": { + "target": "com.amazonaws.deadline#LimitId", "traits": { - "smithy.api#documentation": "

        The date and time the resource was updated.

        " + "smithy.api#documentation": "

        The unique identifier of the limit associated with the queue.

        ", + "smithy.api#required": {} } }, - "updatedBy": { - "target": "com.amazonaws.deadline#UpdatedBy", + "status": { + "target": "com.amazonaws.deadline#QueueLimitAssociationStatus", "traits": { - "smithy.api#documentation": "

        The user or system that updated this resource.

        " + "smithy.api#documentation": "

        The current status of the limit.

        ", + "smithy.api#required": {} } } }, @@ -8702,6 +9464,12 @@ "smithy.api#documentation": "

        The session action definition.

        ", "smithy.api#required": {} } + }, + "acquiredLimits": { + "target": "com.amazonaws.deadline#AcquiredLimits", + "traits": { + "smithy.api#documentation": "

        The limits and their amounts acquired during a session action. If no limits were\n acquired during the session, this field isn't returned.

        " + } } }, "traits": { @@ -9658,13 +10426,6 @@ "com.amazonaws.deadline#GetWorkerResponse": { "type": "structure", "members": { - "workerId": { - "target": "com.amazonaws.deadline#WorkerId", - "traits": { - "smithy.api#documentation": "

        The worker ID.

        ", - "smithy.api#required": {} - } - }, "farmId": { "target": "com.amazonaws.deadline#FarmId", "traits": { @@ -9679,6 +10440,13 @@ "smithy.api#required": {} } }, + "workerId": { + "target": "com.amazonaws.deadline#WorkerId", + "traits": { + "smithy.api#documentation": "

        The worker ID.

        ", + "smithy.api#required": {} + } + }, "hostProperties": { "target": "com.amazonaws.deadline#HostPropertiesResponse", "traits": { @@ -10683,6 +11451,12 @@ "smithy.api#documentation": "

        The job parameters.

        " } }, + "maxWorkerCount": { + "target": "com.amazonaws.deadline#MaxWorkerCount", + "traits": { + "smithy.api#documentation": "

        The maximum number of worker hosts that can concurrently process a job. When the\n maxWorkerCount is reached, no more workers will be assigned to process the\n job, even if the fleets assigned to the job's queue has available workers.

        \n

        You can't set the maxWorkerCount to 0. If you set it to -1, there is no\n maximum number of workers.

        \n

        If you don't specify the maxWorkerCount, the default is -1.

        " + } + }, "sourceJobId": { "target": "com.amazonaws.deadline#JobId", "traits": { @@ -10806,6 +11580,12 @@ "smithy.api#documentation": "

        The maximum number of retries for a job.

        " } }, + "maxWorkerCount": { + "target": "com.amazonaws.deadline#MaxWorkerCount", + "traits": { + "smithy.api#documentation": "

        The maximum number of worker hosts that can concurrently process a job. When the\n maxWorkerCount is reached, no more workers will be assigned to process the\n job, even if the fleets assigned to the job's queue has available workers.

        \n

        You can't set the maxWorkerCount to 0. If you set it to -1, there is no\n maximum number of workers.

        \n

        If you don't specify the maxWorkerCount, the default is -1.

        " + } + }, "sourceJobId": { "target": "com.amazonaws.deadline#JobId", "traits": { @@ -11004,6 +11784,97 @@ "com.amazonaws.deadline#LicenseProduct": { "type": "string" }, + "com.amazonaws.deadline#LimitId": { + "type": "string", + "traits": { + "smithy.api#pattern": "^limit-[0-9a-f]{32}$" + } + }, + "com.amazonaws.deadline#LimitSummaries": { + "type": "list", + "member": { + "target": "com.amazonaws.deadline#LimitSummary" + } + }, + "com.amazonaws.deadline#LimitSummary": { + "type": "structure", + "members": { + "displayName": { + "target": "com.amazonaws.deadline#ResourceName", + "traits": { + "smithy.api#documentation": "

        The name of the limit used in lists to identify the limit.

        \n \n

        This field can store any content. Escape or encode this content before displaying it on a webpage or any other system that might interpret the content of this field.

        \n
        ", + "smithy.api#required": {} + } + }, + "amountRequirementName": { + "target": "com.amazonaws.deadline#AmountRequirementName", + "traits": { + "smithy.api#documentation": "

        The value that you specify as the name in the amounts field of\n the hostRequirements in a step of a job template to declare the limit\n requirement.

        ", + "smithy.api#required": {} + } + }, + "maxCount": { + "target": "com.amazonaws.deadline#MaxCount", + "traits": { + "smithy.api#documentation": "

        The maximum number of resources constrained by this limit. When all of the resources are\n in use, steps that require the limit won't be scheduled until the resource is\n available.

        \n

        The maxValue must not be 0. If the value is -1, there is no restriction on\n the number of resources that can be acquired for this limit.

        ", + "smithy.api#required": {} + } + }, + "createdAt": { + "target": "com.amazonaws.deadline#CreatedAt", + "traits": { + "smithy.api#documentation": "

        The Unix timestamp of the date and time that the limit was created.

        ", + "smithy.api#required": {} + } + }, + "createdBy": { + "target": "com.amazonaws.deadline#CreatedBy", + "traits": { + "smithy.api#documentation": "

        The user identifier of the person that created the limit.

        ", + "smithy.api#required": {} + } + }, + "updatedAt": { + "target": "com.amazonaws.deadline#UpdatedAt", + "traits": { + "smithy.api#documentation": "

        The Unix timestamp of the date and time that the limit was last updated.

        " + } + }, + "updatedBy": { + "target": "com.amazonaws.deadline#UpdatedBy", + "traits": { + "smithy.api#documentation": "

        The user identifier of the person that last updated the limit.

        " + } + }, + "farmId": { + "target": "com.amazonaws.deadline#FarmId", + "traits": { + "smithy.api#documentation": "

        The unique identifier of the farm that contains the limit.

        ", + "smithy.api#required": {} + } + }, + "limitId": { + "target": "com.amazonaws.deadline#LimitId", + "traits": { + "smithy.api#documentation": "

        The unique identifier of the limit.

        ", + "smithy.api#required": {} + } + }, + "currentCount": { + "target": "com.amazonaws.deadline#MinZeroMaxInteger", + "traits": { + "smithy.api#documentation": "

        The number of resources from the limit that are being used by jobs. The result is\n delayed and may not be the count at the time that you called the operation.

        ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

        Provides information about a specific limit.

        ", + "smithy.api#tags": [ + "concurrent_limits" + ] + } + }, "com.amazonaws.deadline#ListAttributeCapabilityValue": { "type": "list", "member": { @@ -11942,37 +12813,130 @@ "inputToken": "nextToken", "outputToken": "nextToken", "pageSize": "maxResults", - "items": "jobs" + "items": "jobs" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.deadline#ListJobsRequest": { + "type": "structure", + "members": { + "farmId": { + "target": "com.amazonaws.deadline#FarmId", + "traits": { + "smithy.api#documentation": "

        The farm ID for the jobs.

        ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "principalId": { + "target": "com.amazonaws.deadline#IdentityCenterPrincipalId", + "traits": { + "smithy.api#documentation": "

        The principal ID of the members on the jobs.

        ", + "smithy.api#httpQuery": "principalId" + } + }, + "queueId": { + "target": "com.amazonaws.deadline#QueueId", + "traits": { + "smithy.api#documentation": "

        The queue ID for the job.

        ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "nextToken": { + "target": "com.amazonaws.deadline#String", + "traits": { + "smithy.api#documentation": "

        The token for the next set of results, or null to start from the beginning.

        ", + "smithy.api#httpQuery": "nextToken" + } + }, + "maxResults": { + "target": "com.amazonaws.deadline#MaxResults", + "traits": { + "smithy.api#default": 100, + "smithy.api#documentation": "

        The maximum number of results to return. Use this parameter with NextToken to get results as a set of sequential pages.

        ", + "smithy.api#httpQuery": "maxResults" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.deadline#ListJobsResponse": { + "type": "structure", + "members": { + "jobs": { + "target": "com.amazonaws.deadline#JobSummaries", + "traits": { + "smithy.api#documentation": "

        The jobs on the list.

        ", + "smithy.api#required": {} + } + }, + "nextToken": { + "target": "com.amazonaws.deadline#String", + "traits": { + "smithy.api#documentation": "

        If Deadline Cloud returns nextToken, then there are more results available. The value of nextToken is a unique pagination token for each page. To retrieve the next page, call the operation again using the returned token. Keep all other arguments unchanged. If no results remain, then nextToken is set to null. Each pagination token expires after 24 hours. If you provide a token that isn't valid, then you receive an HTTP 400 ValidationException error.

        " + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.deadline#ListLicenseEndpoints": { + "type": "operation", + "input": { + "target": "com.amazonaws.deadline#ListLicenseEndpointsRequest" + }, + "output": { + "target": "com.amazonaws.deadline#ListLicenseEndpointsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.deadline#AccessDeniedException" + }, + { + "target": "com.amazonaws.deadline#InternalServerErrorException" + }, + { + "target": "com.amazonaws.deadline#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.deadline#ThrottlingException" + }, + { + "target": "com.amazonaws.deadline#ValidationException" + } + ], + "traits": { + "aws.iam#conditionKeys": [], + "aws.iam#iamAction": { + "name": "ListLicenseEndpoints", + "documentation": "Grants permission to list all license endpoints" + }, + "smithy.api#documentation": "

        Lists license endpoints.

        ", + "smithy.api#endpoint": { + "hostPrefix": "management." + }, + "smithy.api#http": { + "method": "GET", + "uri": "/2023-10-12/license-endpoints", + "code": 200 + }, + "smithy.api#paginated": { + "inputToken": "nextToken", + "outputToken": "nextToken", + "pageSize": "maxResults", + "items": "licenseEndpoints" }, "smithy.api#readonly": {} } }, - "com.amazonaws.deadline#ListJobsRequest": { + "com.amazonaws.deadline#ListLicenseEndpointsRequest": { "type": "structure", "members": { - "farmId": { - "target": "com.amazonaws.deadline#FarmId", - "traits": { - "smithy.api#documentation": "

        The farm ID for the jobs.

        ", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} - } - }, - "principalId": { - "target": "com.amazonaws.deadline#IdentityCenterPrincipalId", - "traits": { - "smithy.api#documentation": "

        The principal ID of the members on the jobs.

        ", - "smithy.api#httpQuery": "principalId" - } - }, - "queueId": { - "target": "com.amazonaws.deadline#QueueId", - "traits": { - "smithy.api#documentation": "

        The queue ID for the job.

        ", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} - } - }, "nextToken": { "target": "com.amazonaws.deadline#String", "traits": { @@ -11993,13 +12957,13 @@ "smithy.api#input": {} } }, - "com.amazonaws.deadline#ListJobsResponse": { + "com.amazonaws.deadline#ListLicenseEndpointsResponse": { "type": "structure", "members": { - "jobs": { - "target": "com.amazonaws.deadline#JobSummaries", + "licenseEndpoints": { + "target": "com.amazonaws.deadline#LicenseEndpointSummaries", "traits": { - "smithy.api#documentation": "

        The jobs on the list.

        ", + "smithy.api#documentation": "

        The license endpoints.

        ", "smithy.api#required": {} } }, @@ -12014,13 +12978,13 @@ "smithy.api#output": {} } }, - "com.amazonaws.deadline#ListLicenseEndpoints": { + "com.amazonaws.deadline#ListLimits": { "type": "operation", "input": { - "target": "com.amazonaws.deadline#ListLicenseEndpointsRequest" + "target": "com.amazonaws.deadline#ListLimitsRequest" }, "output": { - "target": "com.amazonaws.deadline#ListLicenseEndpointsResponse" + "target": "com.amazonaws.deadline#ListLimitsResponse" }, "errors": [ { @@ -12040,32 +13004,42 @@ } ], "traits": { - "aws.iam#conditionKeys": [], "aws.iam#iamAction": { - "name": "ListLicenseEndpoints", - "documentation": "Grants permission to list all license endpoints" + "name": "ListLimits", + "documentation": "Grants permission to list all limits in a farm", + "requiredActions": [ + "identitystore:ListGroupMembershipsForMember" + ] }, - "smithy.api#documentation": "

        Lists license endpoints.

        ", + "smithy.api#documentation": "

        Gets a list of limits defined in the specified farm.

        ", "smithy.api#endpoint": { "hostPrefix": "management." }, "smithy.api#http": { "method": "GET", - "uri": "/2023-10-12/license-endpoints", + "uri": "/2023-10-12/farms/{farmId}/limits", "code": 200 }, "smithy.api#paginated": { "inputToken": "nextToken", "outputToken": "nextToken", "pageSize": "maxResults", - "items": "licenseEndpoints" + "items": "limits" }, "smithy.api#readonly": {} } }, - "com.amazonaws.deadline#ListLicenseEndpointsRequest": { + "com.amazonaws.deadline#ListLimitsRequest": { "type": "structure", "members": { + "farmId": { + "target": "com.amazonaws.deadline#FarmId", + "traits": { + "smithy.api#documentation": "

        The unique identifier of the farm that contains the limits.

        ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, "nextToken": { "target": "com.amazonaws.deadline#String", "traits": { @@ -12077,7 +13051,7 @@ "target": "com.amazonaws.deadline#MaxResults", "traits": { "smithy.api#default": 100, - "smithy.api#documentation": "

        The maximum number of results to return. Use this parameter with NextToken to get results as a set of sequential pages.

        ", + "smithy.api#documentation": "

        The maximum number of limits to return in each page of results.

        ", "smithy.api#httpQuery": "maxResults" } } @@ -12086,13 +13060,13 @@ "smithy.api#input": {} } }, - "com.amazonaws.deadline#ListLicenseEndpointsResponse": { + "com.amazonaws.deadline#ListLimitsResponse": { "type": "structure", "members": { - "licenseEndpoints": { - "target": "com.amazonaws.deadline#LicenseEndpointSummaries", + "limits": { + "target": "com.amazonaws.deadline#LimitSummaries", "traits": { - "smithy.api#documentation": "

        The license endpoints.

        ", + "smithy.api#documentation": "

        A list of limits that the farm contains.

        ", "smithy.api#required": {} } }, @@ -12534,6 +13508,128 @@ "smithy.api#output": {} } }, + "com.amazonaws.deadline#ListQueueLimitAssociations": { + "type": "operation", + "input": { + "target": "com.amazonaws.deadline#ListQueueLimitAssociationsRequest" + }, + "output": { + "target": "com.amazonaws.deadline#ListQueueLimitAssociationsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.deadline#AccessDeniedException" + }, + { + "target": "com.amazonaws.deadline#InternalServerErrorException" + }, + { + "target": "com.amazonaws.deadline#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.deadline#ThrottlingException" + } + ], + "traits": { + "aws.iam#iamAction": { + "name": "ListQueueLimitAssociations", + "documentation": "Grants permission to list all queue-limit associations", + "requiredActions": [ + "identitystore:ListGroupMembershipsForMember" + ] + }, + "smithy.api#documentation": "

        Gets a list of the associations between queues and limits defined in a farm.

        ", + "smithy.api#endpoint": { + "hostPrefix": "management." + }, + "smithy.api#http": { + "method": "GET", + "uri": "/2023-10-12/farms/{farmId}/queue-limit-associations", + "code": 200 + }, + "smithy.api#paginated": { + "inputToken": "nextToken", + "outputToken": "nextToken", + "pageSize": "maxResults", + "items": "queueLimitAssociations" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.deadline#ListQueueLimitAssociationsRequest": { + "type": "structure", + "members": { + "farmId": { + "target": "com.amazonaws.deadline#FarmId", + "traits": { + "smithy.api#documentation": "

        The unique identifier of the farm that contains the limits and associations.

        ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "queueId": { + "target": "com.amazonaws.deadline#QueueId", + "traits": { + "smithy.api#documentation": "

        Specifies that the operation should return only the queue limit associations for the\n specified queue. If you specify both the queueId and the limitId,\n only the specified limit is returned if it exists.

        ", + "smithy.api#httpQuery": "queueId" + } + }, + "limitId": { + "target": "com.amazonaws.deadline#LimitId", + "traits": { + "smithy.api#documentation": "

        Specifies that the operation should return only the queue limit associations for the\n specified limit. If you specify both the queueId and the limitId,\n only the specified limit is returned if it exists.

        ", + "smithy.api#httpQuery": "limitId" + } + }, + "nextToken": { + "target": "com.amazonaws.deadline#String", + "traits": { + "smithy.api#documentation": "

        The token for the next set of results, or null to start from the beginning.

        ", + "smithy.api#httpQuery": "nextToken" + } + }, + "maxResults": { + "target": "com.amazonaws.deadline#MaxResults", + "traits": { + "smithy.api#default": 100, + "smithy.api#documentation": "

        The maximum number of associations to return in each page of results.

        ", + "smithy.api#httpQuery": "maxResults" + } + } + }, + "traits": { + "smithy.api#input": {}, + "smithy.api#references": [ + { + "resource": "com.amazonaws.deadline#FarmResource" + }, + { + "resource": "com.amazonaws.deadline#QueueResource" + } + ] + } + }, + "com.amazonaws.deadline#ListQueueLimitAssociationsResponse": { + "type": "structure", + "members": { + "queueLimitAssociations": { + "target": "com.amazonaws.deadline#QueueLimitAssociationSummaries", + "traits": { + "smithy.api#documentation": "

        A list of associations between limits and queues in the farm specified in the\n request.

        ", + "smithy.api#required": {} + } + }, + "nextToken": { + "target": "com.amazonaws.deadline#String", + "traits": { + "smithy.api#documentation": "

        If Deadline Cloud returns nextToken, then there are more results available. The value of nextToken is a unique pagination token for each page. To retrieve the next page, call the operation again using the returned token. Keep all other arguments unchanged. If no results remain, then nextToken is set to null. Each pagination token expires after 24 hours. If you provide a token that isn't valid, then you receive an HTTP 400 ValidationException error.

        " + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.deadline#ListQueueMembers": { "type": "operation", "input": { @@ -14208,7 +15304,7 @@ "inputManifestHash": { "target": "com.amazonaws.deadline#String", "traits": { - "smithy.api#documentation": "

        The has value of the file.

        ", + "smithy.api#documentation": "

        The hash value of the file.

        ", "smithy.api#length": { "min": 1, "max": 256 @@ -14234,6 +15330,15 @@ "smithy.api#uniqueItems": {} } }, + "com.amazonaws.deadline#MaxCount": { + "type": "integer", + "traits": { + "smithy.api#range": { + "min": -1, + "max": 2147483647 + } + } + }, "com.amazonaws.deadline#MaxFailedTasksCount": { "type": "integer", "traits": { @@ -14262,6 +15367,15 @@ } } }, + "com.amazonaws.deadline#MaxWorkerCount": { + "type": "integer", + "traits": { + "smithy.api#range": { + "min": -1, + "max": 2147483647 + } + } + }, "com.amazonaws.deadline#MembershipLevel": { "type": "enum", "members": { @@ -14399,6 +15513,15 @@ "target": "com.amazonaws.deadline#MeteredProductSummary" } }, + "com.amazonaws.deadline#MinOneMaxInteger": { + "type": "integer", + "traits": { + "smithy.api#range": { + "min": 1, + "max": 2147483647 + } + } + }, "com.amazonaws.deadline#MinOneMaxTenThousand": { "type": "integer", "traits": { @@ -15052,6 +16175,99 @@ } } }, + "com.amazonaws.deadline#QueueLimitAssociationStatus": { + "type": "enum", + "members": { + "ACTIVE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ACTIVE" + } + }, + "STOP_LIMIT_USAGE_AND_COMPLETE_TASKS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "STOP_LIMIT_USAGE_AND_COMPLETE_TASKS" + } + }, + "STOP_LIMIT_USAGE_AND_CANCEL_TASKS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "STOP_LIMIT_USAGE_AND_CANCEL_TASKS" + } + }, + "STOPPED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "STOPPED" + } + } + } + }, + "com.amazonaws.deadline#QueueLimitAssociationSummaries": { + "type": "list", + "member": { + "target": "com.amazonaws.deadline#QueueLimitAssociationSummary" + } + }, + "com.amazonaws.deadline#QueueLimitAssociationSummary": { + "type": "structure", + "members": { + "createdAt": { + "target": "com.amazonaws.deadline#CreatedAt", + "traits": { + "smithy.api#documentation": "

        The Unix timestamp of the date and time that the association was created.

        ", + "smithy.api#required": {} + } + }, + "createdBy": { + "target": "com.amazonaws.deadline#CreatedBy", + "traits": { + "smithy.api#documentation": "

        The user identifier of the person that created the association.

        ", + "smithy.api#required": {} + } + }, + "updatedAt": { + "target": "com.amazonaws.deadline#UpdatedAt", + "traits": { + "smithy.api#documentation": "

        The Unix timestamp of the date and time that the association was last updated.

        " + } + }, + "updatedBy": { + "target": "com.amazonaws.deadline#UpdatedBy", + "traits": { + "smithy.api#documentation": "

        The user identifier of the person that updated the association.

        " + } + }, + "queueId": { + "target": "com.amazonaws.deadline#QueueId", + "traits": { + "smithy.api#documentation": "

        The unique identifier of the queue in the association.

        ", + "smithy.api#required": {} + } + }, + "limitId": { + "target": "com.amazonaws.deadline#LimitId", + "traits": { + "smithy.api#documentation": "

        The unique identifier of the limit in the association.

        ", + "smithy.api#required": {} + } + }, + "status": { + "target": "com.amazonaws.deadline#QueueLimitAssociationStatus", + "traits": { + "smithy.api#documentation": "

        The status of task scheduling in the queue-limit association.

        \n
          \n
        • \n

          \n ACTIVE - Association is active.

          \n
        • \n
        • \n

          \n STOP_LIMIT_USAGE_AND_COMPLETE_TASKS - Association has stopped\n scheduling new tasks and is completing current tasks.

          \n
        • \n
        • \n

          \n STOP_LIMIT_USAGE_AND_CANCEL_TASKS - Association has stopped\n scheduling new tasks and is canceling current tasks.

          \n
        • \n
        • \n

          \n STOPPED - Association has been stopped.

          \n
        • \n
        ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

        Provides information about the association between a queue and a limit.

        ", + "smithy.api#tags": [ + "concurrent_limits" + ] + } + }, "com.amazonaws.deadline#QueueMember": { "type": "structure", "members": { @@ -16240,7 +17456,7 @@ "acceleratorCapabilities": { "target": "com.amazonaws.deadline#AcceleratorCapabilities", "traits": { - "smithy.api#documentation": "

        The GPU accelerator capabilities required for the Amazon EC2 instances. If you\n include the acceleratorCapabilities property in the ServiceManagedEc2InstanceCapabilities object, all of the Amazon EC2\n instances will have at least one accelerator.

        " + "smithy.api#documentation": "

        Describes the GPU accelerator capabilities required for worker host instances in this\n fleet.

        " } }, "allowedInstanceTypes": { @@ -18979,6 +20195,42 @@ "smithy.api#idempotencyToken": {} } }, + "targetTaskRunStatus": { + "target": "com.amazonaws.deadline#JobTargetTaskRunStatus", + "traits": { + "smithy.api#documentation": "

        The task status to update the job's tasks to.

        " + } + }, + "priority": { + "target": "com.amazonaws.deadline#JobPriority", + "traits": { + "smithy.api#documentation": "

        The job priority to update.

        " + } + }, + "maxFailedTasksCount": { + "target": "com.amazonaws.deadline#MaxFailedTasksCount", + "traits": { + "smithy.api#documentation": "

        The number of task failures before the job stops running and is marked as FAILED.

        " + } + }, + "maxRetriesPerTask": { + "target": "com.amazonaws.deadline#MaxRetriesPerTask", + "traits": { + "smithy.api#documentation": "

        The maximum number of retries for a job.

        " + } + }, + "lifecycleStatus": { + "target": "com.amazonaws.deadline#UpdateJobLifecycleStatus", + "traits": { + "smithy.api#documentation": "

        The status of a job in its lifecycle. When you change the status of the job to\n ARCHIVED, the job can't be scheduled or archived.

        \n \n

        An archived jobs and its steps and tasks are deleted after 120 days. The job can't be\n recovered.

        \n
        " + } + }, + "maxWorkerCount": { + "target": "com.amazonaws.deadline#MaxWorkerCount", + "traits": { + "smithy.api#documentation": "

        The maximum number of worker hosts that can concurrently process a job. When the\n maxWorkerCount is reached, no more workers will be assigned to process the\n job, even if the fleets assigned to the job's queue has available workers.

        \n

        You can't set the maxWorkerCount to 0. If you set it to -1, there is no\n maximum number of workers.

        \n

        If you don't specify the maxWorkerCount, the default is -1.

        \n

        The maximum number of workers that can process tasks in the job.

        " + } + }, "farmId": { "target": "com.amazonaws.deadline#FarmId", "traits": { @@ -19002,35 +20254,99 @@ "smithy.api#httpLabel": {}, "smithy.api#required": {} } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.deadline#UpdateJobResponse": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.deadline#UpdateLimit": { + "type": "operation", + "input": { + "target": "com.amazonaws.deadline#UpdateLimitRequest" + }, + "output": { + "target": "com.amazonaws.deadline#UpdateLimitResponse" + }, + "errors": [ + { + "target": "com.amazonaws.deadline#AccessDeniedException" }, - "targetTaskRunStatus": { - "target": "com.amazonaws.deadline#JobTargetTaskRunStatus", + { + "target": "com.amazonaws.deadline#InternalServerErrorException" + }, + { + "target": "com.amazonaws.deadline#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.deadline#ThrottlingException" + }, + { + "target": "com.amazonaws.deadline#ValidationException" + } + ], + "traits": { + "aws.iam#iamAction": { + "name": "UpdateLimit", + "documentation": "Grants permission to update a limit for a farm", + "requiredActions": [ + "identitystore:ListGroupMembershipsForMember" + ] + }, + "smithy.api#documentation": "

        Updates the properties of the specified limit.

        ", + "smithy.api#endpoint": { + "hostPrefix": "management." + }, + "smithy.api#http": { + "method": "PATCH", + "uri": "/2023-10-12/farms/{farmId}/limits/{limitId}", + "code": 200 + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.deadline#UpdateLimitRequest": { + "type": "structure", + "members": { + "farmId": { + "target": "com.amazonaws.deadline#FarmId", "traits": { - "smithy.api#documentation": "

        The task status to update the job's tasks to.

        " + "smithy.api#documentation": "

        The unique identifier of the farm that contains the limit.

        ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} } }, - "priority": { - "target": "com.amazonaws.deadline#JobPriority", + "limitId": { + "target": "com.amazonaws.deadline#LimitId", "traits": { - "smithy.api#documentation": "

        The job priority to update.

        " + "smithy.api#documentation": "

        The unique identifier of the limit to update.

        ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} } }, - "maxFailedTasksCount": { - "target": "com.amazonaws.deadline#MaxFailedTasksCount", + "displayName": { + "target": "com.amazonaws.deadline#ResourceName", "traits": { - "smithy.api#documentation": "

        The number of task failures before the job stops running and is marked as FAILED.

        " + "smithy.api#documentation": "

        The new display name of the limit.

        \n \n

        This field can store any content. Escape or encode this content before displaying it on a webpage or any other system that might interpret the content of this field.

        \n
        " } }, - "maxRetriesPerTask": { - "target": "com.amazonaws.deadline#MaxRetriesPerTask", + "description": { + "target": "com.amazonaws.deadline#Description", "traits": { - "smithy.api#documentation": "

        The maximum number of retries for a job.

        " + "smithy.api#documentation": "

        The new description of the limit.

        \n \n

        This field can store any content. Escape or encode this content before displaying it on a webpage or any other system that might interpret the content of this field.

        \n
        " } }, - "lifecycleStatus": { - "target": "com.amazonaws.deadline#UpdateJobLifecycleStatus", + "maxCount": { + "target": "com.amazonaws.deadline#MaxCount", "traits": { - "smithy.api#documentation": "

        The status of a job in its lifecycle. When you change the status of the job to\n ARCHIVED, the job can't be scheduled or archived.

        \n \n

        An archived jobs and its steps and tasks are deleted after 120 days. The job can't be\n recovered.

        \n
        " + "smithy.api#documentation": "

        The maximum number of resources constrained by this limit. When all of the resources are\n in use, steps that require the limit won't be scheduled until the resource is\n available.

        \n

        If more than the new maximum number is currently in use, running jobs finish but no new\n jobs are started until the number of resources in use is below the new maximum\n number.

        \n

        The maxCount must not be 0. If the value is -1, there is no restriction on\n the number of resources that can be acquired for this limit.

        " } } }, @@ -19038,7 +20354,7 @@ "smithy.api#input": {} } }, - "com.amazonaws.deadline#UpdateJobResponse": { + "com.amazonaws.deadline#UpdateLimitResponse": { "type": "structure", "members": {}, "traits": { @@ -19411,6 +20727,128 @@ } } }, + "com.amazonaws.deadline#UpdateQueueLimitAssociation": { + "type": "operation", + "input": { + "target": "com.amazonaws.deadline#UpdateQueueLimitAssociationRequest" + }, + "output": { + "target": "com.amazonaws.deadline#UpdateQueueLimitAssociationResponse" + }, + "errors": [ + { + "target": "com.amazonaws.deadline#AccessDeniedException" + }, + { + "target": "com.amazonaws.deadline#InternalServerErrorException" + }, + { + "target": "com.amazonaws.deadline#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.deadline#ThrottlingException" + }, + { + "target": "com.amazonaws.deadline#ValidationException" + } + ], + "traits": { + "aws.iam#iamAction": { + "name": "UpdateQueueLimitAssociation", + "documentation": "Grants permission to update a queue-limit association", + "requiredActions": [ + "identitystore:ListGroupMembershipsForMember" + ] + }, + "smithy.api#documentation": "

        Updates the status of the queue. If you set the status to one of the\n STOP_LIMIT_USAGE* values, there will be a delay before the status\n transitions to the STOPPED state.

        ", + "smithy.api#endpoint": { + "hostPrefix": "management." + }, + "smithy.api#http": { + "method": "PATCH", + "uri": "/2023-10-12/farms/{farmId}/queue-limit-associations/{queueId}/{limitId}", + "code": 200 + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.deadline#UpdateQueueLimitAssociationRequest": { + "type": "structure", + "members": { + "farmId": { + "target": "com.amazonaws.deadline#FarmId", + "traits": { + "smithy.api#documentation": "

        The unique identifier of the farm that contains the associated queues and limits.

        ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "queueId": { + "target": "com.amazonaws.deadline#QueueId", + "traits": { + "smithy.api#documentation": "

        The unique identifier of the queue associated to the limit.

        ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "limitId": { + "target": "com.amazonaws.deadline#LimitId", + "traits": { + "smithy.api#documentation": "

        The unique identifier of the limit associated to the queue.

        ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "status": { + "target": "com.amazonaws.deadline#UpdateQueueLimitAssociationStatus", + "traits": { + "smithy.api#documentation": "

        Sets the status of the limit. You can mark the limit active, or you can stop usage of\n the limit and either complete existing tasks or cancel any existing tasks immediately.\n

        ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {}, + "smithy.api#references": [ + { + "resource": "com.amazonaws.deadline#FarmResource" + }, + { + "resource": "com.amazonaws.deadline#QueueResource" + } + ] + } + }, + "com.amazonaws.deadline#UpdateQueueLimitAssociationResponse": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.deadline#UpdateQueueLimitAssociationStatus": { + "type": "enum", + "members": { + "ACTIVE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ACTIVE" + } + }, + "STOP_LIMIT_USAGE_AND_COMPLETE_TASKS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "STOP_LIMIT_USAGE_AND_COMPLETE_TASKS" + } + }, + "STOP_LIMIT_USAGE_AND_CANCEL_TASKS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "STOP_LIMIT_USAGE_AND_CANCEL_TASKS" + } + } + } + }, "com.amazonaws.deadline#UpdateQueueRequest": { "type": "structure", "members": { @@ -19568,6 +21006,13 @@ "smithy.api#idempotencyToken": {} } }, + "targetLifecycleStatus": { + "target": "com.amazonaws.deadline#SessionLifecycleTargetStatus", + "traits": { + "smithy.api#documentation": "

        The life cycle status to update in the session.

        ", + "smithy.api#required": {} + } + }, "farmId": { "target": "com.amazonaws.deadline#FarmId", "traits": { @@ -19599,13 +21044,6 @@ "smithy.api#httpLabel": {}, "smithy.api#required": {} } - }, - "targetLifecycleStatus": { - "target": "com.amazonaws.deadline#SessionLifecycleTargetStatus", - "traits": { - "smithy.api#documentation": "

        The life cycle status to update in the session.

        ", - "smithy.api#required": {} - } } }, "traits": { @@ -19670,6 +21108,13 @@ "com.amazonaws.deadline#UpdateStepRequest": { "type": "structure", "members": { + "targetTaskRunStatus": { + "target": "com.amazonaws.deadline#StepTargetTaskRunStatus", + "traits": { + "smithy.api#documentation": "

        The task status to update the step's tasks to.

        ", + "smithy.api#required": {} + } + }, "clientToken": { "target": "com.amazonaws.deadline#ClientToken", "traits": { @@ -19709,13 +21154,6 @@ "smithy.api#httpLabel": {}, "smithy.api#required": {} } - }, - "targetTaskRunStatus": { - "target": "com.amazonaws.deadline#StepTargetTaskRunStatus", - "traits": { - "smithy.api#documentation": "

        The task status to update the step's tasks to.

        ", - "smithy.api#required": {} - } } }, "traits": { @@ -19896,6 +21334,13 @@ "smithy.api#idempotencyToken": {} } }, + "targetRunStatus": { + "target": "com.amazonaws.deadline#TaskTargetRunStatus", + "traits": { + "smithy.api#documentation": "

        The run status with which to start the task.

        ", + "smithy.api#required": {} + } + }, "farmId": { "target": "com.amazonaws.deadline#FarmId", "traits": { @@ -19935,13 +21380,6 @@ "smithy.api#httpLabel": {}, "smithy.api#required": {} } - }, - "targetRunStatus": { - "target": "com.amazonaws.deadline#TaskTargetRunStatus", - "traits": { - "smithy.api#documentation": "

        The run status with which to start the task.

        ", - "smithy.api#required": {} - } } }, "traits": { diff --git a/tools/code-generation/smithy/api-descriptions/ec2.json b/tools/code-generation/smithy/api-descriptions/ec2.json index ec7e1cf1411..cab6b869a8f 100644 --- a/tools/code-generation/smithy/api-descriptions/ec2.json +++ b/tools/code-generation/smithy/api-descriptions/ec2.json @@ -16399,7 +16399,8 @@ "ClientToken": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

        Unique, case-sensitive identifier that you provide to ensure the idempotency of the\n request. For more information, see Ensuring\n idempotency.

        " + "smithy.api#documentation": "

        Unique, case-sensitive identifier that you provide to ensure the idempotency of the\n request. If you do not specify a client token, a randomly generated token is used for\n the request to ensure idempotency.

        \n

        For more information, see Ensuring\n idempotency.

        ", + "smithy.api#idempotencyToken": {} } }, "SpotOptions": { @@ -50672,7 +50673,7 @@ "target": "com.amazonaws.ec2#String", "traits": { "aws.protocols#ec2QueryName": "EventSubType", - "smithy.api#documentation": "

        The event.

        \n

        \n error events:

        \n
          \n
        • \n

          \n iamFleetRoleInvalid - The EC2 Fleet or Spot Fleet does not have the required\n permissions either to launch or terminate an instance.

          \n
        • \n
        • \n

          \n allLaunchSpecsTemporarilyBlacklisted - None of the configurations\n are valid, and several attempts to launch instances have failed. For more\n information, see the description of the event.

          \n
        • \n
        • \n

          \n spotInstanceCountLimitExceeded - You've reached the limit on the\n number of Spot Instances that you can launch.

          \n
        • \n
        • \n

          \n spotFleetRequestConfigurationInvalid - The configuration is not\n valid. For more information, see the description of the event.

          \n
        • \n
        \n

        \n fleetRequestChange events:

        \n
          \n
        • \n

          \n active - The EC2 Fleet or Spot Fleet request has been validated and Amazon EC2 is\n attempting to maintain the target number of running instances.

          \n
        • \n
        • \n

          \n deleted (EC2 Fleet) / cancelled (Spot Fleet) - The EC2 Fleet is deleted or the Spot Fleet request is canceled and has no running\n instances. The EC2 Fleet or Spot Fleet will be deleted two days after its instances are\n terminated.

          \n
        • \n
        • \n

          \n deleted_running (EC2 Fleet) / cancelled_running (Spot Fleet) - The EC2 Fleet is deleted or the Spot Fleet request is canceled and does\n not launch additional instances. Its existing instances continue to run until\n they are interrupted or terminated. The request remains in this state until all\n instances are interrupted or terminated.

          \n
        • \n
        • \n

          \n deleted_terminating (EC2 Fleet) / cancelled_terminating (Spot Fleet) - The EC2 Fleet is deleted or the Spot Fleet request is canceled and\n its instances are terminating. The request remains in this state until all\n instances are terminated.

          \n
        • \n
        • \n

          \n expired - The EC2 Fleet or Spot Fleet request has expired. If the request was\n created with TerminateInstancesWithExpiration set, a subsequent\n terminated event indicates that the instances are\n terminated.

          \n
        • \n
        • \n

          \n modify_in_progress - The EC2 Fleet or Spot Fleet request is being modified.\n The request remains in this state until the modification is fully\n processed.

          \n
        • \n
        • \n

          \n modify_succeeded - The EC2 Fleet or Spot Fleet request was modified.

          \n
        • \n
        • \n

          \n submitted - The EC2 Fleet or Spot Fleet request is being evaluated and Amazon EC2\n is preparing to launch the target number of instances.

          \n
        • \n
        • \n

          \n progress - The EC2 Fleet or Spot Fleet request is in the process of being fulfilled.

          \n
        • \n
        \n

        \n instanceChange events:

        \n
          \n
        • \n

          \n launched - A new instance was launched.

          \n
        • \n
        • \n

          \n terminated - An instance was terminated by the user.

          \n
        • \n
        • \n

          \n termination_notified - An instance termination notification was\n sent when a Spot Instance was terminated by Amazon EC2 during scale-down, when the target\n capacity of the fleet was modified down, for example, from a target capacity of\n 4 to a target capacity of 3.

          \n
        • \n
        \n

        \n Information events:

        \n
          \n
        • \n

          \n fleetProgressHalted - The price in every launch specification is\n not valid because it is below the Spot price (all the launch specifications have\n produced launchSpecUnusable events). A launch specification might\n become valid if the Spot price changes.

          \n
        • \n
        • \n

          \n launchSpecTemporarilyBlacklisted - The configuration is not valid\n and several attempts to launch instances have failed. For more information, see\n the description of the event.

          \n
        • \n
        • \n

          \n launchSpecUnusable - The price in a launch specification is not\n valid because it is below the Spot price.

          \n
        • \n
        • \n

          \n registerWithLoadBalancersFailed - An attempt to register\n instances with load balancers failed. For more information, see the description\n of the event.

          \n
        • \n
        ", + "smithy.api#documentation": "

        The event.

        \n

        \n error events:

        \n
          \n
        • \n

          \n iamFleetRoleInvalid - The EC2 Fleet or Spot Fleet does not have the required\n permissions either to launch or terminate an instance.

          \n
        • \n
        • \n

          \n allLaunchSpecsTemporarilyBlacklisted - None of the configurations\n are valid, and several attempts to launch instances have failed. For more\n information, see the description of the event.

          \n
        • \n
        • \n

          \n spotInstanceCountLimitExceeded - You've reached the limit on the\n number of Spot Instances that you can launch.

          \n
        • \n
        • \n

          \n spotFleetRequestConfigurationInvalid - The configuration is not\n valid. For more information, see the description of the event.

          \n
        • \n
        \n

        \n fleetRequestChange events:

        \n
          \n
        • \n

          \n active - The EC2 Fleet or Spot Fleet request has been validated and Amazon EC2 is\n attempting to maintain the target number of running instances.

          \n
        • \n
        • \n

          \n deleted (EC2 Fleet) / cancelled (Spot Fleet) - The EC2 Fleet is deleted or the Spot Fleet request is canceled and has no running\n instances. The EC2 Fleet or Spot Fleet will be deleted two days after its instances are\n terminated.

          \n
        • \n
        • \n

          \n deleted_running (EC2 Fleet) / cancelled_running (Spot Fleet) - The EC2 Fleet is deleted or the Spot Fleet request is canceled and does\n not launch additional instances. Its existing instances continue to run until\n they are interrupted or terminated. The request remains in this state until all\n instances are interrupted or terminated.

          \n
        • \n
        • \n

          \n deleted_terminating (EC2 Fleet) / cancelled_terminating (Spot Fleet) - The EC2 Fleet is deleted or the Spot Fleet request is canceled and\n its instances are terminating. The request remains in this state until all\n instances are terminated.

          \n
        • \n
        • \n

          \n expired - The EC2 Fleet or Spot Fleet request has expired. If the request was\n created with TerminateInstancesWithExpiration set, a subsequent\n terminated event indicates that the instances are\n terminated.

          \n
        • \n
        • \n

          \n modify_in_progress - The EC2 Fleet or Spot Fleet request is being modified.\n The request remains in this state until the modification is fully\n processed.

          \n
        • \n
        • \n

          \n modify_succeeded - The EC2 Fleet or Spot Fleet request was modified.

          \n
        • \n
        • \n

          \n submitted - The EC2 Fleet or Spot Fleet request is being evaluated and Amazon EC2\n is preparing to launch the target number of instances.

          \n
        • \n
        • \n

          \n progress - The EC2 Fleet or Spot Fleet request is in the process of being fulfilled.

          \n
        • \n
        \n

        \n instanceChange events:

        \n
          \n
        • \n

          \n launched - A new instance was launched.

          \n
        • \n
        • \n

          \n terminated - An instance was terminated by the user.

          \n
        • \n
        • \n

          \n termination_notified - An instance termination notification was\n sent when a Spot Instance was terminated by Amazon EC2 during scale-down, when the target\n capacity of the fleet was modified down, for example, from a target capacity of\n 4 to a target capacity of 3.

          \n
        • \n
        \n

        \n Information events:

        \n
          \n
        • \n

          \n fleetProgressHalted - The price in every launch specification is\n not valid because it is below the Spot price (all the launch specifications have\n produced launchSpecUnusable events). A launch specification might\n become valid if the Spot price changes.

          \n
        • \n
        • \n

          \n launchSpecTemporarilyBlacklisted - The configuration is not valid\n and several attempts to launch instances have failed. For more information, see\n the description of the event.

          \n
        • \n
        • \n

          \n launchSpecUnusable - The price specified in a launch specification \n is not valid because it is below the Spot price for the requested Spot pools.

          \n

          Note: Even if a fleet with the maintain request type is in the process \n of being canceled, it may still publish a launchSpecUnusable event. This \n does not mean that the canceled fleet is attempting to launch a new instance.

          \n
        • \n
        • \n

          \n registerWithLoadBalancersFailed - An attempt to register\n instances with load balancers failed. For more information, see the description\n of the event.

          \n
        • \n
        ", "smithy.api#xmlName": "eventSubType" } }, @@ -102548,7 +102549,7 @@ "MaxPrice": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

        The maximum hourly price that you're willing to pay for a Spot Instance. We do not\n recommend using this parameter because it can lead to increased interruptions. If you do\n not specify this parameter, you will pay the current Spot price.

        \n \n

        If you specify a maximum price, your Spot Instances will be interrupted more\n frequently than if you do not specify this parameter.

        \n
        " + "smithy.api#documentation": "

        The maximum hourly price that you're willing to pay for a Spot Instance. We do not\n recommend using this parameter because it can lead to increased interruptions. If you do\n not specify this parameter, you will pay the current Spot price.

        \n \n

        If you specify a maximum price, your Spot Instances will be interrupted more\n frequently than if you do not specify this parameter.

        \n

        If you specify a maximum price, it must be more than USD $0.001. Specifying a value\n below USD $0.001 will result in an InvalidParameterValue error\n message.

        \n
        " } }, "SpotInstanceType": { diff --git a/tools/code-generation/smithy/api-descriptions/eks.json b/tools/code-generation/smithy/api-descriptions/eks.json index edca7c041cf..5d9bfb9b36b 100644 --- a/tools/code-generation/smithy/api-descriptions/eks.json +++ b/tools/code-generation/smithy/api-descriptions/eks.json @@ -318,7 +318,7 @@ "name": "eks" }, "aws.protocols#restJson1": {}, - "smithy.api#documentation": "

        Amazon Elastic Kubernetes Service (Amazon EKS) is a managed service that makes it easy\n for you to run Kubernetes on Amazon Web Services without needing to setup or maintain your own\n Kubernetes control plane. Kubernetes is an open-source system for automating the deployment,\n scaling, and management of containerized applications.

        \n

        Amazon EKS runs up-to-date versions of the open-source Kubernetes software, so you\n can use all the existing plugins and tooling from the Kubernetes community. Applications\n running on Amazon EKS are fully compatible with applications running on any\n standard Kubernetes environment, whether running in on-premises data centers or public\n clouds. This means that you can easily migrate any standard Kubernetes application to Amazon EKS without any code modification required.

        ", + "smithy.api#documentation": "

        Amazon Elastic Kubernetes Service (Amazon EKS) is a managed service that makes it easy\n for you to run Kubernetes on Amazon Web Services without needing to setup or maintain your own\n Kubernetes control plane. Kubernetes is an open-source system for automating the deployment,\n scaling, and management of containerized applications.

        \n

        Amazon EKS runs up-to-date versions of the open-source Kubernetes software, so you\n can use all the existing plugins and tooling from the Kubernetes community. Applications\n running on Amazon EKS are fully compatible with applications running on any\n standard Kubernetes environment, whether running in on-premises data centers or public\n clouds. This means that you can easily migrate any standard Kubernetes application to Amazon EKS\n without any code modification required.

        ", "smithy.api#title": "Amazon Elastic Kubernetes Service", "smithy.rules#endpointRuleSet": { "version": "1.0", @@ -1399,7 +1399,7 @@ "principalArn": { "target": "com.amazonaws.eks#String", "traits": { - "smithy.api#documentation": "

        The ARN of the IAM principal for the access entry. If you ever delete\n the IAM principal with this ARN, the access entry isn't automatically\n deleted. We recommend that you delete the access entry with an ARN for an IAM principal that you delete. If you don't delete the access entry and ever\n recreate the IAM principal, even if it has the same ARN, the access\n entry won't work. This is because even though the ARN is the same for the recreated\n IAM principal, the roleID or userID (you\n can see this with the Security Token Service\n GetCallerIdentity API) is different for the recreated IAM\n principal than it was for the original IAM principal. Even though you\n don't see the IAM principal's roleID or userID\n for an access entry, Amazon EKS stores it with the access entry.

        " + "smithy.api#documentation": "

        The ARN of the IAM principal for the access entry. If you ever delete\n the IAM principal with this ARN, the access entry isn't automatically\n deleted. We recommend that you delete the access entry with an ARN for an IAM\n principal that you delete. If you don't delete the access entry and ever\n recreate the IAM principal, even if it has the same ARN, the access\n entry won't work. This is because even though the ARN is the same for the recreated\n IAM principal, the roleID or userID (you\n can see this with the Security Token Service\n GetCallerIdentity API) is different for the recreated IAM\n principal than it was for the original IAM principal. Even though you\n don't see the IAM principal's roleID or userID\n for an access entry, Amazon EKS stores it with the access entry.

        " } }, "kubernetesGroups": { @@ -1611,7 +1611,7 @@ "podIdentityAssociations": { "target": "com.amazonaws.eks#StringList", "traits": { - "smithy.api#documentation": "

        An array of Pod Identity Assocations owned by the Addon. Each EKS Pod Identity association maps a role to a service account in a namespace in the cluster.

        \n

        For more information, see Attach an IAM Role to an Amazon EKS add-on using Pod Identity in the EKS User Guide.

        " + "smithy.api#documentation": "

        An array of Pod Identity Assocations owned by the Addon. Each EKS Pod Identity association maps a role to a service account in a namespace in the cluster.

        \n

        For more information, see Attach an IAM Role to an Amazon EKS add-on using Pod Identity in the Amazon EKS User Guide.

        " } } }, @@ -1631,12 +1631,12 @@ "compatibleVersions": { "target": "com.amazonaws.eks#StringList", "traits": { - "smithy.api#documentation": "

        A list of compatible add-on versions.

        " + "smithy.api#documentation": "

        The list of compatible Amazon EKS add-on versions for the next Kubernetes version.

        " } } }, "traits": { - "smithy.api#documentation": "

        Contains compatibility information for an Amazon EKS add-on.

        " + "smithy.api#documentation": "

        The summary information about the Amazon EKS add-on compatibility for the next Kubernetes \n version for an insight check in the UPGRADE_READINESS category.

        " } }, "com.amazonaws.eks#AddonCompatibilityDetails": { @@ -1819,7 +1819,7 @@ } }, "traits": { - "smithy.api#documentation": "

        A type of Pod Identity Association owned by an Amazon EKS Add-on.

        \n

        Each EKS Pod Identity Association maps a role to a service account in a namespace in the cluster.

        \n

        For more information, see Attach an IAM Role to an Amazon EKS add-on using Pod Identity in the EKS User Guide.

        " + "smithy.api#documentation": "

        A type of Pod Identity Association owned by an Amazon EKS Add-on.

        \n

        Each EKS Pod Identity Association maps a role to a service account in a namespace in the cluster.

        \n

        For more information, see Attach an IAM Role to an Amazon EKS add-on using Pod Identity in the Amazon EKS User Guide.

        " } }, "com.amazonaws.eks#AddonPodIdentityAssociationsList": { @@ -2336,7 +2336,7 @@ } }, "traits": { - "smithy.api#documentation": "

        Indicates the current configuration of the block storage capability on your EKS Auto Mode cluster. For example, if the capability is enabled or disabled. If the block storage capability is enabled, EKS Auto Mode will create and delete EBS volumes in your Amazon Web Services account. For more information, see EKS Auto Mode block storage capability in the EKS User Guide.

        " + "smithy.api#documentation": "

        Indicates the current configuration of the block storage capability on your EKS Auto Mode cluster. For example, if the capability is enabled or disabled. If the block storage capability is enabled, EKS Auto Mode will create and delete EBS volumes in your Amazon Web Services account. For more information, see EKS Auto Mode block storage capability in the Amazon EKS User Guide.

        " } }, "com.amazonaws.eks#Boolean": { @@ -2606,7 +2606,7 @@ "outpostConfig": { "target": "com.amazonaws.eks#OutpostConfigResponse", "traits": { - "smithy.api#documentation": "

        An object representing the configuration of your local Amazon EKS cluster on\n an Amazon Web Services Outpost. This object isn't available for clusters on the Amazon Web Services cloud.

        " + "smithy.api#documentation": "

        An object representing the configuration of your local Amazon EKS cluster on\n an Amazon Web Services Outpost. This object isn't available for clusters on the Amazon Web Services\n cloud.

        " } }, "accessConfig": { @@ -2618,7 +2618,7 @@ "upgradePolicy": { "target": "com.amazonaws.eks#UpgradePolicyResponse", "traits": { - "smithy.api#documentation": "

        This value indicates if extended support is enabled or disabled for the cluster.

        \n

        \n Learn more about EKS Extended Support in the EKS User Guide.\n

        " + "smithy.api#documentation": "

        This value indicates if extended support is enabled or disabled for the cluster.

        \n

        \n Learn more about EKS Extended Support in the Amazon EKS User Guide.\n

        " } }, "zonalShiftConfig": { @@ -2636,13 +2636,13 @@ "computeConfig": { "target": "com.amazonaws.eks#ComputeConfigResponse", "traits": { - "smithy.api#documentation": "

        Indicates the current configuration of the compute capability on your EKS Auto Mode cluster. For example, if the capability is enabled or disabled. If the compute capability is enabled, EKS Auto Mode will create and delete EC2 Managed Instances in your Amazon Web Services account. For more information, see EKS Auto Mode compute capability in the EKS User Guide.

        " + "smithy.api#documentation": "

        Indicates the current configuration of the compute capability on your EKS Auto Mode cluster. For example, if the capability is enabled or disabled. If the compute capability is enabled, EKS Auto Mode will create and delete EC2 Managed Instances in your Amazon Web Services account. For more information, see EKS Auto Mode compute capability in the Amazon EKS User Guide.

        " } }, "storageConfig": { "target": "com.amazonaws.eks#StorageConfigResponse", "traits": { - "smithy.api#documentation": "

        Indicates the current configuration of the block storage capability on your EKS Auto Mode cluster. For example, if the capability is enabled or disabled. If the block storage capability is enabled, EKS Auto Mode will create and delete EBS volumes in your Amazon Web Services account. For more information, see EKS Auto Mode block storage capability in the EKS User Guide.

        " + "smithy.api#documentation": "

        Indicates the current configuration of the block storage capability on your EKS Auto Mode cluster. For example, if the capability is enabled or disabled. If the block storage capability is enabled, EKS Auto Mode will create and delete EBS volumes in your Amazon Web Services account. For more information, see EKS Auto Mode block storage capability in the Amazon EKS User Guide.

        " } } }, @@ -3003,18 +3003,18 @@ "nodePools": { "target": "com.amazonaws.eks#StringList", "traits": { - "smithy.api#documentation": "

        Configuration for node pools that defines the compute resources for your EKS Auto Mode cluster. For more information, see EKS Auto Mode Node Pools in the EKS User Guide.

        " + "smithy.api#documentation": "

        Configuration for node pools that defines the compute resources for your EKS Auto Mode cluster. For more information, see EKS Auto Mode Node Pools in the Amazon EKS User Guide.

        " } }, "nodeRoleArn": { "target": "com.amazonaws.eks#String", "traits": { - "smithy.api#documentation": "

        The ARN of the IAM Role EKS will assign to EC2 Managed Instances in your EKS Auto Mode cluster. This value cannot be changed after the compute capability of EKS Auto Mode is enabled. For more information, see the IAM Reference in the EKS User Guide.

        " + "smithy.api#documentation": "

        The ARN of the IAM Role EKS will assign to EC2 Managed Instances in your EKS Auto Mode cluster. This value cannot be changed after the compute capability of EKS Auto Mode is enabled. For more information, see the IAM Reference in the Amazon EKS User Guide.

        " } } }, "traits": { - "smithy.api#documentation": "

        Request to update the configuration of the compute capability of your EKS Auto Mode cluster. For example, enable the capability. For more information, see EKS Auto Mode compute capability in the EKS User Guide.

        " + "smithy.api#documentation": "

        Request to update the configuration of the compute capability of your EKS Auto Mode cluster. For example, enable the capability. For more information, see EKS Auto Mode compute capability in the Amazon EKS User Guide.

        " } }, "com.amazonaws.eks#ComputeConfigResponse": { @@ -3029,7 +3029,7 @@ "nodePools": { "target": "com.amazonaws.eks#StringList", "traits": { - "smithy.api#documentation": "

        Indicates the current configuration of node pools in your EKS Auto Mode cluster. For more information, see EKS Auto Mode Node Pools in the EKS User Guide.

        " + "smithy.api#documentation": "

        Indicates the current configuration of node pools in your EKS Auto Mode cluster. For more information, see EKS Auto Mode Node Pools in the Amazon EKS User Guide.

        " } }, "nodeRoleArn": { @@ -3173,7 +3173,7 @@ } }, "traits": { - "smithy.api#documentation": "

        The placement configuration for all the control plane instances of your local Amazon EKS cluster on an Amazon Web Services Outpost. For more information, see\n Capacity\n considerations in the Amazon EKS User Guide.

        " + "smithy.api#documentation": "

        The placement configuration for all the control plane instances of your local Amazon EKS\n cluster on an Amazon Web Services Outpost. For more information, see\n Capacity\n considerations in the Amazon EKS User Guide.

        " } }, "com.amazonaws.eks#ControlPlanePlacementResponse": { @@ -3187,7 +3187,7 @@ } }, "traits": { - "smithy.api#documentation": "

        The placement configuration for all the control plane instances of your local Amazon EKS cluster on an Amazon Web Services Outpost. For more information, see\n Capacity considerations in the Amazon EKS User Guide.

        " + "smithy.api#documentation": "

        The placement configuration for all the control plane instances of your local Amazon EKS\n cluster on an Amazon Web Services Outpost. For more information, see\n Capacity considerations in the Amazon EKS User Guide.

        " } }, "com.amazonaws.eks#CreateAccessConfigRequest": { @@ -3261,7 +3261,7 @@ "principalArn": { "target": "com.amazonaws.eks#String", "traits": { - "smithy.api#documentation": "

        The ARN of the IAM principal for the AccessEntry. You can specify one ARN for each access entry. You can't specify the\n same ARN in more than one access entry. This value can't be changed after access entry\n creation.

        \n

        The valid principals differ depending on the type of the access entry in the\n type field. The only valid ARN is IAM roles for the types of access\n entries for nodes: \n . You can use every IAM principal type for STANDARD access entries.\n You can't use the STS session principal type with access entries because this is a\n temporary principal for each session and not a permanent identity that can be assigned\n permissions.

        \n

        \n IAM best practices recommend using IAM roles with\n temporary credentials, rather than IAM users with long-term credentials.\n

        ", + "smithy.api#documentation": "

        The ARN of the IAM principal for the AccessEntry. You can specify one ARN for each access entry. You can't specify the\n same ARN in more than one access entry. This value can't be changed after access entry\n creation.

        \n

        The valid principals differ depending on the type of the access entry in the\n type field. For STANDARD access entries, you can use every\n IAM principal type. For nodes (EC2 (for EKS Auto Mode),\n EC2_LINUX, EC2_WINDOWS, FARGATE_LINUX, and\n HYBRID_LINUX), the only valid ARN is IAM roles.\n \n You can't use the STS session principal type with access entries because this is a\n temporary principal for each session and not a permanent identity that can be assigned\n permissions.

        \n

        \n IAM\n best practices recommend using IAM roles with\n temporary credentials, rather than IAM users with long-term credentials.\n

        ", "smithy.api#required": {} } }, @@ -3293,7 +3293,7 @@ "type": { "target": "com.amazonaws.eks#String", "traits": { - "smithy.api#documentation": "

        The type of the new access entry. Valid values are Standard,\n FARGATE_LINUX, EC2_LINUX, and\n EC2_WINDOWS.

        \n

        If the principalArn is for an IAM role that's used for\n self-managed Amazon EC2 nodes, specify EC2_LINUX or\n EC2_WINDOWS. Amazon EKS grants the necessary permissions to the\n node for you. If the principalArn is for any other purpose, specify\n STANDARD. If you don't specify a value, Amazon EKS sets the\n value to STANDARD. It's unnecessary to create access entries for IAM roles used with Fargate profiles or managed Amazon EC2 nodes, because Amazon EKS creates entries in the\n aws-auth\n ConfigMap for the roles. You can't change this value once you've created\n the access entry.

        \n

        If you set the value to EC2_LINUX or EC2_WINDOWS, you can't\n specify values for kubernetesGroups, or associate an\n AccessPolicy to the access entry.

        " + "smithy.api#documentation": "

        The type of the new access entry. Valid values are STANDARD,\n FARGATE_LINUX, EC2_LINUX, EC2_WINDOWS,\n EC2 (for EKS Auto Mode), HYBRID_LINUX, and HYPERPOD_LINUX.\n

        \n

        If the principalArn is for an IAM role that's used for self-managed\n Amazon EC2 nodes, specify EC2_LINUX or EC2_WINDOWS. Amazon EKS grants\n the necessary permissions to the node for you. If the principalArn is for\n any other purpose, specify STANDARD. If you don't specify a value, Amazon EKS\n sets the value to STANDARD. If you have the access mode of the cluster set\n to API_AND_CONFIG_MAP, it's unnecessary to create access entries for IAM\n roles used with Fargate profiles or managed Amazon EC2 nodes, because Amazon EKS creates entries\n in the aws-auth\n ConfigMap for the roles. You can't change this value once you've created\n the access entry.

        \n

        If you set the value to EC2_LINUX or EC2_WINDOWS, you can't\n specify values for kubernetesGroups, or associate an\n AccessPolicy to the access entry.

        " } } }, @@ -3341,7 +3341,7 @@ } ], "traits": { - "smithy.api#documentation": "

        Creates an Amazon EKS add-on.

        \n

        Amazon EKS add-ons help to automate the provisioning and lifecycle management\n of common operational software for Amazon EKS clusters. For more information,\n see Amazon EKS add-ons in the Amazon EKS User Guide.

        ", + "smithy.api#documentation": "

        Creates an Amazon EKS add-on.

        \n

        Amazon EKS add-ons help to automate the provisioning and lifecycle management\n of common operational software for Amazon EKS clusters. For more information,\n see Amazon EKS\n add-ons in the Amazon EKS User Guide.

        ", "smithy.api#http": { "method": "POST", "uri": "/clusters/{clusterName}/addons", @@ -3407,7 +3407,7 @@ "podIdentityAssociations": { "target": "com.amazonaws.eks#AddonPodIdentityAssociationsList", "traits": { - "smithy.api#documentation": "

        An array of Pod Identity Assocations to be created. Each EKS Pod Identity association maps a Kubernetes service account to an IAM Role.

        \n

        For more information, see Attach an IAM Role to an Amazon EKS add-on using Pod Identity in the EKS User Guide.

        " + "smithy.api#documentation": "

        An array of Pod Identity Assocations to be created. Each EKS Pod Identity association maps a Kubernetes service account to an IAM Role.

        \n

        For more information, see Attach an IAM Role to an Amazon EKS add-on using Pod Identity in the Amazon EKS User Guide.

        " } } }, @@ -3458,7 +3458,7 @@ } ], "traits": { - "smithy.api#documentation": "

        Creates an Amazon EKS control plane.

        \n

        The Amazon EKS control plane consists of control plane instances that run the\n Kubernetes software, such as etcd and the API server. The control plane runs in\n an account managed by Amazon Web Services, and the Kubernetes API is exposed by the Amazon EKS API server endpoint. Each Amazon EKS cluster control plane is\n single tenant and unique. It runs on its own set of Amazon EC2 instances.

        \n

        The cluster control plane is provisioned across multiple Availability Zones and\n fronted by an Elastic Load Balancing\n Network Load Balancer. Amazon EKS also provisions elastic network interfaces in\n your VPC subnets to provide connectivity from the control plane instances to the nodes\n (for example, to support kubectl exec, logs, and\n proxy data flows).

        \n

        Amazon EKS nodes run in your Amazon Web Services account and connect to your\n cluster's control plane over the Kubernetes API server endpoint and a certificate file that\n is created for your cluster.

        \n

        You can use the endpointPublicAccess and\n endpointPrivateAccess parameters to enable or disable public and\n private access to your cluster's Kubernetes API server endpoint. By default, public access is\n enabled, and private access is disabled. For more information, see Amazon EKS Cluster Endpoint Access Control in the\n \n Amazon EKS User Guide\n .

        \n

        You can use the logging parameter to enable or disable exporting the\n Kubernetes control plane logs for your cluster to CloudWatch Logs. By default, cluster\n control plane logs aren't exported to CloudWatch Logs. For more information, see\n Amazon EKS Cluster Control Plane Logs in the\n \n Amazon EKS User Guide\n .

        \n \n

        CloudWatch Logs ingestion, archive storage, and data scanning rates apply to\n exported control plane logs. For more information, see CloudWatch\n Pricing.

        \n
        \n

        In most cases, it takes several minutes to create a cluster. After you create an\n Amazon EKS cluster, you must configure your Kubernetes tooling to communicate\n with the API server and launch nodes into your cluster. For more information, see Allowing users to\n access your cluster and Launching\n Amazon EKS nodes in the Amazon EKS User Guide.

        ", + "smithy.api#documentation": "

        Creates an Amazon EKS control plane.

        \n

        The Amazon EKS control plane consists of control plane instances that run the\n Kubernetes software, such as etcd and the API server. The control plane runs in\n an account managed by Amazon Web Services, and the Kubernetes API is exposed by the Amazon EKS\n API server endpoint. Each Amazon EKS cluster control plane is\n single tenant and unique. It runs on its own set of Amazon EC2 instances.

        \n

        The cluster control plane is provisioned across multiple Availability Zones and\n fronted by an Elastic Load Balancing\n Network Load Balancer. Amazon EKS also provisions elastic network interfaces in\n your VPC subnets to provide connectivity from the control plane instances to the nodes\n (for example, to support kubectl exec, logs, and\n proxy data flows).

        \n

        Amazon EKS nodes run in your Amazon Web Services account and connect to your\n cluster's control plane over the Kubernetes API server endpoint and a certificate file that\n is created for your cluster.

        \n

        You can use the endpointPublicAccess and\n endpointPrivateAccess parameters to enable or disable public and\n private access to your cluster's Kubernetes API server endpoint. By default, public access is\n enabled, and private access is disabled. For more information, see Amazon EKS\n Cluster Endpoint Access Control in the\n \n Amazon EKS User Guide\n .

        \n

        You can use the logging parameter to enable or disable exporting the\n Kubernetes control plane logs for your cluster to CloudWatch Logs. By default, cluster\n control plane logs aren't exported to CloudWatch Logs. For more information, see\n Amazon EKS Cluster Control Plane Logs in the\n \n Amazon EKS User Guide\n .

        \n \n

        CloudWatch Logs ingestion, archive storage, and data scanning rates apply to\n exported control plane logs. For more information, see CloudWatch\n Pricing.

        \n
        \n

        In most cases, it takes several minutes to create a cluster. After you create an\n Amazon EKS cluster, you must configure your Kubernetes tooling to communicate\n with the API server and launch nodes into your cluster. For more information, see Allowing users to\n access your cluster and Launching\n Amazon EKS nodes in the Amazon EKS User Guide.

        ", "smithy.api#examples": [ { "title": "To create a new cluster", @@ -3507,7 +3507,7 @@ "roleArn": { "target": "com.amazonaws.eks#String", "traits": { - "smithy.api#documentation": "

        The Amazon Resource Name (ARN) of the IAM role that provides permissions for the Kubernetes\n control plane to make calls to Amazon Web Services API operations on your behalf. For\n more information, see Amazon EKS Service IAM Role in the \n Amazon EKS User Guide\n .

        ", + "smithy.api#documentation": "

        The Amazon Resource Name (ARN) of the IAM role that provides permissions for the Kubernetes\n control plane to make calls to Amazon Web Services API operations on your behalf. For\n more information, see Amazon EKS Service IAM\n Role in the \n Amazon EKS User Guide\n .

        ", "smithy.api#required": {} } }, @@ -3527,7 +3527,7 @@ "logging": { "target": "com.amazonaws.eks#Logging", "traits": { - "smithy.api#documentation": "

        Enable or disable exporting the Kubernetes control plane logs for your cluster to CloudWatch Logs. By default, cluster control plane logs aren't exported to CloudWatch Logs. For more information, see Amazon EKS Cluster control plane logs in the\n \n Amazon EKS User Guide\n .

        \n \n

        CloudWatch Logs ingestion, archive storage, and data scanning rates apply to\n exported control plane logs. For more information, see CloudWatch\n Pricing.

        \n
        " + "smithy.api#documentation": "

        Enable or disable exporting the Kubernetes control plane logs for your cluster to CloudWatch Logs\n . By default, cluster control plane logs aren't exported to CloudWatch Logs\n . For more information, see Amazon EKS\n Cluster control plane logs in the\n \n Amazon EKS User Guide\n .

        \n \n

        CloudWatch Logs ingestion, archive storage, and data scanning rates apply to\n exported control plane logs. For more information, see CloudWatch\n Pricing.

        \n
        " } }, "clientRequestToken": { @@ -3576,7 +3576,7 @@ "zonalShiftConfig": { "target": "com.amazonaws.eks#ZonalShiftConfigRequest", "traits": { - "smithy.api#documentation": "

        Enable or disable ARC zonal shift for the cluster. If zonal shift is enabled, Amazon Web Services\n configures zonal autoshift for the cluster.

        \n

        Zonal shift is a feature of\n Amazon Application Recovery Controller (ARC). ARC zonal shift is designed to be a temporary measure that allows you to move\n traffic for a resource away from an impaired AZ until the zonal shift expires or you cancel\n it. You can extend the zonal shift if necessary.

        \n

        You can start a zonal shift for an EKS cluster, or you can allow Amazon Web Services to do it for you\n by enabling zonal autoshift. This shift updates the flow of\n east-to-west network traffic in your cluster to only consider network endpoints for Pods\n running on worker nodes in healthy AZs. Additionally, any ALB or NLB handling ingress\n traffic for applications in your EKS cluster will automatically route traffic to targets in\n the healthy AZs. For more information about zonal shift in EKS, see Learn about Amazon Application Recovery Controller (ARC)\n Zonal Shift in Amazon EKS in the\n \n Amazon EKS User Guide\n .

        " + "smithy.api#documentation": "

        Enable or disable ARC zonal shift for the cluster. If zonal shift is enabled, Amazon Web Services\n configures zonal autoshift for the cluster.

        \n

        Zonal shift is a feature of\n Amazon Application Recovery Controller (ARC). ARC zonal shift is designed to be a temporary measure that allows you to move\n traffic for a resource away from an impaired AZ until the zonal shift expires or you cancel\n it. You can extend the zonal shift if necessary.

        \n

        You can start a zonal shift for an Amazon EKS cluster, or you can allow Amazon Web Services to do it for you\n by enabling zonal autoshift. This shift updates the flow of\n east-to-west network traffic in your cluster to only consider network endpoints for Pods\n running on worker nodes in healthy AZs. Additionally, any ALB or NLB handling ingress\n traffic for applications in your Amazon EKS cluster will automatically route traffic to targets in\n the healthy AZs. For more information about zonal shift in EKS, see Learn about Amazon Application Recovery Controller (ARC)\n Zonal Shift in Amazon EKS in the\n \n Amazon EKS User Guide\n .

        " } }, "remoteNetworkConfig": { @@ -3748,7 +3748,7 @@ } ], "traits": { - "smithy.api#documentation": "

        Creates an Fargate profile for your Amazon EKS cluster. You\n must have at least one Fargate profile in a cluster to be able to run\n pods on Fargate.

        \n

        The Fargate profile allows an administrator to declare which pods run\n on Fargate and specify which pods run on which Fargate\n profile. This declaration is done through the profile’s selectors. Each profile can have\n up to five selectors that contain a namespace and labels. A namespace is required for\n every selector. The label field consists of multiple optional key-value pairs. Pods that\n match the selectors are scheduled on Fargate. If a to-be-scheduled pod\n matches any of the selectors in the Fargate profile, then that pod is run\n on Fargate.

        \n

        When you create a Fargate profile, you must specify a pod execution\n role to use with the pods that are scheduled with the profile. This role is added to the\n cluster's Kubernetes Role Based\n Access Control (RBAC) for authorization so that the kubelet\n that is running on the Fargate infrastructure can register with your\n Amazon EKS cluster so that it can appear in your cluster as a node. The pod\n execution role also provides IAM permissions to the Fargate infrastructure to allow read access to Amazon ECR image repositories. For\n more information, see Pod Execution Role in the Amazon EKS User Guide.

        \n

        Fargate profiles are immutable. However, you can create a new updated\n profile to replace an existing profile and then delete the original after the updated\n profile has finished creating.

        \n

        If any Fargate profiles in a cluster are in the DELETING\n status, you must wait for that Fargate profile to finish deleting before\n you can create any other profiles in that cluster.

        \n

        For more information, see Fargate profile in the\n Amazon EKS User Guide.

        ", + "smithy.api#documentation": "

        Creates an Fargate profile for your Amazon EKS cluster. You\n must have at least one Fargate profile in a cluster to be able to run\n pods on Fargate.

        \n

        The Fargate profile allows an administrator to declare which pods run\n on Fargate and specify which pods run on which Fargate\n profile. This declaration is done through the profile's selectors. Each profile can have\n up to five selectors that contain a namespace and labels. A namespace is required for\n every selector. The label field consists of multiple optional key-value pairs. Pods that\n match the selectors are scheduled on Fargate. If a to-be-scheduled pod\n matches any of the selectors in the Fargate profile, then that pod is run\n on Fargate.

        \n

        When you create a Fargate profile, you must specify a pod execution\n role to use with the pods that are scheduled with the profile. This role is added to the\n cluster's Kubernetes Role Based\n Access Control (RBAC) for authorization so that the kubelet\n that is running on the Fargate infrastructure can register with your\n Amazon EKS cluster so that it can appear in your cluster as a node. The pod\n execution role also provides IAM permissions to the Fargate infrastructure to \n allow read access to Amazon ECR image repositories. For\n more information, see Pod Execution Role in the Amazon EKS User Guide.

        \n

        Fargate profiles are immutable. However, you can create a new updated\n profile to replace an existing profile and then delete the original after the updated\n profile has finished creating.

        \n

        If any Fargate profiles in a cluster are in the DELETING\n status, you must wait for that Fargate profile to finish deleting before\n you can create any other profiles in that cluster.

        \n

        For more information, see Fargate profile in the\n Amazon EKS User Guide.

        ", "smithy.api#http": { "method": "POST", "uri": "/clusters/{clusterName}/fargate-profiles", @@ -3923,7 +3923,7 @@ "nodeRole": { "target": "com.amazonaws.eks#String", "traits": { - "smithy.api#documentation": "

        The Amazon Resource Name (ARN) of the IAM role to associate with your node group. The\n Amazon EKS worker node kubelet daemon makes calls to Amazon Web Services APIs on your behalf. Nodes receive permissions for these API calls\n through an IAM instance profile and associated policies. Before you can\n launch nodes and register them into a cluster, you must create an IAM\n role for those nodes to use when they are launched. For more information, see Amazon EKS node IAM role in the\n \n Amazon EKS User Guide\n . If you specify launchTemplate, then don't specify \n \n IamInstanceProfile\n in your launch template, or the node group \n deployment will fail. For more information about using launch templates with Amazon EKS, see Customizing managed nodes with launch templates in the Amazon EKS User Guide.

        ", + "smithy.api#documentation": "

        The Amazon Resource Name (ARN) of the IAM role to associate with your node group. The\n Amazon EKS worker node kubelet daemon makes calls to Amazon Web Services\n APIs on your behalf. Nodes receive permissions for these API calls\n through an IAM instance profile and associated policies. Before you can\n launch nodes and register them into a cluster, you must create an IAM\n role for those nodes to use when they are launched. For more information, see Amazon EKS\n node IAM role in the\n \n Amazon EKS User Guide\n . If you specify launchTemplate, then don't specify \n \n IamInstanceProfile\n in your launch template, or the node group \n deployment will fail. For more information about using launch templates with Amazon EKS, see Customizing managed nodes with launch templates in the Amazon EKS User Guide.

        ", "smithy.api#required": {} } }, @@ -3985,7 +3985,7 @@ "releaseVersion": { "target": "com.amazonaws.eks#String", "traits": { - "smithy.api#documentation": "

        The AMI version of the Amazon EKS optimized AMI to use with your node group.\n By default, the latest available AMI version for the node group's current Kubernetes version\n is used. For information about Linux versions, see Amazon EKS optimized Amazon Linux AMI versions in the Amazon EKS User Guide. Amazon EKS managed node groups support the November 2022 and later releases of the\n Windows AMIs. For information about Windows versions, see Amazon EKS optimized Windows AMI versions in the\n Amazon EKS User Guide.

        \n

        If you specify launchTemplate, and your launch template uses a custom AMI, then don't specify \n releaseVersion, or the node group deployment will fail.\n For more information about using launch templates with Amazon EKS, see Customizing managed nodes with launch templates in the Amazon EKS User Guide.

        " + "smithy.api#documentation": "

        The AMI version of the Amazon EKS optimized AMI to use with your node group.\n By default, the latest available AMI version for the node group's current Kubernetes version\n is used. For information about Linux versions, see Amazon EKS\n optimized Amazon Linux AMI versions in the Amazon EKS User Guide. Amazon EKS\n managed node groups support the November 2022 and later releases of the\n Windows AMIs. For information about Windows versions, see Amazon EKS optimized Windows AMI versions in the\n Amazon EKS User Guide.

        \n

        If you specify launchTemplate, and your launch template uses a custom AMI, then don't specify \n releaseVersion, or the node group deployment will fail.\n For more information about using launch templates with Amazon EKS, see Customizing managed nodes with launch templates in the Amazon EKS User Guide.

        " } } }, @@ -4065,7 +4065,7 @@ "serviceAccount": { "target": "com.amazonaws.eks#String", "traits": { - "smithy.api#documentation": "

        The name of the Kubernetes service account inside the cluster to associate the IAM credentials with.

        ", + "smithy.api#documentation": "

        The name of the Kubernetes service account inside the cluster to associate the IAM\n credentials with.

        ", "smithy.api#required": {} } }, @@ -4224,7 +4224,7 @@ "target": "com.amazonaws.eks#Boolean", "traits": { "smithy.api#default": false, - "smithy.api#documentation": "

        Specifying this option preserves the add-on software on your cluster but Amazon EKS stops managing any settings for the add-on. If an IAM\n account is associated with the add-on, it isn't removed.

        ", + "smithy.api#documentation": "

        Specifying this option preserves the add-on software on your cluster but Amazon EKS\n stops managing any settings for the add-on. If an IAM\n account is associated with the add-on, it isn't removed.

        ", "smithy.api#httpQuery": "preserve" } } @@ -6324,7 +6324,7 @@ } }, "traits": { - "smithy.api#documentation": "

        Indicates the current configuration of the load balancing capability on your EKS Auto Mode cluster. For example, if the capability is enabled or disabled. For more information, see EKS Auto Mode load balancing capability in the EKS User Guide.

        " + "smithy.api#documentation": "

        Indicates the current configuration of the load balancing capability on your EKS Auto Mode cluster. For example, if the capability is enabled or disabled. For more information, see EKS Auto Mode load balancing capability in the Amazon EKS User Guide.

        " } }, "com.amazonaws.eks#EncryptionConfig": { @@ -6874,7 +6874,7 @@ "addonCompatibilityDetails": { "target": "com.amazonaws.eks#AddonCompatibilityDetails", "traits": { - "smithy.api#documentation": "

        A list of AddonCompatibilityDetail objects for Amazon EKS add-ons.

        " + "smithy.api#documentation": "

        A list of AddonCompatibilityDetail objects for Amazon EKS add-ons.

        " } } }, @@ -7172,7 +7172,7 @@ "code": { "target": "com.amazonaws.eks#NodegroupIssueCode", "traits": { - "smithy.api#documentation": "

        A brief description of the error.

        \n
          \n
        • \n

          \n AccessDenied: Amazon EKS or one or\n more of your managed nodes is failing to authenticate or authorize with your\n Kubernetes cluster API server.

          \n
        • \n
        • \n

          \n AsgInstanceLaunchFailures: Your Auto Scaling group is experiencing failures while attempting to launch\n instances.

          \n
        • \n
        • \n

          \n AutoScalingGroupNotFound: We couldn't find\n the Auto Scaling group associated with the managed node group. You may be\n able to recreate an Auto Scaling group with the same settings to\n recover.

          \n
        • \n
        • \n

          \n ClusterUnreachable: Amazon EKS or one\n or more of your managed nodes is unable to to communicate with your Kubernetes\n cluster API server. This can happen if there are network disruptions or if API\n servers are timing out processing requests.

          \n
        • \n
        • \n

          \n Ec2InstanceTypeDoesNotExist: One or more of\n the supplied Amazon EC2 instance types do not exist. Amazon EKS checked for the\n instance types that you provided in this Amazon Web Services Region, and one or more aren't\n available.

          \n
        • \n
        • \n

          \n Ec2LaunchTemplateNotFound: We couldn't find\n the Amazon EC2 launch template for your managed node group. You may be\n able to recreate a launch template with the same settings to recover.

          \n
        • \n
        • \n

          \n Ec2LaunchTemplateVersionMismatch: The Amazon EC2 launch template version for your managed node group does not\n match the version that Amazon EKS created. You may be able to revert to\n the version that Amazon EKS created to recover.

          \n
        • \n
        • \n

          \n Ec2SecurityGroupDeletionFailure: We could not\n delete the remote access security group for your managed node group. Remove any\n dependencies from the security group.

          \n
        • \n
        • \n

          \n Ec2SecurityGroupNotFound: We couldn't find\n the cluster security group for the cluster. You must recreate your\n cluster.

          \n
        • \n
        • \n

          \n Ec2SubnetInvalidConfiguration: One or more\n Amazon EC2 subnets specified for a node group do not automatically\n assign public IP addresses to instances launched into it. If you want your\n instances to be assigned a public IP address, then you need to enable the\n auto-assign public IP address setting for the subnet. See\n Modifying\n the public IPv4 addressing attribute for your subnet in\n the Amazon VPC User Guide.

          \n
        • \n
        • \n

          \n IamInstanceProfileNotFound: We couldn't find\n the IAM instance profile for your managed node group. You may be\n able to recreate an instance profile with the same settings to recover.

          \n
        • \n
        • \n

          \n IamNodeRoleNotFound: We couldn't find the\n IAM role for your managed node group. You may be able to\n recreate an IAM role with the same settings to recover.

          \n
        • \n
        • \n

          \n InstanceLimitExceeded: Your Amazon Web Services account is unable to launch any more instances of the specified instance\n type. You may be able to request an Amazon EC2 instance limit increase\n to recover.

          \n
        • \n
        • \n

          \n InsufficientFreeAddresses: One or more of the\n subnets associated with your managed node group does not have enough available\n IP addresses for new nodes.

          \n
        • \n
        • \n

          \n InternalFailure: These errors are usually\n caused by an Amazon EKS server-side issue.

          \n
        • \n
        • \n

          \n NodeCreationFailure: Your launched instances\n are unable to register with your Amazon EKS cluster. Common causes of\n this failure are insufficient node IAM\n role permissions or lack of outbound internet access for the nodes.\n

          \n
        • \n
        " + "smithy.api#documentation": "

        A brief description of the error.

        \n
          \n
        • \n

          \n AccessDenied: Amazon EKS or one or\n more of your managed nodes is failing to authenticate or authorize with your\n Kubernetes cluster API server.

          \n
        • \n
        • \n

          \n AsgInstanceLaunchFailures: Your Auto Scaling\n group is experiencing failures while attempting to launch\n instances.

          \n
        • \n
        • \n

          \n AutoScalingGroupNotFound: We couldn't find\n the Auto Scaling group associated with the managed node group. You may be\n able to recreate an Auto Scaling group with the same settings to\n recover.

          \n
        • \n
        • \n

          \n ClusterUnreachable: Amazon EKS or one\n or more of your managed nodes is unable to to communicate with your Kubernetes\n cluster API server. This can happen if there are network disruptions or if API\n servers are timing out processing requests.

          \n
        • \n
        • \n

          \n Ec2InstanceTypeDoesNotExist: One or more of\n the supplied Amazon EC2 instance types do not exist. Amazon EKS checked for the\n instance types that you provided in this Amazon Web Services Region, and one or more aren't\n available.

          \n
        • \n
        • \n

          \n Ec2LaunchTemplateNotFound: We couldn't find\n the Amazon EC2 launch template for your managed node group. You may be\n able to recreate a launch template with the same settings to recover.

          \n
        • \n
        • \n

          \n Ec2LaunchTemplateVersionMismatch: The Amazon EC2\n launch template version for your managed node group does not\n match the version that Amazon EKS created. You may be able to revert to\n the version that Amazon EKS created to recover.

          \n
        • \n
        • \n

          \n Ec2SecurityGroupDeletionFailure: We could not\n delete the remote access security group for your managed node group. Remove any\n dependencies from the security group.

          \n
        • \n
        • \n

          \n Ec2SecurityGroupNotFound: We couldn't find\n the cluster security group for the cluster. You must recreate your\n cluster.

          \n
        • \n
        • \n

          \n Ec2SubnetInvalidConfiguration: One or more\n Amazon EC2 subnets specified for a node group do not automatically\n assign public IP addresses to instances launched into it. If you want your\n instances to be assigned a public IP address, then you need to enable the\n auto-assign public IP address setting for the subnet. See\n Modifying\n the public IPv4 addressing attribute for your subnet in\n the Amazon VPC User Guide.

          \n
        • \n
        • \n

          \n IamInstanceProfileNotFound: We couldn't find\n the IAM instance profile for your managed node group. You may be\n able to recreate an instance profile with the same settings to recover.

          \n
        • \n
        • \n

          \n IamNodeRoleNotFound: We couldn't find the\n IAM role for your managed node group. You may be able to\n recreate an IAM role with the same settings to recover.

          \n
        • \n
        • \n

          \n InstanceLimitExceeded: Your Amazon Web Services \n account is unable to launch any more instances of the specified instance\n type. You may be able to request an Amazon EC2 instance limit increase\n to recover.

          \n
        • \n
        • \n

          \n InsufficientFreeAddresses: One or more of the\n subnets associated with your managed node group does not have enough available\n IP addresses for new nodes.

          \n
        • \n
        • \n

          \n InternalFailure: These errors are usually\n caused by an Amazon EKS server-side issue.

          \n
        • \n
        • \n

          \n NodeCreationFailure: Your launched instances\n are unable to register with your Amazon EKS cluster. Common causes of\n this failure are insufficient node IAM\n role permissions or lack of outbound internet access for the nodes.\n

          \n
        • \n
        " } }, "message": { @@ -7210,13 +7210,13 @@ "ipFamily": { "target": "com.amazonaws.eks#IpFamily", "traits": { - "smithy.api#documentation": "

        Specify which IP family is used to assign Kubernetes pod and service IP addresses. If you\n don't specify a value, ipv4 is used by default. You can only specify an IP\n family when you create a cluster and can't change this value once the cluster is\n created. If you specify ipv6, the VPC and subnets that you specify for\n cluster creation must have both IPv4 and IPv6 CIDR blocks\n assigned to them. You can't specify ipv6 for clusters in China\n Regions.

        \n

        You can only specify ipv6 for 1.21 and later clusters that\n use version 1.10.1 or later of the Amazon VPC CNI add-on. If you specify\n ipv6, then ensure that your VPC meets the requirements listed in the\n considerations listed in Assigning IPv6 addresses to pods and\n services in the Amazon EKS User Guide. Kubernetes assigns services\n IPv6 addresses from the unique local address range\n (fc00::/7). You can't specify a custom IPv6 CIDR block.\n Pod addresses are assigned from the subnet's IPv6 CIDR.

        " + "smithy.api#documentation": "

        Specify which IP family is used to assign Kubernetes pod and service IP addresses. If you\n don't specify a value, ipv4 is used by default. You can only specify an IP\n family when you create a cluster and can't change this value once the cluster is\n created. If you specify ipv6, the VPC and subnets that you specify for\n cluster creation must have both IPv4 and IPv6 CIDR blocks\n assigned to them. You can't specify ipv6 for clusters in China\n Regions.

        \n

        You can only specify ipv6 for 1.21 and later clusters that\n use version 1.10.1 or later of the Amazon VPC CNI add-on. If you specify\n ipv6, then ensure that your VPC meets the requirements listed in the\n considerations listed in Assigning IPv6 addresses to pods and\n services in the Amazon EKS User Guide. Kubernetes assigns services\n IPv6 addresses from the unique local address range\n (fc00::/7). You can't specify a custom IPv6 CIDR block.\n Pod addresses are assigned from the subnet's IPv6 CIDR.

        " } }, "elasticLoadBalancing": { "target": "com.amazonaws.eks#ElasticLoadBalancing", "traits": { - "smithy.api#documentation": "

        Request to enable or disable the load balancing capability on your EKS Auto Mode cluster. For more information, see EKS Auto Mode load balancing capability in the EKS User Guide.

        " + "smithy.api#documentation": "

        Request to enable or disable the load balancing capability on your EKS Auto Mode cluster. For more information, see EKS Auto Mode load balancing capability in the Amazon EKS User Guide.

        " } } }, @@ -7769,7 +7769,7 @@ "clusters": { "target": "com.amazonaws.eks#StringList", "traits": { - "smithy.api#documentation": "

        A list of all of the clusters for your account in the specified Amazon Web Services Region.

        " + "smithy.api#documentation": "

        A list of all of the clusters for your account in the specified Amazon Web Services Region\n .

        " } }, "nextToken": { @@ -8190,7 +8190,7 @@ } ], "traits": { - "smithy.api#documentation": "

        Lists the managed node groups associated with the specified cluster in your Amazon Web Services account in the specified Amazon Web Services Region. Self-managed node\n groups aren't listed.

        ", + "smithy.api#documentation": "

        Lists the managed node groups associated with the specified cluster in your Amazon Web Services\n account in the specified Amazon Web Services Region. Self-managed node\n groups aren't listed.

        ", "smithy.api#http": { "method": "GET", "uri": "/clusters/{clusterName}/node-groups", @@ -8465,7 +8465,7 @@ } ], "traits": { - "smithy.api#documentation": "

        Lists the updates associated with an Amazon EKS resource in your Amazon Web Services account, in the specified Amazon Web Services Region.

        ", + "smithy.api#documentation": "

        Lists the updates associated with an Amazon EKS resource in your Amazon Web Services\n account, in the specified Amazon Web Services Region.

        ", "smithy.api#http": { "method": "GET", "uri": "/clusters/{name}/updates", @@ -8564,7 +8564,7 @@ "enabled": { "target": "com.amazonaws.eks#BoxedBoolean", "traits": { - "smithy.api#documentation": "

        If a log type is enabled, that log type exports its control plane logs to CloudWatch Logs. If a log type isn't enabled, that log type doesn't export its control\n plane logs. Each individual log type can be enabled or disabled independently.

        " + "smithy.api#documentation": "

        If a log type is enabled, that log type exports its control plane logs to CloudWatch Logs\n . If a log type isn't enabled, that log type doesn't export its control\n plane logs. Each individual log type can be enabled or disabled independently.

        " } } }, @@ -9086,13 +9086,13 @@ "maxSize": { "target": "com.amazonaws.eks#Capacity", "traits": { - "smithy.api#documentation": "

        The maximum number of nodes that the managed node group can scale out to. For\n information about the maximum number that you can specify, see Amazon EKS service quotas in the Amazon EKS User Guide.

        " + "smithy.api#documentation": "

        The maximum number of nodes that the managed node group can scale out to. For\n information about the maximum number that you can specify, see Amazon EKS service \n quotas in the Amazon EKS User Guide.

        " } }, "desiredSize": { "target": "com.amazonaws.eks#ZeroCapacity", "traits": { - "smithy.api#documentation": "

        The current number of nodes that the managed node group should maintain.

        \n \n

        If you use the Kubernetes Cluster\n Autoscaler, you shouldn't change the desiredSize value\n directly, as this can cause the Cluster Autoscaler to suddenly scale up or scale\n down.

        \n
        \n

        Whenever this parameter changes, the number of worker nodes in the node group is\n updated to the specified size. If this parameter is given a value that is smaller than\n the current number of running worker nodes, the necessary number of worker nodes are\n terminated to match the given value.\n \n When using CloudFormation, no action occurs if you remove this parameter from your CFN\n template.

        \n

        This parameter can be different from minSize in some cases, such as when\n starting with extra hosts for testing. This parameter can also be different when you\n want to start with an estimated number of needed hosts, but let the Cluster Autoscaler\n reduce the number if there are too many. When the Cluster Autoscaler is used, the\n desiredSize parameter is altered by the Cluster Autoscaler (but can be\n out-of-date for short periods of time). the Cluster Autoscaler doesn't scale a managed\n node group lower than minSize or higher than maxSize.

        " + "smithy.api#documentation": "

        The current number of nodes that the managed node group should maintain.

        \n \n

        If you use the Kubernetes Cluster\n Autoscaler, you shouldn't change the desiredSize value\n directly, as this can cause the Cluster Autoscaler to suddenly scale up or scale\n down.

        \n
        \n

        Whenever this parameter changes, the number of worker nodes in the node group is\n updated to the specified size. If this parameter is given a value that is smaller than\n the current number of running worker nodes, the necessary number of worker nodes are\n terminated to match the given value.\n \n When using CloudFormation, no action occurs if you remove this parameter from your CFN\n template.

        \n

        This parameter can be different from minSize in some cases, such as when\n starting with extra hosts for testing. This parameter can also be different when you\n want to start with an estimated number of needed hosts, but let the Cluster Autoscaler\n reduce the number if there are too many. When the Cluster Autoscaler is used, the \n desiredSize parameter is altered by the Cluster Autoscaler (but can be\n out-of-date for short periods of time). the Cluster Autoscaler doesn't scale a managed\n node group lower than minSize or higher than maxSize.

        " } } }, @@ -9161,10 +9161,33 @@ "traits": { "smithy.api#documentation": "

        The maximum percentage of nodes unavailable during a version update. This percentage\n of nodes are updated in parallel, up to 100 nodes at once. This value or\n maxUnavailable is required to have a value.

        " } + }, + "updateStrategy": { + "target": "com.amazonaws.eks#NodegroupUpdateStrategies", + "traits": { + "smithy.api#documentation": "

        The configuration for the behavior to follow during a node group version update of this managed\n node group. You choose between two possible strategies for replacing nodes during an\n UpdateNodegroupVersion action.

        \n

        An Amazon EKS managed node group updates by replacing nodes with new nodes of newer AMI\n versions in parallel. The update strategy changes the managed node\n update behavior of the managed node group for each quantity. The\n default strategy has guardrails to protect you from\n misconfiguration and launches the new instances first, before terminating the old\n instances. The minimal strategy removes the guardrails and\n terminates the old instances before launching the new instances. This minimal\n strategy is useful in scenarios where you are constrained to resources or costs (for\n example, with hardware accelerators such as GPUs).

        " + } } }, "traits": { - "smithy.api#documentation": "

        The node group update configuration.

        " + "smithy.api#documentation": "

        The node group update configuration. An Amazon EKS managed node group updates by replacing nodes with new\n nodes of newer AMI versions in parallel. You choose the maximum\n unavailable and the update strategy.

        " + } + }, + "com.amazonaws.eks#NodegroupUpdateStrategies": { + "type": "enum", + "members": { + "DEFAULT": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DEFAULT" + } + }, + "MINIMAL": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "MINIMAL" + } + } } }, "com.amazonaws.eks#NonZeroInteger": { @@ -9357,7 +9380,7 @@ "controlPlaneInstanceType": { "target": "com.amazonaws.eks#String", "traits": { - "smithy.api#documentation": "

        The Amazon EC2 instance type that you want to use for your local Amazon EKS cluster on Outposts. Choose an instance type based on the number of nodes\n that your cluster will have. For more information, see Capacity\n considerations in the Amazon EKS User Guide.

        \n

        The instance type that you specify is used for all Kubernetes control plane instances. The\n instance type can't be changed after cluster creation. The control plane is not\n automatically scaled by Amazon EKS.

        \n

        ", + "smithy.api#documentation": "

        The Amazon EC2 instance type that you want to use for your local Amazon EKS\n cluster on Outposts. Choose an instance type based on the number of nodes\n that your cluster will have. For more information, see Capacity\n considerations in the Amazon EKS User Guide.

        \n

        The instance type that you specify is used for all Kubernetes control plane instances. The\n instance type can't be changed after cluster creation. The control plane is not\n automatically scaled by Amazon EKS.

        \n

        ", "smithy.api#required": {} } }, @@ -9427,7 +9450,7 @@ "serviceAccount": { "target": "com.amazonaws.eks#String", "traits": { - "smithy.api#documentation": "

        The name of the Kubernetes service account inside the cluster to associate the IAM credentials with.

        " + "smithy.api#documentation": "

        The name of the Kubernetes service account inside the cluster to associate the IAM\n credentials with.

        " } }, "roleArn": { @@ -9597,7 +9620,7 @@ "connectorConfig": { "target": "com.amazonaws.eks#ConnectorConfigRequest", "traits": { - "smithy.api#documentation": "

        The configuration settings required to connect the Kubernetes cluster to the Amazon EKS control plane.

        ", + "smithy.api#documentation": "

        The configuration settings required to connect the Kubernetes cluster to the Amazon EKS\n control plane.

        ", "smithy.api#required": {} } }, @@ -9636,7 +9659,7 @@ "ec2SshKey": { "target": "com.amazonaws.eks#String", "traits": { - "smithy.api#documentation": "

        The Amazon EC2 SSH key name that provides access for SSH communication with\n the nodes in the managed node group. For more information, see Amazon EC2 key pairs and Linux instances in the Amazon Elastic Compute Cloud User Guide for Linux Instances. For\n Windows, an Amazon EC2 SSH key is used to obtain the RDP password. For more\n information, see Amazon EC2 key pairs and Windows instances in\n the Amazon Elastic Compute Cloud User Guide for Windows Instances.

        " + "smithy.api#documentation": "

        The Amazon EC2 SSH key name that provides access for SSH communication with\n the nodes in the managed node group. For more information, see Amazon EC2\n key pairs and Linux instances in the Amazon Elastic Compute Cloud User Guide for Linux Instances. For\n Windows, an Amazon EC2 SSH key is used to obtain the RDP password. For more\n information, see Amazon EC2 key pairs and Windows instances in\n the Amazon Elastic Compute Cloud User Guide for Windows Instances.

        " } }, "sourceSecurityGroups": { @@ -9874,7 +9897,7 @@ } }, "traits": { - "smithy.api#documentation": "

        The specified resource could not be found. You can view your available clusters with\n ListClusters. You can view your available managed node groups with\n ListNodegroups. Amazon EKS clusters and node groups are Amazon Web Services Region specific.

        ", + "smithy.api#documentation": "

        The specified resource could not be found. You can view your available clusters with\n ListClusters. You can view your available managed node groups with\n ListNodegroups. Amazon EKS clusters and node groups are Amazon Web Services Region\n specific.

        ", "smithy.api#error": "client", "smithy.api#httpError": 404 } @@ -9971,7 +9994,7 @@ } }, "traits": { - "smithy.api#documentation": "

        Request to update the configuration of the storage capability of your EKS Auto Mode cluster. For example, enable the capability. For more information, see EKS Auto Mode block storage capability in the EKS User Guide.

        " + "smithy.api#documentation": "

        Request to update the configuration of the storage capability of your EKS Auto Mode cluster. For example, enable the capability. For more information, see EKS Auto Mode block storage capability in the Amazon EKS User Guide.

        " } }, "com.amazonaws.eks#StorageConfigResponse": { @@ -10495,7 +10518,7 @@ "podIdentityAssociations": { "target": "com.amazonaws.eks#AddonPodIdentityAssociationsList", "traits": { - "smithy.api#documentation": "

        An array of Pod Identity Assocations to be updated. Each EKS Pod Identity association maps a Kubernetes service account to an IAM Role. If this value is left blank, no change. If an empty array is provided, existing Pod Identity Assocations owned by the Addon are deleted.

        \n

        For more information, see Attach an IAM Role to an Amazon EKS add-on using Pod Identity in the EKS User Guide.

        " + "smithy.api#documentation": "

        An array of Pod Identity Assocations to be updated. Each EKS Pod Identity association maps a Kubernetes service account to an IAM Role. If this value is left blank, no change. If an empty array is provided, existing Pod Identity Assocations owned by the Addon are deleted.

        \n

        For more information, see Attach an IAM Role to an Amazon EKS add-on using Pod Identity in the Amazon EKS User Guide.

        " } } }, @@ -10543,7 +10566,7 @@ } ], "traits": { - "smithy.api#documentation": "

        Updates an Amazon EKS cluster configuration. Your cluster continues to\n function during the update. The response output includes an update ID that you can use\n to track the status of your cluster update with DescribeUpdate\"/>.

        \n

        You can use this API operation to enable or disable exporting the Kubernetes control plane\n logs for your cluster to CloudWatch Logs. By default, cluster control plane logs\n aren't exported to CloudWatch Logs. For more information, see Amazon EKS Cluster control plane logs in the\n \n Amazon EKS User Guide\n .

        \n \n

        CloudWatch Logs ingestion, archive storage, and data scanning rates apply to\n exported control plane logs. For more information, see CloudWatch\n Pricing.

        \n
        \n

        You can also use this API operation to enable or disable public and private access to\n your cluster's Kubernetes API server endpoint. By default, public access is enabled, and\n private access is disabled. For more information, see Amazon EKS cluster endpoint access control in the\n \n Amazon EKS User Guide\n .

        \n

        You can also use this API operation to choose different subnets and security groups\n for the cluster. You must specify at least two subnets that are in different\n Availability Zones. You can't change which VPC the subnets are from, the subnets must be\n in the same VPC as the subnets that the cluster was created with. For more information\n about the VPC requirements, see https://docs.aws.amazon.com/eks/latest/userguide/network_reqs.html in the \n Amazon EKS User Guide\n .

        \n

        You can also use this API operation to enable or disable ARC zonal shift. If zonal shift is enabled, Amazon Web Services\n configures zonal autoshift for the cluster.

        \n

        Cluster updates are asynchronous, and they should finish within a few minutes. During\n an update, the cluster status moves to UPDATING (this status transition is\n eventually consistent). When the update is complete (either Failed or\n Successful), the cluster status moves to Active.

        ", + "smithy.api#documentation": "

        Updates an Amazon EKS cluster configuration. Your cluster continues to\n function during the update. The response output includes an update ID that you can use\n to track the status of your cluster update with DescribeUpdate\"/>.

        \n

        You can use this API operation to enable or disable exporting the Kubernetes control plane\n logs for your cluster to CloudWatch Logs. By default, cluster control plane logs\n aren't exported to CloudWatch Logs. For more information, see Amazon EKS\n Cluster control plane logs in the\n \n Amazon EKS User Guide\n .

        \n \n

        CloudWatch Logs ingestion, archive storage, and data scanning rates apply to\n exported control plane logs. For more information, see CloudWatch\n Pricing.

        \n
        \n

        You can also use this API operation to enable or disable public and private access to\n your cluster's Kubernetes API server endpoint. By default, public access is enabled, and\n private access is disabled. For more information, see Amazon EKS\n cluster endpoint access control in the\n \n Amazon EKS User Guide\n .

        \n

        You can also use this API operation to choose different subnets and security groups\n for the cluster. You must specify at least two subnets that are in different\n Availability Zones. You can't change which VPC the subnets are from, the subnets must be\n in the same VPC as the subnets that the cluster was created with. For more information\n about the VPC requirements, see https://docs.aws.amazon.com/eks/latest/userguide/network_reqs.html in the \n Amazon EKS User Guide\n .

        \n

        You can also use this API operation to enable or disable ARC zonal shift. If zonal shift is enabled, Amazon Web Services\n configures zonal autoshift for the cluster.

        \n

        Cluster updates are asynchronous, and they should finish within a few minutes. During\n an update, the cluster status moves to UPDATING (this status transition is\n eventually consistent). When the update is complete (either Failed or\n Successful), the cluster status moves to Active.

        ", "smithy.api#http": { "method": "POST", "uri": "/clusters/{name}/update-config", @@ -10568,7 +10591,7 @@ "logging": { "target": "com.amazonaws.eks#Logging", "traits": { - "smithy.api#documentation": "

        Enable or disable exporting the Kubernetes control plane logs for your cluster to CloudWatch Logs. By default, cluster control plane logs aren't exported to CloudWatch Logs. For more information, see Amazon EKS cluster control plane logs in the\n \n Amazon EKS User Guide\n .

        \n \n

        CloudWatch Logs ingestion, archive storage, and data scanning rates apply to\n exported control plane logs. For more information, see CloudWatch\n Pricing.

        \n
        " + "smithy.api#documentation": "

        Enable or disable exporting the Kubernetes control plane logs for your cluster to CloudWatch Logs\n . By default, cluster control plane logs aren't exported to CloudWatch Logs\n . For more information, see Amazon EKS\n cluster control plane logs in the\n \n Amazon EKS User Guide\n .

        \n \n

        CloudWatch Logs ingestion, archive storage, and data scanning rates apply to\n exported control plane logs. For more information, see CloudWatch\n Pricing.

        \n
        " } }, "clientRequestToken": { @@ -10656,7 +10679,7 @@ } ], "traits": { - "smithy.api#documentation": "

        Updates an Amazon EKS cluster to the specified Kubernetes version. Your cluster\n continues to function during the update. The response output includes an update ID that\n you can use to track the status of your cluster update with the DescribeUpdate API operation.

        \n

        Cluster updates are asynchronous, and they should finish within a few minutes. During\n an update, the cluster status moves to UPDATING (this status transition is\n eventually consistent). When the update is complete (either Failed or\n Successful), the cluster status moves to Active.

        \n

        If your cluster has managed node groups attached to it, all of your node groups’ Kubernetes\n versions must match the cluster’s Kubernetes version in order to update the cluster to a new\n Kubernetes version.

        ", + "smithy.api#documentation": "

        Updates an Amazon EKS cluster to the specified Kubernetes version. Your cluster\n continues to function during the update. The response output includes an update ID that\n you can use to track the status of your cluster update with the DescribeUpdate API operation.

        \n

        Cluster updates are asynchronous, and they should finish within a few minutes. During\n an update, the cluster status moves to UPDATING (this status transition is\n eventually consistent). When the update is complete (either Failed or\n Successful), the cluster status moves to Active.

        \n

        If your cluster has managed node groups attached to it, all of your node groups' Kubernetes\n versions must match the cluster's Kubernetes version in order to update the cluster to a new\n Kubernetes version.

        ", "smithy.api#http": { "method": "POST", "uri": "/clusters/{name}/updates", @@ -10836,7 +10859,7 @@ } ], "traits": { - "smithy.api#documentation": "

        Updates an Amazon EKS managed node group configuration. Your node group\n continues to function during the update. The response output includes an update ID that\n you can use to track the status of your node group update with the DescribeUpdate API operation. Currently you can update the Kubernetes labels\n for a node group or the scaling configuration.

        ", + "smithy.api#documentation": "

        Updates an Amazon EKS managed node group configuration. Your node group\n continues to function during the update. The response output includes an update ID that\n you can use to track the status of your node group update with the DescribeUpdate API operation. You can update the Kubernetes labels and taints\n for a node group and the scaling and version update configuration.

        ", "smithy.api#http": { "method": "POST", "uri": "/clusters/{clusterName}/node-groups/{nodegroupName}/update-config", @@ -10981,7 +11004,7 @@ "releaseVersion": { "target": "com.amazonaws.eks#String", "traits": { - "smithy.api#documentation": "

        The AMI version of the Amazon EKS optimized AMI to use for the update. By\n default, the latest available AMI version for the node group's Kubernetes version is used.\n For information about Linux versions, see Amazon EKS optimized Amazon Linux AMI versions in the Amazon EKS User Guide. Amazon EKS managed node groups support the November 2022 and later releases of the\n Windows AMIs. For information about Windows versions, see Amazon EKS optimized Windows AMI versions in the\n Amazon EKS User Guide.

        \n

        If you specify launchTemplate, and your launch template uses a custom AMI, then don't specify \n releaseVersion, or the node group update will fail.\n For more information about using launch templates with Amazon EKS, see Customizing managed nodes with launch templates in the Amazon EKS User Guide.

        " + "smithy.api#documentation": "

        The AMI version of the Amazon EKS optimized AMI to use for the update. By\n default, the latest available AMI version for the node group's Kubernetes version is used.\n For information about Linux versions, see Amazon EKS\n optimized Amazon Linux AMI versions in the Amazon EKS User Guide. Amazon EKS\n managed node groups support the November 2022 and later releases of the\n Windows AMIs. For information about Windows versions, see Amazon EKS optimized Windows AMI versions in the\n Amazon EKS User Guide.

        \n

        If you specify launchTemplate, and your launch template uses a custom AMI, then don't specify \n releaseVersion, or the node group update will fail.\n For more information about using launch templates with Amazon EKS, see Customizing managed nodes with launch templates in the Amazon EKS User Guide.

        " } }, "launchTemplate": { @@ -11187,6 +11210,12 @@ "smithy.api#enumValue": "NodeRepairEnabled" } }, + "UPDATE_STRATEGY": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "UpdateStrategy" + } + }, "CONFIGURATION_VALUES": { "target": "smithy.api#Unit", "traits": { @@ -11475,12 +11504,12 @@ "supportType": { "target": "com.amazonaws.eks#SupportType", "traits": { - "smithy.api#documentation": "

        If the cluster is set to EXTENDED, it will enter extended support at the end of standard support. If the cluster is set to STANDARD, it will be automatically upgraded at the end of standard support.

        \n

        \n Learn more about EKS Extended Support in the EKS User Guide.\n

        " + "smithy.api#documentation": "

        If the cluster is set to EXTENDED, it will enter extended support at the end of standard support. If the cluster is set to STANDARD, it will be automatically upgraded at the end of standard support.

        \n

        \n Learn more about EKS Extended Support in the Amazon EKS User Guide.\n

        " } } }, "traits": { - "smithy.api#documentation": "

        The support policy to use for the cluster. Extended support allows you to remain on specific Kubernetes versions for longer. Clusters in extended support have higher costs. The default value is EXTENDED. Use STANDARD to disable extended support.

        \n

        \n Learn more about EKS Extended Support in the EKS User Guide.\n

        " + "smithy.api#documentation": "

        The support policy to use for the cluster. Extended support allows you to remain on specific Kubernetes versions for longer. Clusters in extended support have higher costs. The default value is EXTENDED. Use STANDARD to disable extended support.

        \n

        \n Learn more about EKS Extended Support in the Amazon EKS User Guide.\n

        " } }, "com.amazonaws.eks#UpgradePolicyResponse": { @@ -11489,12 +11518,12 @@ "supportType": { "target": "com.amazonaws.eks#SupportType", "traits": { - "smithy.api#documentation": "

        If the cluster is set to EXTENDED, it will enter extended support at the end of standard support. If the cluster is set to STANDARD, it will be automatically upgraded at the end of standard support.

        \n

        \n Learn more about EKS Extended Support in the EKS User Guide.\n

        " + "smithy.api#documentation": "

        If the cluster is set to EXTENDED, it will enter extended support at the end of standard support. If the cluster is set to STANDARD, it will be automatically upgraded at the end of standard support.

        \n

        \n Learn more about EKS Extended Support in the Amazon EKS User Guide.\n

        " } } }, "traits": { - "smithy.api#documentation": "

        This value indicates if extended support is enabled or disabled for the cluster.

        \n

        \n Learn more about EKS Extended Support in the EKS User Guide.\n

        " + "smithy.api#documentation": "

        This value indicates if extended support is enabled or disabled for the cluster.

        \n

        \n Learn more about EKS Extended Support in the Amazon EKS User Guide.\n

        " } }, "com.amazonaws.eks#VpcConfigRequest": { @@ -11527,7 +11556,7 @@ "publicAccessCidrs": { "target": "com.amazonaws.eks#StringList", "traits": { - "smithy.api#documentation": "

        The CIDR blocks that are allowed access to your cluster's public Kubernetes API server\n endpoint. Communication to the endpoint from addresses outside of the CIDR blocks that\n you specify is denied. The default value is 0.0.0.0/0. If you've disabled\n private endpoint access, make sure that you specify the necessary CIDR blocks for every\n node and Fargate\n Pod in the cluster. For more information, see Amazon EKS cluster endpoint access control in the\n \n Amazon EKS User Guide\n .

        " + "smithy.api#documentation": "

        The CIDR blocks that are allowed access to your cluster's public Kubernetes API server\n endpoint. Communication to the endpoint from addresses outside of the CIDR blocks that\n you specify is denied. The default value is 0.0.0.0/0. If you've disabled\n private endpoint access, make sure that you specify the necessary CIDR blocks for every\n node and Fargate\n Pod in the cluster. For more information, see Amazon EKS cluster \n endpoint access control in the \n Amazon EKS User Guide\n .

        " } } }, @@ -11573,7 +11602,7 @@ "target": "com.amazonaws.eks#Boolean", "traits": { "smithy.api#default": false, - "smithy.api#documentation": "

        This parameter indicates whether the Amazon EKS private API server endpoint is\n enabled. If the Amazon EKS private API server endpoint is enabled, Kubernetes API\n requests that originate from within your cluster's VPC use the private VPC endpoint\n instead of traversing the internet. If this value is disabled and you have nodes or\n Fargate pods in the cluster, then ensure that\n publicAccessCidrs includes the necessary CIDR blocks for communication\n with the nodes or Fargate pods. For more information, see Amazon EKS cluster endpoint access control in the\n \n Amazon EKS User Guide\n .

        " + "smithy.api#documentation": "

        This parameter indicates whether the Amazon EKS private API server endpoint is\n enabled. If the Amazon EKS private API server endpoint is enabled, Kubernetes API\n requests that originate from within your cluster's VPC use the private VPC endpoint\n instead of traversing the internet. If this value is disabled and you have nodes or\n Fargate pods in the cluster, then ensure that\n publicAccessCidrs includes the necessary CIDR blocks for communication\n with the nodes or Fargate pods. For more information, see Amazon EKS\n cluster endpoint access control in the\n \n Amazon EKS User Guide\n .

        " } }, "publicAccessCidrs": { diff --git a/tools/code-generation/smithy/api-descriptions/firehose.json b/tools/code-generation/smithy/api-descriptions/firehose.json index 1febfffaba6..61475c4174a 100644 --- a/tools/code-generation/smithy/api-descriptions/firehose.json +++ b/tools/code-generation/smithy/api-descriptions/firehose.json @@ -765,7 +765,7 @@ "WarehouseLocation": { "target": "com.amazonaws.firehose#WarehouseLocation", "traits": { - "smithy.api#documentation": "

        \n

        \n

        Amazon Data Firehose is in preview release and is subject to change.

        " + "smithy.api#documentation": "

        The warehouse location for Apache Iceberg tables. You must configure this when schema\n evolution and table creation is enabled.

        \n

        Amazon Data Firehose is in preview release and is subject to change.

        " } } }, @@ -981,6 +981,12 @@ "smithy.api#documentation": "

        The Firehose stream type. This parameter can be one of the following\n values:

        \n
          \n
        • \n

          \n DirectPut: Provider applications access the Firehose stream\n directly.

          \n
        • \n
        • \n

          \n KinesisStreamAsSource: The Firehose stream uses a Kinesis data\n stream as a source.

          \n
        • \n
        " } }, + "DirectPutSourceConfiguration": { + "target": "com.amazonaws.firehose#DirectPutSourceConfiguration", + "traits": { + "smithy.api#documentation": "

        The structure that configures parameters such as ThroughputHintInMBs for a\n stream configured with Direct PUT as a source.

        " + } + }, "KinesisStreamSourceConfiguration": { "target": "com.amazonaws.firehose#KinesisStreamSourceConfiguration", "traits": { @@ -1015,7 +1021,7 @@ "ElasticsearchDestinationConfiguration": { "target": "com.amazonaws.firehose#ElasticsearchDestinationConfiguration", "traits": { - "smithy.api#documentation": "

        The destination in Amazon ES. You can specify only one destination.

        " + "smithy.api#documentation": "

        The destination in Amazon OpenSearch Service. You can specify only one destination.

        " } }, "AmazonopensearchserviceDestinationConfiguration": { @@ -1039,7 +1045,7 @@ "Tags": { "target": "com.amazonaws.firehose#TagDeliveryStreamInputTagList", "traits": { - "smithy.api#documentation": "

        A set of tags to assign to the Firehose stream. A tag is a key-value pair that you can\n define and assign to Amazon Web Services resources. Tags are metadata. For example, you can\n add friendly names and descriptions or other types of information that can help you\n distinguish the Firehose stream. For more information about tags, see Using\n Cost Allocation Tags in the Amazon Web Services Billing and Cost Management User\n Guide.

        \n

        You can specify up to 50 tags when creating a Firehose stream.

        \n

        If you specify tags in the CreateDeliveryStream action, Amazon Data\n Firehose performs an additional authorization on the\n firehose:TagDeliveryStream action to verify if users have permissions to\n create tags. If you do not provide this permission, requests to create new Firehose\n Firehose streams with IAM resource tags will fail with an\n AccessDeniedException such as following.

        \n

        \n AccessDeniedException\n

        \n

        User: arn:aws:sts::x:assumed-role/x/x is not authorized to perform: firehose:TagDeliveryStream on resource: arn:aws:firehose:us-east-1:x:deliverystream/x with an explicit deny in an identity-based policy.

        \n

        For an example IAM policy, see Tag example.\n

        " + "smithy.api#documentation": "

        A set of tags to assign to the Firehose stream. A tag is a key-value pair that you can\n define and assign to Amazon Web Services resources. Tags are metadata. For example, you can\n add friendly names and descriptions or other types of information that can help you\n distinguish the Firehose stream. For more information about tags, see Using\n Cost Allocation Tags in the Amazon Web Services Billing and Cost Management User\n Guide.

        \n

        You can specify up to 50 tags when creating a Firehose stream.

        \n

        If you specify tags in the CreateDeliveryStream action, Amazon Data\n Firehose performs an additional authorization on the\n firehose:TagDeliveryStream action to verify if users have permissions to\n create tags. If you do not provide this permission, requests to create new Firehose streams\n with IAM resource tags will fail with an AccessDeniedException such as\n following.

        \n

        \n AccessDeniedException\n

        \n

        User: arn:aws:sts::x:assumed-role/x/x is not authorized to perform: firehose:TagDeliveryStream on resource: arn:aws:firehose:us-east-1:x:deliverystream/x with an explicit deny in an identity-based policy.

        \n

        For an example IAM policy, see Tag example.\n

        " } }, "AmazonOpenSearchServerlessDestinationConfiguration": { @@ -1066,7 +1072,7 @@ "DatabaseSourceConfiguration": { "target": "com.amazonaws.firehose#DatabaseSourceConfiguration", "traits": { - "smithy.api#documentation": "

        \n

        \n

        Amazon Data Firehose is in preview release and is subject to change.

        " + "smithy.api#documentation": "

        \n The top level object for configuring streams with database as a source. \n

        \n

        Amazon Data Firehose is in preview release and is subject to change.

        " } } }, @@ -1171,18 +1177,18 @@ "Include": { "target": "com.amazonaws.firehose#DatabaseColumnIncludeOrExcludeList", "traits": { - "smithy.api#documentation": "

        \n

        \n

        Amazon Data Firehose is in preview release and is subject to change.

        " + "smithy.api#documentation": "

        \n The list of column patterns in source database to be included for Firehose to read from.\n

        \n

        Amazon Data Firehose is in preview release and is subject to change.

        " } }, "Exclude": { "target": "com.amazonaws.firehose#DatabaseColumnIncludeOrExcludeList", "traits": { - "smithy.api#documentation": "

        \n

        \n

        Amazon Data Firehose is in preview release and is subject to change.

        " + "smithy.api#documentation": "

        \n The list of column patterns in source database to be excluded for Firehose to read from.\n

        \n

        Amazon Data Firehose is in preview release and is subject to change.

        " } } }, "traits": { - "smithy.api#documentation": "

        \n

        \n

        Amazon Data Firehose is in preview release and is subject to change.

        " + "smithy.api#documentation": "

        The structure used to configure the list of column patterns in source database\n endpoint for Firehose to read from.

        \n

        Amazon Data Firehose is in preview release and is subject to change.

        " } }, "com.amazonaws.firehose#DatabaseColumnName": { @@ -1217,18 +1223,18 @@ "Include": { "target": "com.amazonaws.firehose#DatabaseIncludeOrExcludeList", "traits": { - "smithy.api#documentation": "

        \n

        \n

        Amazon Data Firehose is in preview release and is subject to change.

        " + "smithy.api#documentation": "

        The list of database patterns in source database endpoint to be included for Firehose\n to read from.

        \n

        Amazon Data Firehose is in preview release and is subject to change.

        " } }, "Exclude": { "target": "com.amazonaws.firehose#DatabaseIncludeOrExcludeList", "traits": { - "smithy.api#documentation": "

        \n

        \n

        Amazon Data Firehose is in preview release and is subject to change.

        " + "smithy.api#documentation": "

        The list of database patterns in source database endpoint to be excluded for Firehose\n to read from.

        \n

        Amazon Data Firehose is in preview release and is subject to change.

        " } } }, "traits": { - "smithy.api#documentation": "

        \n

        \n

        Amazon Data Firehose is in preview release and is subject to change.

        " + "smithy.api#documentation": "

        The structure used to configure the list of database patterns in source database\n endpoint for Firehose to read from.

        \n

        Amazon Data Firehose is in preview release and is subject to change.

        " } }, "com.amazonaws.firehose#DatabaseName": { @@ -1256,35 +1262,35 @@ "Id": { "target": "com.amazonaws.firehose#NonEmptyStringWithoutWhitespace", "traits": { - "smithy.api#documentation": "

        \n

        \n

        Amazon Data Firehose is in preview release and is subject to change.

        ", + "smithy.api#documentation": "

        \n The identifier of the current snapshot of the table in source database endpoint.\n

        \n

        Amazon Data Firehose is in preview release and is subject to change.

        ", "smithy.api#required": {} } }, "Table": { "target": "com.amazonaws.firehose#DatabaseTableName", "traits": { - "smithy.api#documentation": "

        \n

        \n

        Amazon Data Firehose is in preview release and is subject to change.

        ", + "smithy.api#documentation": "

        \n The fully qualified name of the table in source database endpoint that Firehose reads.\n

        \n

        Amazon Data Firehose is in preview release and is subject to change.

        ", "smithy.api#required": {} } }, "RequestTimestamp": { "target": "com.amazonaws.firehose#Timestamp", "traits": { - "smithy.api#documentation": "

        \n

        \n

        Amazon Data Firehose is in preview release and is subject to change.

        ", + "smithy.api#documentation": "

        \n The timestamp when the current snapshot is taken on the table.\n

        \n

        Amazon Data Firehose is in preview release and is subject to change.

        ", "smithy.api#required": {} } }, "RequestedBy": { "target": "com.amazonaws.firehose#SnapshotRequestedBy", "traits": { - "smithy.api#documentation": "

        \n

        \n

        Amazon Data Firehose is in preview release and is subject to change.

        ", + "smithy.api#documentation": "

        \n The principal that sent the request to take the current snapshot on the table.\n

        \n

        Amazon Data Firehose is in preview release and is subject to change.

        ", "smithy.api#required": {} } }, "Status": { "target": "com.amazonaws.firehose#SnapshotStatus", "traits": { - "smithy.api#documentation": "

        \n

        \n

        Amazon Data Firehose is in preview release and is subject to change.

        ", + "smithy.api#documentation": "

        \n The status of the current snapshot of the table.\n

        \n

        Amazon Data Firehose is in preview release and is subject to change.

        ", "smithy.api#required": {} } }, @@ -1293,7 +1299,7 @@ } }, "traits": { - "smithy.api#documentation": "

        \n

        \n

        Amazon Data Firehose is in preview release and is subject to change.

        " + "smithy.api#documentation": "

        \n The structure that describes the snapshot information of a table in source database endpoint that Firehose reads. \n

        \n

        Amazon Data Firehose is in preview release and is subject to change.

        " } }, "com.amazonaws.firehose#DatabaseSnapshotInfoList": { @@ -1313,7 +1319,7 @@ } }, "traits": { - "smithy.api#documentation": "

        \n

        \n

        Amazon Data Firehose is in preview release and is subject to change.

        " + "smithy.api#documentation": "

        \n The structure to configure the authentication methods for Firehose to connect to source database endpoint.\n

        \n

        Amazon Data Firehose is in preview release and is subject to change.

        " } }, "com.amazonaws.firehose#DatabaseSourceConfiguration": { @@ -1322,80 +1328,80 @@ "Type": { "target": "com.amazonaws.firehose#DatabaseType", "traits": { - "smithy.api#documentation": "

        \n

        \n

        Amazon Data Firehose is in preview release and is subject to change.

        ", + "smithy.api#documentation": "

        The type of database engine. This can be one of the following values.

        \n
          \n
        • \n

          MySQL

          \n
        • \n
        • \n

          PostgreSQL

          \n
        • \n
        \n

        Amazon Data Firehose is in preview release and is subject to change.

        ", "smithy.api#required": {} } }, "Endpoint": { "target": "com.amazonaws.firehose#DatabaseEndpoint", "traits": { - "smithy.api#documentation": "

        \n

        \n

        Amazon Data Firehose is in preview release and is subject to change.

        ", + "smithy.api#documentation": "

        \n The endpoint of the database server.\n

        \n

        Amazon Data Firehose is in preview release and is subject to change.

        ", "smithy.api#required": {} } }, "Port": { "target": "com.amazonaws.firehose#DatabasePort", "traits": { - "smithy.api#documentation": "

        \n

        \n

        Amazon Data Firehose is in preview release and is subject to change.

        ", + "smithy.api#documentation": "

        The port of the database. This can be one of the following values.

        \n
          \n
        • \n

          3306 for MySQL database type

          \n
        • \n
        • \n

          5432 for PostgreSQL database type

          \n
        • \n
        \n

        Amazon Data Firehose is in preview release and is subject to change.

        ", "smithy.api#required": {} } }, "SSLMode": { "target": "com.amazonaws.firehose#SSLMode", "traits": { - "smithy.api#documentation": "

        \n

        \n

        Amazon Data Firehose is in preview release and is subject to change.

        " + "smithy.api#documentation": "

        \n The mode to enable or disable SSL when Firehose connects to the database endpoint.\n

        \n

        Amazon Data Firehose is in preview release and is subject to change.

        " } }, "Databases": { "target": "com.amazonaws.firehose#DatabaseList", "traits": { - "smithy.api#documentation": "

        \n

        \n

        Amazon Data Firehose is in preview release and is subject to change.

        ", + "smithy.api#documentation": "

        \n The list of database patterns in source database endpoint for Firehose to read from.\n

        \n

        Amazon Data Firehose is in preview release and is subject to change.

        ", "smithy.api#required": {} } }, "Tables": { "target": "com.amazonaws.firehose#DatabaseTableList", "traits": { - "smithy.api#documentation": "

        \n

        \n

        Amazon Data Firehose is in preview release and is subject to change.

        ", + "smithy.api#documentation": "

        \n The list of table patterns in source database endpoint for Firehose to read from.\n

        \n

        Amazon Data Firehose is in preview release and is subject to change.

        ", "smithy.api#required": {} } }, "Columns": { "target": "com.amazonaws.firehose#DatabaseColumnList", "traits": { - "smithy.api#documentation": "

        \n

        \n

        Amazon Data Firehose is in preview release and is subject to change.

        " + "smithy.api#documentation": "

        \n The list of column patterns in source database endpoint for Firehose to read from. \n

        \n

        Amazon Data Firehose is in preview release and is subject to change.

        " } }, "SurrogateKeys": { "target": "com.amazonaws.firehose#DatabaseSurrogateKeyList", "traits": { - "smithy.api#documentation": "

        \n

        \n

        Amazon Data Firehose is in preview release and is subject to change.

        " + "smithy.api#documentation": "

        \n The optional list of table and column names used as unique key columns when taking snapshot if the tables don’t have primary keys configured.\n

        \n

        Amazon Data Firehose is in preview release and is subject to change.

        " } }, "SnapshotWatermarkTable": { "target": "com.amazonaws.firehose#DatabaseTableName", "traits": { - "smithy.api#documentation": "

        \n

        \n

        Amazon Data Firehose is in preview release and is subject to change.

        ", + "smithy.api#documentation": "

        \n The fully qualified name of the table in source database endpoint that Firehose uses to track snapshot progress.\n

        \n

        Amazon Data Firehose is in preview release and is subject to change.

        ", "smithy.api#required": {} } }, "DatabaseSourceAuthenticationConfiguration": { "target": "com.amazonaws.firehose#DatabaseSourceAuthenticationConfiguration", "traits": { - "smithy.api#documentation": "

        \n

        \n

        Amazon Data Firehose is in preview release and is subject to change.

        ", + "smithy.api#documentation": "

        \n The structure to configure the authentication methods for Firehose to connect to source database endpoint.\n

        \n

        Amazon Data Firehose is in preview release and is subject to change.

        ", "smithy.api#required": {} } }, "DatabaseSourceVPCConfiguration": { "target": "com.amazonaws.firehose#DatabaseSourceVPCConfiguration", "traits": { - "smithy.api#documentation": "

        \n

        \n

        Amazon Data Firehose is in preview release and is subject to change.

        ", + "smithy.api#documentation": "

        \n The details of the VPC Endpoint Service which Firehose uses to create a PrivateLink to the database.\n

        \n

        Amazon Data Firehose is in preview release and is subject to change.

        ", "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "

        \n

        \n

        Amazon Data Firehose is in preview release and is subject to change.

        " + "smithy.api#documentation": "

        \n The top level object for configuring streams with database as a source. \n

        \n

        Amazon Data Firehose is in preview release and is subject to change.

        " } }, "com.amazonaws.firehose#DatabaseSourceDescription": { @@ -1404,78 +1410,78 @@ "Type": { "target": "com.amazonaws.firehose#DatabaseType", "traits": { - "smithy.api#documentation": "

        \n

        \n

        Amazon Data Firehose is in preview release and is subject to change.

        " + "smithy.api#documentation": "

        The type of database engine. This can be one of the following values.

        \n
          \n
        • \n

          MySQL

          \n
        • \n
        • \n

          PostgreSQL

          \n
        • \n
        \n

        Amazon Data Firehose is in preview release and is subject to change.

        " } }, "Endpoint": { "target": "com.amazonaws.firehose#DatabaseEndpoint", "traits": { - "smithy.api#documentation": "

        \n

        \n

        Amazon Data Firehose is in preview release and is subject to change.

        " + "smithy.api#documentation": "

        \n The endpoint of the database server.\n

        \n

        Amazon Data Firehose is in preview release and is subject to change.

        " } }, "Port": { "target": "com.amazonaws.firehose#DatabasePort", "traits": { - "smithy.api#documentation": "

        \n

        \n

        Amazon Data Firehose is in preview release and is subject to change.

        " + "smithy.api#documentation": "

        The port of the database. This can be one of the following values.

        \n
          \n
        • \n

          3306 for MySQL database type

          \n
        • \n
        • \n

          5432 for PostgreSQL database type

          \n
        • \n
        \n

        Amazon Data Firehose is in preview release and is subject to change.

        " } }, "SSLMode": { "target": "com.amazonaws.firehose#SSLMode", "traits": { - "smithy.api#documentation": "

        \n

        \n

        Amazon Data Firehose is in preview release and is subject to change.

        " + "smithy.api#documentation": "

        \n The mode to enable or disable SSL when Firehose connects to the database endpoint.\n

        \n

        Amazon Data Firehose is in preview release and is subject to change.

        " } }, "Databases": { "target": "com.amazonaws.firehose#DatabaseList", "traits": { - "smithy.api#documentation": "

        \n

        \n

        Amazon Data Firehose is in preview release and is subject to change.

        " + "smithy.api#documentation": "

        \n The list of database patterns in source database endpoint for Firehose to read from.\n

        \n

        Amazon Data Firehose is in preview release and is subject to change.

        " } }, "Tables": { "target": "com.amazonaws.firehose#DatabaseTableList", "traits": { - "smithy.api#documentation": "

        \n

        \n

        Amazon Data Firehose is in preview release and is subject to change.

        " + "smithy.api#documentation": "

        \n The list of table patterns in source database endpoint for Firehose to read from.\n

        \n

        Amazon Data Firehose is in preview release and is subject to change.

        " } }, "Columns": { "target": "com.amazonaws.firehose#DatabaseColumnList", "traits": { - "smithy.api#documentation": "

        \n

        \n

        Amazon Data Firehose is in preview release and is subject to change.

        " + "smithy.api#documentation": "

        \n The list of column patterns in source database endpoint for Firehose to read from. \n

        \n

        Amazon Data Firehose is in preview release and is subject to change.

        " } }, "SurrogateKeys": { "target": "com.amazonaws.firehose#DatabaseColumnIncludeOrExcludeList", "traits": { - "smithy.api#documentation": "

        \n

        \n

        Amazon Data Firehose is in preview release and is subject to change.

        " + "smithy.api#documentation": "

        \n The optional list of table and column names used as unique key columns when taking snapshot if the tables don’t have primary keys configured.\n

        \n

        Amazon Data Firehose is in preview release and is subject to change.

        " } }, "SnapshotWatermarkTable": { "target": "com.amazonaws.firehose#DatabaseTableName", "traits": { - "smithy.api#documentation": "

        \n

        \n

        Amazon Data Firehose is in preview release and is subject to change.

        " + "smithy.api#documentation": "

        \n The fully qualified name of the table in source database endpoint that Firehose uses to track snapshot progress.\n

        \n

        Amazon Data Firehose is in preview release and is subject to change.

        " } }, "SnapshotInfo": { "target": "com.amazonaws.firehose#DatabaseSnapshotInfoList", "traits": { - "smithy.api#documentation": "

        \n

        \n

        Amazon Data Firehose is in preview release and is subject to change.

        " + "smithy.api#documentation": "

        \n The structure that describes the snapshot information of a table in source database endpoint that Firehose reads. \n

        \n

        Amazon Data Firehose is in preview release and is subject to change.

        " } }, "DatabaseSourceAuthenticationConfiguration": { "target": "com.amazonaws.firehose#DatabaseSourceAuthenticationConfiguration", "traits": { - "smithy.api#documentation": "

        \n

        \n

        Amazon Data Firehose is in preview release and is subject to change.

        " + "smithy.api#documentation": "

        \n The structure to configure the authentication methods for Firehose to connect to source database endpoint.\n

        \n

        Amazon Data Firehose is in preview release and is subject to change.

        " } }, "DatabaseSourceVPCConfiguration": { "target": "com.amazonaws.firehose#DatabaseSourceVPCConfiguration", "traits": { - "smithy.api#documentation": "

        \n

        \n

        Amazon Data Firehose is in preview release and is subject to change.

        " + "smithy.api#documentation": "

        \n The details of the VPC Endpoint Service which Firehose uses to create a PrivateLink to the database.\n

        \n

        Amazon Data Firehose is in preview release and is subject to change.

        " } } }, "traits": { - "smithy.api#documentation": "

        \n

        \n

        Amazon Data Firehose is in preview release and is subject to change.

        " + "smithy.api#documentation": "

        \n The top level object for database source description.\n

        \n

        Amazon Data Firehose is in preview release and is subject to change.

        " } }, "com.amazonaws.firehose#DatabaseSourceVPCConfiguration": { @@ -1484,13 +1490,13 @@ "VpcEndpointServiceName": { "target": "com.amazonaws.firehose#VpcEndpointServiceName", "traits": { - "smithy.api#documentation": "

        \n

        \n

        Amazon Data Firehose is in preview release and is subject to change.

        ", + "smithy.api#documentation": "

        \n The VPC endpoint service name which Firehose uses to create a PrivateLink to the database. The endpoint service must have the Firehose service principle firehose.amazonaws.com as an allowed principal on the VPC endpoint service. The VPC endpoint service name is a string that looks like com.amazonaws.vpce... \n

        \n

        Amazon Data Firehose is in preview release and is subject to change.

        ", "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "

        \n

        \n

        Amazon Data Firehose is in preview release and is subject to change.

        " + "smithy.api#documentation": "

        \n The structure for details of the VPC Endpoint Service which Firehose uses to create a PrivateLink to the database.\n

        \n

        Amazon Data Firehose is in preview release and is subject to change.

        " } }, "com.amazonaws.firehose#DatabaseSurrogateKeyList": { @@ -1511,18 +1517,18 @@ "Include": { "target": "com.amazonaws.firehose#DatabaseTableIncludeOrExcludeList", "traits": { - "smithy.api#documentation": "

        \n

        \n

        Amazon Data Firehose is in preview release and is subject to change.

        " + "smithy.api#documentation": "

        The list of table patterns in source database endpoint to be included for Firehose to\n read from.

        \n

        Amazon Data Firehose is in preview release and is subject to change.

        " } }, "Exclude": { "target": "com.amazonaws.firehose#DatabaseTableIncludeOrExcludeList", "traits": { - "smithy.api#documentation": "

        \n

        \n

        Amazon Data Firehose is in preview release and is subject to change.

        " + "smithy.api#documentation": "

        The list of table patterns in source database endpoint to be excluded for Firehose to\n read from.

        \n

        Amazon Data Firehose is in preview release and is subject to change.

        " } } }, "traits": { - "smithy.api#documentation": "

        \n

        \n

        Amazon Data Firehose is in preview release and is subject to change.

        " + "smithy.api#documentation": "

        The structure used to configure the list of table patterns in source database endpoint\n for Firehose to read from.

        \n

        Amazon Data Firehose is in preview release and is subject to change.

        " } }, "com.amazonaws.firehose#DatabaseTableName": { @@ -2127,7 +2133,7 @@ "ElasticsearchDestinationDescription": { "target": "com.amazonaws.firehose#ElasticsearchDestinationDescription", "traits": { - "smithy.api#documentation": "

        The destination in Amazon ES.

        " + "smithy.api#documentation": "

        The destination in Amazon OpenSearch Service.

        " } }, "AmazonopensearchserviceDestinationDescription": { @@ -2213,7 +2219,7 @@ "PartitionSpec": { "target": "com.amazonaws.firehose#PartitionSpec", "traits": { - "smithy.api#documentation": "

        \n

        \n

        Amazon Data Firehose is in preview release and is subject to change.

        " + "smithy.api#documentation": "

        The partition spec configuration for a table that is used by automatic table\n creation.

        \n

        Amazon Data Firehose is in preview release and is subject to change.

        " } }, "S3ErrorOutputPrefix": { @@ -2233,6 +2239,35 @@ "target": "com.amazonaws.firehose#DestinationTableConfiguration" } }, + "com.amazonaws.firehose#DirectPutSourceConfiguration": { + "type": "structure", + "members": { + "ThroughputHintInMBs": { + "target": "com.amazonaws.firehose#ThroughputHintInMBs", + "traits": { + "smithy.api#documentation": "

        The value that you configure for this parameter is for information purpose only and\n does not affect Firehose delivery throughput limit. You can use the Firehose Limits form to request a throughput limit increase.

        ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

        The structure that configures parameters such as ThroughputHintInMBs for a stream configured with\n Direct PUT as a source.

        " + } + }, + "com.amazonaws.firehose#DirectPutSourceDescription": { + "type": "structure", + "members": { + "ThroughputHintInMBs": { + "target": "com.amazonaws.firehose#ThroughputHintInMBs", + "traits": { + "smithy.api#documentation": "

        The value that you configure for this parameter is for information purpose only and\n does not affect Firehose delivery throughput limit. You can use the Firehose Limits form to request a throughput limit increase.

        " + } + } + }, + "traits": { + "smithy.api#documentation": "

        The structure that configures parameters such as ThroughputHintInMBs for a stream configured with\n Direct PUT as a source.

        " + } + }, "com.amazonaws.firehose#DocumentIdOptions": { "type": "structure", "members": { @@ -2260,7 +2295,7 @@ "Enabled": { "target": "com.amazonaws.firehose#BooleanObject", "traits": { - "smithy.api#documentation": "

        Specifies that the dynamic partitioning is enabled for this Firehose\n Firehose stream.

        " + "smithy.api#documentation": "

        Specifies that the dynamic partitioning is enabled for this Firehose stream.

        " } } }, @@ -2285,7 +2320,7 @@ } }, "traits": { - "smithy.api#documentation": "

        Describes the buffering to perform before delivering data to the Amazon ES\n destination.

        " + "smithy.api#documentation": "

        Describes the buffering to perform before delivering data to the Amazon OpenSearch Service\n destination.

        " } }, "com.amazonaws.firehose#ElasticsearchBufferingIntervalInSeconds": { @@ -2322,14 +2357,14 @@ "RoleARN": { "target": "com.amazonaws.firehose#RoleARN", "traits": { - "smithy.api#documentation": "

        The Amazon Resource Name (ARN) of the IAM role to be assumed by Firehose\n for calling the Amazon ES Configuration API and for indexing documents. For more\n information, see Grant Firehose Access to an Amazon S3 Destination and Amazon Resource Names (ARNs) and\n Amazon Web Services Service Namespaces.

        ", + "smithy.api#documentation": "

        The Amazon Resource Name (ARN) of the IAM role to be assumed by Firehose\n for calling the Amazon OpenSearch Service Configuration API and for indexing documents. For more\n information, see Grant Firehose Access to an Amazon S3 Destination and Amazon Resource Names (ARNs) and\n Amazon Web Services Service Namespaces.

        ", "smithy.api#required": {} } }, "DomainARN": { "target": "com.amazonaws.firehose#ElasticsearchDomainARN", "traits": { - "smithy.api#documentation": "

        The ARN of the Amazon ES domain. The IAM role must have permissions\n for DescribeDomain, DescribeDomains, and\n DescribeDomainConfig after assuming the role specified in RoleARN. For more information, see Amazon Resource Names (ARNs) and\n Amazon Web Services Service Namespaces.

        \n

        Specify either ClusterEndpoint or DomainARN.

        " + "smithy.api#documentation": "

        The ARN of the Amazon OpenSearch Service domain. The IAM role must have permissions\n for DescribeDomain, DescribeDomains, and\n DescribeDomainConfig after assuming the role specified in RoleARN. For more information, see Amazon Resource Names (ARNs) and\n Amazon Web Services Service Namespaces.

        \n

        Specify either ClusterEndpoint or DomainARN.

        " } }, "ClusterEndpoint": { @@ -2354,7 +2389,7 @@ "IndexRotationPeriod": { "target": "com.amazonaws.firehose#ElasticsearchIndexRotationPeriod", "traits": { - "smithy.api#documentation": "

        The Elasticsearch index rotation period. Index rotation appends a timestamp to the\n IndexName to facilitate the expiration of old data. For more information,\n see Index Rotation for the\n Amazon ES Destination. The default value is OneDay.

        " + "smithy.api#documentation": "

        The Elasticsearch index rotation period. Index rotation appends a timestamp to the\n IndexName to facilitate the expiration of old data. For more information,\n see Index Rotation for the\n Amazon OpenSearch Service Destination. The default value is OneDay.

        " } }, "BufferingHints": { @@ -2366,13 +2401,13 @@ "RetryOptions": { "target": "com.amazonaws.firehose#ElasticsearchRetryOptions", "traits": { - "smithy.api#documentation": "

        The retry behavior in case Firehose is unable to deliver documents to\n Amazon ES. The default value is 300 (5 minutes).

        " + "smithy.api#documentation": "

        The retry behavior in case Firehose is unable to deliver documents to\n Amazon OpenSearch Service. The default value is 300 (5 minutes).

        " } }, "S3BackupMode": { "target": "com.amazonaws.firehose#ElasticsearchS3BackupMode", "traits": { - "smithy.api#documentation": "

        Defines how documents should be delivered to Amazon S3. When it is set to\n FailedDocumentsOnly, Firehose writes any documents that could\n not be indexed to the configured Amazon S3 destination, with\n AmazonOpenSearchService-failed/ appended to the key prefix. When set to\n AllDocuments, Firehose delivers all incoming records to Amazon\n S3, and also writes failed documents with AmazonOpenSearchService-failed/\n appended to the prefix. For more information, see Amazon S3 Backup for the\n Amazon ES Destination. Default value is\n FailedDocumentsOnly.

        \n

        You can't change this backup mode after you create the Firehose stream.

        " + "smithy.api#documentation": "

        Defines how documents should be delivered to Amazon S3. When it is set to\n FailedDocumentsOnly, Firehose writes any documents that could\n not be indexed to the configured Amazon S3 destination, with\n AmazonOpenSearchService-failed/ appended to the key prefix. When set to\n AllDocuments, Firehose delivers all incoming records to Amazon\n S3, and also writes failed documents with AmazonOpenSearchService-failed/\n appended to the prefix. For more information, see Amazon S3 Backup for the\n Amazon OpenSearch Service Destination. Default value is\n FailedDocumentsOnly.

        \n

        You can't change this backup mode after you create the Firehose stream.

        " } }, "S3Configuration": { @@ -2408,7 +2443,7 @@ } }, "traits": { - "smithy.api#documentation": "

        Describes the configuration of a destination in Amazon ES.

        " + "smithy.api#documentation": "

        Describes the configuration of a destination in Amazon OpenSearch Service.

        " } }, "com.amazonaws.firehose#ElasticsearchDestinationDescription": { @@ -2423,13 +2458,13 @@ "DomainARN": { "target": "com.amazonaws.firehose#ElasticsearchDomainARN", "traits": { - "smithy.api#documentation": "

        The ARN of the Amazon ES domain. For more information, see Amazon\n Resource Names (ARNs) and Amazon Web Services Service Namespaces.

        \n

        Firehose uses either ClusterEndpoint or DomainARN\n to send data to Amazon ES.

        " + "smithy.api#documentation": "

        The ARN of the Amazon OpenSearch Service domain. For more information, see Amazon\n Resource Names (ARNs) and Amazon Web Services Service Namespaces.

        \n

        Firehose uses either ClusterEndpoint or DomainARN\n to send data to Amazon OpenSearch Service.

        " } }, "ClusterEndpoint": { "target": "com.amazonaws.firehose#ElasticsearchClusterEndpoint", "traits": { - "smithy.api#documentation": "

        The endpoint to use when communicating with the cluster. Firehose uses\n either this ClusterEndpoint or the DomainARN field to send data\n to Amazon ES.

        " + "smithy.api#documentation": "

        The endpoint to use when communicating with the cluster. Firehose uses\n either this ClusterEndpoint or the DomainARN field to send data\n to Amazon OpenSearch Service.

        " } }, "IndexName": { @@ -2459,7 +2494,7 @@ "RetryOptions": { "target": "com.amazonaws.firehose#ElasticsearchRetryOptions", "traits": { - "smithy.api#documentation": "

        The Amazon ES retry options.

        " + "smithy.api#documentation": "

        The Amazon OpenSearch Service retry options.

        " } }, "S3BackupMode": { @@ -2500,7 +2535,7 @@ } }, "traits": { - "smithy.api#documentation": "

        The destination description in Amazon ES.

        " + "smithy.api#documentation": "

        The destination description in Amazon OpenSearch Service.

        " } }, "com.amazonaws.firehose#ElasticsearchDestinationUpdate": { @@ -2509,13 +2544,13 @@ "RoleARN": { "target": "com.amazonaws.firehose#RoleARN", "traits": { - "smithy.api#documentation": "

        The Amazon Resource Name (ARN) of the IAM role to be assumed by Firehose\n for calling the Amazon ES Configuration API and for indexing documents. For more\n information, see Grant Firehose Access to an Amazon S3 Destination and Amazon Resource Names (ARNs) and\n Amazon Web Services Service Namespaces.

        " + "smithy.api#documentation": "

        The Amazon Resource Name (ARN) of the IAM role to be assumed by Firehose\n for calling the Amazon OpenSearch Service Configuration API and for indexing documents. For more\n information, see Grant Firehose Access to an Amazon S3 Destination and Amazon Resource Names (ARNs) and\n Amazon Web Services Service Namespaces.

        " } }, "DomainARN": { "target": "com.amazonaws.firehose#ElasticsearchDomainARN", "traits": { - "smithy.api#documentation": "

        The ARN of the Amazon ES domain. The IAM role must have permissions\n for DescribeDomain, DescribeDomains, and\n DescribeDomainConfig after assuming the IAM role specified in\n RoleARN. For more information, see Amazon Resource Names (ARNs) and\n Amazon Web Services Service Namespaces.

        \n

        Specify either ClusterEndpoint or DomainARN.

        " + "smithy.api#documentation": "

        The ARN of the Amazon OpenSearch Service domain. The IAM role must have permissions\n for DescribeDomain, DescribeDomains, and\n DescribeDomainConfig after assuming the IAM role specified in\n RoleARN. For more information, see Amazon Resource Names (ARNs) and\n Amazon Web Services Service Namespaces.

        \n

        Specify either ClusterEndpoint or DomainARN.

        " } }, "ClusterEndpoint": { @@ -2539,7 +2574,7 @@ "IndexRotationPeriod": { "target": "com.amazonaws.firehose#ElasticsearchIndexRotationPeriod", "traits": { - "smithy.api#documentation": "

        The Elasticsearch index rotation period. Index rotation appends a timestamp to\n IndexName to facilitate the expiration of old data. For more information,\n see Index Rotation for the\n Amazon ES Destination. Default value is OneDay.

        " + "smithy.api#documentation": "

        The Elasticsearch index rotation period. Index rotation appends a timestamp to\n IndexName to facilitate the expiration of old data. For more information,\n see Index Rotation for the\n Amazon OpenSearch Service Destination. Default value is OneDay.

        " } }, "BufferingHints": { @@ -2551,7 +2586,7 @@ "RetryOptions": { "target": "com.amazonaws.firehose#ElasticsearchRetryOptions", "traits": { - "smithy.api#documentation": "

        The retry behavior in case Firehose is unable to deliver documents to\n Amazon ES. The default value is 300 (5 minutes).

        " + "smithy.api#documentation": "

        The retry behavior in case Firehose is unable to deliver documents to\n Amazon OpenSearch Service. The default value is 300 (5 minutes).

        " } }, "S3Update": { @@ -2580,7 +2615,7 @@ } }, "traits": { - "smithy.api#documentation": "

        Describes an update for a destination in Amazon ES.

        " + "smithy.api#documentation": "

        Describes an update for a destination in Amazon OpenSearch Service.

        " } }, "com.amazonaws.firehose#ElasticsearchDomainARN": { @@ -2653,12 +2688,12 @@ "DurationInSeconds": { "target": "com.amazonaws.firehose#ElasticsearchRetryDurationInSeconds", "traits": { - "smithy.api#documentation": "

        After an initial failure to deliver to Amazon ES, the total amount of time during\n which Firehose retries delivery (including the first attempt). After this time\n has elapsed, the failed documents are written to Amazon S3. Default value is 300 seconds (5\n minutes). A value of 0 (zero) results in no retries.

        " + "smithy.api#documentation": "

        After an initial failure to deliver to Amazon OpenSearch Service, the total amount of time during\n which Firehose retries delivery (including the first attempt). After this time\n has elapsed, the failed documents are written to Amazon S3. Default value is 300 seconds (5\n minutes). A value of 0 (zero) results in no retries.

        " } } }, "traits": { - "smithy.api#documentation": "

        Configures retry behavior in case Firehose is unable to deliver\n documents to Amazon ES.

        " + "smithy.api#documentation": "

        Configures retry behavior in case Firehose is unable to deliver\n documents to Amazon OpenSearch Service.

        " } }, "com.amazonaws.firehose#ElasticsearchS3BackupMode": { @@ -4592,13 +4627,13 @@ "SchemaEvolutionConfiguration": { "target": "com.amazonaws.firehose#SchemaEvolutionConfiguration", "traits": { - "smithy.api#documentation": "

        \n

        \n

        Amazon Data Firehose is in preview release and is subject to change.

        " + "smithy.api#documentation": "

        The configuration to enable automatic schema evolution.

        \n

        Amazon Data Firehose is in preview release and is subject to change.

        " } }, "TableCreationConfiguration": { "target": "com.amazonaws.firehose#TableCreationConfiguration", "traits": { - "smithy.api#documentation": "

        \n

        \n

        Amazon Data Firehose is in preview release and is subject to change.

        " + "smithy.api#documentation": "

        The configuration to enable automatic table creation.

        \n

        Amazon Data Firehose is in preview release and is subject to change.

        " } }, "BufferingHints": { @@ -4626,6 +4661,12 @@ "smithy.api#required": {} } }, + "AppendOnly": { + "target": "com.amazonaws.firehose#BooleanObject", + "traits": { + "smithy.api#documentation": "

        Describes whether all incoming data for this delivery stream will be append only\n (inserts only and not for updates and deletes) for Iceberg delivery. This feature is only\n applicable for Apache Iceberg Tables.

        \n

        The default value is false. If you set this value to true, Firehose automatically\n increases the throughput limit of a stream based on the throttling levels of the stream. If\n you set this parameter to true for a stream with updates and deletes, you will see out of\n order delivery.

        " + } + }, "CatalogConfiguration": { "target": "com.amazonaws.firehose#CatalogConfiguration", "traits": { @@ -4656,13 +4697,13 @@ "SchemaEvolutionConfiguration": { "target": "com.amazonaws.firehose#SchemaEvolutionConfiguration", "traits": { - "smithy.api#documentation": "

        \n

        \n

        Amazon Data Firehose is in preview release and is subject to change.

        " + "smithy.api#documentation": "

        The description of automatic schema evolution configuration.

        \n

        Amazon Data Firehose is in preview release and is subject to change.

        " } }, "TableCreationConfiguration": { "target": "com.amazonaws.firehose#TableCreationConfiguration", "traits": { - "smithy.api#documentation": "

        \n

        \n

        Amazon Data Firehose is in preview release and is subject to change.

        " + "smithy.api#documentation": "

        \n The description of table creation configuration.\n

        \n

        Amazon Data Firehose is in preview release and is subject to change.

        " } }, "BufferingHints": { @@ -4689,6 +4730,12 @@ "smithy.api#documentation": "

        \n The Amazon Resource Name (ARN) of the IAM role to be assumed by Firehose for calling Apache Iceberg Tables.\n

        " } }, + "AppendOnly": { + "target": "com.amazonaws.firehose#BooleanObject", + "traits": { + "smithy.api#documentation": "

        Describes whether all incoming data for this delivery stream will be append only\n (inserts only and not for updates and deletes) for Iceberg delivery. This feature is only\n applicable for Apache Iceberg Tables.

        \n

        The default value is false. If you set this value to true, Firehose automatically\n increases the throughput limit of a stream based on the throttling levels of the stream. If\n you set this parameter to true for a stream with updates and deletes, you will see out of\n order delivery.

        \n

        " + } + }, "CatalogConfiguration": { "target": "com.amazonaws.firehose#CatalogConfiguration", "traits": { @@ -4715,13 +4762,13 @@ "SchemaEvolutionConfiguration": { "target": "com.amazonaws.firehose#SchemaEvolutionConfiguration", "traits": { - "smithy.api#documentation": "

        \n

        \n

        Amazon Data Firehose is in preview release and is subject to change.

        " + "smithy.api#documentation": "

        \n The configuration to enable automatic schema evolution.\n

        \n

        Amazon Data Firehose is in preview release and is subject to change.

        " } }, "TableCreationConfiguration": { "target": "com.amazonaws.firehose#TableCreationConfiguration", "traits": { - "smithy.api#documentation": "

        \n

        \n

        Amazon Data Firehose is in preview release and is subject to change.

        " + "smithy.api#documentation": "

        \n The configuration to enable automatic table creation.\n

        \n

        Amazon Data Firehose is in preview release and is subject to change.

        " } }, "BufferingHints": { @@ -4748,6 +4795,12 @@ "smithy.api#documentation": "

        \n The Amazon Resource Name (ARN) of the IAM role to be assumed by Firehose for calling Apache Iceberg Tables.\n

        " } }, + "AppendOnly": { + "target": "com.amazonaws.firehose#BooleanObject", + "traits": { + "smithy.api#documentation": "

        Describes whether all incoming data for this delivery stream will be append only\n (inserts only and not for updates and deletes) for Iceberg delivery. This feature is only\n applicable for Apache Iceberg Tables.

        \n

        The default value is false. If you set this value to true, Firehose automatically\n increases the throughput limit of a stream based on the throttling levels of the stream. If\n you set this parameter to true for a stream with updates and deletes, you will see out of\n order delivery.

        " + } + }, "CatalogConfiguration": { "target": "com.amazonaws.firehose#CatalogConfiguration", "traits": { @@ -4934,7 +4987,7 @@ } }, "traits": { - "smithy.api#documentation": "

        Details about a Kinesis data stream used as the source for a Firehose\n Firehose stream.

        " + "smithy.api#documentation": "

        Details about a Kinesis data stream used as the source for a Firehose\n stream.

        " } }, "com.amazonaws.firehose#LimitExceededException": { @@ -5226,7 +5279,7 @@ } }, "traits": { - "smithy.api#documentation": "

        Details about the Amazon MSK cluster used as the source for a Firehose\n Firehose stream.

        " + "smithy.api#documentation": "

        Details about the Amazon MSK cluster used as the source for a Firehose stream.

        " } }, "com.amazonaws.firehose#NoEncryptionConfig": { @@ -5530,13 +5583,13 @@ "SourceName": { "target": "com.amazonaws.firehose#NonEmptyStringWithoutWhitespace", "traits": { - "smithy.api#documentation": "

        \n

        \n

        Amazon Data Firehose is in preview release and is subject to change.

        ", + "smithy.api#documentation": "

        \n The column name to be configured in partition spec.\n

        \n

        Amazon Data Firehose is in preview release and is subject to change.

        ", "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "

        \n

        \n

        Amazon Data Firehose is in preview release and is subject to change.

        " + "smithy.api#documentation": "

        Represents a single field in a PartitionSpec.

        \n

        Amazon Data Firehose is in preview release and is subject to change.

        " } }, "com.amazonaws.firehose#PartitionFields": { @@ -5551,12 +5604,12 @@ "Identity": { "target": "com.amazonaws.firehose#PartitionFields", "traits": { - "smithy.api#documentation": "

        \n

        \n

        Amazon Data Firehose is in preview release and is subject to change.

        " + "smithy.api#documentation": "

        List of identity transforms that performs an identity transformation. The transform takes the\n source value, and does not modify it. Result type is the source type.

        \n

        Amazon Data Firehose is in preview release and is subject to change.

        " } } }, "traits": { - "smithy.api#documentation": "

        \n

        \n

        Amazon Data Firehose is in preview release and is subject to change.

        " + "smithy.api#documentation": "

        Represents how to produce partition data for a table. Partition data is produced by\n transforming columns in a table. Each column transform is represented by a named\n PartitionField.

        \n

        Here is an example of the schema in JSON.

        \n

        \n \"partitionSpec\": { \"identity\": [ {\"sourceName\": \"column1\"}, {\"sourceName\":\n \"column2\"}, {\"sourceName\": \"column3\"} ] }\n

        \n

        Amazon Data Firehose is in preview release and is subject to change.

        " } }, "com.amazonaws.firehose#Password": { @@ -6617,13 +6670,13 @@ "Enabled": { "target": "com.amazonaws.firehose#BooleanObject", "traits": { - "smithy.api#documentation": "

        \n

        \n

        Amazon Data Firehose is in preview release and is subject to change.

        ", + "smithy.api#documentation": "

        \n Specify whether you want to enable schema evolution.\n

        \n

        Amazon Data Firehose is in preview release and is subject to change.

        ", "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "

        \n

        \n

        Amazon Data Firehose is in preview release and is subject to change.

        " + "smithy.api#documentation": "

        The configuration to enable schema evolution.

        \n

        Amazon Data Firehose is in preview release and is subject to change.

        " } }, "com.amazonaws.firehose#SecretARN": { @@ -6681,7 +6734,7 @@ "ParquetSerDe": { "target": "com.amazonaws.firehose#ParquetSerDe", "traits": { - "smithy.api#documentation": "

        A serializer to use for converting data to the Parquet format before storing it in\n Amazon S3. For more information, see Apache Parquet.

        " + "smithy.api#documentation": "

        A serializer to use for converting data to the Parquet format before storing it in\n Amazon S3. For more information, see Apache Parquet.

        " } }, "OrcSerDe": { @@ -6692,7 +6745,7 @@ } }, "traits": { - "smithy.api#documentation": "

        The serializer that you want Firehose to use to convert data to the target\n format before writing it to Amazon S3. Firehose supports two types of\n serializers: the ORC SerDe and the Parquet SerDe.

        " + "smithy.api#documentation": "

        The serializer that you want Firehose to use to convert data to the target\n format before writing it to Amazon S3. Firehose supports two types of\n serializers: the ORC SerDe and the Parquet SerDe.

        " } }, "com.amazonaws.firehose#ServiceUnavailableException": { @@ -6916,13 +6969,13 @@ "MetaDataColumnName": { "target": "com.amazonaws.firehose#SnowflakeMetaDataColumnName", "traits": { - "smithy.api#documentation": "

        The name of the record metadata column

        " + "smithy.api#documentation": "

        Specify a column name in the table, where the metadata information has to be loaded.\n When you enable this field, you will see the following column in the snowflake table, which\n differs based on the source type.

        \n

        For Direct PUT as source

        \n

        \n { \"firehoseDeliveryStreamName\" : \"streamname\", \"IngestionTime\" : \"timestamp\"\n }\n

        \n

        For Kinesis Data Stream as source

        \n

        \n \"kinesisStreamName\" : \"streamname\", \"kinesisShardId\" : \"Id\",\n \"kinesisPartitionKey\" : \"key\", \"kinesisSequenceNumber\" : \"1234\", \"subsequenceNumber\" :\n \"2334\", \"IngestionTime\" : \"timestamp\" }\n

        " } }, "ContentColumnName": { "target": "com.amazonaws.firehose#SnowflakeContentColumnName", "traits": { - "smithy.api#documentation": "

        The name of the record content column

        " + "smithy.api#documentation": "

        The name of the record content column.

        " } }, "SnowflakeVpcConfiguration": { @@ -7359,6 +7412,12 @@ "com.amazonaws.firehose#SourceDescription": { "type": "structure", "members": { + "DirectPutSourceDescription": { + "target": "com.amazonaws.firehose#DirectPutSourceDescription", + "traits": { + "smithy.api#documentation": "

        Details about Direct PUT used as the source for a Firehose stream.\n

        " + } + }, "KinesisStreamSourceDescription": { "target": "com.amazonaws.firehose#KinesisStreamSourceDescription", "traits": { @@ -7374,12 +7433,12 @@ "DatabaseSourceDescription": { "target": "com.amazonaws.firehose#DatabaseSourceDescription", "traits": { - "smithy.api#documentation": "

        \n

        \n

        Amazon Data Firehose is in preview release and is subject to change.

        " + "smithy.api#documentation": "

        Details about a database used as the source for a Firehose stream.

        \n

        Amazon Data Firehose is in preview release and is subject to change.

        " } } }, "traits": { - "smithy.api#documentation": "

        Details about a Kinesis data stream used as the source for a Firehose\n Firehose stream.

        " + "smithy.api#documentation": "

        Details about a Kinesis data stream used as the source for a Firehose\n stream.

        " } }, "com.amazonaws.firehose#SplunkBufferingHints": { @@ -7818,13 +7877,13 @@ "Enabled": { "target": "com.amazonaws.firehose#BooleanObject", "traits": { - "smithy.api#documentation": "

        \n

        \n

        Amazon Data Firehose is in preview release and is subject to change.

        ", + "smithy.api#documentation": "

        \n Specify whether you want to enable automatic table creation.\n

        \n

        Amazon Data Firehose is in preview release and is subject to change.

        ", "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "

        \n

        \n

        Amazon Data Firehose is in preview release and is subject to change.

        " + "smithy.api#documentation": "

        The configuration to enable automatic table creation.

        \n

        Amazon Data Firehose is in preview release and is subject to change.

        " } }, "com.amazonaws.firehose#Tag": { @@ -7947,6 +8006,15 @@ "smithy.api#pattern": "^[\\p{L}\\p{Z}\\p{N}_.:\\/=+\\-@%]*$" } }, + "com.amazonaws.firehose#ThroughputHintInMBs": { + "type": "integer", + "traits": { + "smithy.api#range": { + "min": 1, + "max": 100 + } + } + }, "com.amazonaws.firehose#Timestamp": { "type": "timestamp" }, @@ -8087,7 +8155,7 @@ "ElasticsearchDestinationUpdate": { "target": "com.amazonaws.firehose#ElasticsearchDestinationUpdate", "traits": { - "smithy.api#documentation": "

        Describes an update for a destination in Amazon ES.

        " + "smithy.api#documentation": "

        Describes an update for a destination in Amazon OpenSearch Service.

        " } }, "AmazonopensearchserviceDestinationUpdate": { @@ -8155,7 +8223,7 @@ "SubnetIds": { "target": "com.amazonaws.firehose#SubnetIdList", "traits": { - "smithy.api#documentation": "

        The IDs of the subnets that you want Firehose to use to create ENIs in the\n VPC of the Amazon ES destination. Make sure that the routing tables and inbound and\n outbound rules allow traffic to flow from the subnets whose IDs are specified here to the\n subnets that have the destination Amazon ES endpoints. Firehose creates at\n least one ENI in each of the subnets that are specified here. Do not delete or modify these\n ENIs.

        \n

        The number of ENIs that Firehose creates in the subnets specified here\n scales up and down automatically based on throughput. To enable Firehose to\n scale up the number of ENIs to match throughput, ensure that you have sufficient quota. To\n help you calculate the quota you need, assume that Firehose can create up to\n three ENIs for this Firehose stream for each of the subnets specified here. For more\n information about ENI quota, see Network Interfaces\n in the Amazon VPC Quotas topic.

        ", + "smithy.api#documentation": "

        The IDs of the subnets that you want Firehose to use to create ENIs in the\n VPC of the Amazon OpenSearch Service destination. Make sure that the routing tables and inbound and\n outbound rules allow traffic to flow from the subnets whose IDs are specified here to the\n subnets that have the destination Amazon OpenSearch Service endpoints. Firehose creates at\n least one ENI in each of the subnets that are specified here. Do not delete or modify these\n ENIs.

        \n

        The number of ENIs that Firehose creates in the subnets specified here\n scales up and down automatically based on throughput. To enable Firehose to\n scale up the number of ENIs to match throughput, ensure that you have sufficient quota. To\n help you calculate the quota you need, assume that Firehose can create up to\n three ENIs for this Firehose stream for each of the subnets specified here. For more\n information about ENI quota, see Network Interfaces\n in the Amazon VPC Quotas topic.

        ", "smithy.api#required": {} } }, @@ -8169,7 +8237,7 @@ "SecurityGroupIds": { "target": "com.amazonaws.firehose#SecurityGroupIdList", "traits": { - "smithy.api#documentation": "

        The IDs of the security groups that you want Firehose to use when it\n creates ENIs in the VPC of the Amazon ES destination. You can use the same security group\n that the Amazon ES domain uses or different ones. If you specify different security groups\n here, ensure that they allow outbound HTTPS traffic to the Amazon ES domain's security\n group. Also ensure that the Amazon ES domain's security group allows HTTPS traffic from the\n security groups specified here. If you use the same security group for both your delivery\n stream and the Amazon ES domain, make sure the security group inbound rule allows HTTPS\n traffic. For more information about security group rules, see Security group\n rules in the Amazon VPC documentation.

        ", + "smithy.api#documentation": "

        The IDs of the security groups that you want Firehose to use when it\n creates ENIs in the VPC of the Amazon OpenSearch Service destination. You can use the same security group\n that the Amazon OpenSearch Service domain uses or different ones. If you specify different security groups\n here, ensure that they allow outbound HTTPS traffic to the Amazon OpenSearch Service domain's security\n group. Also ensure that the Amazon OpenSearch Service domain's security group allows HTTPS traffic from the\n security groups specified here. If you use the same security group for both your delivery\n stream and the Amazon OpenSearch Service domain, make sure the security group inbound rule allows HTTPS\n traffic. For more information about security group rules, see Security group\n rules in the Amazon VPC documentation.

        ", "smithy.api#required": {} } } @@ -8184,7 +8252,7 @@ "SubnetIds": { "target": "com.amazonaws.firehose#SubnetIdList", "traits": { - "smithy.api#documentation": "

        The IDs of the subnets that Firehose uses to create ENIs in the VPC of the\n Amazon ES destination. Make sure that the routing tables and inbound and outbound rules\n allow traffic to flow from the subnets whose IDs are specified here to the subnets that\n have the destination Amazon ES endpoints. Firehose creates at least one ENI in\n each of the subnets that are specified here. Do not delete or modify these ENIs.

        \n

        The number of ENIs that Firehose creates in the subnets specified here\n scales up and down automatically based on throughput. To enable Firehose to\n scale up the number of ENIs to match throughput, ensure that you have sufficient quota. To\n help you calculate the quota you need, assume that Firehose can create up to\n three ENIs for this Firehose stream for each of the subnets specified here. For more\n information about ENI quota, see Network Interfaces\n in the Amazon VPC Quotas topic.

        ", + "smithy.api#documentation": "

        The IDs of the subnets that Firehose uses to create ENIs in the VPC of the\n Amazon OpenSearch Service destination. Make sure that the routing tables and inbound and outbound rules\n allow traffic to flow from the subnets whose IDs are specified here to the subnets that\n have the destination Amazon OpenSearch Service endpoints. Firehose creates at least one ENI in\n each of the subnets that are specified here. Do not delete or modify these ENIs.

        \n

        The number of ENIs that Firehose creates in the subnets specified here\n scales up and down automatically based on throughput. To enable Firehose to\n scale up the number of ENIs to match throughput, ensure that you have sufficient quota. To\n help you calculate the quota you need, assume that Firehose can create up to\n three ENIs for this Firehose stream for each of the subnets specified here. For more\n information about ENI quota, see Network Interfaces\n in the Amazon VPC Quotas topic.

        ", "smithy.api#required": {} } }, @@ -8198,20 +8266,20 @@ "SecurityGroupIds": { "target": "com.amazonaws.firehose#SecurityGroupIdList", "traits": { - "smithy.api#documentation": "

        The IDs of the security groups that Firehose uses when it creates ENIs in\n the VPC of the Amazon ES destination. You can use the same security group that the Amazon\n ES domain uses or different ones. If you specify different security groups, ensure that\n they allow outbound HTTPS traffic to the Amazon ES domain's security group. Also ensure\n that the Amazon ES domain's security group allows HTTPS traffic from the security groups\n specified here. If you use the same security group for both your Firehose stream and the\n Amazon ES domain, make sure the security group inbound rule allows HTTPS traffic. For more\n information about security group rules, see Security group\n rules in the Amazon VPC documentation.

        ", + "smithy.api#documentation": "

        The IDs of the security groups that Firehose uses when it creates ENIs in\n the VPC of the Amazon OpenSearch Service destination. You can use the same security group that the Amazon\n ES domain uses or different ones. If you specify different security groups, ensure that\n they allow outbound HTTPS traffic to the Amazon OpenSearch Service domain's security group. Also ensure\n that the Amazon OpenSearch Service domain's security group allows HTTPS traffic from the security groups\n specified here. If you use the same security group for both your Firehose stream and the\n Amazon OpenSearch Service domain, make sure the security group inbound rule allows HTTPS traffic. For more\n information about security group rules, see Security group\n rules in the Amazon VPC documentation.

        ", "smithy.api#required": {} } }, "VpcId": { "target": "com.amazonaws.firehose#NonEmptyStringWithoutWhitespace", "traits": { - "smithy.api#documentation": "

        The ID of the Amazon ES destination's VPC.

        ", + "smithy.api#documentation": "

        The ID of the Amazon OpenSearch Service destination's VPC.

        ", "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "

        The details of the VPC of the Amazon ES destination.

        " + "smithy.api#documentation": "

        The details of the VPC of the Amazon OpenSearch Service destination.

        " } }, "com.amazonaws.firehose#VpcEndpointServiceName": { diff --git a/tools/code-generation/smithy/api-descriptions/healthlake.json b/tools/code-generation/smithy/api-descriptions/healthlake.json index 33db822d026..dcb828d648b 100644 --- a/tools/code-generation/smithy/api-descriptions/healthlake.json +++ b/tools/code-generation/smithy/api-descriptions/healthlake.json @@ -61,6 +61,12 @@ "smithy.api#enumValue": "SMART_ON_FHIR_V1" } }, + "SMART_ON_FHIR": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "SMART_ON_FHIR" + } + }, "AWS_AUTH": { "target": "smithy.api#Unit", "traits": { @@ -1783,6 +1789,12 @@ "smithy.api#enumValue": "SUBMITTED" } }, + "QUEUED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "QUEUED" + } + }, "IN_PROGRESS": { "target": "smithy.api#Unit", "traits": { @@ -2392,8 +2404,7 @@ "target": "com.amazonaws.healthlake#ClientTokenString", "traits": { "smithy.api#documentation": "

        An optional user provided token used for ensuring idempotency.

        ", - "smithy.api#idempotencyToken": {}, - "smithy.api#required": {} + "smithy.api#idempotencyToken": {} } } }, @@ -2498,8 +2509,7 @@ "target": "com.amazonaws.healthlake#ClientTokenString", "traits": { "smithy.api#documentation": "

        Optional user provided token used for ensuring idempotency.

        ", - "smithy.api#idempotencyToken": {}, - "smithy.api#required": {} + "smithy.api#idempotencyToken": {} } } }, diff --git a/tools/code-generation/smithy/api-descriptions/iot.json b/tools/code-generation/smithy/api-descriptions/iot.json index a9c2ad09c8b..01da17210a4 100644 --- a/tools/code-generation/smithy/api-descriptions/iot.json +++ b/tools/code-generation/smithy/api-descriptions/iot.json @@ -29380,7 +29380,7 @@ "traits": { "smithy.api#length": { "min": 1, - "max": 512 + "max": 30720 }, "smithy.api#pattern": "^[^\\p{C}]+$" } diff --git a/tools/code-generation/smithy/api-descriptions/mailmanager.json b/tools/code-generation/smithy/api-descriptions/mailmanager.json index 3a7c9a63fbc..58657e3ad93 100644 --- a/tools/code-generation/smithy/api-descriptions/mailmanager.json +++ b/tools/code-generation/smithy/api-descriptions/mailmanager.json @@ -268,6 +268,164 @@ "target": "com.amazonaws.mailmanager#AddonSubscription" } }, + "com.amazonaws.mailmanager#Address": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 3, + "max": 320 + }, + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.mailmanager#AddressFilter": { + "type": "structure", + "members": { + "AddressPrefix": { + "target": "com.amazonaws.mailmanager#AddressPrefix", + "traits": { + "smithy.api#documentation": "

        Filter to limit the results to addresses having the provided prefix.

        " + } + } + }, + "traits": { + "smithy.api#documentation": "

        Filtering options for ListMembersOfAddressList operation.

        " + } + }, + "com.amazonaws.mailmanager#AddressList": { + "type": "structure", + "members": { + "AddressListId": { + "target": "com.amazonaws.mailmanager#AddressListId", + "traits": { + "smithy.api#documentation": "

        The identifier of the address list.

        ", + "smithy.api#required": {} + } + }, + "AddressListArn": { + "target": "com.amazonaws.mailmanager#AddressListArn", + "traits": { + "smithy.api#documentation": "

        The Amazon Resource Name (ARN) of the address list.

        ", + "smithy.api#required": {} + } + }, + "AddressListName": { + "target": "com.amazonaws.mailmanager#AddressListName", + "traits": { + "smithy.api#documentation": "

        The user-friendly name of the address list.

        ", + "smithy.api#required": {} + } + }, + "CreatedTimestamp": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "

        The timestamp of when the address list was created.

        ", + "smithy.api#required": {} + } + }, + "LastUpdatedTimestamp": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "

        The timestamp of when the address list was last updated.

        ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

        An address list contains a list of emails and domains that are used in MailManager Ingress endpoints and Rules for email management.

        " + } + }, + "com.amazonaws.mailmanager#AddressListArn": { + "type": "string", + "traits": { + "aws.api#arnReference": { + "service": "ses", + "resource": "com.amazon.pancetta.addresslist.management#AddressListResource" + } + } + }, + "com.amazonaws.mailmanager#AddressListId": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 255 + }, + "smithy.api#pattern": "^[a-zA-Z0-9-]+$" + } + }, + "com.amazonaws.mailmanager#AddressListName": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 255 + }, + "smithy.api#pattern": "^[a-zA-Z0-9_.-]+$" + } + }, + "com.amazonaws.mailmanager#AddressListResource": { + "type": "resource", + "identifiers": { + "AddressListId": { + "target": "com.amazonaws.mailmanager#AddressListId" + } + }, + "properties": { + "AddressListArn": { + "target": "com.amazonaws.mailmanager#AddressListArn" + }, + "AddressListName": { + "target": "com.amazonaws.mailmanager#AddressListName" + }, + "CreatedTimestamp": { + "target": "smithy.api#Timestamp" + }, + "LastUpdatedTimestamp": { + "target": "smithy.api#Timestamp" + }, + "Tags": { + "target": "com.amazonaws.mailmanager#TagList" + } + }, + "create": { + "target": "com.amazonaws.mailmanager#CreateAddressList" + }, + "read": { + "target": "com.amazonaws.mailmanager#GetAddressList" + }, + "delete": { + "target": "com.amazonaws.mailmanager#DeleteAddressList" + }, + "list": { + "target": "com.amazonaws.mailmanager#ListAddressLists" + } + }, + "com.amazonaws.mailmanager#AddressLists": { + "type": "list", + "member": { + "target": "com.amazonaws.mailmanager#AddressList" + } + }, + "com.amazonaws.mailmanager#AddressPageSize": { + "type": "integer", + "traits": { + "smithy.api#range": { + "min": 1, + "max": 1000 + } + } + }, + "com.amazonaws.mailmanager#AddressPrefix": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 320 + }, + "smithy.api#sensitive": {} + } + }, "com.amazonaws.mailmanager#Analysis": { "type": "structure", "members": { @@ -841,6 +999,164 @@ "smithy.api#output": {} } }, + "com.amazonaws.mailmanager#CreateAddressList": { + "type": "operation", + "input": { + "target": "com.amazonaws.mailmanager#CreateAddressListRequest" + }, + "output": { + "target": "com.amazonaws.mailmanager#CreateAddressListResponse" + }, + "errors": [ + { + "target": "com.amazonaws.mailmanager#AccessDeniedException" + }, + { + "target": "com.amazonaws.mailmanager#ConflictException" + }, + { + "target": "com.amazonaws.mailmanager#ServiceQuotaExceededException" + }, + { + "target": "com.amazonaws.mailmanager#ThrottlingException" + }, + { + "target": "com.amazonaws.mailmanager#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

        Creates a new address list.

        ", + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.mailmanager#CreateAddressListImportJob": { + "type": "operation", + "input": { + "target": "com.amazonaws.mailmanager#CreateAddressListImportJobRequest" + }, + "output": { + "target": "com.amazonaws.mailmanager#CreateAddressListImportJobResponse" + }, + "errors": [ + { + "target": "com.amazonaws.mailmanager#AccessDeniedException" + }, + { + "target": "com.amazonaws.mailmanager#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.mailmanager#ThrottlingException" + }, + { + "target": "com.amazonaws.mailmanager#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

        Creates an import job for an address list.

        ", + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.mailmanager#CreateAddressListImportJobRequest": { + "type": "structure", + "members": { + "ClientToken": { + "target": "com.amazonaws.mailmanager#IdempotencyToken", + "traits": { + "smithy.api#documentation": "

        A unique token that Amazon SES uses to recognize subsequent retries of the same\n request.

        ", + "smithy.api#idempotencyToken": {} + } + }, + "AddressListId": { + "target": "com.amazonaws.mailmanager#AddressListId", + "traits": { + "smithy.api#documentation": "

        The unique identifier of the address list for importing addresses to.

        ", + "smithy.api#required": {} + } + }, + "Name": { + "target": "com.amazonaws.mailmanager#JobName", + "traits": { + "smithy.api#documentation": "

        A user-friendly name for the import job.

        ", + "smithy.api#required": {} + } + }, + "ImportDataFormat": { + "target": "com.amazonaws.mailmanager#ImportDataFormat", + "traits": { + "smithy.api#documentation": "

        The format of the input for an import job.

        ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.mailmanager#CreateAddressListImportJobResponse": { + "type": "structure", + "members": { + "JobId": { + "target": "com.amazonaws.mailmanager#JobId", + "traits": { + "smithy.api#documentation": "

        The identifier of the created import job.

        ", + "smithy.api#required": {} + } + }, + "PreSignedUrl": { + "target": "com.amazonaws.mailmanager#PreSignedUrl", + "traits": { + "smithy.api#documentation": "

        The pre-signed URL target for uploading the input file.

        ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.mailmanager#CreateAddressListRequest": { + "type": "structure", + "members": { + "ClientToken": { + "target": "com.amazonaws.mailmanager#IdempotencyToken", + "traits": { + "smithy.api#documentation": "

        A unique token that Amazon SES uses to recognize subsequent retries of the same\n request.

        ", + "smithy.api#idempotencyToken": {} + } + }, + "AddressListName": { + "target": "com.amazonaws.mailmanager#AddressListName", + "traits": { + "smithy.api#documentation": "

        A user-friendly name for the address list.

        ", + "smithy.api#required": {} + } + }, + "Tags": { + "target": "com.amazonaws.mailmanager#TagList", + "traits": { + "smithy.api#documentation": "

        The tags used to organize, track, or control access for the resource. For example, { \"tags\": {\"key1\":\"value1\", \"key2\":\"value2\"} }.

        " + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.mailmanager#CreateAddressListResponse": { + "type": "structure", + "members": { + "AddressListId": { + "target": "com.amazonaws.mailmanager#AddressListId", + "traits": { + "smithy.api#documentation": "

        The identifier of the created address list.

        ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.mailmanager#CreateArchive": { "type": "operation", "input": { @@ -1451,13 +1767,13 @@ "smithy.api#output": {} } }, - "com.amazonaws.mailmanager#DeleteArchive": { + "com.amazonaws.mailmanager#DeleteAddressList": { "type": "operation", "input": { - "target": "com.amazonaws.mailmanager#DeleteArchiveRequest" + "target": "com.amazonaws.mailmanager#DeleteAddressListRequest" }, "output": { - "target": "com.amazonaws.mailmanager#DeleteArchiveResponse" + "target": "com.amazonaws.mailmanager#DeleteAddressListResponse" }, "errors": [ { @@ -1468,41 +1784,87 @@ }, { "target": "com.amazonaws.mailmanager#ThrottlingException" - }, - { - "target": "com.amazonaws.mailmanager#ValidationException" } ], "traits": { - "smithy.api#documentation": "

        Initiates deletion of an email archive. This changes the archive state to pending\n deletion. In this state, no new emails can be added, and existing archived emails become\n inaccessible (search, export, download). The archive and all of its contents will be\n permanently deleted 30 days after entering the pending deletion state, regardless of the\n configured retention period.

        ", + "smithy.api#documentation": "

        Deletes an address list.

        ", "smithy.api#idempotent": {} } }, - "com.amazonaws.mailmanager#DeleteArchiveRequest": { + "com.amazonaws.mailmanager#DeleteAddressListRequest": { "type": "structure", "members": { - "ArchiveId": { - "target": "com.amazonaws.mailmanager#ArchiveIdString", + "AddressListId": { + "target": "com.amazonaws.mailmanager#AddressListId", "traits": { - "smithy.api#documentation": "

        The identifier of the archive to delete.

        ", + "smithy.api#documentation": "

        The identifier of an existing address list resource to delete.

        ", "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "

        The request to initiate deletion of an email archive.

        ", "smithy.api#input": {} } }, - "com.amazonaws.mailmanager#DeleteArchiveResponse": { + "com.amazonaws.mailmanager#DeleteAddressListResponse": { "type": "structure", "members": {}, "traits": { - "smithy.api#documentation": "

        The response indicating if the archive deletion was successfully initiated.

        \n

        On success, returns an HTTP 200 status code. On failure, returns an error\n message.

        ", "smithy.api#output": {} } }, - "com.amazonaws.mailmanager#DeleteIngressPoint": { + "com.amazonaws.mailmanager#DeleteArchive": { + "type": "operation", + "input": { + "target": "com.amazonaws.mailmanager#DeleteArchiveRequest" + }, + "output": { + "target": "com.amazonaws.mailmanager#DeleteArchiveResponse" + }, + "errors": [ + { + "target": "com.amazonaws.mailmanager#AccessDeniedException" + }, + { + "target": "com.amazonaws.mailmanager#ConflictException" + }, + { + "target": "com.amazonaws.mailmanager#ThrottlingException" + }, + { + "target": "com.amazonaws.mailmanager#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

        Initiates deletion of an email archive. This changes the archive state to pending\n deletion. In this state, no new emails can be added, and existing archived emails become\n inaccessible (search, export, download). The archive and all of its contents will be\n permanently deleted 30 days after entering the pending deletion state, regardless of the\n configured retention period.

        ", + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.mailmanager#DeleteArchiveRequest": { + "type": "structure", + "members": { + "ArchiveId": { + "target": "com.amazonaws.mailmanager#ArchiveIdString", + "traits": { + "smithy.api#documentation": "

        The identifier of the archive to delete.

        ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

        The request to initiate deletion of an email archive.

        ", + "smithy.api#input": {} + } + }, + "com.amazonaws.mailmanager#DeleteArchiveResponse": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#documentation": "

        The response indicating if the archive deletion was successfully initiated.

        \n

        On success, returns an HTTP 200 status code. On failure, returns an error\n message.

        ", + "smithy.api#output": {} + } + }, + "com.amazonaws.mailmanager#DeleteIngressPoint": { "type": "operation", "input": { "target": "com.amazonaws.mailmanager#DeleteIngressPointRequest" @@ -1764,6 +2126,62 @@ "smithy.api#documentation": "

        The action to deliver incoming emails to an Amazon Q Business application for indexing.

        " } }, + "com.amazonaws.mailmanager#DeregisterMemberFromAddressList": { + "type": "operation", + "input": { + "target": "com.amazonaws.mailmanager#DeregisterMemberFromAddressListRequest" + }, + "output": { + "target": "com.amazonaws.mailmanager#DeregisterMemberFromAddressListResponse" + }, + "errors": [ + { + "target": "com.amazonaws.mailmanager#AccessDeniedException" + }, + { + "target": "com.amazonaws.mailmanager#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.mailmanager#ThrottlingException" + }, + { + "target": "com.amazonaws.mailmanager#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

        Removes a member from an address list.

        ", + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.mailmanager#DeregisterMemberFromAddressListRequest": { + "type": "structure", + "members": { + "AddressListId": { + "target": "com.amazonaws.mailmanager#AddressListId", + "traits": { + "smithy.api#documentation": "

        The unique identifier of the address list to remove the address from.

        ", + "smithy.api#required": {} + } + }, + "Address": { + "target": "com.amazonaws.mailmanager#Address", + "traits": { + "smithy.api#documentation": "

        The address to be removed from the address list.

        ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.mailmanager#DeregisterMemberFromAddressListResponse": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.mailmanager#DropAction": { "type": "structure", "members": {}, @@ -2072,6 +2490,220 @@ "smithy.api#output": {} } }, + "com.amazonaws.mailmanager#GetAddressList": { + "type": "operation", + "input": { + "target": "com.amazonaws.mailmanager#GetAddressListRequest" + }, + "output": { + "target": "com.amazonaws.mailmanager#GetAddressListResponse" + }, + "errors": [ + { + "target": "com.amazonaws.mailmanager#AccessDeniedException" + }, + { + "target": "com.amazonaws.mailmanager#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.mailmanager#ThrottlingException" + }, + { + "target": "com.amazonaws.mailmanager#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

        Fetch attributes of an address list.

        ", + "smithy.api#readonly": {} + } + }, + "com.amazonaws.mailmanager#GetAddressListImportJob": { + "type": "operation", + "input": { + "target": "com.amazonaws.mailmanager#GetAddressListImportJobRequest" + }, + "output": { + "target": "com.amazonaws.mailmanager#GetAddressListImportJobResponse" + }, + "errors": [ + { + "target": "com.amazonaws.mailmanager#AccessDeniedException" + }, + { + "target": "com.amazonaws.mailmanager#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.mailmanager#ThrottlingException" + }, + { + "target": "com.amazonaws.mailmanager#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

        Fetch attributes of an import job.

        ", + "smithy.api#readonly": {} + } + }, + "com.amazonaws.mailmanager#GetAddressListImportJobRequest": { + "type": "structure", + "members": { + "JobId": { + "target": "com.amazonaws.mailmanager#JobId", + "traits": { + "smithy.api#documentation": "

        The identifier of the import job that needs to be retrieved.

        ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.mailmanager#GetAddressListImportJobResponse": { + "type": "structure", + "members": { + "JobId": { + "target": "com.amazonaws.mailmanager#JobId", + "traits": { + "smithy.api#documentation": "

        The identifier of the import job.

        ", + "smithy.api#required": {} + } + }, + "Name": { + "target": "com.amazonaws.mailmanager#JobName", + "traits": { + "smithy.api#documentation": "

        A user-friendly name for the import job.

        ", + "smithy.api#required": {} + } + }, + "Status": { + "target": "com.amazonaws.mailmanager#ImportJobStatus", + "traits": { + "smithy.api#documentation": "

        The status of the import job.

        ", + "smithy.api#required": {} + } + }, + "PreSignedUrl": { + "target": "com.amazonaws.mailmanager#PreSignedUrl", + "traits": { + "smithy.api#documentation": "

        The pre-signed URL target for uploading the input file.

        ", + "smithy.api#required": {} + } + }, + "ImportedItemsCount": { + "target": "com.amazonaws.mailmanager#JobItemsCount", + "traits": { + "smithy.api#documentation": "

        The number of input addresses successfully imported into the address list.

        " + } + }, + "FailedItemsCount": { + "target": "com.amazonaws.mailmanager#JobItemsCount", + "traits": { + "smithy.api#documentation": "

        The number of input addresses that failed to be imported into the address list.

        " + } + }, + "ImportDataFormat": { + "target": "com.amazonaws.mailmanager#ImportDataFormat", + "traits": { + "smithy.api#documentation": "

        The format of the input for an import job.

        ", + "smithy.api#required": {} + } + }, + "AddressListId": { + "target": "com.amazonaws.mailmanager#AddressListId", + "traits": { + "smithy.api#documentation": "

        The unique identifier of the address list the import job was created for.

        ", + "smithy.api#required": {} + } + }, + "CreatedTimestamp": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "

        The timestamp of when the import job was created.

        ", + "smithy.api#required": {} + } + }, + "StartTimestamp": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "

        The timestamp of when the import job was started.

        " + } + }, + "CompletedTimestamp": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "

        The timestamp of when the import job was completed.

        " + } + }, + "Error": { + "target": "com.amazonaws.mailmanager#ErrorMessage", + "traits": { + "smithy.api#documentation": "

        The reason for failure of an import job.

        " + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.mailmanager#GetAddressListRequest": { + "type": "structure", + "members": { + "AddressListId": { + "target": "com.amazonaws.mailmanager#AddressListId", + "traits": { + "smithy.api#documentation": "

        The identifier of an existing address list resource to be retrieved.

        ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.mailmanager#GetAddressListResponse": { + "type": "structure", + "members": { + "AddressListId": { + "target": "com.amazonaws.mailmanager#AddressListId", + "traits": { + "smithy.api#documentation": "

        The identifier of the address list resource.

        ", + "smithy.api#required": {} + } + }, + "AddressListArn": { + "target": "com.amazonaws.mailmanager#AddressListArn", + "traits": { + "smithy.api#documentation": "

        The Amazon Resource Name (ARN) of the address list resource.

        ", + "smithy.api#required": {} + } + }, + "AddressListName": { + "target": "com.amazonaws.mailmanager#AddressListName", + "traits": { + "smithy.api#documentation": "

        A user-friendly name for the address list resource.

        ", + "smithy.api#required": {} + } + }, + "CreatedTimestamp": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "

        The date of when then address list was created.

        ", + "smithy.api#required": {} + } + }, + "LastUpdatedTimestamp": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "

        The date of when the address list was last updated.

        ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.mailmanager#GetArchive": { "type": "operation", "input": { @@ -2676,17 +3308,88 @@ "smithy.api#output": {} } }, - "com.amazonaws.mailmanager#GetRelay": { + "com.amazonaws.mailmanager#GetMemberOfAddressList": { "type": "operation", "input": { - "target": "com.amazonaws.mailmanager#GetRelayRequest" + "target": "com.amazonaws.mailmanager#GetMemberOfAddressListRequest" }, "output": { - "target": "com.amazonaws.mailmanager#GetRelayResponse" + "target": "com.amazonaws.mailmanager#GetMemberOfAddressListResponse" }, "errors": [ { - "target": "com.amazonaws.mailmanager#ResourceNotFoundException" + "target": "com.amazonaws.mailmanager#AccessDeniedException" + }, + { + "target": "com.amazonaws.mailmanager#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.mailmanager#ThrottlingException" + }, + { + "target": "com.amazonaws.mailmanager#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

        Fetch attributes of a member in an address list.

        ", + "smithy.api#readonly": {} + } + }, + "com.amazonaws.mailmanager#GetMemberOfAddressListRequest": { + "type": "structure", + "members": { + "AddressListId": { + "target": "com.amazonaws.mailmanager#AddressListId", + "traits": { + "smithy.api#documentation": "

        The unique identifier of the address list to retrieve the address from.

        ", + "smithy.api#required": {} + } + }, + "Address": { + "target": "com.amazonaws.mailmanager#Address", + "traits": { + "smithy.api#documentation": "

        The address to be retrieved from the address list.

        ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.mailmanager#GetMemberOfAddressListResponse": { + "type": "structure", + "members": { + "Address": { + "target": "com.amazonaws.mailmanager#Address", + "traits": { + "smithy.api#documentation": "

        The address retrieved from the address list.

        ", + "smithy.api#required": {} + } + }, + "CreatedTimestamp": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "

        The timestamp of when the address was created.

        ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.mailmanager#GetRelay": { + "type": "operation", + "input": { + "target": "com.amazonaws.mailmanager#GetRelayRequest" + }, + "output": { + "target": "com.amazonaws.mailmanager#GetRelayResponse" + }, + "errors": [ + { + "target": "com.amazonaws.mailmanager#ResourceNotFoundException" }, { "target": "com.amazonaws.mailmanager#ValidationException" @@ -3034,6 +3737,190 @@ } } }, + "com.amazonaws.mailmanager#ImportDataFormat": { + "type": "structure", + "members": { + "ImportDataType": { + "target": "com.amazonaws.mailmanager#ImportDataType", + "traits": { + "smithy.api#documentation": "

        The type of file that would be passed as an input for the address list import job.

        ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

        The import data format contains the specifications of the input file that would be passed to the address list\n import job.

        " + } + }, + "com.amazonaws.mailmanager#ImportDataType": { + "type": "enum", + "members": { + "CSV": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CSV" + } + }, + "JSON": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "JSON" + } + } + } + }, + "com.amazonaws.mailmanager#ImportJob": { + "type": "structure", + "members": { + "JobId": { + "target": "com.amazonaws.mailmanager#JobId", + "traits": { + "smithy.api#documentation": "

        The identifier of the import job.

        ", + "smithy.api#required": {} + } + }, + "Name": { + "target": "com.amazonaws.mailmanager#JobName", + "traits": { + "smithy.api#documentation": "

        A user-friendly name for the import job.

        ", + "smithy.api#required": {} + } + }, + "Status": { + "target": "com.amazonaws.mailmanager#ImportJobStatus", + "traits": { + "smithy.api#documentation": "

        The status of the import job.

        ", + "smithy.api#required": {} + } + }, + "PreSignedUrl": { + "target": "com.amazonaws.mailmanager#PreSignedUrl", + "traits": { + "smithy.api#documentation": "

        The pre-signed URL target for uploading the input file.

        ", + "smithy.api#required": {} + } + }, + "ImportedItemsCount": { + "target": "com.amazonaws.mailmanager#JobItemsCount", + "traits": { + "smithy.api#documentation": "

        The number of addresses in the input that were successfully imported into the address list.

        " + } + }, + "FailedItemsCount": { + "target": "com.amazonaws.mailmanager#JobItemsCount", + "traits": { + "smithy.api#documentation": "

        The number of addresses in the input that failed to get imported into address list.

        " + } + }, + "ImportDataFormat": { + "target": "com.amazonaws.mailmanager#ImportDataFormat", + "traits": { + "smithy.api#documentation": "

        The format of the input for the import job.

        ", + "smithy.api#required": {} + } + }, + "AddressListId": { + "target": "com.amazonaws.mailmanager#AddressListId", + "traits": { + "smithy.api#documentation": "

        The unique identifier of the address list the import job was created for.

        ", + "smithy.api#required": {} + } + }, + "CreatedTimestamp": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "

        The timestamp of when the import job was created.

        ", + "smithy.api#required": {} + } + }, + "StartTimestamp": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "

        The timestamp of when the import job was started.

        " + } + }, + "CompletedTimestamp": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "

        The timestamp of when the import job was completed.

        " + } + }, + "Error": { + "target": "com.amazonaws.mailmanager#ErrorMessage", + "traits": { + "smithy.api#documentation": "

        The reason for failure of an import job.

        " + } + } + }, + "traits": { + "smithy.api#documentation": "

        Details about an import job.

        " + } + }, + "com.amazonaws.mailmanager#ImportJobStatus": { + "type": "enum", + "members": { + "CREATED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CREATED" + } + }, + "PROCESSING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "PROCESSING" + } + }, + "COMPLETED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "COMPLETED" + } + }, + "FAILED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "FAILED" + } + }, + "STOPPED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "STOPPED" + } + } + } + }, + "com.amazonaws.mailmanager#ImportJobs": { + "type": "list", + "member": { + "target": "com.amazonaws.mailmanager#ImportJob" + } + }, + "com.amazonaws.mailmanager#IngressAddressListArnList": { + "type": "list", + "member": { + "target": "com.amazonaws.mailmanager#AddressListArn" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 1 + }, + "smithy.api#uniqueItems": {} + } + }, + "com.amazonaws.mailmanager#IngressAddressListEmailAttribute": { + "type": "enum", + "members": { + "RECIPIENT": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "RECIPIENT" + } + } + } + }, "com.amazonaws.mailmanager#IngressAnalysis": { "type": "structure", "members": { @@ -3103,6 +3990,12 @@ "traits": { "smithy.api#documentation": "

        The structure type for a boolean condition stating the Add On ARN and its returned\n value.

        " } + }, + "IsInAddressList": { + "target": "com.amazonaws.mailmanager#IngressIsInAddressList", + "traits": { + "smithy.api#documentation": "

        The structure type for a boolean condition that provides the address lists to evaluate incoming traffic on.

        " + } } }, "traits": { @@ -3180,6 +4073,28 @@ "smithy.api#documentation": "

        The union type representing the allowed types for the left hand side of an IP\n condition.

        " } }, + "com.amazonaws.mailmanager#IngressIsInAddressList": { + "type": "structure", + "members": { + "Attribute": { + "target": "com.amazonaws.mailmanager#IngressAddressListEmailAttribute", + "traits": { + "smithy.api#documentation": "

        The email attribute that needs to be evaluated against the address list.

        ", + "smithy.api#required": {} + } + }, + "AddressLists": { + "target": "com.amazonaws.mailmanager#IngressAddressListArnList", + "traits": { + "smithy.api#documentation": "

        The address lists that will be used for evaluation.

        ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

        The address lists and the address list attribute value that is evaluated in a policy statement's\n conditional expression to either deny or block the incoming email.

        " + } + }, "com.amazonaws.mailmanager#IngressPoint": { "type": "structure", "members": { @@ -3615,6 +4530,29 @@ "target": "com.amazonaws.mailmanager#Ipv4Cidr" } }, + "com.amazonaws.mailmanager#JobId": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 255 + }, + "smithy.api#pattern": "^[a-zA-Z0-9-]+$" + } + }, + "com.amazonaws.mailmanager#JobItemsCount": { + "type": "integer" + }, + "com.amazonaws.mailmanager#JobName": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 255 + }, + "smithy.api#pattern": "^[a-zA-Z0-9_.-]+$" + } + }, "com.amazonaws.mailmanager#KmsKeyArn": { "type": "string", "traits": { @@ -3759,6 +4697,158 @@ "smithy.api#output": {} } }, + "com.amazonaws.mailmanager#ListAddressListImportJobs": { + "type": "operation", + "input": { + "target": "com.amazonaws.mailmanager#ListAddressListImportJobsRequest" + }, + "output": { + "target": "com.amazonaws.mailmanager#ListAddressListImportJobsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.mailmanager#AccessDeniedException" + }, + { + "target": "com.amazonaws.mailmanager#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.mailmanager#ThrottlingException" + }, + { + "target": "com.amazonaws.mailmanager#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

        Lists jobs for an address list.

        ", + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "ImportJobs", + "pageSize": "PageSize" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.mailmanager#ListAddressListImportJobsRequest": { + "type": "structure", + "members": { + "AddressListId": { + "target": "com.amazonaws.mailmanager#AddressListId", + "traits": { + "smithy.api#documentation": "

        The unique identifier of the address list for listing import jobs.

        ", + "smithy.api#required": {} + } + }, + "NextToken": { + "target": "com.amazonaws.mailmanager#PaginationToken", + "traits": { + "smithy.api#documentation": "

        If you received a pagination token from a previous call to this API, you can provide it here to continue paginating through the next page of results.

        " + } + }, + "PageSize": { + "target": "com.amazonaws.mailmanager#PageSize", + "traits": { + "smithy.api#documentation": "

        The maximum number of import jobs that are returned per call. You can use NextToken to retrieve the next page of jobs.

        " + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.mailmanager#ListAddressListImportJobsResponse": { + "type": "structure", + "members": { + "ImportJobs": { + "target": "com.amazonaws.mailmanager#ImportJobs", + "traits": { + "smithy.api#documentation": "

        The list of import jobs.

        ", + "smithy.api#required": {} + } + }, + "NextToken": { + "target": "com.amazonaws.mailmanager#PaginationToken", + "traits": { + "smithy.api#documentation": "

        If NextToken is returned, there are more results available. The value of NextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page.

        " + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.mailmanager#ListAddressLists": { + "type": "operation", + "input": { + "target": "com.amazonaws.mailmanager#ListAddressListsRequest" + }, + "output": { + "target": "com.amazonaws.mailmanager#ListAddressListsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.mailmanager#AccessDeniedException" + }, + { + "target": "com.amazonaws.mailmanager#ThrottlingException" + }, + { + "target": "com.amazonaws.mailmanager#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

        Lists address lists for this account.

        ", + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "AddressLists", + "pageSize": "PageSize" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.mailmanager#ListAddressListsRequest": { + "type": "structure", + "members": { + "NextToken": { + "target": "com.amazonaws.mailmanager#PaginationToken", + "traits": { + "smithy.api#documentation": "

        If you received a pagination token from a previous call to this API, you can provide it here to continue paginating through the next page of results.

        " + } + }, + "PageSize": { + "target": "com.amazonaws.mailmanager#PageSize", + "traits": { + "smithy.api#documentation": "

        The maximum number of address list resources that are returned per call. You can use\n NextToken to retrieve the next page of address lists.

        " + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.mailmanager#ListAddressListsResponse": { + "type": "structure", + "members": { + "AddressLists": { + "target": "com.amazonaws.mailmanager#AddressLists", + "traits": { + "smithy.api#documentation": "

        The list of address lists.

        ", + "smithy.api#required": {} + } + }, + "NextToken": { + "target": "com.amazonaws.mailmanager#PaginationToken", + "traits": { + "smithy.api#documentation": "

        If NextToken is returned, there are more results available. The value of NextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page.

        " + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.mailmanager#ListArchiveExports": { "type": "operation", "input": { @@ -4091,13 +5181,100 @@ "smithy.api#input": {} } }, - "com.amazonaws.mailmanager#ListIngressPointsResponse": { + "com.amazonaws.mailmanager#ListIngressPointsResponse": { + "type": "structure", + "members": { + "IngressPoints": { + "target": "com.amazonaws.mailmanager#IngressPointsList", + "traits": { + "smithy.api#documentation": "

        The list of ingress endpoints.

        " + } + }, + "NextToken": { + "target": "com.amazonaws.mailmanager#PaginationToken", + "traits": { + "smithy.api#documentation": "

        If NextToken is returned, there are more results available. The value of NextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page.

        " + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.mailmanager#ListMembersOfAddressList": { + "type": "operation", + "input": { + "target": "com.amazonaws.mailmanager#ListMembersOfAddressListRequest" + }, + "output": { + "target": "com.amazonaws.mailmanager#ListMembersOfAddressListResponse" + }, + "errors": [ + { + "target": "com.amazonaws.mailmanager#AccessDeniedException" + }, + { + "target": "com.amazonaws.mailmanager#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.mailmanager#ThrottlingException" + }, + { + "target": "com.amazonaws.mailmanager#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

        Lists members of an address list.

        ", + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "Addresses", + "pageSize": "PageSize" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.mailmanager#ListMembersOfAddressListRequest": { + "type": "structure", + "members": { + "AddressListId": { + "target": "com.amazonaws.mailmanager#AddressListId", + "traits": { + "smithy.api#documentation": "

        The unique identifier of the address list to list the addresses from.

        ", + "smithy.api#required": {} + } + }, + "Filter": { + "target": "com.amazonaws.mailmanager#AddressFilter", + "traits": { + "smithy.api#documentation": "

        Filter to be used to limit the results.

        " + } + }, + "NextToken": { + "target": "com.amazonaws.mailmanager#PaginationToken", + "traits": { + "smithy.api#documentation": "

        If you received a pagination token from a previous call to this API, you can provide it here to continue paginating through the next page of results.

        " + } + }, + "PageSize": { + "target": "com.amazonaws.mailmanager#AddressPageSize", + "traits": { + "smithy.api#documentation": "

        The maximum number of address list members that are returned per call.\n You can use NextToken to retrieve the next page of members.

        " + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.mailmanager#ListMembersOfAddressListResponse": { "type": "structure", "members": { - "IngressPoints": { - "target": "com.amazonaws.mailmanager#IngressPointsList", + "Addresses": { + "target": "com.amazonaws.mailmanager#SavedAddresses", "traits": { - "smithy.api#documentation": "

        The list of ingress endpoints.

        " + "smithy.api#documentation": "

        The list of addresses.

        ", + "smithy.api#required": {} } }, "NextToken": { @@ -4422,6 +5599,15 @@ "type": "service", "version": "2023-10-17", "operations": [ + { + "target": "com.amazonaws.mailmanager#CreateAddressListImportJob" + }, + { + "target": "com.amazonaws.mailmanager#DeregisterMemberFromAddressList" + }, + { + "target": "com.amazonaws.mailmanager#GetAddressListImportJob" + }, { "target": "com.amazonaws.mailmanager#GetArchiveExport" }, @@ -4437,21 +5623,39 @@ { "target": "com.amazonaws.mailmanager#GetArchiveSearchResults" }, + { + "target": "com.amazonaws.mailmanager#GetMemberOfAddressList" + }, + { + "target": "com.amazonaws.mailmanager#ListAddressListImportJobs" + }, { "target": "com.amazonaws.mailmanager#ListArchiveExports" }, { "target": "com.amazonaws.mailmanager#ListArchiveSearches" }, + { + "target": "com.amazonaws.mailmanager#ListMembersOfAddressList" + }, { "target": "com.amazonaws.mailmanager#ListTagsForResource" }, + { + "target": "com.amazonaws.mailmanager#RegisterMemberToAddressList" + }, + { + "target": "com.amazonaws.mailmanager#StartAddressListImportJob" + }, { "target": "com.amazonaws.mailmanager#StartArchiveExport" }, { "target": "com.amazonaws.mailmanager#StartArchiveSearch" }, + { + "target": "com.amazonaws.mailmanager#StopAddressListImportJob" + }, { "target": "com.amazonaws.mailmanager#StopArchiveExport" }, @@ -4472,6 +5676,9 @@ { "target": "com.amazonaws.mailmanager#AddonSubscriptionResource" }, + { + "target": "com.amazonaws.mailmanager#AddressListResource" + }, { "target": "com.amazonaws.mailmanager#ArchiveResource" }, @@ -5373,6 +6580,12 @@ "target": "com.amazonaws.mailmanager#PolicyStatement" } }, + "com.amazonaws.mailmanager#PreSignedUrl": { + "type": "string", + "traits": { + "smithy.api#sensitive": {} + } + }, "com.amazonaws.mailmanager#QBusinessApplicationId": { "type": "string", "traits": { @@ -5406,6 +6619,65 @@ "smithy.api#uniqueItems": {} } }, + "com.amazonaws.mailmanager#RegisterMemberToAddressList": { + "type": "operation", + "input": { + "target": "com.amazonaws.mailmanager#RegisterMemberToAddressListRequest" + }, + "output": { + "target": "com.amazonaws.mailmanager#RegisterMemberToAddressListResponse" + }, + "errors": [ + { + "target": "com.amazonaws.mailmanager#AccessDeniedException" + }, + { + "target": "com.amazonaws.mailmanager#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.mailmanager#ServiceQuotaExceededException" + }, + { + "target": "com.amazonaws.mailmanager#ThrottlingException" + }, + { + "target": "com.amazonaws.mailmanager#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

        Adds a member to an address list.

        ", + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.mailmanager#RegisterMemberToAddressListRequest": { + "type": "structure", + "members": { + "AddressListId": { + "target": "com.amazonaws.mailmanager#AddressListId", + "traits": { + "smithy.api#documentation": "

        The unique identifier of the address list where the address should be added.

        ", + "smithy.api#required": {} + } + }, + "Address": { + "target": "com.amazonaws.mailmanager#Address", + "traits": { + "smithy.api#documentation": "

        The address to be added to the address list.

        ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.mailmanager#RegisterMemberToAddressListResponse": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.mailmanager#Relay": { "type": "structure", "members": { @@ -5951,6 +7223,60 @@ } } }, + "com.amazonaws.mailmanager#RuleAddressListArnList": { + "type": "list", + "member": { + "target": "com.amazonaws.mailmanager#AddressListArn" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 1 + }, + "smithy.api#uniqueItems": {} + } + }, + "com.amazonaws.mailmanager#RuleAddressListEmailAttribute": { + "type": "enum", + "members": { + "RECIPIENT": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "RECIPIENT" + } + }, + "MAIL_FROM": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "MAIL_FROM" + } + }, + "SENDER": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "SENDER" + } + }, + "FROM": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "FROM" + } + }, + "TO": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "TO" + } + }, + "CC": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CC" + } + } + } + }, "com.amazonaws.mailmanager#RuleBooleanEmailAttribute": { "type": "enum", "members": { @@ -6021,6 +7347,12 @@ "traits": { "smithy.api#documentation": "

        The boolean type representing the allowed attribute types for an email.

        " } + }, + "IsInAddressList": { + "target": "com.amazonaws.mailmanager#RuleIsInAddressList", + "traits": { + "smithy.api#documentation": "

        The structure representing the address lists and address list attribute that will be used in evaluation of boolean expression.

        " + } } }, "traits": { @@ -6250,6 +7582,28 @@ } } }, + "com.amazonaws.mailmanager#RuleIsInAddressList": { + "type": "structure", + "members": { + "Attribute": { + "target": "com.amazonaws.mailmanager#RuleAddressListEmailAttribute", + "traits": { + "smithy.api#documentation": "

        The email attribute that needs to be evaluated against the address list.

        ", + "smithy.api#required": {} + } + }, + "AddressLists": { + "target": "com.amazonaws.mailmanager#RuleAddressListArnList", + "traits": { + "smithy.api#documentation": "

        The address lists that will be used for evaluation.

        ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

        The structure type for a boolean condition that provides the address lists and address list attribute to evaluate.

        " + } + }, "com.amazonaws.mailmanager#RuleName": { "type": "string", "traits": { @@ -6837,6 +8191,34 @@ "com.amazonaws.mailmanager#S3PresignedURL": { "type": "string" }, + "com.amazonaws.mailmanager#SavedAddress": { + "type": "structure", + "members": { + "Address": { + "target": "com.amazonaws.mailmanager#Address", + "traits": { + "smithy.api#documentation": "

        The email or domain that constitutes the address.

        ", + "smithy.api#required": {} + } + }, + "CreatedTimestamp": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "

        The timestamp of when the address was added to the address list.

        ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

        An address that is a member of an address list.

        " + } + }, + "com.amazonaws.mailmanager#SavedAddresses": { + "type": "list", + "member": { + "target": "com.amazonaws.mailmanager#SavedAddress" + } + }, "com.amazonaws.mailmanager#SearchId": { "type": "string", "traits": { @@ -7008,6 +8390,61 @@ "smithy.api#sensitive": {} } }, + "com.amazonaws.mailmanager#StartAddressListImportJob": { + "type": "operation", + "input": { + "target": "com.amazonaws.mailmanager#StartAddressListImportJobRequest" + }, + "output": { + "target": "com.amazonaws.mailmanager#StartAddressListImportJobResponse" + }, + "errors": [ + { + "target": "com.amazonaws.mailmanager#AccessDeniedException" + }, + { + "target": "com.amazonaws.mailmanager#ConflictException" + }, + { + "target": "com.amazonaws.mailmanager#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.mailmanager#ServiceQuotaExceededException" + }, + { + "target": "com.amazonaws.mailmanager#ThrottlingException" + }, + { + "target": "com.amazonaws.mailmanager#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

        Starts an import job for an address list.

        ", + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.mailmanager#StartAddressListImportJobRequest": { + "type": "structure", + "members": { + "JobId": { + "target": "com.amazonaws.mailmanager#JobId", + "traits": { + "smithy.api#documentation": "

        The identifier of the import job that needs to be started.

        ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.mailmanager#StartAddressListImportJobResponse": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.mailmanager#StartArchiveExport": { "type": "operation", "input": { @@ -7197,6 +8634,58 @@ "smithy.api#output": {} } }, + "com.amazonaws.mailmanager#StopAddressListImportJob": { + "type": "operation", + "input": { + "target": "com.amazonaws.mailmanager#StopAddressListImportJobRequest" + }, + "output": { + "target": "com.amazonaws.mailmanager#StopAddressListImportJobResponse" + }, + "errors": [ + { + "target": "com.amazonaws.mailmanager#AccessDeniedException" + }, + { + "target": "com.amazonaws.mailmanager#ConflictException" + }, + { + "target": "com.amazonaws.mailmanager#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.mailmanager#ThrottlingException" + }, + { + "target": "com.amazonaws.mailmanager#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

        Stops an ongoing import job for an address list.

        ", + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.mailmanager#StopAddressListImportJobRequest": { + "type": "structure", + "members": { + "JobId": { + "target": "com.amazonaws.mailmanager#JobId", + "traits": { + "smithy.api#documentation": "

        The identifier of the import job that needs to be stopped.

        ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.mailmanager#StopAddressListImportJobResponse": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.mailmanager#StopArchiveExport": { "type": "operation", "input": { @@ -7348,8 +8837,7 @@ "min": 1, "max": 128 }, - "smithy.api#pattern": "^[a-zA-Z0-9/_\\+=\\.:@\\-]+$", - "smithy.api#sensitive": {} + "smithy.api#pattern": "^[a-zA-Z0-9/_\\+=\\.:@\\-]+$" } }, "com.amazonaws.mailmanager#TagKeyList": { @@ -7439,8 +8927,7 @@ "min": 0, "max": 256 }, - "smithy.api#pattern": "^[a-zA-Z0-9/_\\+=\\.:@\\-]*$", - "smithy.api#sensitive": {} + "smithy.api#pattern": "^[a-zA-Z0-9/_\\+=\\.:@\\-]*$" } }, "com.amazonaws.mailmanager#TaggableResourceArn": { diff --git a/tools/code-generation/smithy/api-descriptions/mediaconvert.json b/tools/code-generation/smithy/api-descriptions/mediaconvert.json index 94aeefd4e6e..6c1bed922e6 100644 --- a/tools/code-generation/smithy/api-descriptions/mediaconvert.json +++ b/tools/code-generation/smithy/api-descriptions/mediaconvert.json @@ -1716,7 +1716,7 @@ "ExternalAudioFileInput": { "target": "com.amazonaws.mediaconvert#__stringPatternS3Https", "traits": { - "smithy.api#documentation": "Specifies audio data from an external file source.", + "smithy.api#documentation": "Specify the S3, HTTP, or HTTPS URL for your external audio file input.", "smithy.api#jsonName": "externalAudioFileInput" } }, @@ -1730,14 +1730,14 @@ "LanguageCode": { "target": "com.amazonaws.mediaconvert#LanguageCode", "traits": { - "smithy.api#documentation": "Selects a specific language code from within an audio source.", + "smithy.api#documentation": "Specify the language to select from your audio input. In the MediaConvert console choose from a list of languages. In your JSON job settings choose from an ISO 639-2 three-letter code listed at https://www.loc.gov/standards/iso639-2/php/code_list.php", "smithy.api#jsonName": "languageCode" } }, "Offset": { "target": "com.amazonaws.mediaconvert#__integerMinNegative2147483648Max2147483647", "traits": { - "smithy.api#documentation": "Specifies a time delta in milliseconds to offset the audio from the input video.", + "smithy.api#documentation": "Specify a time delta, in milliseconds, to offset the audio from the input video.\nTo specify no offset: Keep the default value, 0.\nTo specify an offset: Enter an integer from -2147483648 to 2147483647", "smithy.api#jsonName": "offset" } }, @@ -7728,6 +7728,69 @@ "smithy.api#documentation": "Specify how MediaConvert handles the display definition segment (DDS). To exclude the DDS from this set of captions: Keep the default, None. To include the DDS: Choose Specified. When you do, also specify the offset coordinates of the display window with DDS x-coordinate and DDS y-coordinate. To include the DDS, but not include display window data: Choose No display window. When you do, you can write position metadata to the page composition segment (PCS) with DDS x-coordinate and DDS y-coordinate. For video resolutions with a height of 576 pixels or less, MediaConvert doesn't include the DDS, regardless of the value you choose for DDS handling. All burn-in and DVB-Sub font settings must match." } }, + "com.amazonaws.mediaconvert#DynamicAudioSelector": { + "type": "structure", + "members": { + "AudioDurationCorrection": { + "target": "com.amazonaws.mediaconvert#AudioDurationCorrection", + "traits": { + "smithy.api#documentation": "Apply audio timing corrections to help synchronize audio and video in your output. To apply timing corrections, your input must meet the following requirements: * Container: MP4, or MOV, with an accurate time-to-sample (STTS) table. * Audio track: AAC. Choose from the following audio timing correction settings: * Disabled (Default): Apply no correction. * Auto: Recommended for most inputs. MediaConvert analyzes the audio timing in your input and determines which correction setting to use, if needed. * Track: Adjust the duration of each audio frame by a constant amount to align the audio track length with STTS duration. Track-level correction does not affect pitch, and is recommended for tonal audio content such as music. * Frame: Adjust the duration of each audio frame by a variable amount to align audio frames with STTS timestamps. No corrections are made to already-aligned frames. Frame-level correction may affect the pitch of corrected frames, and is recommended for atonal audio content such as speech or percussion. * Force: Apply audio duration correction, either Track or Frame depending on your input, regardless of the accuracy of your input's STTS table. Your output audio and video may not be aligned or it may contain audio artifacts.", + "smithy.api#jsonName": "audioDurationCorrection" + } + }, + "ExternalAudioFileInput": { + "target": "com.amazonaws.mediaconvert#__stringPatternS3Https", + "traits": { + "smithy.api#documentation": "Specify the S3, HTTP, or HTTPS URL for your external audio file input.", + "smithy.api#jsonName": "externalAudioFileInput" + } + }, + "LanguageCode": { + "target": "com.amazonaws.mediaconvert#LanguageCode", + "traits": { + "smithy.api#documentation": "Specify the language to select from your audio input. In the MediaConvert console choose from a list of languages. In your JSON job settings choose from an ISO 639-2 three-letter code listed at https://www.loc.gov/standards/iso639-2/php/code_list.php", + "smithy.api#jsonName": "languageCode" + } + }, + "Offset": { + "target": "com.amazonaws.mediaconvert#__integerMinNegative2147483648Max2147483647", + "traits": { + "smithy.api#documentation": "Specify a time delta, in milliseconds, to offset the audio from the input video.\nTo specify no offset: Keep the default value, 0.\nTo specify an offset: Enter an integer from -2147483648 to 2147483647", + "smithy.api#jsonName": "offset" + } + }, + "SelectorType": { + "target": "com.amazonaws.mediaconvert#DynamicAudioSelectorType", + "traits": { + "smithy.api#documentation": "Specify which audio tracks to dynamically select from your source. To select all audio tracks: Keep the default value, All tracks. To select all audio tracks with a specific language code: Choose Language code. When you do, you must also specify a language code under the Language code setting. If there is no matching Language code in your source, then no track will be selected.", + "smithy.api#jsonName": "selectorType" + } + } + }, + "traits": { + "smithy.api#documentation": "Use Dynamic audio selectors when you do not know the track layout of your source when you submit your job, but want to select multiple audio tracks. When you include an audio track in your output and specify this Dynamic audio selector as the Audio source, MediaConvert creates an output audio track for each dynamically selected track. Note that when you include a Dynamic audio selector for two or more inputs, each input must have the same number of audio tracks and audio channels." + } + }, + "com.amazonaws.mediaconvert#DynamicAudioSelectorType": { + "type": "enum", + "members": { + "ALL_TRACKS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ALL_TRACKS" + } + }, + "LANGUAGE_CODE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "LANGUAGE_CODE" + } + } + }, + "traits": { + "smithy.api#documentation": "Specify which audio tracks to dynamically select from your source. To select all audio tracks: Keep the default value, All tracks. To select all audio tracks with a specific language code: Choose Language code. When you do, you must also specify a language code under the Language code setting. If there is no matching Language code in your source, then no track will be selected." + } + }, "com.amazonaws.mediaconvert#Eac3AtmosBitstreamMode": { "type": "enum", "members": { @@ -10840,6 +10903,26 @@ "smithy.api#documentation": "Represents the Profile and Tier, per the HEVC (H.265) specification. Selections are grouped as [Profile] / [Tier], so \"Main/High\" represents Main Profile with High Tier. 4:2:2 profiles are only available with the HEVC 4:2:2 License." } }, + "com.amazonaws.mediaconvert#H265Deblocking": { + "type": "enum", + "members": { + "ENABLED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ENABLED" + } + }, + "DISABLED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DISABLED" + } + } + }, + "traits": { + "smithy.api#documentation": "Use Deblocking to improve the video quality of your output by smoothing the edges of macroblock artifacts created during video compression. To reduce blocking artifacts at block boundaries, and improve overall video quality: Keep the default value, Enabled. To not apply any deblocking: Choose Disabled. Visible block edge artifacts might appear in the output, especially at lower bitrates." + } + }, "com.amazonaws.mediaconvert#H265DynamicSubGop": { "type": "enum", "members": { @@ -11248,6 +11331,13 @@ "smithy.api#jsonName": "codecProfile" } }, + "Deblocking": { + "target": "com.amazonaws.mediaconvert#H265Deblocking", + "traits": { + "smithy.api#documentation": "Use Deblocking to improve the video quality of your output by smoothing the edges of macroblock artifacts created during video compression. To reduce blocking artifacts at block boundaries, and improve overall video quality: Keep the default value, Enabled. To not apply any deblocking: Choose Disabled. Visible block edge artifacts might appear in the output, especially at lower bitrates.", + "smithy.api#jsonName": "deblocking" + } + }, "DynamicSubGop": { "target": "com.amazonaws.mediaconvert#H265DynamicSubGop", "traits": { @@ -13079,6 +13169,13 @@ "smithy.api#jsonName": "dolbyVisionMetadataXml" } }, + "DynamicAudioSelectors": { + "target": "com.amazonaws.mediaconvert#__mapOfDynamicAudioSelector", + "traits": { + "smithy.api#documentation": "Use Dynamic audio selectors when you do not know the track layout of your source when you submit your job, but want to select multiple audio tracks. When you include an audio track in your output and specify this Dynamic audio selector as the Audio source, MediaConvert creates an output audio track for each dynamically selected track. Note that when you include a Dynamic audio selector for two or more inputs, each input must have the same number of audio tracks and audio channels.", + "smithy.api#jsonName": "dynamicAudioSelectors" + } + }, "FileInput": { "target": "com.amazonaws.mediaconvert#__stringMax2048PatternS3Https", "traits": { @@ -13503,6 +13600,13 @@ "smithy.api#jsonName": "dolbyVisionMetadataXml" } }, + "DynamicAudioSelectors": { + "target": "com.amazonaws.mediaconvert#__mapOfDynamicAudioSelector", + "traits": { + "smithy.api#documentation": "Use Dynamic audio selectors when you do not know the track layout of your source when you submit your job, but want to select multiple audio tracks. When you include an audio track in your output and specify this Dynamic audio selector as the Audio source, MediaConvert creates an output audio track for each dynamically selected track. Note that when you include a Dynamic audio selector for two or more inputs, each input must have the same number of audio tracks and audio channels.", + "smithy.api#jsonName": "dynamicAudioSelectors" + } + }, "FilterEnable": { "target": "com.amazonaws.mediaconvert#InputFilterEnable", "traits": { @@ -14088,7 +14192,7 @@ "FollowSource": { "target": "com.amazonaws.mediaconvert#__integerMin1Max150", "traits": { - "smithy.api#documentation": "Specify the input that MediaConvert references for your default output settings. MediaConvert uses this input's Resolution, Frame rate, and Pixel aspect ratio for all outputs that you don't manually specify different output settings for. Enabling this setting will disable \"Follow source\" for all other inputs. If MediaConvert cannot follow your source, for example if you specify an audio-only input, MediaConvert uses the first followable input instead. In your JSON job specification, enter an integer from 1 to 150 corresponding to the order of your inputs.", + "smithy.api#documentation": "Specify the input that MediaConvert references for your default output settings. MediaConvert uses this input's Resolution, Frame rate, and Pixel aspect ratio for all outputs that you don't manually specify different output settings for. Enabling this setting will disable \"Follow source\" for all other inputs. If MediaConvert cannot follow your source, for example if you specify an audio-only input, MediaConvert uses the first followable input instead. In your JSON job specification, enter an integer from 1 to 150 corresponding to the order of your inputs.", "smithy.api#jsonName": "followSource" } }, @@ -14361,7 +14465,7 @@ "FollowSource": { "target": "com.amazonaws.mediaconvert#__integerMin1Max150", "traits": { - "smithy.api#documentation": "Specify the input that MediaConvert references for your default output settings. MediaConvert uses this input's Resolution, Frame rate, and Pixel aspect ratio for all outputs that you don't manually specify different output settings for. Enabling this setting will disable \"Follow source\" for all other inputs. If MediaConvert cannot follow your source, for example if you specify an audio-only input, MediaConvert uses the first followable input instead. In your JSON job specification, enter an integer from 1 to 150 corresponding to the order of your inputs.", + "smithy.api#documentation": "Specify the input that MediaConvert references for your default output settings. MediaConvert uses this input's Resolution, Frame rate, and Pixel aspect ratio for all outputs that you don't manually specify different output settings for. Enabling this setting will disable \"Follow source\" for all other inputs. If MediaConvert cannot follow your source, for example if you specify an audio-only input, MediaConvert uses the first followable input instead. In your JSON job specification, enter an integer from 1 to 150 corresponding to the order of your inputs.", "smithy.api#jsonName": "followSource" } }, @@ -27538,6 +27642,15 @@ "target": "com.amazonaws.mediaconvert#CaptionSelector" } }, + "com.amazonaws.mediaconvert#__mapOfDynamicAudioSelector": { + "type": "map", + "key": { + "target": "com.amazonaws.mediaconvert#__string" + }, + "value": { + "target": "com.amazonaws.mediaconvert#DynamicAudioSelector" + } + }, "com.amazonaws.mediaconvert#__mapOf__string": { "type": "map", "key": { diff --git a/tools/code-generation/smithy/api-descriptions/mediatailor.json b/tools/code-generation/smithy/api-descriptions/mediatailor.json index bc6b33db5de..1eb83c6f003 100644 --- a/tools/code-generation/smithy/api-descriptions/mediatailor.json +++ b/tools/code-generation/smithy/api-descriptions/mediatailor.json @@ -121,6 +121,21 @@ "smithy.api#documentation": "

        A location at which a zero-duration ad marker was detected in a VOD source manifest.

        " } }, + "com.amazonaws.mediatailor#AdConditioningConfiguration": { + "type": "structure", + "members": { + "StreamingMediaFileConditioning": { + "target": "com.amazonaws.mediatailor#StreamingMediaFileConditioning", + "traits": { + "smithy.api#documentation": "

        For ads that have media files with streaming delivery, indicates what transcoding action MediaTailor it first receives these ads from the ADS. TRANSCODE indicates that MediaTailor must transcode the ads. NONE indicates that you have already transcoded the ads outside of MediaTailor and don't need them transcoded as part of the ad insertion workflow. For more information about ad conditioning see https://docs.aws.amazon.com/precondition-ads.html.

        ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

        The setting that indicates what conditioning MediaTailor will perform on ads that the ad decision server (ADS) returns.

        " + } + }, "com.amazonaws.mediatailor#AdMarkerPassthrough": { "type": "structure", "members": { @@ -713,7 +728,7 @@ "target": "com.amazonaws.mediatailor#ConfigureLogsForPlaybackConfigurationResponse" }, "traits": { - "smithy.api#documentation": "

        Amazon CloudWatch log settings for a playback configuration.

        ", + "smithy.api#documentation": "

        Defines where AWS Elemental MediaTailor sends logs for the playback configuration.

        ", "smithy.api#http": { "method": "PUT", "uri": "/configureLogs/playbackConfiguration", @@ -729,7 +744,7 @@ "target": "com.amazonaws.mediatailor#__integer", "traits": { "smithy.api#default": 0, - "smithy.api#documentation": "

        The percentage of session logs that MediaTailor sends to your Cloudwatch Logs account. For example, if your playback configuration has 1000 sessions and percentEnabled is set to 60, MediaTailor sends logs for 600 of the sessions to CloudWatch Logs. MediaTailor decides at random which of the playback configuration sessions to send logs for. If you want to view logs for a specific session, you can use the debug log mode.

        \n

        Valid values: 0 - 100\n

        ", + "smithy.api#documentation": "

        The percentage of session logs that MediaTailor sends to your CloudWatch Logs account. For example, if your playback configuration has 1000 sessions and percentEnabled is set to 60, MediaTailor sends logs for 600 of the sessions to CloudWatch Logs. MediaTailor decides at random which of the playback configuration sessions to send logs for. If you want to view logs for a specific session, you can use the debug log mode.

        \n

        Valid values: 0 - 100\n

        ", "smithy.api#required": {} } }, @@ -2618,7 +2633,7 @@ "ConfigurationAliases": { "target": "com.amazonaws.mediatailor#ConfigurationAliasesResponse", "traits": { - "smithy.api#documentation": "

        The player parameters and aliases used as dynamic variables during session initialization. For more information, see Domain Variables.

        " + "smithy.api#documentation": "

        The player parameters and aliases used as dynamic variables during session initialization. For more information, see Domain Variables.

        " } }, "DashConfiguration": { @@ -2649,7 +2664,7 @@ "LogConfiguration": { "target": "com.amazonaws.mediatailor#LogConfiguration", "traits": { - "smithy.api#documentation": "

        The Amazon CloudWatch log settings for a playback configuration.

        " + "smithy.api#documentation": "

        The configuration that defines where AWS Elemental MediaTailor sends logs for the playback configuration.

        " } }, "ManifestProcessingRules": { @@ -2712,6 +2727,12 @@ "traits": { "smithy.api#documentation": "

        The URL prefix for the parent manifest for the stream, minus the asset ID. The maximum length is 512 characters.

        " } + }, + "AdConditioningConfiguration": { + "target": "com.amazonaws.mediatailor#AdConditioningConfiguration", + "traits": { + "smithy.api#documentation": "

        The setting that indicates what conditioning MediaTailor will perform on ads that the ad decision server (ADS) returns.

        " + } } } }, @@ -3553,13 +3574,13 @@ "target": "com.amazonaws.mediatailor#__integer", "traits": { "smithy.api#default": 0, - "smithy.api#documentation": "

        The percentage of session logs that MediaTailor sends to your Cloudwatch Logs account. For example, if your playback configuration has 1000 sessions and percentEnabled is set to 60, MediaTailor sends logs for 600 of the sessions to CloudWatch Logs. MediaTailor decides at random which of the playback configuration sessions to send logs for. If you want to view logs for a specific session, you can use the debug log mode.

        \n

        Valid values: 0 - 100\n

        ", + "smithy.api#documentation": "

        The percentage of session logs that MediaTailor sends to your configured log destination. For example, if your playback configuration has 1000 sessions and percentEnabled is set to 60, MediaTailor sends logs for 600 of the sessions to CloudWatch Logs. MediaTailor decides at random which of the playback configuration sessions to send logs for. If you want to view logs for a specific session, you can use the debug log mode.

        \n

        Valid values: 0 - 100\n

        ", "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "

        Returns Amazon CloudWatch log settings for a playback configuration.

        " + "smithy.api#documentation": "

        Defines where AWS Elemental MediaTailor sends logs for the playback configuration.

        " } }, "com.amazonaws.mediatailor#LogConfigurationForChannel": { @@ -4500,7 +4521,7 @@ "ConfigurationAliases": { "target": "com.amazonaws.mediatailor#ConfigurationAliasesResponse", "traits": { - "smithy.api#documentation": "

        The player parameters and aliases used as dynamic variables during session initialization. For more information, see Domain Variables.

        " + "smithy.api#documentation": "

        The player parameters and aliases used as dynamic variables during session initialization. For more information, see Domain Variables.

        " } }, "DashConfiguration": { @@ -4531,7 +4552,7 @@ "LogConfiguration": { "target": "com.amazonaws.mediatailor#LogConfiguration", "traits": { - "smithy.api#documentation": "

        The Amazon CloudWatch log settings for a playback configuration.

        " + "smithy.api#documentation": "

        Defines where AWS Elemental MediaTailor sends logs for the playback configuration.

        " } }, "ManifestProcessingRules": { @@ -4594,6 +4615,12 @@ "traits": { "smithy.api#documentation": "

        The URL prefix for the parent manifest for the stream, minus the asset ID. The maximum length is 512 characters.

        " } + }, + "AdConditioningConfiguration": { + "target": "com.amazonaws.mediatailor#AdConditioningConfiguration", + "traits": { + "smithy.api#documentation": "

        The setting that indicates what conditioning MediaTailor will perform on ads that the ad decision server (ADS) returns.

        " + } } }, "traits": { @@ -4666,7 +4693,7 @@ "StartTime": { "target": "com.amazonaws.mediatailor#__timestampUnix", "traits": { - "smithy.api#documentation": "

        The time when prefetched ads are considered for use in an ad break. If you don't specify StartTime, the prefetched ads are available after MediaTailor retrives them from the ad decision server.

        " + "smithy.api#documentation": "

        The time when prefetched ads are considered for use in an ad break. If you don't specify StartTime, the prefetched ads are available after MediaTailor retrieves them from the ad decision server.

        " } } }, @@ -4903,7 +4930,7 @@ "ConfigurationAliases": { "target": "com.amazonaws.mediatailor#ConfigurationAliasesRequest", "traits": { - "smithy.api#documentation": "

        The player parameters and aliases used as dynamic variables during session initialization. For more information, see Domain Variables.

        " + "smithy.api#documentation": "

        The player parameters and aliases used as dynamic variables during session initialization. For more information, see Domain Variables.

        " } }, "DashConfiguration": { @@ -4968,6 +4995,12 @@ "traits": { "smithy.api#documentation": "

        The URL prefix for the parent manifest for the stream, minus the asset ID. The maximum length is 512 characters.

        " } + }, + "AdConditioningConfiguration": { + "target": "com.amazonaws.mediatailor#AdConditioningConfiguration", + "traits": { + "smithy.api#documentation": "

        The setting that indicates what conditioning MediaTailor will perform on ads that the ad decision server (ADS) returns.

        " + } } } }, @@ -5001,7 +5034,7 @@ "ConfigurationAliases": { "target": "com.amazonaws.mediatailor#ConfigurationAliasesResponse", "traits": { - "smithy.api#documentation": "

        The player parameters and aliases used as dynamic variables during session initialization. For more information, see Domain Variables.

        " + "smithy.api#documentation": "

        The player parameters and aliases used as dynamic variables during session initialization. For more information, see Domain Variables.

        " } }, "DashConfiguration": { @@ -5032,7 +5065,7 @@ "LogConfiguration": { "target": "com.amazonaws.mediatailor#LogConfiguration", "traits": { - "smithy.api#documentation": "

        The Amazon CloudWatch log settings for a playback configuration.

        " + "smithy.api#documentation": "

        The configuration that defines where AWS Elemental MediaTailor sends logs for the playback configuration.

        " } }, "ManifestProcessingRules": { @@ -5095,6 +5128,12 @@ "traits": { "smithy.api#documentation": "

        The URL prefix for the parent manifest for the stream, minus the asset ID. The maximum length is 512 characters.

        " } + }, + "AdConditioningConfiguration": { + "target": "com.amazonaws.mediatailor#AdConditioningConfiguration", + "traits": { + "smithy.api#documentation": "

        The setting that indicates what conditioning MediaTailor will perform on ads that the ad decision server (ADS) returns.

        " + } } } }, @@ -5693,6 +5732,23 @@ "type": "structure", "members": {} }, + "com.amazonaws.mediatailor#StreamingMediaFileConditioning": { + "type": "enum", + "members": { + "TRANSCODE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "TRANSCODE" + } + }, + "NONE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "NONE" + } + } + } + }, "com.amazonaws.mediatailor#TagResource": { "type": "operation", "input": { diff --git a/tools/code-generation/smithy/api-descriptions/qbusiness.json b/tools/code-generation/smithy/api-descriptions/qbusiness.json index f5cb62e77f0..a41a7553836 100644 --- a/tools/code-generation/smithy/api-descriptions/qbusiness.json +++ b/tools/code-generation/smithy/api-descriptions/qbusiness.json @@ -102,7 +102,7 @@ "action": { "target": "com.amazonaws.qbusiness#QIamAction", "traits": { - "smithy.api#documentation": "

        The Q Business action that is allowed.

        ", + "smithy.api#documentation": "

        The Amazon Q Business action that is allowed.

        ", "smithy.api#required": {} } }, @@ -733,7 +733,7 @@ } ], "traits": { - "smithy.api#documentation": "

        Adds or updates a permission policy for a Q Business application, allowing cross-account access for an ISV. \n This operation creates a new policy statement for the specified Q Business application. \n The policy statement defines the IAM actions that the ISV is allowed to perform on the Q Business application's resources.

        ", + "smithy.api#documentation": "

        Adds or updates a permission policy for a Amazon Q Business application, allowing cross-account access for an ISV. \n This operation creates a new policy statement for the specified Amazon Q Business application. \n The policy statement defines the IAM actions that the ISV is allowed to perform on the Amazon Q Business application's resources.

        ", "smithy.api#http": { "uri": "/applications/{applicationId}/policy", "method": "POST" @@ -746,7 +746,7 @@ "applicationId": { "target": "com.amazonaws.qbusiness#ApplicationId", "traits": { - "smithy.api#documentation": "

        The unique identifier of the Q Business application.

        ", + "smithy.api#documentation": "

        The unique identifier of the Amazon Q Business application.

        ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -761,14 +761,14 @@ "actions": { "target": "com.amazonaws.qbusiness#QIamActions", "traits": { - "smithy.api#documentation": "

        The list of Q Business actions that the ISV is allowed to perform.

        ", + "smithy.api#documentation": "

        The list of Amazon Q Business actions that the ISV is allowed to perform.

        ", "smithy.api#required": {} } }, "principal": { "target": "com.amazonaws.qbusiness#PrincipalRoleArn", "traits": { - "smithy.api#documentation": "

        The Amazon Resource Name (ARN) of the IAM role for the ISV that is being granted permission.

        ", + "smithy.api#documentation": "

        The Amazon Resource Name of the IAM role for the ISV that is being granted permission.

        ", "smithy.api#required": {} } } @@ -1582,6 +1582,90 @@ "smithy.api#uniqueItems": {} } }, + "com.amazonaws.qbusiness#CancelSubscription": { + "type": "operation", + "input": { + "target": "com.amazonaws.qbusiness#CancelSubscriptionRequest" + }, + "output": { + "target": "com.amazonaws.qbusiness#CancelSubscriptionResponse" + }, + "errors": [ + { + "target": "com.amazonaws.qbusiness#AccessDeniedException" + }, + { + "target": "com.amazonaws.qbusiness#InternalServerException" + }, + { + "target": "com.amazonaws.qbusiness#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.qbusiness#ThrottlingException" + }, + { + "target": "com.amazonaws.qbusiness#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

        Unsubscribes a user or a group from their pricing tier in an Amazon Q Business\n application. An unsubscribed user or group loses all Amazon Q Business feature access at the\n start of next month.

        ", + "smithy.api#http": { + "method": "DELETE", + "uri": "/applications/{applicationId}/subscriptions/{subscriptionId}" + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.qbusiness#CancelSubscriptionRequest": { + "type": "structure", + "members": { + "applicationId": { + "target": "com.amazonaws.qbusiness#ApplicationId", + "traits": { + "smithy.api#documentation": "

        The identifier of the Amazon Q Business application for which the subscription is being\n cancelled.

        ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "subscriptionId": { + "target": "com.amazonaws.qbusiness#SubscriptionId", + "traits": { + "smithy.api#documentation": "

        The identifier of the Amazon Q Business subscription being cancelled.

        ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.qbusiness#CancelSubscriptionResponse": { + "type": "structure", + "members": { + "subscriptionArn": { + "target": "com.amazonaws.qbusiness#SubscriptionArn", + "traits": { + "smithy.api#documentation": "

        The Amazon Resource Name (ARN) of the Amazon Q Business subscription being\n cancelled.

        " + } + }, + "currentSubscription": { + "target": "com.amazonaws.qbusiness#SubscriptionDetails", + "traits": { + "smithy.api#documentation": "

        The type of your current Amazon Q Business subscription.

        " + } + }, + "nextSubscription": { + "target": "com.amazonaws.qbusiness#SubscriptionDetails", + "traits": { + "smithy.api#documentation": "

        The type of the Amazon Q Business subscription for the next month.

        " + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.qbusiness#Chat": { "type": "operation", "input": { @@ -2513,7 +2597,7 @@ "qbusiness:TagResource", "qbusiness:ListTagsForResource" ], - "smithy.api#documentation": "

        Creates a new data accessor for an ISV to access data from a Q Business application. \n The data accessor is an entity that represents the ISV's access to the Q Business application's data. \n It includes the IAM role ARN for the ISV, a friendly name, and a set of action configurations that define the \n specific actions the ISV is allowed to perform and any associated data filters. When the data accessor is created, \n an AWS IAM Identity Center application is also created to manage the ISV's identity and authentication for \n accessing the Q Business application.

        ", + "smithy.api#documentation": "

        Creates a new data accessor for an ISV to access data from a Amazon Q Business application. \n The data accessor is an entity that represents the ISV's access to the Amazon Q Business application's data. \n It includes the IAM role ARN for the ISV, a friendly name, and a set of action configurations that define the \n specific actions the ISV is allowed to perform and any associated data filters. When the data accessor is created, \n an IAM Identity Center application is also created to manage the ISV's identity and authentication for \n accessing the Amazon Q Business application.

        ", "smithy.api#http": { "uri": "/applications/{applicationId}/dataaccessors", "method": "POST" @@ -2527,7 +2611,7 @@ "applicationId": { "target": "com.amazonaws.qbusiness#ApplicationId", "traits": { - "smithy.api#documentation": "

        The unique identifier of the Q Business application.

        ", + "smithy.api#documentation": "

        The unique identifier of the Amazon Q Business application.

        ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -2585,7 +2669,7 @@ "idcApplicationArn": { "target": "com.amazonaws.qbusiness#IdcApplicationArn", "traits": { - "smithy.api#documentation": "

        The Amazon Resource Name (ARN) of the AWS IAM Identity Center application created for this data accessor.

        ", + "smithy.api#documentation": "

        The Amazon Resource Name (ARN) of the IAM Identity Center application created for this data accessor.

        ", "smithy.api#required": {} } }, @@ -3145,6 +3229,112 @@ "smithy.api#output": {} } }, + "com.amazonaws.qbusiness#CreateSubscription": { + "type": "operation", + "input": { + "target": "com.amazonaws.qbusiness#CreateSubscriptionRequest" + }, + "output": { + "target": "com.amazonaws.qbusiness#CreateSubscriptionResponse" + }, + "errors": [ + { + "target": "com.amazonaws.qbusiness#AccessDeniedException" + }, + { + "target": "com.amazonaws.qbusiness#ConflictException" + }, + { + "target": "com.amazonaws.qbusiness#InternalServerException" + }, + { + "target": "com.amazonaws.qbusiness#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.qbusiness#ThrottlingException" + }, + { + "target": "com.amazonaws.qbusiness#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

        Subscribes an IAM Identity Center user or a group to a pricing tier for an\n Amazon Q Business application.

        \n

        Amazon Q Business offers two subscription tiers: Q_LITE and\n Q_BUSINESS. Subscription tier determines feature access for the user.\n For more information on subscriptions and pricing tiers, see Amazon Q Business\n pricing.

        ", + "smithy.api#http": { + "method": "POST", + "uri": "/applications/{applicationId}/subscriptions" + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.qbusiness#CreateSubscriptionRequest": { + "type": "structure", + "members": { + "applicationId": { + "target": "com.amazonaws.qbusiness#ApplicationId", + "traits": { + "smithy.api#documentation": "

        The identifier of the Amazon Q Business application the subscription should be added\n to.

        ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "principal": { + "target": "com.amazonaws.qbusiness#SubscriptionPrincipal", + "traits": { + "smithy.api#documentation": "

        The IAM Identity Center UserId or GroupId of a user or group\n in the IAM Identity Center instance connected to the Amazon Q Business application.

        ", + "smithy.api#required": {} + } + }, + "type": { + "target": "com.amazonaws.qbusiness#SubscriptionType", + "traits": { + "smithy.api#documentation": "

        The type of Amazon Q Business subscription you want to create.

        ", + "smithy.api#required": {} + } + }, + "clientToken": { + "target": "com.amazonaws.qbusiness#ClientToken", + "traits": { + "smithy.api#documentation": "

        A token that you provide to identify the request to create a subscription for your\n Amazon Q Business application.

        ", + "smithy.api#idempotencyToken": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.qbusiness#CreateSubscriptionResponse": { + "type": "structure", + "members": { + "subscriptionId": { + "target": "com.amazonaws.qbusiness#SubscriptionId", + "traits": { + "smithy.api#documentation": "

        The identifier of the Amazon Q Business subscription created.

        " + } + }, + "subscriptionArn": { + "target": "com.amazonaws.qbusiness#SubscriptionArn", + "traits": { + "smithy.api#documentation": "

        The Amazon Resource Name (ARN) of the Amazon Q Business subscription created.

        " + } + }, + "currentSubscription": { + "target": "com.amazonaws.qbusiness#SubscriptionDetails", + "traits": { + "smithy.api#documentation": "

        The type of your current Amazon Q Business subscription.

        " + } + }, + "nextSubscription": { + "target": "com.amazonaws.qbusiness#SubscriptionDetails", + "traits": { + "smithy.api#documentation": "

        The type of the Amazon Q Business subscription for the next month.

        " + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.qbusiness#CreateUser": { "type": "operation", "input": { @@ -3514,7 +3704,7 @@ "idcApplicationArn": { "target": "com.amazonaws.qbusiness#IdcApplicationArn", "traits": { - "smithy.api#documentation": "

        The Amazon Resource Name (ARN) of the associated AWS IAM Identity Center application.

        " + "smithy.api#documentation": "

        The Amazon Resource Name (ARN) of the associated IAM Identity Center application.

        " } }, "principal": { @@ -4205,7 +4395,7 @@ "aws.iam#requiredActions": [ "qbusiness:GetDataAccessor" ], - "smithy.api#documentation": "

        Deletes a specified data accessor. This operation permanently removes the data accessor \n and its associated AWS IAM Identity Center application. Any access granted to the ISV through this data accessor will be revoked

        ", + "smithy.api#documentation": "

        Deletes a specified data accessor. This operation permanently removes the data accessor \n and its associated IAM Identity Center application. Any access granted to the ISV through this data accessor will be revoked.

        ", "smithy.api#http": { "uri": "/applications/{applicationId}/dataaccessors/{dataAccessorId}", "method": "DELETE" @@ -4219,7 +4409,7 @@ "applicationId": { "target": "com.amazonaws.qbusiness#ApplicationId", "traits": { - "smithy.api#documentation": "

        The unique identifier of the Q Business application.

        ", + "smithy.api#documentation": "

        The unique identifier of the Amazon Q Business application.

        ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -4818,7 +5008,7 @@ } ], "traits": { - "smithy.api#documentation": "

        Removes a permission policy from a Q Business application, revoking the cross-account access that was \n previously granted to an ISV. This operation deletes the specified policy statement from the application's permission policy.

        ", + "smithy.api#documentation": "

        Removes a permission policy from a Amazon Q Business application, revoking the cross-account access that was \n previously granted to an ISV. This operation deletes the specified policy statement from the application's permission policy.

        ", "smithy.api#http": { "uri": "/applications/{applicationId}/policy/{statementId}", "method": "DELETE" @@ -4832,7 +5022,7 @@ "applicationId": { "target": "com.amazonaws.qbusiness#ApplicationId", "traits": { - "smithy.api#documentation": "

        The unique identifier of the Q Business application.

        ", + "smithy.api#documentation": "

        The unique identifier of the Amazon Q Business application.

        ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -5580,12 +5770,18 @@ { "target": "com.amazonaws.qbusiness#BatchPutDocument" }, + { + "target": "com.amazonaws.qbusiness#CancelSubscription" + }, { "target": "com.amazonaws.qbusiness#Chat" }, { "target": "com.amazonaws.qbusiness#ChatSync" }, + { + "target": "com.amazonaws.qbusiness#CreateSubscription" + }, { "target": "com.amazonaws.qbusiness#CreateUser" }, @@ -5646,6 +5842,9 @@ { "target": "com.amazonaws.qbusiness#ListPluginTypeMetadata" }, + { + "target": "com.amazonaws.qbusiness#ListSubscriptions" + }, { "target": "com.amazonaws.qbusiness#ListTagsForResource" }, @@ -5673,6 +5872,9 @@ { "target": "com.amazonaws.qbusiness#UpdateChatControlsConfiguration" }, + { + "target": "com.amazonaws.qbusiness#UpdateSubscription" + }, { "target": "com.amazonaws.qbusiness#UpdateUser" } @@ -6484,7 +6686,7 @@ "aws.iam#requiredActions": [ "qbusiness:ListTagsForResource" ], - "smithy.api#documentation": "

        Retrieves information about a specified data accessor. This operation returns details about the \n data accessor, including its display name, unique identifier, Amazon Resource Name (ARN), the associated \n Q Business application and AWS IAM Identity Center application, the IAM role for the ISV, the \n action configurations, and the timestamps for when the data accessor was created and last updated.

        ", + "smithy.api#documentation": "

        Retrieves information about a specified data accessor. This operation returns details about the \n data accessor, including its display name, unique identifier, Amazon Resource Name (ARN), the associated \n Amazon Q Business application and IAM Identity Center application, the IAM role for the ISV, the \n action configurations, and the timestamps for when the data accessor was created and last updated.

        ", "smithy.api#http": { "uri": "/applications/{applicationId}/dataaccessors/{dataAccessorId}", "method": "GET" @@ -6498,7 +6700,7 @@ "applicationId": { "target": "com.amazonaws.qbusiness#ApplicationId", "traits": { - "smithy.api#documentation": "

        The unique identifier of the Q Business application.

        ", + "smithy.api#documentation": "

        The unique identifier of the Amazon Q Business application.

        ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -6540,13 +6742,13 @@ "applicationId": { "target": "com.amazonaws.qbusiness#ApplicationId", "traits": { - "smithy.api#documentation": "

        The unique identifier of the Q Business application associated with this data accessor.

        " + "smithy.api#documentation": "

        The unique identifier of the Amazon Q Business application associated with this data accessor.

        " } }, "idcApplicationArn": { "target": "com.amazonaws.qbusiness#IdcApplicationArn", "traits": { - "smithy.api#documentation": "

        The Amazon Resource Name (ARN) of the AWS IAM Identity Center application associated with this data accessor.

        " + "smithy.api#documentation": "

        The Amazon Resource Name (ARN) of the IAM Identity Center application associated with this data accessor.

        " } }, "principal": { @@ -7263,7 +7465,7 @@ } ], "traits": { - "smithy.api#documentation": "

        Retrieves the current permission policy for a Q Business application. The policy is \n returned as a JSON-formatted string and defines the IAM actions that are allowed or denied for the application's resources.

        ", + "smithy.api#documentation": "

        Retrieves the current permission policy for a Amazon Q Business application. The policy is \n returned as a JSON-formatted string and defines the IAM actions that are allowed or denied for the application's resources.

        ", "smithy.api#http": { "uri": "/applications/{applicationId}/policy", "method": "GET" @@ -7277,7 +7479,7 @@ "applicationId": { "target": "com.amazonaws.qbusiness#ApplicationId", "traits": { - "smithy.api#documentation": "

        The unique identifier of the Q Business application.

        ", + "smithy.api#documentation": "

        The unique identifier of the Amazon Q Business application.

        ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -7683,6 +7885,16 @@ "smithy.api#output": {} } }, + "com.amazonaws.qbusiness#GroupIdentifier": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 47 + }, + "smithy.api#pattern": "^([0-9a-f]{10}-|)[A-Fa-f0-9]{8}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{12}$" + } + }, "com.amazonaws.qbusiness#GroupMembers": { "type": "structure", "members": { @@ -8626,7 +8838,7 @@ } ], "traits": { - "smithy.api#documentation": "

        Lists the data accessors for a Q Business application. This operation returns a paginated \n list of data accessor summaries, including the friendly name, unique identifier, ARN, \n associated IAM role, and creation/update timestamps for each data accessor.

        ", + "smithy.api#documentation": "

        Lists the data accessors for a Amazon Q Business application. This operation returns a paginated \n list of data accessor summaries, including the friendly name, unique identifier, ARN, \n associated IAM role, and creation/update timestamps for each data accessor.

        ", "smithy.api#http": { "uri": "/applications/{applicationId}/dataaccessors", "method": "GET" @@ -8646,7 +8858,7 @@ "applicationId": { "target": "com.amazonaws.qbusiness#ApplicationId", "traits": { - "smithy.api#documentation": "

        The unique identifier of the Q Business application.

        ", + "smithy.api#documentation": "

        The unique identifier of the Amazon Q Business application.

        ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -9787,6 +9999,99 @@ "smithy.api#output": {} } }, + "com.amazonaws.qbusiness#ListSubscriptions": { + "type": "operation", + "input": { + "target": "com.amazonaws.qbusiness#ListSubscriptionsRequest" + }, + "output": { + "target": "com.amazonaws.qbusiness#ListSubscriptionsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.qbusiness#AccessDeniedException" + }, + { + "target": "com.amazonaws.qbusiness#ConflictException" + }, + { + "target": "com.amazonaws.qbusiness#InternalServerException" + }, + { + "target": "com.amazonaws.qbusiness#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.qbusiness#ThrottlingException" + }, + { + "target": "com.amazonaws.qbusiness#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

        Lists all subscriptions created in an Amazon Q Business application.

        ", + "smithy.api#http": { + "method": "GET", + "uri": "/applications/{applicationId}/subscriptions" + }, + "smithy.api#paginated": { + "inputToken": "nextToken", + "outputToken": "nextToken", + "pageSize": "maxResults", + "items": "subscriptions" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.qbusiness#ListSubscriptionsRequest": { + "type": "structure", + "members": { + "applicationId": { + "target": "com.amazonaws.qbusiness#ApplicationId", + "traits": { + "smithy.api#documentation": "

        The identifier of the Amazon Q Business application linked to the subscription.

        ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "nextToken": { + "target": "com.amazonaws.qbusiness#NextToken", + "traits": { + "smithy.api#documentation": "

        If the maxResults response was incomplete because there is more data to\n retrieve, Amazon Q Business returns a pagination token in the response. You can use this\n pagination token to retrieve the next set of Amazon Q Business subscriptions.

        ", + "smithy.api#httpQuery": "nextToken" + } + }, + "maxResults": { + "target": "com.amazonaws.qbusiness#MaxResultsIntegerForListSubscriptions", + "traits": { + "smithy.api#documentation": "

        The maximum number of Amazon Q Business subscriptions to return.

        ", + "smithy.api#httpQuery": "maxResults" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.qbusiness#ListSubscriptionsResponse": { + "type": "structure", + "members": { + "nextToken": { + "target": "com.amazonaws.qbusiness#NextToken", + "traits": { + "smithy.api#documentation": "

        If the response is truncated, Amazon Q Business returns this token. You can use this token\n in a subsequent request to retrieve the next set of subscriptions.

        " + } + }, + "subscriptions": { + "target": "com.amazonaws.qbusiness#Subscriptions", + "traits": { + "smithy.api#documentation": "

        An array of summary information on the subscriptions configured for an Amazon Q Business\n application.

        " + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.qbusiness#ListTagsForResource": { "type": "operation", "input": { @@ -10101,6 +10406,15 @@ } } }, + "com.amazonaws.qbusiness#MaxResultsIntegerForListSubscriptions": { + "type": "integer", + "traits": { + "smithy.api#range": { + "min": 1, + "max": 100 + } + } + }, "com.amazonaws.qbusiness#MaxResultsIntegerForListWebExperiencesRequest": { "type": "integer", "traits": { @@ -11318,7 +11632,7 @@ } ], "traits": { - "smithy.api#documentation": "

        Create, or updates, a mapping of users—who have access to a document—to\n groups.

        \n

        You can also map sub groups to groups. For example, the group \"Company Intellectual\n Property Teams\" includes sub groups \"Research\" and \"Engineering\". These sub groups\n include their own list of users or people who work in these teams. Only users who work\n in research and engineering, and therefore belong in the intellectual property group,\n can see top-secret company documents in their Amazon Q Business chat results.

        ", + "smithy.api#documentation": "

        Create, or updates, a mapping of users—who have access to a document—to\n groups.

        \n

        You can also map sub groups to groups. For example, the group \"Company Intellectual\n Property Teams\" includes sub groups \"Research\" and \"Engineering\". These sub groups\n include their own list of users or people who work in these teams. Only users who work\n in research and engineering, and therefore belong in the intellectual property group,\n can see top-secret company documents in their Amazon Q Business chat results.

        \n

        There are two options for creating groups, either passing group members inline or using an S3 file via the\n S3PathForGroupMembers field. For inline groups, there is a limit of 1000 members per group and for provided S3 files\n there is a limit of 100 thousand members. When creating a group using an S3 file, you provide both\n an S3 file and a RoleArn for Amazon Q Buisness to access the file.

        ", "smithy.api#http": { "method": "PUT", "uri": "/applications/{applicationId}/indices/{indexId}/groups" @@ -11374,7 +11688,7 @@ "roleArn": { "target": "com.amazonaws.qbusiness#RoleArn", "traits": { - "smithy.api#documentation": "

        The Amazon Resource Name (ARN) of an IAM role that has access to the S3 file that contains \n your list of users that belong to a group.The Amazon Resource Name (ARN) of an IAM role that \n has access to the S3 file that contains your list of users that belong to a group.

        " + "smithy.api#documentation": "

        The Amazon Resource Name (ARN) of an IAM role that has access to the S3 file that contains \n your list of users that belong to a group.

        " } } }, @@ -12038,7 +12352,7 @@ } ], "traits": { - "smithy.api#documentation": "

        Searches for relevant content in a Q Business application based on a query. This operation takes a \n search query text, the Q Business application identifier, and optional filters \n (such as content source and maximum results) as input. It returns a list of \n relevant content items, where each item includes the content text, the unique document identifier, \n the document title, the document URI, any relevant document attributes, and score attributes \n indicating the confidence level of the relevance.

        ", + "smithy.api#documentation": "

        Searches for relevant content in a Amazon Q Business application based on a query. This operation takes a \n search query text, the Amazon Q Business application identifier, and optional filters \n (such as content source and maximum results) as input. It returns a list of \n relevant content items, where each item includes the content text, the unique document identifier, \n the document title, the document URI, any relevant document attributes, and score attributes \n indicating the confidence level of the relevance.

        ", "smithy.api#http": { "uri": "/applications/{applicationId}/relevant-content", "method": "POST" @@ -12057,7 +12371,7 @@ "applicationId": { "target": "com.amazonaws.qbusiness#ApplicationId", "traits": { - "smithy.api#documentation": "

        The unique identifier of the Q Business application to search.

        ", + "smithy.api#documentation": "

        The unique identifier of the Amazon Q Business application to search.

        ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -12551,6 +12865,97 @@ "target": "com.amazonaws.qbusiness#SubnetId" } }, + "com.amazonaws.qbusiness#Subscription": { + "type": "structure", + "members": { + "subscriptionId": { + "target": "com.amazonaws.qbusiness#SubscriptionId", + "traits": { + "smithy.api#documentation": "

        The identifier of the Amazon Q Business subscription to be updated.

        " + } + }, + "subscriptionArn": { + "target": "com.amazonaws.qbusiness#SubscriptionArn", + "traits": { + "smithy.api#documentation": "

        The Amazon Resource Name (ARN) of the Amazon Q Business subscription that was\n updated.

        " + } + }, + "principal": { + "target": "com.amazonaws.qbusiness#SubscriptionPrincipal", + "traits": { + "smithy.api#documentation": "

        The IAM Identity Center UserId or GroupId of a user or group\n in the IAM Identity Center instance connected to the Amazon Q Business application.

        " + } + }, + "currentSubscription": { + "target": "com.amazonaws.qbusiness#SubscriptionDetails", + "traits": { + "smithy.api#documentation": "

        The type of your current Amazon Q Business subscription.

        " + } + }, + "nextSubscription": { + "target": "com.amazonaws.qbusiness#SubscriptionDetails", + "traits": { + "smithy.api#documentation": "

        The type of the Amazon Q Business subscription for the next month.

        " + } + } + }, + "traits": { + "smithy.api#documentation": "

        Information about an Amazon Q Business subscription.

        \n

        Subscriptions are used to provide access for an IAM Identity Center user or a group to\n an Amazon Q Business application.

        \n

        Amazon Q Business offers two subscription tiers: Q_LITE and\n Q_BUSINESS. Subscription tier determines feature access for the user.\n For more information on subscriptions and pricing tiers, see Amazon Q Business\n pricing.

        " + } + }, + "com.amazonaws.qbusiness#SubscriptionArn": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 10, + "max": 1224 + }, + "smithy.api#pattern": "^arn:[a-z0-9-\\.]{1,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[^/].{0,1023}$" + } + }, + "com.amazonaws.qbusiness#SubscriptionDetails": { + "type": "structure", + "members": { + "type": { + "target": "com.amazonaws.qbusiness#SubscriptionType", + "traits": { + "smithy.api#documentation": "

        The type of an Amazon Q Business subscription.

        " + } + } + }, + "traits": { + "smithy.api#documentation": "

        The details of an Amazon Q Business subscription.

        " + } + }, + "com.amazonaws.qbusiness#SubscriptionId": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 1224 + } + } + }, + "com.amazonaws.qbusiness#SubscriptionPrincipal": { + "type": "union", + "members": { + "user": { + "target": "com.amazonaws.qbusiness#UserIdentifier", + "traits": { + "smithy.api#documentation": "

        The identifier of a user in the IAM Identity Center instance connected to the\n Amazon Q Business application.

        " + } + }, + "group": { + "target": "com.amazonaws.qbusiness#GroupIdentifier", + "traits": { + "smithy.api#documentation": "

        The identifier of a group in the IAM Identity Center instance connected to the\n Amazon Q Business application.

        " + } + } + }, + "traits": { + "smithy.api#documentation": "

        A user or group in the IAM Identity Center instance connected to the Amazon Q Business\n application.

        " + } + }, "com.amazonaws.qbusiness#SubscriptionType": { "type": "enum", "members": { @@ -12568,6 +12973,12 @@ } } }, + "com.amazonaws.qbusiness#Subscriptions": { + "type": "list", + "member": { + "target": "com.amazonaws.qbusiness#Subscription" + } + }, "com.amazonaws.qbusiness#SyncSchedule": { "type": "string", "traits": { @@ -13274,7 +13685,7 @@ "applicationId": { "target": "com.amazonaws.qbusiness#ApplicationId", "traits": { - "smithy.api#documentation": "

        The unique identifier of the Q Business application.

        ", + "smithy.api#documentation": "

        The unique identifier of the Amazon Q Business application.

        ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -13736,6 +14147,100 @@ "smithy.api#output": {} } }, + "com.amazonaws.qbusiness#UpdateSubscription": { + "type": "operation", + "input": { + "target": "com.amazonaws.qbusiness#UpdateSubscriptionRequest" + }, + "output": { + "target": "com.amazonaws.qbusiness#UpdateSubscriptionResponse" + }, + "errors": [ + { + "target": "com.amazonaws.qbusiness#AccessDeniedException" + }, + { + "target": "com.amazonaws.qbusiness#ConflictException" + }, + { + "target": "com.amazonaws.qbusiness#InternalServerException" + }, + { + "target": "com.amazonaws.qbusiness#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.qbusiness#ThrottlingException" + }, + { + "target": "com.amazonaws.qbusiness#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

        Updates the pricing tier for an Amazon Q Business subscription. Upgrades are instant.\n Downgrades apply at the start of the next month. Subscription tier determines feature\n access for the user. For more information on subscriptions and pricing tiers, see Amazon Q Business\n pricing.

        ", + "smithy.api#http": { + "method": "PUT", + "uri": "/applications/{applicationId}/subscriptions/{subscriptionId}" + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.qbusiness#UpdateSubscriptionRequest": { + "type": "structure", + "members": { + "applicationId": { + "target": "com.amazonaws.qbusiness#ApplicationId", + "traits": { + "smithy.api#documentation": "

        The identifier of the Amazon Q Business application where the subscription update should\n take effect.

        ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "subscriptionId": { + "target": "com.amazonaws.qbusiness#SubscriptionId", + "traits": { + "smithy.api#documentation": "

        The identifier of the Amazon Q Business subscription to be updated.

        ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "type": { + "target": "com.amazonaws.qbusiness#SubscriptionType", + "traits": { + "smithy.api#documentation": "

        The type of the Amazon Q Business subscription to be updated.

        ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.qbusiness#UpdateSubscriptionResponse": { + "type": "structure", + "members": { + "subscriptionArn": { + "target": "com.amazonaws.qbusiness#SubscriptionArn", + "traits": { + "smithy.api#documentation": "

        The Amazon Resource Name (ARN) of the Amazon Q Business subscription that was\n updated.

        " + } + }, + "currentSubscription": { + "target": "com.amazonaws.qbusiness#SubscriptionDetails", + "traits": { + "smithy.api#documentation": "

        The type of your current Amazon Q Business subscription.

        " + } + }, + "nextSubscription": { + "target": "com.amazonaws.qbusiness#SubscriptionDetails", + "traits": { + "smithy.api#documentation": "

        The type of the Amazon Q Business subscription for the next month.

        " + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.qbusiness#UpdateUser": { "type": "operation", "input": { @@ -14034,6 +14539,16 @@ "smithy.api#pattern": "^\\P{C}*$" } }, + "com.amazonaws.qbusiness#UserIdentifier": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 47 + }, + "smithy.api#pattern": "^([0-9a-f]{10}-|)[A-Fa-f0-9]{8}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{12}$" + } + }, "com.amazonaws.qbusiness#UserIds": { "type": "list", "member": { diff --git a/tools/code-generation/smithy/api-descriptions/s3-control.json b/tools/code-generation/smithy/api-descriptions/s3-control.json index de7b0580cbe..bf25de7482e 100644 --- a/tools/code-generation/smithy/api-descriptions/s3-control.json +++ b/tools/code-generation/smithy/api-descriptions/s3-control.json @@ -9902,7 +9902,7 @@ "min": 1, "max": 1024 }, - "smithy.api#pattern": "^(arn:(aws[a-zA-Z-]*)?:lambda:)?([a-z]{2}((-gov)|(-iso(b?)))?-[a-z]+-\\d{1}:)?(\\d{12}:)?(function:)?([a-zA-Z0-9-_]+)(:(\\$LATEST|[a-zA-Z0-9-_]+))?$" + "smithy.api#pattern": "^(arn:(aws[a-zA-Z-]*)?:lambda:)?([a-z]{2}((-gov)|(-iso([a-z]?)))?-[a-z]+-\\d{1}:)?(\\d{12}:)?(function:)?([a-zA-Z0-9-_]+)(:(\\$LATEST|[a-zA-Z0-9-_]+))?$" } }, "com.amazonaws.s3control#GeneratedManifestEncryption": { @@ -13146,7 +13146,7 @@ "target": "com.amazonaws.s3control#ExpiredObjectDeleteMarker", "traits": { "smithy.api#default": false, - "smithy.api#documentation": "

        Indicates whether Amazon S3 will remove a delete marker with no noncurrent versions. If set\n to true, the delete marker will be expired. If set to false, the policy takes no action.\n This cannot be specified with Days or Date in a Lifecycle Expiration Policy.

        " + "smithy.api#documentation": "

        Indicates whether Amazon S3 will remove a delete marker with no noncurrent versions. If set\n to true, the delete marker will be expired. If set to false, the policy takes no action.\n This cannot be specified with Days or Date in a Lifecycle Expiration Policy. To learn more about delete markers, see Working with delete markers.

        " } } }, @@ -17461,7 +17461,7 @@ "TargetResource": { "target": "com.amazonaws.s3control#S3RegionalOrS3ExpressBucketArnString", "traits": { - "smithy.api#documentation": "

        Specifies the destination bucket\n Amazon Resource Name\n (ARN)\n for the batch copy operation.

        \n
          \n
        • \n

          \n General purpose buckets - For example, to copy objects to a general purpose bucket named\n destinationBucket, set the TargetResource property to\n arn:aws:s3:::destinationBucket.

          \n
        • \n
        • \n

          \n Directory buckets - For example, to copy objects to a directory bucket named\n destinationBucket in the Availability Zone; identified by the AZ ID usw2-az1, set the TargetResource property to\n arn:aws:s3express:region:account_id:/bucket/destination_bucket_base_name--usw2-az1--x-s3.

          \n
        • \n
        " + "smithy.api#documentation": "

        Specifies the destination bucket\n Amazon Resource Name\n (ARN)\n for the batch copy operation.

        \n
          \n
        • \n

          \n General purpose buckets - For example, to copy objects to a general purpose bucket named\n destinationBucket, set the TargetResource property to\n arn:aws:s3:::destinationBucket.

          \n
        • \n
        • \n

          \n Directory buckets - For example, to copy objects to a directory bucket named\n destinationBucket in the Availability Zone identified by the AZ ID usw2-az1, set the TargetResource property to\n arn:aws:s3express:region:account_id:/bucket/destination_bucket_base_name--usw2-az1--x-s3. A directory bucket as a destination bucket can be in Availability Zone or Local Zone.

          \n \n

          Copying objects across different Amazon Web Services Regions isn't supported when the source or destination bucket is in Amazon Web Services Local Zones. The source and destination buckets must have the same parent Amazon Web Services Region. Otherwise, \n you get an HTTP 400 Bad Request error with the error code InvalidRequest.

          \n
          \n
        • \n
        " } }, "CannedAccessControlList": { diff --git a/tools/code-generation/smithy/api-descriptions/s3.json b/tools/code-generation/smithy/api-descriptions/s3.json index faff31ddabb..7a78ede71ee 100644 --- a/tools/code-generation/smithy/api-descriptions/s3.json +++ b/tools/code-generation/smithy/api-descriptions/s3.json @@ -29784,7 +29784,7 @@ "type": "integer" }, "com.amazonaws.s3#MpuObjectSize": { - "type": "string" + "type": "long" }, "com.amazonaws.s3#MultipartUpload": { "type": "structure", diff --git a/tools/code-generation/smithy/api-descriptions/s3tables.json b/tools/code-generation/smithy/api-descriptions/s3tables.json index 4df7bd1e8ee..d8b0b2f174d 100644 --- a/tools/code-generation/smithy/api-descriptions/s3tables.json +++ b/tools/code-generation/smithy/api-descriptions/s3tables.json @@ -79,7 +79,7 @@ } ], "traits": { - "smithy.api#documentation": "

        Creates a namespace. A namespace is a logical grouping of tables within your table bucket, which you can use to organize tables. For more information, see Table namespaces.

        ", + "smithy.api#documentation": "

        Creates a namespace. A namespace is a logical grouping of tables within your table bucket, which you can use to organize tables. For more information, see Create a namespace in the Amazon Simple Storage Service User Guide.

        \n
        \n
        Permissions
        \n
        \n

        You must have the s3tables:CreateNamespace permission to use this operation.

        \n
        \n
        ", "smithy.api#http": { "uri": "/namespaces/{tableBucketARN}", "method": "PUT", @@ -165,7 +165,7 @@ } ], "traits": { - "smithy.api#documentation": "

        Creates a new table associated with the given namespace in a table bucket.

        ", + "smithy.api#documentation": "

        Creates a new table associated with the given namespace in a table bucket. For more information, see Creating an Amazon S3 table in the Amazon Simple Storage Service User Guide.

        \n
        \n
        Permissions
        \n
        \n

        You must have the s3tables:CreateTable permission to use this operation.

        \n \n

        Additionally, you must have the s3tables:PutTableData permission to use this operation with the optional metadata request parameter.

        \n
        \n
        \n
        ", "smithy.api#http": { "uri": "/tables/{tableBucketARN}/{namespace}", "method": "PUT", @@ -202,7 +202,7 @@ } ], "traits": { - "smithy.api#documentation": "

        Creates a table bucket.

        ", + "smithy.api#documentation": "

        Creates a table bucket. For more information, see Creating a table bucket in the Amazon Simple Storage Service User Guide.

        \n
        \n
        Permissions
        \n
        \n

        You must have the s3tables:CreateTableBucket permission to use this operation.

        \n
        \n
        ", "smithy.api#http": { "uri": "/buckets", "method": "PUT", @@ -272,6 +272,12 @@ "smithy.api#documentation": "

        The format for the table.

        ", "smithy.api#required": {} } + }, + "metadata": { + "target": "com.amazonaws.s3tables#TableMetadata", + "traits": { + "smithy.api#documentation": "

        The metadata for the table.

        " + } } }, "traits": { @@ -329,7 +335,7 @@ } ], "traits": { - "smithy.api#documentation": "

        Deletes a namespace.

        ", + "smithy.api#documentation": "

        Deletes a namespace. For more information, see Delete a namespace in the Amazon Simple Storage Service User Guide.

        \n
        \n
        Permissions
        \n
        \n

        You must have the s3tables:DeleteNamespace permission to use this operation.

        \n
        \n
        ", "smithy.api#http": { "uri": "/namespaces/{tableBucketARN}/{namespace}", "method": "DELETE", @@ -391,7 +397,7 @@ } ], "traits": { - "smithy.api#documentation": "

        Deletes a table.

        ", + "smithy.api#documentation": "

        Deletes a table. For more information, see Deleting an Amazon S3 table in the Amazon Simple Storage Service User Guide.

        \n
        \n
        Permissions
        \n
        \n

        You must have the s3tables:DeleteTable permission to use this operation.

        \n
        \n
        ", "smithy.api#http": { "uri": "/tables/{tableBucketARN}/{namespace}/{name}", "method": "DELETE", @@ -429,7 +435,7 @@ } ], "traits": { - "smithy.api#documentation": "

        Deletes a table bucket.

        ", + "smithy.api#documentation": "

        Deletes a table bucket. For more information, see Deleting a table bucket in the Amazon Simple Storage Service User Guide.

        \n
        \n
        Permissions
        \n
        \n

        You must have the s3tables:DeleteTableBucket permission to use this operation.

        \n
        \n
        ", "smithy.api#http": { "uri": "/buckets/{tableBucketARN}", "method": "DELETE", @@ -467,7 +473,7 @@ } ], "traits": { - "smithy.api#documentation": "

        Deletes a table bucket policy.

        ", + "smithy.api#documentation": "

        Deletes a table bucket policy. For more information, see Deleting a table bucket policy in the Amazon Simple Storage Service User Guide.

        \n
        \n
        Permissions
        \n
        \n

        You must have the s3tables:DeleteTableBucketPolicy permission to use this operation.

        \n
        \n
        ", "smithy.api#http": { "uri": "/buckets/{tableBucketARN}/policy", "method": "DELETE", @@ -482,7 +488,7 @@ "tableBucketARN": { "target": "com.amazonaws.s3tables#TableBucketARN", "traits": { - "smithy.api#documentation": "

        The Amazon Resource Number (ARN) of the table bucket.

        ", + "smithy.api#documentation": "

        The Amazon Resource Name (ARN) of the table bucket.

        ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -537,7 +543,7 @@ } ], "traits": { - "smithy.api#documentation": "

        Deletes a table policy.

        ", + "smithy.api#documentation": "

        Deletes a table policy. For more information, see Deleting a table policy in the Amazon Simple Storage Service User Guide.

        \n
        \n
        Permissions
        \n
        \n

        You must have the s3tables:DeleteTablePolicy permission to use this operation.

        \n
        \n
        ", "smithy.api#http": { "uri": "/tables/{tableBucketARN}/{namespace}/{name}/policy", "method": "DELETE", @@ -552,7 +558,7 @@ "tableBucketARN": { "target": "com.amazonaws.s3tables#TableBucketARN", "traits": { - "smithy.api#documentation": "

        The Amazon Resource Number (ARN) of the table bucket that contains the table.

        ", + "smithy.api#documentation": "

        The Amazon Resource Name (ARN) of the table bucket that contains the table.

        ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -665,7 +671,7 @@ } ], "traits": { - "smithy.api#documentation": "

        Gets details about a namespace.

        ", + "smithy.api#documentation": "

        Gets details about a namespace. For more information, see Table namespaces in the Amazon Simple Storage Service User Guide.

        \n
        \n
        Permissions
        \n
        \n

        You must have the s3tables:GetNamespace permission to use this operation.

        \n
        \n
        ", "smithy.api#http": { "uri": "/namespaces/{tableBucketARN}/{namespace}", "method": "GET" @@ -784,7 +790,7 @@ } ], "traits": { - "smithy.api#documentation": "

        Gets details about a table.

        ", + "smithy.api#documentation": "

        Gets details about a table. For more information, see S3 Tables in the Amazon Simple Storage Service User Guide.

        \n
        \n
        Permissions
        \n
        \n

        You must have the s3tables:GetTable permission to use this operation.

        \n
        \n
        ", "smithy.api#http": { "uri": "/tables/{tableBucketARN}/{namespace}/{name}", "method": "GET" @@ -843,7 +849,7 @@ } ], "traits": { - "smithy.api#documentation": "

        Gets details on a table bucket.

        ", + "smithy.api#documentation": "

        Gets details on a table bucket. For more information, see Viewing details about an Amazon S3 table bucket in the Amazon Simple Storage Service User Guide.

        \n
        \n
        Permissions
        \n
        \n

        You must have the s3tables:GetTableBucket permission to use this operation.

        \n
        \n
        ", "smithy.api#http": { "uri": "/buckets/{tableBucketARN}", "method": "GET" @@ -897,7 +903,7 @@ } ], "traits": { - "smithy.api#documentation": "

        Gets details about a maintenance configuration for a given table bucket.

        ", + "smithy.api#documentation": "

        Gets details about a maintenance configuration for a given table bucket. For more information, see Amazon S3 table bucket maintenance in the Amazon Simple Storage Service User Guide.

        \n
        \n
        Permissions
        \n
        \n

        You must have the s3tables:GetTableBucketMaintenanceConfiguration permission to use this operation.

        \n
        \n
        ", "smithy.api#http": { "uri": "/buckets/{tableBucketARN}/maintenance", "method": "GET" @@ -972,7 +978,7 @@ } ], "traits": { - "smithy.api#documentation": "

        Gets details about a table bucket policy.

        ", + "smithy.api#documentation": "

        Gets details about a table bucket policy. For more information, see Viewing a table bucket policy in the Amazon Simple Storage Service User Guide.

        \n
        \n
        Permissions
        \n
        \n

        You must have the s3tables:GetTableBucketPolicy permission to use this operation.

        \n
        \n
        ", "smithy.api#http": { "uri": "/buckets/{tableBucketARN}/policy", "method": "GET" @@ -986,7 +992,7 @@ "tableBucketARN": { "target": "com.amazonaws.s3tables#TableBucketARN", "traits": { - "smithy.api#documentation": "

        The Amazon Resource Number (ARN) of the table bucket.

        ", + "smithy.api#documentation": "

        The Amazon Resource Name (ARN) of the table bucket.

        ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -1002,7 +1008,7 @@ "resourcePolicy": { "target": "com.amazonaws.s3tables#ResourcePolicy", "traits": { - "smithy.api#documentation": "

        The name of the resource policy.

        ", + "smithy.api#documentation": "

        The JSON that defines the policy.

        ", "smithy.api#required": {} } } @@ -1093,7 +1099,7 @@ } ], "traits": { - "smithy.api#documentation": "

        Gets details about the maintenance configuration of a table.

        ", + "smithy.api#documentation": "

        Gets details about the maintenance configuration of a table. For more information, see S3 Tables maintenance in the Amazon Simple Storage Service User Guide.

        \n
        \n
        Permissions
        \n
        \n

        You must have the s3tables:GetTableMaintenanceConfiguration permission to use this operation.

        \n
        \n
        ", "smithy.api#http": { "uri": "/tables/{tableBucketARN}/{namespace}/{name}/maintenance", "method": "GET" @@ -1184,7 +1190,7 @@ } ], "traits": { - "smithy.api#documentation": "

        Gets the status of a maintenance job for a table.

        ", + "smithy.api#documentation": "

        Gets the status of a maintenance job for a table. For more information, see S3 Tables maintenance in the Amazon Simple Storage Service User Guide.

        \n
        \n
        Permissions
        \n
        \n

        You must have the s3tables:GetTableMaintenanceJobStatus permission to use this operation.

        \n
        \n
        ", "smithy.api#http": { "uri": "/tables/{tableBucketARN}/{namespace}/{name}/maintenance-job-status", "method": "GET" @@ -1275,7 +1281,7 @@ } ], "traits": { - "smithy.api#documentation": "

        Gets the location of the table metadata.

        ", + "smithy.api#documentation": "

        Gets the location of the table metadata.

        \n
        \n
        Permissions
        \n
        \n

        You must have the s3tables:GetTableMetadataLocation permission to use this operation.

        \n
        \n
        ", "smithy.api#http": { "uri": "/tables/{tableBucketARN}/{namespace}/{name}/metadata-location", "method": "GET" @@ -1372,7 +1378,7 @@ } ], "traits": { - "smithy.api#documentation": "

        Gets details about a table policy.

        ", + "smithy.api#documentation": "

        Gets details about a table policy. For more information, see Viewing a table policy in the Amazon Simple Storage Service User Guide.

        \n
        \n
        Permissions
        \n
        \n

        You must have the s3tables:GetTablePolicy permission to use this operation.

        \n
        \n
        ", "smithy.api#http": { "uri": "/tables/{tableBucketARN}/{namespace}/{name}/policy", "method": "GET" @@ -1386,7 +1392,7 @@ "tableBucketARN": { "target": "com.amazonaws.s3tables#TableBucketARN", "traits": { - "smithy.api#documentation": "

        The Amazon Resource Number (ARN) of the table bucket that contains the table.

        ", + "smithy.api#documentation": "

        The Amazon Resource Name (ARN) of the table bucket that contains the table.

        ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -1418,7 +1424,7 @@ "resourcePolicy": { "target": "com.amazonaws.s3tables#ResourcePolicy", "traits": { - "smithy.api#documentation": "

        The name of the resource policy.

        ", + "smithy.api#documentation": "

        The JSON that defines the policy.

        ", "smithy.api#required": {} } } @@ -1579,6 +1585,36 @@ "smithy.api#documentation": "

        Contains details about the compaction settings for an Iceberg table. \n

        " } }, + "com.amazonaws.s3tables#IcebergMetadata": { + "type": "structure", + "members": { + "schema": { + "target": "com.amazonaws.s3tables#IcebergSchema", + "traits": { + "smithy.api#documentation": "

        The schema for an Iceberg table.

        ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

        Contains details about the metadata for an Iceberg table.

        " + } + }, + "com.amazonaws.s3tables#IcebergSchema": { + "type": "structure", + "members": { + "fields": { + "target": "com.amazonaws.s3tables#SchemaFieldList", + "traits": { + "smithy.api#documentation": "

        The schema fields for the table

        ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

        Contains details about the schema for an Iceberg table.

        " + } + }, "com.amazonaws.s3tables#IcebergSnapshotManagementSettings": { "type": "structure", "members": { @@ -1693,7 +1729,7 @@ } ], "traits": { - "smithy.api#documentation": "

        Lists the namespaces within a table bucket.

        ", + "smithy.api#documentation": "

        Lists the namespaces within a table bucket. For more information, see Table namespaces in the Amazon Simple Storage Service User Guide.

        \n
        \n
        Permissions
        \n
        \n

        You must have the s3tables:ListNamespaces permission to use this operation.

        \n
        \n
        ", "smithy.api#http": { "uri": "/namespaces/{tableBucketARN}", "method": "GET" @@ -1827,7 +1863,7 @@ } ], "traits": { - "smithy.api#documentation": "

        Lists table buckets for your account.

        ", + "smithy.api#documentation": "

        Lists table buckets for your account. For more information, see S3 Table buckets in the Amazon Simple Storage Service User Guide.

        \n
        \n
        Permissions
        \n
        \n

        You must have the s3tables:ListTableBuckets permission to use this operation.

        \n
        \n
        ", "smithy.api#http": { "uri": "/buckets", "method": "GET" @@ -1946,7 +1982,7 @@ } ], "traits": { - "smithy.api#documentation": "

        List tables in the given table bucket.

        ", + "smithy.api#documentation": "

        List tables in the given table bucket. For more information, see S3 Tables in the Amazon Simple Storage Service User Guide.

        \n
        \n
        Permissions
        \n
        \n

        You must have the s3tables:ListTables permission to use this operation.

        \n
        \n
        ", "smithy.api#http": { "uri": "/tables/{tableBucketARN}", "method": "GET" @@ -1960,7 +1996,7 @@ "smithy.api#readonly": {}, "smithy.test#smokeTests": [ { - "id": "GetTable_AccessDeniedException", + "id": "ListTables_AccessDeniedException", "params": { "tableBucketARN": "arn:aws:s3tables:us-east-1:123456789012:bucket/does-not-exist" }, @@ -1992,7 +2028,7 @@ "tableBucketARN": { "target": "com.amazonaws.s3tables#TableBucketARN", "traits": { - "smithy.api#documentation": "

        The Amazon resource Number (ARN) of the table bucket.

        ", + "smithy.api#documentation": "

        The Amazon resource Name (ARN) of the table bucket.

        ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -2228,7 +2264,7 @@ } ], "traits": { - "smithy.api#documentation": "

        Creates a new maintenance configuration or replaces an existing maintenance configuration\n for a table bucket.

        ", + "smithy.api#documentation": "

        Creates a new maintenance configuration or replaces an existing maintenance configuration\n for a table bucket. For more information, see Amazon S3 table bucket maintenance in the Amazon Simple Storage Service User Guide.

        \n
        \n
        Permissions
        \n
        \n

        You must have the s3tables:PutTableBucketMaintenanceConfiguration permission to use this operation.

        \n
        \n
        ", "smithy.api#http": { "uri": "/buckets/{tableBucketARN}/maintenance/{type}", "method": "PUT", @@ -2296,7 +2332,7 @@ } ], "traits": { - "smithy.api#documentation": "

        Creates a new maintenance configuration or replaces an existing table bucket policy for a\n table bucket.

        ", + "smithy.api#documentation": "

        Creates a new maintenance configuration or replaces an existing table bucket policy for a\n table bucket. For more information, see Adding a table bucket policy in the Amazon Simple Storage Service User Guide.

        \n
        \n
        Permissions
        \n
        \n

        You must have the s3tables:PutTableBucketPolicy permission to use this operation.

        \n
        \n
        ", "smithy.api#http": { "uri": "/buckets/{tableBucketARN}/policy", "method": "PUT", @@ -2311,7 +2347,7 @@ "tableBucketARN": { "target": "com.amazonaws.s3tables#TableBucketARN", "traits": { - "smithy.api#documentation": "

        The Amazon Resource Number (ARN) of the table bucket.

        ", + "smithy.api#documentation": "

        The Amazon Resource Name (ARN) of the table bucket.

        ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -2319,7 +2355,7 @@ "resourcePolicy": { "target": "com.amazonaws.s3tables#ResourcePolicy", "traits": { - "smithy.api#documentation": "

        The name of the resource policy.

        ", + "smithy.api#documentation": "

        The JSON that defines the policy.

        ", "smithy.api#required": {} } } @@ -2357,7 +2393,7 @@ } ], "traits": { - "smithy.api#documentation": "

        Creates a new maintenance configuration or replaces an existing maintenance configuration\n for a table.

        ", + "smithy.api#documentation": "

        Creates a new maintenance configuration or replaces an existing maintenance configuration\n for a table. For more information, see S3 Tables maintenance in the Amazon Simple Storage Service User Guide.

        \n
        \n
        Permissions
        \n
        \n

        You must have the s3tables:PutTableMaintenanceConfiguration permission to use this operation.

        \n
        \n
        ", "smithy.api#http": { "uri": "/tables/{tableBucketARN}/{namespace}/{name}/maintenance/{type}", "method": "PUT", @@ -2441,7 +2477,7 @@ } ], "traits": { - "smithy.api#documentation": "

        Creates a new maintenance configuration or replaces an existing table policy for a table.\n

        ", + "smithy.api#documentation": "

        Creates a new maintenance configuration or replaces an existing table policy for a table. For more information, see Adding a table policy in the Amazon Simple Storage Service User Guide.\n

        \n
        \n
        Permissions
        \n
        \n

        You must have the s3tables:PutTablePolicy permission to use this operation.

        \n
        \n
        ", "smithy.api#http": { "uri": "/tables/{tableBucketARN}/{namespace}/{name}/policy", "method": "PUT", @@ -2456,7 +2492,7 @@ "tableBucketARN": { "target": "com.amazonaws.s3tables#TableBucketARN", "traits": { - "smithy.api#documentation": "

        The Amazon Resource Number (ARN) of the table bucket that contains the table.

        ", + "smithy.api#documentation": "

        The Amazon Resource Name (ARN) of the table bucket that contains the table.

        ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -2480,7 +2516,7 @@ "resourcePolicy": { "target": "com.amazonaws.s3tables#ResourcePolicy", "traits": { - "smithy.api#documentation": "

        The name of the resource policy.

        ", + "smithy.api#documentation": "

        The JSON that defines the policy.

        ", "smithy.api#required": {} } } @@ -2518,7 +2554,7 @@ } ], "traits": { - "smithy.api#documentation": "

        Renames a table or a namespace.

        ", + "smithy.api#documentation": "

        Renames a table or a namespace. For more information, see S3 Tables in the Amazon Simple Storage Service User Guide.

        \n
        \n
        Permissions
        \n
        \n

        You must have the s3tables:RenameTable permission to use this operation.

        \n
        \n
        ", "smithy.api#http": { "uri": "/tables/{tableBucketARN}/{namespace}/{name}/rename", "method": "PUT", @@ -3284,6 +3320,41 @@ } } }, + "com.amazonaws.s3tables#SchemaField": { + "type": "structure", + "members": { + "name": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

        The name of the field.

        ", + "smithy.api#required": {} + } + }, + "type": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

        The field type. S3 Tables supports all Apache Iceberg primitive types. For more information, see the Apache Iceberg documentation.

        ", + "smithy.api#required": {} + } + }, + "required": { + "target": "smithy.api#Boolean", + "traits": { + "smithy.api#default": false, + "smithy.api#documentation": "

        A Boolean value that specifies whether values are required for each row in this field. By default, this is false and null values are allowed in the field. If this is true the field does not allow null values.

        " + } + } + }, + "traits": { + "smithy.api#documentation": "

        Contains details about a schema field.

        " + } + }, + "com.amazonaws.s3tables#SchemaFieldList": { + "type": "list", + "member": { + "target": "com.amazonaws.s3tables#SchemaField" + } + }, "com.amazonaws.s3tables#TableARN": { "type": "string", "traits": { @@ -3419,7 +3490,7 @@ "arn": { "target": "com.amazonaws.s3tables#TableBucketARN", "traits": { - "smithy.api#documentation": "

        The Amazon Resource Number (ARN) of the table bucket.

        ", + "smithy.api#documentation": "

        The Amazon Resource Name (ARN) of the table bucket.

        ", "smithy.api#required": {} } }, @@ -3582,6 +3653,20 @@ } } }, + "com.amazonaws.s3tables#TableMetadata": { + "type": "union", + "members": { + "iceberg": { + "target": "com.amazonaws.s3tables#IcebergMetadata", + "traits": { + "smithy.api#documentation": "

        Contains details about the metadata of an Iceberg table.

        " + } + } + }, + "traits": { + "smithy.api#documentation": "

        Contains details about the table metadata.

        " + } + }, "com.amazonaws.s3tables#TableName": { "type": "string", "traits": { @@ -3674,7 +3759,7 @@ "tableARN": { "target": "com.amazonaws.s3tables#TableARN", "traits": { - "smithy.api#documentation": "

        The Amazon Resource Number (ARN) of the table.

        ", + "smithy.api#documentation": "

        The Amazon Resource Name (ARN) of the table.

        ", "smithy.api#required": {} } }, @@ -3764,7 +3849,7 @@ } ], "traits": { - "smithy.api#documentation": "

        Updates the metadata location for a table.

        ", + "smithy.api#documentation": "

        Updates the metadata location for a table. The metadata location of a table must be an S3 URI that begins with the table's warehouse location. The metadata location for an Apache Iceberg table must end with .metadata.json, or if the metadata file is Gzip-compressed, .metadata.json.gz.

        \n
        \n
        Permissions
        \n
        \n

        You must have the s3tables:UpdateTableMetadataLocation permission to use this operation.

        \n
        \n
        ", "smithy.api#http": { "uri": "/tables/{tableBucketARN}/{namespace}/{name}/metadata-location", "method": "PUT" @@ -3830,7 +3915,7 @@ "tableARN": { "target": "com.amazonaws.s3tables#TableARN", "traits": { - "smithy.api#documentation": "

        The Amazon Resource Number (ARN) of the table.

        ", + "smithy.api#documentation": "

        The Amazon Resource Name (ARN) of the table.

        ", "smithy.api#required": {} } }, diff --git a/tools/code-generation/smithy/api-descriptions/ssm.json b/tools/code-generation/smithy/api-descriptions/ssm.json index fb11af8ac7d..3d8dad7d0d5 100644 --- a/tools/code-generation/smithy/api-descriptions/ssm.json +++ b/tools/code-generation/smithy/api-descriptions/ssm.json @@ -858,7 +858,7 @@ "name": "ssm" }, "aws.protocols#awsJson1_1": {}, - "smithy.api#documentation": "

        Amazon Web Services Systems Manager is the operations hub for your Amazon Web Services applications and resources and a secure\n end-to-end management solution for hybrid cloud environments that enables safe and secure\n operations at scale.

        \n

        This reference is intended to be used with the Amazon Web Services Systems Manager User Guide. To get started, see Setting up Amazon Web Services Systems Manager.

        \n

        \n Related resources\n

        \n ", + "smithy.api#documentation": "

        Amazon Web Services Systems Manager is the operations hub for your Amazon Web Services applications and resources and a secure\n end-to-end management solution for hybrid cloud environments that enables safe and secure\n operations at scale.

        \n

        This reference is intended to be used with the Amazon Web Services Systems Manager User Guide. To get started, see Setting up Amazon Web Services Systems Manager.

        \n

        \n Related resources\n

        \n ", "smithy.api#title": "Amazon Simple Systems Manager (SSM)", "smithy.api#xmlNamespace": { "uri": "http://ssm.amazonaws.com/doc/2014-11-06/" @@ -1936,7 +1936,7 @@ } ], "traits": { - "smithy.api#documentation": "

        Associates a related item to a Systems Manager OpsCenter OpsItem. For example, you can associate an\n Incident Manager incident or analysis with an OpsItem. Incident Manager and OpsCenter are capabilities of\n Amazon Web Services Systems Manager.

        " + "smithy.api#documentation": "

        Associates a related item to a Systems Manager OpsCenter OpsItem. For example, you can associate an\n Incident Manager incident or analysis with an OpsItem. Incident Manager and OpsCenter are tools in\n Amazon Web Services Systems Manager.

        " } }, "com.amazonaws.ssm#AssociateOpsItemRelatedItemRequest": { @@ -2188,7 +2188,7 @@ "AutomationTargetParameterName": { "target": "com.amazonaws.ssm#AutomationTargetParameterName", "traits": { - "smithy.api#documentation": "

        Choose the parameter that will define how your automation will branch out. This target is\n required for associations that use an Automation runbook and target resources by using rate\n controls. Automation is a capability of Amazon Web Services Systems Manager.

        " + "smithy.api#documentation": "

        Choose the parameter that will define how your automation will branch out. This target is\n required for associations that use an Automation runbook and target resources by using rate\n controls. Automation is a tool in Amazon Web Services Systems Manager.

        " } }, "Parameters": { @@ -2260,7 +2260,7 @@ "SyncCompliance": { "target": "com.amazonaws.ssm#AssociationSyncCompliance", "traits": { - "smithy.api#documentation": "

        The mode for generating association compliance. You can specify AUTO or\n MANUAL. In AUTO mode, the system uses the status of the association\n execution to determine the compliance status. If the association execution runs successfully,\n then the association is COMPLIANT. If the association execution doesn't run\n successfully, the association is NON-COMPLIANT.

        \n

        In MANUAL mode, you must specify the AssociationId as a parameter\n for the PutComplianceItems API operation. In this case, compliance data isn't\n managed by State Manager, a capability of Amazon Web Services Systems Manager. It is managed by your direct call to the\n PutComplianceItems API operation.

        \n

        By default, all associations use AUTO mode.

        " + "smithy.api#documentation": "

        The mode for generating association compliance. You can specify AUTO or\n MANUAL. In AUTO mode, the system uses the status of the association\n execution to determine the compliance status. If the association execution runs successfully,\n then the association is COMPLIANT. If the association execution doesn't run\n successfully, the association is NON-COMPLIANT.

        \n

        In MANUAL mode, you must specify the AssociationId as a parameter\n for the PutComplianceItems API operation. In this case, compliance data isn't\n managed by State Manager, a tool in Amazon Web Services Systems Manager. It is managed by your direct call to the PutComplianceItems API operation.

        \n

        By default, all associations use AUTO mode.

        " } }, "ApplyOnlyAtCronInterval": { @@ -3030,7 +3030,7 @@ "SyncCompliance": { "target": "com.amazonaws.ssm#AssociationSyncCompliance", "traits": { - "smithy.api#documentation": "

        The mode for generating association compliance. You can specify AUTO or\n MANUAL. In AUTO mode, the system uses the status of the association\n execution to determine the compliance status. If the association execution runs successfully,\n then the association is COMPLIANT. If the association execution doesn't run\n successfully, the association is NON-COMPLIANT.

        \n

        In MANUAL mode, you must specify the AssociationId as a parameter\n for the PutComplianceItems API operation. In this case, compliance data isn't\n managed by State Manager, a capability of Amazon Web Services Systems Manager. It is managed by your direct call to the\n PutComplianceItems API operation.

        \n

        By default, all associations use AUTO mode.

        " + "smithy.api#documentation": "

        The mode for generating association compliance. You can specify AUTO or\n MANUAL. In AUTO mode, the system uses the status of the association\n execution to determine the compliance status. If the association execution runs successfully,\n then the association is COMPLIANT. If the association execution doesn't run\n successfully, the association is NON-COMPLIANT.

        \n

        In MANUAL mode, you must specify the AssociationId as a parameter\n for the PutComplianceItems API operation. In this case, compliance data isn't\n managed by State Manager, a tool in Amazon Web Services Systems Manager. It is managed by your direct call to the PutComplianceItems API operation.

        \n

        By default, all associations use AUTO mode.

        " } }, "ApplyOnlyAtCronInterval": { @@ -4700,7 +4700,7 @@ "ServiceRole": { "target": "com.amazonaws.ssm#ServiceRole", "traits": { - "smithy.api#documentation": "

        The Identity and Access Management (IAM) service role that Run Command, a capability\n of Amazon Web Services Systems Manager, uses to act on your behalf when sending notifications about command status changes.\n

        " + "smithy.api#documentation": "

        The Identity and Access Management (IAM) service role that Run Command, a tool in\n Amazon Web Services Systems Manager, uses to act on your behalf when sending notifications about command status changes.\n

        " } }, "NotificationConfig": { @@ -4909,7 +4909,7 @@ "ServiceRole": { "target": "com.amazonaws.ssm#ServiceRole", "traits": { - "smithy.api#documentation": "

        The Identity and Access Management (IAM) service role that Run Command, a capability\n of Amazon Web Services Systems Manager, uses to act on your behalf when sending notifications about command status changes\n on a per managed node basis.

        " + "smithy.api#documentation": "

        The Identity and Access Management (IAM) service role that Run Command, a tool in\n Amazon Web Services Systems Manager, uses to act on your behalf when sending notifications about command status changes on\n a per managed node basis.

        " } }, "NotificationConfig": { @@ -5757,7 +5757,7 @@ } ], "traits": { - "smithy.api#documentation": "

        Generates an activation code and activation ID you can use to register your on-premises\n servers, edge devices, or virtual machine (VM) with Amazon Web Services Systems Manager. Registering these machines with\n Systems Manager makes it possible to manage them using Systems Manager capabilities. You use the activation code and\n ID when installing SSM Agent on machines in your hybrid environment. For more information about\n requirements for managing on-premises machines using Systems Manager, see Using Amazon Web Services Systems Manager in\n hybrid and multicloud environments in the Amazon Web Services Systems Manager User Guide.

        \n \n

        Amazon Elastic Compute Cloud (Amazon EC2) instances, edge devices, and on-premises servers and VMs that are\n configured for Systems Manager are all called managed nodes.

        \n
        " + "smithy.api#documentation": "

        Generates an activation code and activation ID you can use to register your on-premises\n servers, edge devices, or virtual machine (VM) with Amazon Web Services Systems Manager. Registering these machines with\n Systems Manager makes it possible to manage them using Systems Manager tools. You use the activation code and ID when\n installing SSM Agent on machines in your hybrid environment. For more information about\n requirements for managing on-premises machines using Systems Manager, see Using Amazon Web Services Systems Manager in\n hybrid and multicloud environments in the Amazon Web Services Systems Manager User Guide.

        \n \n

        Amazon Elastic Compute Cloud (Amazon EC2) instances, edge devices, and on-premises servers and VMs that are\n configured for Systems Manager are all called managed nodes.

        \n
        " } }, "com.amazonaws.ssm#CreateActivationRequest": { @@ -5881,7 +5881,7 @@ } ], "traits": { - "smithy.api#documentation": "

        A State Manager association defines the state that you want to maintain on your managed\n nodes. For example, an association can specify that anti-virus software must be installed and\n running on your managed nodes, or that certain ports must be closed. For static targets, the\n association specifies a schedule for when the configuration is reapplied. For dynamic targets,\n such as an Amazon Web Services resource group or an Amazon Web Services autoscaling group, State Manager, a capability of\n Amazon Web Services Systems Manager applies the configuration when new managed nodes are added to the group. The\n association also specifies actions to take when applying the configuration. For example, an\n association for anti-virus software might run once a day. If the software isn't installed, then\n State Manager installs it. If the software is installed, but the service isn't running, then the\n association might instruct State Manager to start the service.

        " + "smithy.api#documentation": "

        A State Manager association defines the state that you want to maintain on your managed\n nodes. For example, an association can specify that anti-virus software must be installed and\n running on your managed nodes, or that certain ports must be closed. For static targets, the\n association specifies a schedule for when the configuration is reapplied. For dynamic targets,\n such as an Amazon Web Services resource group or an Amazon Web Services autoscaling group, State Manager, a tool in Amazon Web Services Systems Manager\n applies the configuration when new managed nodes are added to the group. The association also\n specifies actions to take when applying the configuration. For example, an association for\n anti-virus software might run once a day. If the software isn't installed, then State Manager\n installs it. If the software is installed, but the service isn't running, then the association\n might instruct State Manager to start the service.

        " } }, "com.amazonaws.ssm#CreateAssociationBatch": { @@ -5988,7 +5988,7 @@ "AutomationTargetParameterName": { "target": "com.amazonaws.ssm#AutomationTargetParameterName", "traits": { - "smithy.api#documentation": "

        Specify the target for the association. This target is required for associations that use an\n Automation runbook and target resources by using rate controls. Automation is a capability of\n Amazon Web Services Systems Manager.

        " + "smithy.api#documentation": "

        Specify the target for the association. This target is required for associations that use an\n Automation runbook and target resources by using rate controls. Automation is a tool in\n Amazon Web Services Systems Manager.

        " } }, "DocumentVersion": { @@ -6042,7 +6042,7 @@ "SyncCompliance": { "target": "com.amazonaws.ssm#AssociationSyncCompliance", "traits": { - "smithy.api#documentation": "

        The mode for generating association compliance. You can specify AUTO or\n MANUAL. In AUTO mode, the system uses the status of the association\n execution to determine the compliance status. If the association execution runs successfully,\n then the association is COMPLIANT. If the association execution doesn't run\n successfully, the association is NON-COMPLIANT.

        \n

        In MANUAL mode, you must specify the AssociationId as a parameter\n for the PutComplianceItems API operation. In this case, compliance data isn't\n managed by State Manager, a capability of Amazon Web Services Systems Manager. It is managed by your direct call to the\n PutComplianceItems API operation.

        \n

        By default, all associations use AUTO mode.

        " + "smithy.api#documentation": "

        The mode for generating association compliance. You can specify AUTO or\n MANUAL. In AUTO mode, the system uses the status of the association\n execution to determine the compliance status. If the association execution runs successfully,\n then the association is COMPLIANT. If the association execution doesn't run\n successfully, the association is NON-COMPLIANT.

        \n

        In MANUAL mode, you must specify the AssociationId as a parameter\n for the PutComplianceItems API operation. In this case, compliance data isn't\n managed by State Manager, a tool in Amazon Web Services Systems Manager. It is managed by your direct call to the PutComplianceItems API operation.

        \n

        By default, all associations use AUTO mode.

        " } }, "ApplyOnlyAtCronInterval": { @@ -6165,7 +6165,7 @@ "AutomationTargetParameterName": { "target": "com.amazonaws.ssm#AutomationTargetParameterName", "traits": { - "smithy.api#documentation": "

        Choose the parameter that will define how your automation will branch out. This target is\n required for associations that use an Automation runbook and target resources by using rate\n controls. Automation is a capability of Amazon Web Services Systems Manager.

        " + "smithy.api#documentation": "

        Choose the parameter that will define how your automation will branch out. This target is\n required for associations that use an Automation runbook and target resources by using rate\n controls. Automation is a tool in Amazon Web Services Systems Manager.

        " } }, "MaxErrors": { @@ -10327,7 +10327,7 @@ "target": "com.amazonaws.ssm#Integer", "traits": { "smithy.api#default": null, - "smithy.api#documentation": "

        The number of managed nodes with NotApplicable patches beyond the supported\n limit, which aren't reported by name to Inventory. Inventory is a capability of Amazon Web Services Systems Manager.

        " + "smithy.api#documentation": "

        The number of managed nodes with NotApplicable patches beyond the supported\n limit, which aren't reported by name to Inventory. Inventory is a tool in Amazon Web Services Systems Manager.

        " } }, "InstancesWithCriticalNonCompliantPatches": { @@ -10619,7 +10619,7 @@ } ], "traits": { - "smithy.api#documentation": "

        Deletes the association between an OpsItem and a related item. For example, this API\n operation can delete an Incident Manager incident from an OpsItem. Incident Manager is a capability of\n Amazon Web Services Systems Manager.

        " + "smithy.api#documentation": "

        Deletes the association between an OpsItem and a related item. For example, this API\n operation can delete an Incident Manager incident from an OpsItem. Incident Manager is a tool in\n Amazon Web Services Systems Manager.

        " } }, "com.amazonaws.ssm#DisassociateOpsItemRelatedItemRequest": { @@ -12220,7 +12220,7 @@ } ], "traits": { - "smithy.api#documentation": "

        Gets the state of a Amazon Web Services Systems Manager change calendar at the current time or a specified time. If\n you specify a time, GetCalendarState returns the state of the calendar at that\n specific time, and returns the next time that the change calendar state will transition. If you\n don't specify a time, GetCalendarState uses the current time. Change Calendar\n entries have two possible states: OPEN or CLOSED.

        \n

        If you specify more than one calendar in a request, the command returns the status of\n OPEN only if all calendars in the request are open. If one or more calendars in the\n request are closed, the status returned is CLOSED.

        \n

        For more information about Change Calendar, a capability of Amazon Web Services Systems Manager, see Amazon Web Services Systems Manager Change Calendar in the Amazon Web Services Systems Manager User Guide.

        " + "smithy.api#documentation": "

        Gets the state of a Amazon Web Services Systems Manager change calendar at the current time or a specified time. If\n you specify a time, GetCalendarState returns the state of the calendar at that\n specific time, and returns the next time that the change calendar state will transition. If you\n don't specify a time, GetCalendarState uses the current time. Change Calendar\n entries have two possible states: OPEN or CLOSED.

        \n

        If you specify more than one calendar in a request, the command returns the status of\n OPEN only if all calendars in the request are open. If one or more calendars in the\n request are closed, the status returned is CLOSED.

        \n

        For more information about Change Calendar, a tool in Amazon Web Services Systems Manager, see Amazon Web Services Systems Manager Change Calendar in the Amazon Web Services Systems Manager User Guide.

        " } }, "com.amazonaws.ssm#GetCalendarStateRequest": { @@ -12654,7 +12654,7 @@ } ], "traits": { - "smithy.api#documentation": "

        Retrieves the current snapshot for the patch baseline the managed node uses. This API is\n primarily used by the AWS-RunPatchBaseline Systems Manager document (SSM document).

        \n \n

        If you run the command locally, such as with the Command Line Interface (CLI), the system attempts to use your local Amazon Web Services credentials and the operation fails. To avoid\n this, you can run the command in the Amazon Web Services Systems Manager console. Use Run Command, a capability of\n Amazon Web Services Systems Manager, with an SSM document that enables you to target a managed node with a script or\n command. For example, run the command using the AWS-RunShellScript document or the\n AWS-RunPowerShellScript document.

        \n
        " + "smithy.api#documentation": "

        Retrieves the current snapshot for the patch baseline the managed node uses. This API is\n primarily used by the AWS-RunPatchBaseline Systems Manager document (SSM document).

        \n \n

        If you run the command locally, such as with the Command Line Interface (CLI), the system attempts to use your local Amazon Web Services credentials and the operation fails. To avoid\n this, you can run the command in the Amazon Web Services Systems Manager console. Use Run Command, a tool in Amazon Web Services Systems Manager,\n with an SSM document that enables you to target a managed node with a script or command. For\n example, run the command using the AWS-RunShellScript document or the\n AWS-RunPowerShellScript document.

        \n
        " } }, "com.amazonaws.ssm#GetDeployablePatchSnapshotForInstanceRequest": { @@ -14199,7 +14199,7 @@ } ], "traits": { - "smithy.api#documentation": "

        Retrieve information about one or more parameters in a specific hierarchy.

        \n

        Request results are returned on a best-effort basis. If you specify MaxResults\n in the request, the response includes information up to the limit specified. The number of items\n returned, however, can be between zero and the value of MaxResults. If the service\n reaches an internal limit while processing the results, it stops the operation and returns the\n matching values up to that point and a NextToken. You can specify the\n NextToken in a subsequent call to get the next set of results.

        ", + "smithy.api#documentation": "

        Retrieve information about one or more parameters under a specified level in a hierarchy.

        \n

        Request results are returned on a best-effort basis. If you specify MaxResults\n in the request, the response includes information up to the limit specified. The number of items\n returned, however, can be between zero and the value of MaxResults. If the service\n reaches an internal limit while processing the results, it stops the operation and returns the\n matching values up to that point and a NextToken. You can specify the\n NextToken in a subsequent call to get the next set of results.

        ", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", @@ -15499,7 +15499,7 @@ "target": "com.amazonaws.ssm#PatchUnreportedNotApplicableCount", "traits": { "smithy.api#default": null, - "smithy.api#documentation": "

        The number of patches beyond the supported limit of NotApplicableCount that\n aren't reported by name to Inventory. Inventory is a capability of Amazon Web Services Systems Manager.

        " + "smithy.api#documentation": "

        The number of patches beyond the supported limit of NotApplicableCount that\n aren't reported by name to Inventory. Inventory is a tool in Amazon Web Services Systems Manager.

        " } }, "NotApplicableCount": { @@ -17900,7 +17900,7 @@ } ], "traits": { - "smithy.api#documentation": "

        Returns all State Manager associations in the current Amazon Web Services account and Amazon Web Services Region. You\n can limit the results to a specific State Manager association document or managed node by\n specifying a filter. State Manager is a capability of Amazon Web Services Systems Manager.

        ", + "smithy.api#documentation": "

        Returns all State Manager associations in the current Amazon Web Services account and Amazon Web Services Region. You\n can limit the results to a specific State Manager association document or managed node by\n specifying a filter. State Manager is a tool in Amazon Web Services Systems Manager.

        ", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", @@ -19021,7 +19021,7 @@ } ], "traits": { - "smithy.api#documentation": "

        Lists all related-item resources associated with a Systems Manager OpsCenter OpsItem. OpsCenter is a\n capability of Amazon Web Services Systems Manager.

        ", + "smithy.api#documentation": "

        Lists all related-item resources associated with a Systems Manager OpsCenter OpsItem. OpsCenter is a\n tool in Amazon Web Services Systems Manager.

        ", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", @@ -23617,7 +23617,7 @@ "PolicyType": { "target": "com.amazonaws.ssm#String", "traits": { - "smithy.api#documentation": "

        The type of policy. Parameter Store, a capability of Amazon Web Services Systems Manager, supports the following\n policy types: Expiration, ExpirationNotification, and NoChangeNotification.

        " + "smithy.api#documentation": "

        The type of policy. Parameter Store, a tool in Amazon Web Services Systems Manager, supports the following policy\n types: Expiration, ExpirationNotification, and NoChangeNotification.

        " } }, "PolicyStatus": { @@ -25690,7 +25690,7 @@ "Value": { "target": "com.amazonaws.ssm#PSParameterValue", "traits": { - "smithy.api#documentation": "

        The parameter value that you want to add to the system. Standard parameters have a value\n limit of 4 KB. Advanced parameters have a value limit of 8 KB.

        \n \n

        Parameters can't be referenced or nested in the values of other parameters. You can't\n include {{}} or {{ssm:parameter-name}} in a\n parameter value.

        \n
        ", + "smithy.api#documentation": "

        The parameter value that you want to add to the system. Standard parameters have a value\n limit of 4 KB. Advanced parameters have a value limit of 8 KB.

        \n \n

        Parameters can't be referenced or nested in the values of other parameters. You can't\n include values wrapped in double brackets {{}} or\n {{ssm:parameter-name}} in a parameter value.

        \n
        ", "smithy.api#required": {} } }, @@ -25734,7 +25734,7 @@ "Policies": { "target": "com.amazonaws.ssm#ParameterPolicies", "traits": { - "smithy.api#documentation": "

        One or more policies to apply to a parameter. This operation takes a JSON array. Parameter\n Store, a capability of Amazon Web Services Systems Manager supports the following policy types:

        \n

        Expiration: This policy deletes the parameter after it expires. When you create the policy,\n you specify the expiration date. You can update the expiration date and time by updating the\n policy. Updating the parameter doesn't affect the expiration date and time.\n When the expiration time is reached, Parameter Store deletes the parameter.

        \n

        ExpirationNotification: This policy initiates an event in Amazon CloudWatch Events that\n notifies you about the expiration. By using this policy, you can receive notification before or\n after the expiration time is reached, in units of days or hours.

        \n

        NoChangeNotification: This policy initiates a CloudWatch Events event if a parameter hasn't\n been modified for a specified period of time. This policy type is useful when, for example, a\n secret needs to be changed within a period of time, but it hasn't been changed.

        \n

        All existing policies are preserved until you send new policies or an empty policy. For more\n information about parameter policies, see Assigning parameter\n policies.

        " + "smithy.api#documentation": "

        One or more policies to apply to a parameter. This operation takes a JSON array. Parameter\n Store, a tool in Amazon Web Services Systems Manager supports the following policy types:

        \n

        Expiration: This policy deletes the parameter after it expires. When you create the policy,\n you specify the expiration date. You can update the expiration date and time by updating the\n policy. Updating the parameter doesn't affect the expiration date and time.\n When the expiration time is reached, Parameter Store deletes the parameter.

        \n

        ExpirationNotification: This policy initiates an event in Amazon CloudWatch Events that\n notifies you about the expiration. By using this policy, you can receive notification before or\n after the expiration time is reached, in units of days or hours.

        \n

        NoChangeNotification: This policy initiates a CloudWatch Events event if a parameter hasn't\n been modified for a specified period of time. This policy type is useful when, for example, a\n secret needs to be changed within a period of time, but it hasn't been changed.

        \n

        All existing policies are preserved until you send new policies or an empty policy. For more\n information about parameter policies, see Assigning parameter\n policies.

        " } }, "DataType": { @@ -27892,7 +27892,7 @@ "CloudWatchOutputConfig": { "target": "com.amazonaws.ssm#CloudWatchOutputConfig", "traits": { - "smithy.api#documentation": "

        Enables Amazon Web Services Systems Manager to send Run Command output to Amazon CloudWatch Logs. Run Command is a\n capability of Amazon Web Services Systems Manager.

        " + "smithy.api#documentation": "

        Enables Amazon Web Services Systems Manager to send Run Command output to Amazon CloudWatch Logs. Run Command is a\n tool in Amazon Web Services Systems Manager.

        " } }, "AlarmConfiguration": { @@ -28659,7 +28659,7 @@ "Tags": { "target": "com.amazonaws.ssm#TagList", "traits": { - "smithy.api#documentation": "

        Optional metadata that you assign to a resource. You can specify a maximum of five tags for\n an automation. Tags enable you to categorize a resource in different ways, such as by purpose,\n owner, or environment. For example, you might want to tag an automation to identify an\n environment or operating system. In this case, you could specify the following key-value\n pairs:

        \n
          \n
        • \n

          \n Key=environment,Value=test\n

          \n
        • \n
        • \n

          \n Key=OS,Value=Windows\n

          \n
        • \n
        \n \n

        To add tags to an existing automation, use the AddTagsToResource\n operation.

        \n
        " + "smithy.api#documentation": "

        Optional metadata that you assign to a resource. You can specify a maximum of five tags for\n an automation. Tags enable you to categorize a resource in different ways, such as by purpose,\n owner, or environment. For example, you might want to tag an automation to identify an\n environment or operating system. In this case, you could specify the following key-value\n pairs:

        \n
          \n
        • \n

          \n Key=environment,Value=test\n

          \n
        • \n
        • \n

          \n Key=OS,Value=Windows\n

          \n
        • \n
        \n \n

        The Array Members maximum value is reported as 1000. This number includes\n capacity reserved for internal operations. When calling the\n StartAutomationExecution action, you can specify a maximum of 5 tags. You can,\n however, use the AddTagsToResource action to add up to a total of 50 tags to\n an existing automation configuration.

        \n
        " } }, "AlarmConfiguration": { @@ -28785,7 +28785,7 @@ "Tags": { "target": "com.amazonaws.ssm#TagList", "traits": { - "smithy.api#documentation": "

        Optional metadata that you assign to a resource. You can specify a maximum of five tags for\n a change request. Tags enable you to categorize a resource in different ways, such as by\n purpose, owner, or environment. For example, you might want to tag a change request to identify\n an environment or target Amazon Web Services Region. In this case, you could specify the following key-value\n pairs:

        \n
          \n
        • \n

          \n Key=Environment,Value=Production\n

          \n
        • \n
        • \n

          \n Key=Region,Value=us-east-2\n

          \n
        • \n
        " + "smithy.api#documentation": "

        Optional metadata that you assign to a resource. You can specify a maximum of five tags for\n a change request. Tags enable you to categorize a resource in different ways, such as by\n purpose, owner, or environment. For example, you might want to tag a change request to identify\n an environment or target Amazon Web Services Region. In this case, you could specify the following key-value\n pairs:

        \n
          \n
        • \n

          \n Key=Environment,Value=Production\n

          \n
        • \n
        • \n

          \n Key=Region,Value=us-east-2\n

          \n
        • \n
        \n \n

        The Array Members maximum value is reported as 1000. This number includes\n capacity reserved for internal operations. When calling the\n StartChangeRequestExecution action, you can specify a maximum of 5 tags. You can,\n however, use the AddTagsToResource action to add up to a total of 50 tags to\n an existing change request configuration.

        \n
        " } }, "ScheduledEndTime": { @@ -28940,7 +28940,7 @@ "Parameters": { "target": "com.amazonaws.ssm#SessionManagerParameters", "traits": { - "smithy.api#documentation": "

        The values you want to specify for the parameters defined in the Session\n document.

        " + "smithy.api#documentation": "

        The values you want to specify for the parameters defined in the Session document.\n For more information about these parameters, see Create a\n Session Manager preferences document in the\n Amazon Web Services Systems Manager User Guide.

        " } } }, @@ -29474,7 +29474,7 @@ } }, "traits": { - "smithy.api#documentation": "

        An array of search criteria that targets managed nodes using a key-value pair that you\n specify.

        \n \n

        One or more targets must be specified for maintenance window Run Command-type tasks.\n Depending on the task, targets are optional for other maintenance window task types (Automation,\n Lambda, and Step Functions). For more information about running tasks\n that don't specify targets, see Registering\n maintenance window tasks without targets in the\n Amazon Web Services Systems Manager User Guide.

        \n
        \n

        Supported formats include the following.

        \n

        \n For all Systems Manager capabilities:\n

        \n
          \n
        • \n

          \n Key=tag-key,Values=tag-value-1,tag-value-2\n

          \n
        • \n
        \n

        \n For Automation and Change Manager:\n

        \n
          \n
        • \n

          \n Key=tag:tag-key,Values=tag-value\n

          \n
        • \n
        • \n

          \n Key=ResourceGroup,Values=resource-group-name\n

          \n
        • \n
        • \n

          \n Key=ParameterValues,Values=value-1,value-2,value-3\n

          \n
        • \n
        • \n

          To target all instances in the Amazon Web Services Region:

          \n
            \n
          • \n

            \n Key=AWS::EC2::Instance,Values=*\n

            \n
          • \n
          • \n

            \n Key=InstanceIds,Values=*\n

            \n
          • \n
          \n
        • \n
        \n

        \n For Run Command and Maintenance Windows:\n

        \n
          \n
        • \n

          \n Key=InstanceIds,Values=instance-id-1,instance-id-2,instance-id-3\n

          \n
        • \n
        • \n

          \n Key=tag:tag-key,Values=tag-value-1,tag-value-2\n

          \n
        • \n
        • \n

          \n Key=resource-groups:Name,Values=resource-group-name\n

          \n
        • \n
        • \n

          Additionally, Maintenance Windows support targeting resource types:

          \n
            \n
          • \n

            \n Key=resource-groups:ResourceTypeFilters,Values=resource-type-1,resource-type-2\n

            \n
          • \n
          \n
        • \n
        \n

        \n For State Manager:\n

        \n
          \n
        • \n

          \n Key=InstanceIds,Values=instance-id-1,instance-id-2,instance-id-3\n

          \n
        • \n
        • \n

          \n Key=tag:tag-key,Values=tag-value-1,tag-value-2\n

          \n
        • \n
        • \n

          To target all instances in the Amazon Web Services Region:

          \n
            \n
          • \n

            \n Key=InstanceIds,Values=*\n

            \n
          • \n
          \n
        • \n
        \n

        For more information about how to send commands that target managed nodes using\n Key,Value parameters, see Targeting multiple managed nodes in the Amazon Web Services Systems Manager User Guide.

        " + "smithy.api#documentation": "

        An array of search criteria that targets managed nodes using a key-value pair that you\n specify.

        \n \n

        One or more targets must be specified for maintenance window Run Command-type tasks.\n Depending on the task, targets are optional for other maintenance window task types (Automation,\n Lambda, and Step Functions). For more information about running tasks\n that don't specify targets, see Registering\n maintenance window tasks without targets in the\n Amazon Web Services Systems Manager User Guide.

        \n
        \n

        Supported formats include the following.

        \n

        \n For all Systems Manager tools:\n

        \n
          \n
        • \n

          \n Key=tag-key,Values=tag-value-1,tag-value-2\n

          \n
        • \n
        \n

        \n For Automation and Change Manager:\n

        \n
          \n
        • \n

          \n Key=tag:tag-key,Values=tag-value\n

          \n
        • \n
        • \n

          \n Key=ResourceGroup,Values=resource-group-name\n

          \n
        • \n
        • \n

          \n Key=ParameterValues,Values=value-1,value-2,value-3\n

          \n
        • \n
        • \n

          To target all instances in the Amazon Web Services Region:

          \n
            \n
          • \n

            \n Key=AWS::EC2::Instance,Values=*\n

            \n
          • \n
          • \n

            \n Key=InstanceIds,Values=*\n

            \n
          • \n
          \n
        • \n
        \n

        \n For Run Command and Maintenance Windows:\n

        \n
          \n
        • \n

          \n Key=InstanceIds,Values=instance-id-1,instance-id-2,instance-id-3\n

          \n
        • \n
        • \n

          \n Key=tag:tag-key,Values=tag-value-1,tag-value-2\n

          \n
        • \n
        • \n

          \n Key=resource-groups:Name,Values=resource-group-name\n

          \n
        • \n
        • \n

          Additionally, Maintenance Windows support targeting resource types:

          \n
            \n
          • \n

            \n Key=resource-groups:ResourceTypeFilters,Values=resource-type-1,resource-type-2\n

            \n
          • \n
          \n
        • \n
        \n

        \n For State Manager:\n

        \n
          \n
        • \n

          \n Key=InstanceIds,Values=instance-id-1,instance-id-2,instance-id-3\n

          \n
        • \n
        • \n

          \n Key=tag:tag-key,Values=tag-value-1,tag-value-2\n

          \n
        • \n
        • \n

          To target all instances in the Amazon Web Services Region:

          \n
            \n
          • \n

            \n Key=InstanceIds,Values=*\n

            \n
          • \n
          \n
        • \n
        \n

        For more information about how to send commands that target managed nodes using\n Key,Value parameters, see Targeting multiple managed nodes in the Amazon Web Services Systems Manager User Guide.

        " } }, "com.amazonaws.ssm#TargetCount": { @@ -30141,7 +30141,7 @@ "Parameters": { "target": "com.amazonaws.ssm#Parameters", "traits": { - "smithy.api#documentation": "

        The parameters you want to update for the association. If you create a parameter using\n Parameter Store, a capability of Amazon Web Services Systems Manager, you can reference the parameter using\n {{ssm:parameter-name}}.

        " + "smithy.api#documentation": "

        The parameters you want to update for the association. If you create a parameter using\n Parameter Store, a tool in Amazon Web Services Systems Manager, you can reference the parameter using\n {{ssm:parameter-name}}.

        " } }, "DocumentVersion": { @@ -30189,7 +30189,7 @@ "AutomationTargetParameterName": { "target": "com.amazonaws.ssm#AutomationTargetParameterName", "traits": { - "smithy.api#documentation": "

        Choose the parameter that will define how your automation will branch out. This target is\n required for associations that use an Automation runbook and target resources by using rate\n controls. Automation is a capability of Amazon Web Services Systems Manager.

        " + "smithy.api#documentation": "

        Choose the parameter that will define how your automation will branch out. This target is\n required for associations that use an Automation runbook and target resources by using rate\n controls. Automation is a tool in Amazon Web Services Systems Manager.

        " } }, "MaxErrors": { @@ -30213,7 +30213,7 @@ "SyncCompliance": { "target": "com.amazonaws.ssm#AssociationSyncCompliance", "traits": { - "smithy.api#documentation": "

        The mode for generating association compliance. You can specify AUTO or\n MANUAL. In AUTO mode, the system uses the status of the association\n execution to determine the compliance status. If the association execution runs successfully,\n then the association is COMPLIANT. If the association execution doesn't run\n successfully, the association is NON-COMPLIANT.

        \n

        In MANUAL mode, you must specify the AssociationId as a parameter\n for the PutComplianceItems API operation. In this case, compliance data isn't\n managed by State Manager, a capability of Amazon Web Services Systems Manager. It is managed by your direct call to the\n PutComplianceItems API operation.

        \n

        By default, all associations use AUTO mode.

        " + "smithy.api#documentation": "

        The mode for generating association compliance. You can specify AUTO or\n MANUAL. In AUTO mode, the system uses the status of the association\n execution to determine the compliance status. If the association execution runs successfully,\n then the association is COMPLIANT. If the association execution doesn't run\n successfully, the association is NON-COMPLIANT.

        \n

        In MANUAL mode, you must specify the AssociationId as a parameter\n for the PutComplianceItems API operation. In this case, compliance data isn't\n managed by State Manager, a tool in Amazon Web Services Systems Manager. It is managed by your direct call to the PutComplianceItems API operation.

        \n

        By default, all associations use AUTO mode.

        " } }, "ApplyOnlyAtCronInterval": { diff --git a/tools/code-generation/smithy/api-descriptions/sso-oidc.json b/tools/code-generation/smithy/api-descriptions/sso-oidc.json index ad40043c8de..7cd97dd1221 100644 --- a/tools/code-generation/smithy/api-descriptions/sso-oidc.json +++ b/tools/code-generation/smithy/api-descriptions/sso-oidc.json @@ -58,7 +58,7 @@ "name": "sso-oauth" }, "aws.protocols#restJson1": {}, - "smithy.api#documentation": "

        IAM Identity Center OpenID Connect (OIDC) is a web service that enables a client (such as CLI\n or a native application) to register with IAM Identity Center. The service also enables the client to\n fetch the user’s access token upon successful authentication and authorization with\n IAM Identity Center.

        \n \n

        IAM Identity Center uses the sso and identitystore API namespaces.

        \n
        \n

        \n Considerations for Using This Guide\n

        \n

        Before you begin using this guide, we recommend that you first review the following\n important information about how the IAM Identity Center OIDC service works.

        \n
          \n
        • \n

          The IAM Identity Center OIDC service currently implements only the portions of the OAuth 2.0 Device\n Authorization Grant standard (https://tools.ietf.org/html/rfc8628) that are necessary to enable single\n sign-on authentication with the CLI.

          \n
        • \n
        • \n

          With older versions of the CLI, the service only emits OIDC access tokens, so to\n obtain a new token, users must explicitly re-authenticate. To access the OIDC flow that\n supports token refresh and doesn’t require re-authentication, update to the latest CLI\n version (1.27.10 for CLI V1 and 2.9.0 for CLI V2) with support for OIDC token refresh and\n configurable IAM Identity Center session durations. For more information, see Configure Amazon Web Services access portal session duration .

          \n
        • \n
        • \n

          The access tokens provided by this service grant access to all Amazon Web Services account\n entitlements assigned to an IAM Identity Center user, not just a particular application.

          \n
        • \n
        • \n

          The documentation in this guide does not describe the mechanism to convert the access\n token into Amazon Web Services Auth (“sigv4”) credentials for use with IAM-protected Amazon Web Services service\n endpoints. For more information, see GetRoleCredentials in the IAM Identity Center Portal API Reference\n Guide.

          \n
        • \n
        \n

        For general information about IAM Identity Center, see What is\n IAM Identity Center? in the IAM Identity Center User Guide.

        ", + "smithy.api#documentation": "

        IAM Identity Center OpenID Connect (OIDC) is a web service that enables a client (such as CLI or a\n native application) to register with IAM Identity Center. The service also enables the client to fetch the\n user’s access token upon successful authentication and authorization with IAM Identity Center.

        \n

        \n API namespaces\n

        \n

        IAM Identity Center uses the sso and identitystore API namespaces. IAM Identity Center\n OpenID Connect uses the sso-oidc namespace.

        \n

        \n Considerations for using this guide\n

        \n

        Before you begin using this guide, we recommend that you first review the following\n important information about how the IAM Identity Center OIDC service works.

        \n
          \n
        • \n

          The IAM Identity Center OIDC service currently implements only the portions of the OAuth 2.0 Device\n Authorization Grant standard (https://tools.ietf.org/html/rfc8628) that are necessary to enable single\n sign-on authentication with the CLI.

          \n
        • \n
        • \n

          With older versions of the CLI, the service only emits OIDC access tokens, so to\n obtain a new token, users must explicitly re-authenticate. To access the OIDC flow that\n supports token refresh and doesn’t require re-authentication, update to the latest CLI\n version (1.27.10 for CLI V1 and 2.9.0 for CLI V2) with support for OIDC token refresh\n and configurable IAM Identity Center session durations. For more information, see Configure Amazon Web Services access portal session duration .

          \n
        • \n
        • \n

          The access tokens provided by this service grant access to all Amazon Web Services account\n entitlements assigned to an IAM Identity Center user, not just a particular application.

          \n
        • \n
        • \n

          The documentation in this guide does not describe the mechanism to convert the access\n token into Amazon Web Services Auth (“sigv4”) credentials for use with IAM-protected Amazon Web Services service\n endpoints. For more information, see GetRoleCredentials in the IAM Identity Center Portal API Reference\n Guide.

          \n
        • \n
        \n

        For general information about IAM Identity Center, see What is\n IAM Identity Center? in the IAM Identity Center User Guide.

        ", "smithy.api#title": "AWS SSO OIDC", "smithy.rules#endpointRuleSet": { "version": "1.0", @@ -968,13 +968,13 @@ "error": { "target": "com.amazonaws.ssooidc#Error", "traits": { - "smithy.api#documentation": "

        Single error code.\n For this exception the value will be access_denied.

        " + "smithy.api#documentation": "

        Single error code. For this exception the value will be access_denied.

        " } }, "error_description": { "target": "com.amazonaws.ssooidc#ErrorDescription", "traits": { - "smithy.api#documentation": "

        Human-readable text providing additional information, used to assist the\n client developer in understanding the error that occurred.

        " + "smithy.api#documentation": "

        Human-readable text providing additional information, used to assist the client developer\n in understanding the error that occurred.

        " } } }, @@ -1008,13 +1008,13 @@ "error": { "target": "com.amazonaws.ssooidc#Error", "traits": { - "smithy.api#documentation": "

        Single error code.\n For this exception the value will be authorization_pending.

        " + "smithy.api#documentation": "

        Single error code. For this exception the value will be\n authorization_pending.

        " } }, "error_description": { "target": "com.amazonaws.ssooidc#ErrorDescription", "traits": { - "smithy.api#documentation": "

        Human-readable text providing additional information, used to assist the\n client developer in understanding the error that occurred.

        " + "smithy.api#documentation": "

        Human-readable text providing additional information, used to assist the client developer\n in understanding the error that occurred.

        " } } }, @@ -1090,7 +1090,7 @@ ], "traits": { "smithy.api#auth": [], - "smithy.api#documentation": "

        Creates and returns access and refresh tokens for clients that are authenticated using\n client secrets. The access token can be used to fetch short-term credentials for the assigned\n AWS accounts or to access application APIs using bearer authentication.

        ", + "smithy.api#documentation": "

        Creates and returns access and refresh tokens for clients that are authenticated using\n client secrets. The access token can be used to fetch short-lived credentials for the assigned\n AWS accounts or to access application APIs using bearer authentication.

        ", "smithy.api#examples": [ { "title": "Call OAuth/OIDC /token endpoint for Device Code grant with Secret authentication", @@ -1156,44 +1156,44 @@ "grantType": { "target": "com.amazonaws.ssooidc#GrantType", "traits": { - "smithy.api#documentation": "

        Supports the following OAuth grant types: Device Code and Refresh Token.\n Specify either of the following values, depending on the grant type that you want:

        \n

        * Device Code - urn:ietf:params:oauth:grant-type:device_code\n

        \n

        * Refresh Token - refresh_token\n

        \n

        For information about how to obtain the device code, see the StartDeviceAuthorization topic.

        ", + "smithy.api#documentation": "

        Supports the following OAuth grant types: Authorization Code, Device Code, and Refresh\n Token. Specify one of the following values, depending on the grant type that you want:

        \n

        * Authorization Code - authorization_code\n

        \n

        * Device Code - urn:ietf:params:oauth:grant-type:device_code\n

        \n

        * Refresh Token - refresh_token\n

        ", "smithy.api#required": {} } }, "deviceCode": { "target": "com.amazonaws.ssooidc#DeviceCode", "traits": { - "smithy.api#documentation": "

        Used only when calling this API for the Device Code grant type. This short-term code is\n used to identify this authorization request. This comes from the result of the\n StartDeviceAuthorization API.

        " + "smithy.api#documentation": "

        Used only when calling this API for the Device Code grant type. This short-lived code is\n used to identify this authorization request. This comes from the result of the StartDeviceAuthorization API.

        " } }, "code": { "target": "com.amazonaws.ssooidc#AuthCode", "traits": { - "smithy.api#documentation": "

        Used only when calling this API for the Authorization Code grant type. The short-term code is\n used to identify this authorization request. This grant type is currently unsupported for the\n CreateToken API.

        " + "smithy.api#documentation": "

        Used only when calling this API for the Authorization Code grant type. The short-lived\n code is used to identify this authorization request.

        " } }, "refreshToken": { "target": "com.amazonaws.ssooidc#RefreshToken", "traits": { - "smithy.api#documentation": "

        Used only when calling this API for the Refresh Token grant type. This token is used to\n refresh short-term tokens, such as the access token, that might expire.

        \n

        For more information about the features and limitations of the current IAM Identity Center OIDC\n implementation, see Considerations for Using this Guide in the IAM Identity Center\n OIDC API Reference.

        " + "smithy.api#documentation": "

        Used only when calling this API for the Refresh Token grant type. This token is used to\n refresh short-lived tokens, such as the access token, that might expire.

        \n

        For more information about the features and limitations of the current IAM Identity Center OIDC\n implementation, see Considerations for Using this Guide in the IAM Identity Center\n OIDC API Reference.

        " } }, "scope": { "target": "com.amazonaws.ssooidc#Scopes", "traits": { - "smithy.api#documentation": "

        The list of scopes for which authorization is requested. The access token that is issued\n is limited to the scopes that are granted. If this value is not specified, IAM Identity Center authorizes\n all scopes that are configured for the client during the call to\n RegisterClient.

        " + "smithy.api#documentation": "

        The list of scopes for which authorization is requested. The access token that is issued\n is limited to the scopes that are granted. If this value is not specified, IAM Identity Center authorizes\n all scopes that are configured for the client during the call to RegisterClient.

        " } }, "redirectUri": { "target": "com.amazonaws.ssooidc#URI", "traits": { - "smithy.api#documentation": "

        Used only when calling this API for the Authorization Code grant type. This value specifies\n the location of the client or application that has registered to receive the authorization\n code.

        " + "smithy.api#documentation": "

        Used only when calling this API for the Authorization Code grant type. This value\n specifies the location of the client or application that has registered to receive the\n authorization code.

        " } }, "codeVerifier": { "target": "com.amazonaws.ssooidc#CodeVerifier", "traits": { - "smithy.api#documentation": "

        Used only when calling this API for the Authorization Code grant type. This value is generated\n by the client and presented to validate the original code challenge value the client passed at\n authorization time.

        " + "smithy.api#documentation": "

        Used only when calling this API for the Authorization Code grant type. This value is\n generated by the client and presented to validate the original code challenge value the client\n passed at authorization time.

        " } } }, @@ -1226,13 +1226,13 @@ "refreshToken": { "target": "com.amazonaws.ssooidc#RefreshToken", "traits": { - "smithy.api#documentation": "

        A token that, if present, can be used to refresh a previously issued access token that\n might have expired.

        \n

        For more\n information about the features and limitations of the current IAM Identity Center OIDC implementation,\n see Considerations for Using this Guide in the IAM Identity Center\n OIDC API Reference.

        " + "smithy.api#documentation": "

        A token that, if present, can be used to refresh a previously issued access token that\n might have expired.

        \n

        For more information about the features and limitations of the current IAM Identity Center OIDC\n implementation, see Considerations for Using this Guide in the IAM Identity Center\n OIDC API Reference.

        " } }, "idToken": { "target": "com.amazonaws.ssooidc#IdToken", "traits": { - "smithy.api#documentation": "

        The idToken is not implemented or supported. For more information about the\n features and limitations of the current IAM Identity Center OIDC implementation, see Considerations\n for Using this Guide in the IAM Identity Center\n OIDC API Reference.

        \n

        A JSON Web Token (JWT) that identifies who is associated with the issued access token.\n

        " + "smithy.api#documentation": "

        The idToken is not implemented or supported. For more information about the\n features and limitations of the current IAM Identity Center OIDC implementation, see\n Considerations for Using this Guide in the IAM Identity Center\n OIDC API Reference.

        \n

        A JSON Web Token (JWT) that identifies who is associated with the issued access token.\n

        " } } }, @@ -1287,7 +1287,7 @@ } ], "traits": { - "smithy.api#documentation": "

        Creates and returns access and refresh tokens for clients and applications that are\n authenticated using IAM entities. The access token can be used to fetch short-term credentials\n for the assigned Amazon Web Services accounts or to access application APIs using bearer\n authentication.

        ", + "smithy.api#documentation": "

        Creates and returns access and refresh tokens for clients and applications that are\n authenticated using IAM entities. The access token can be used to fetch short-lived\n credentials for the assigned Amazon Web Services accounts or to access application APIs using\n bearer authentication.

        ", "smithy.api#examples": [ { "title": "Call OAuth/OIDC /token endpoint for Authorization Code grant with IAM authentication", @@ -1318,18 +1318,19 @@ } }, { - "title": "Call OAuth/OIDC /token endpoint for Refresh Token grant with IAM authentication", + "title": "Call OAuth/OIDC /token endpoint for JWT Bearer grant with IAM authentication", "documentation": "", "input": { "clientId": "arn:aws:sso::123456789012:application/ssoins-111111111111/apl-222222222222", - "grantType": "refresh_token", - "refreshToken": "aorvJYubGpU6i91YnH7Mfo-AT2fIVa1zCfA_Rvq9yjVKIP3onFmmykuQ7E93y2I-9Nyj-A_sVvMufaLNL0bqnDRtgAkc0:MGUCMFrRsktMRVlWaOR70XGMFGLL0SlcCw4DiYveIiOVx1uK9BbD0gvAddsW3UTLozXKMgIxAJ3qxUvjpnlLIOaaKOoa/FuNgqJVvr9GMwDtnAtlh9iZzAkEXAMPLEREFRESHTOKEN" + "grantType": "urn:ietf:params:oauth:grant-type:jwt-bearer", + "assertion": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6IjFMVE16YWtpaGlSbGFfOHoyQkVKVlhlV01xbyJ9.eyJ2ZXIiOiIyLjAiLCJpc3MiOiJodHRwczovL2xvZ2luLm1pY3Jvc29mdG9ubGluZS5jb20vOTEyMjA0MGQtNmM2Ny00YzViLWIxMTItMzZhMzA0YjY2ZGFkL3YyLjAiLCJzdWIiOiJBQUFBQUFBQUFBQUFBQUFBQUFBQUFJa3pxRlZyU2FTYUZIeTc4MmJidGFRIiwiYXVkIjoiNmNiMDQwMTgtYTNmNS00NmE3LWI5OTUtOTQwYzc4ZjVhZWYzIiwiZXhwIjoxNTM2MzYxNDExLCJpYXQiOjE1MzYyNzQ3MTEsIm5iZiI6MTUzNjI3NDcxMSwibmFtZSI6IkFiZSBMaW5jb2xuIiwicHJlZmVycmVkX3VzZXJuYW1lIjoiQWJlTGlAbWljcm9zb2Z0LmNvbSIsIm9pZCI6IjAwMDAwMDAwLTAwMDAtMDAwMC02NmYzLTMzMzJlY2E3ZWE4MSIsInRpZCI6IjkxMjIwNDBkLTZjNjctNGM1Yi1iMTEyLTM2YTMwNGI2NmRhZCIsIm5vbmNlIjoiMTIzNTIzIiwiYWlvIjoiRGYyVVZYTDFpeCFsTUNXTVNPSkJjRmF0emNHZnZGR2hqS3Y4cTVnMHg3MzJkUjVNQjVCaXN2R1FPN1lXQnlqZDhpUURMcSFlR2JJRGFreXA1bW5PcmNkcUhlWVNubHRlcFFtUnA2QUlaOGpZIn0.1AFWW-Ck5nROwSlltm7GzZvDwUkqvhSQpm55TQsmVo9Y59cLhRXpvB8n-55HCr9Z6G_31_UbeUkoz612I2j_Sm9FFShSDDjoaLQr54CreGIJvjtmS3EkK9a7SJBbcpL1MpUtlfygow39tFjY7EVNW9plWUvRrTgVk7lYLprvfzw-CIqw3gHC-T7IK_m_xkr08INERBtaecwhTeN4chPC4W3jdmw_lIxzC48YoQ0dB1L9-ImX98Egypfrlbm0IBL5spFzL6JDZIRRJOu8vecJvj1mq-IUhGt0MacxX8jdxYLP-KUu2d9MbNKpCKJuZ7p8gwTL5B7NlUdh_dmSviPWrw" }, "output": { "accessToken": "aoal-YigITUDiNX1xZwOMXM5MxOWDL0E0jg9P6_C_jKQPxS_SKCP6f0kh1Up4g7TtvQqkMnD-GJiU_S1gvug6SrggAkc0:MGYCMQD3IatVjV7jAJU91kK3PkS/SfA2wtgWzOgZWDOR7sDGN9t0phCZz5It/aes/3C1Zj0CMQCKWOgRaiz6AIhza3DSXQNMLjRKXC8F8ceCsHlgYLMZ7hZidEXAMPLEACCESSTOKEN", "tokenType": "Bearer", "expiresIn": 1579729529, "refreshToken": "aorvJYubGpU6i91YnH7Mfo-AT2fIVa1zCfA_Rvq9yjVKIP3onFmmykuQ7E93y2I-9Nyj-A_sVvMufaLNL0bqnDRtgAkc0:MGUCMFrRsktMRVlWaOR70XGMFGLL0SlcCw4DiYveIiOVx1uK9BbD0gvAddsW3UTLozXKMgIxAJ3qxUvjpnlLIOaaKOoa/FuNgqJVvr9GMwDtnAtlh9iZzAkEXAMPLEREFRESHTOKEN", + "idToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhd3M6aWRlbnRpdHlfc3RvcmVfaWQiOiJkLTMzMzMzMzMzMzMiLCJzdWIiOiI3MzA0NDhmMi1lMGExLTcwYTctYzk1NC0wMDAwMDAwMDAwMDAiLCJhd3M6aW5zdGFuY2VfYWNjb3VudCI6IjExMTExMTExMTExMSIsInN0czppZGVudGl0eV9jb250ZXh0IjoiRVhBTVBMRUlERU5USVRZQ09OVEVYVCIsInN0czphdWRpdF9jb250ZXh0IjoiRVhBTVBMRUFVRElUQ09OVEVYVCIsImlzcyI6Imh0dHBzOi8vaWRlbnRpdHljZW50ZXIuYW1hem9uYXdzLmNvbS9zc29pbnMtMTExMTExMTExMTExIiwiYXdzOmlkZW50aXR5X3N0b3JlX2FybiI6ImFybjphd3M6aWRlbnRpdHlzdG9yZTo6MTExMTExMTExMTExOmlkZW50aXR5c3RvcmUvZC0zMzMzMzMzMzMzIiwiYXVkIjoiYXJuOmF3czpzc286OjEyMzQ1Njc4OTAxMjphcHBsaWNhdGlvbi9zc29pbnMtMTExMTExMTExMTExL2FwbC0yMjIyMjIyMjIyMjIiLCJhd3M6aW5zdGFuY2VfYXJuIjoiYXJuOmF3czpzc286OjppbnN0YW5jZS9zc29pbnMtMTExMTExMTExMTExIiwiYXdzOmNyZWRlbnRpYWxfaWQiOiJfWlIyTjZhVkJqMjdGUEtheWpfcEtwVjc3QVBERl80MXB4ZXRfWWpJdUpONlVJR2RBdkpFWEFNUExFQ1JFRElEIiwiYXV0aF90aW1lIjoiMjAyMC0wMS0yMlQxMjo0NToyOVoiLCJleHAiOjE1Nzk3Mjk1MjksImlhdCI6MTU3OTcyNTkyOX0.Xyah6qbk78qThzJ41iFU2yfGuRqqtKXHrJYwQ8L9Ip0", "issuedTokenType": "urn:ietf:params:oauth:token-type:refresh_token", "scope": [ "openid", @@ -1339,19 +1340,18 @@ } }, { - "title": "Call OAuth/OIDC /token endpoint for JWT Bearer grant with IAM authentication", + "title": "Call OAuth/OIDC /token endpoint for Refresh Token grant with IAM authentication", "documentation": "", "input": { "clientId": "arn:aws:sso::123456789012:application/ssoins-111111111111/apl-222222222222", - "grantType": "urn:ietf:params:oauth:grant-type:jwt-bearer", - "assertion": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6IjFMVE16YWtpaGlSbGFfOHoyQkVKVlhlV01xbyJ9.eyJ2ZXIiOiIyLjAiLCJpc3MiOiJodHRwczovL2xvZ2luLm1pY3Jvc29mdG9ubGluZS5jb20vOTEyMjA0MGQtNmM2Ny00YzViLWIxMTItMzZhMzA0YjY2ZGFkL3YyLjAiLCJzdWIiOiJBQUFBQUFBQUFBQUFBQUFBQUFBQUFJa3pxRlZyU2FTYUZIeTc4MmJidGFRIiwiYXVkIjoiNmNiMDQwMTgtYTNmNS00NmE3LWI5OTUtOTQwYzc4ZjVhZWYzIiwiZXhwIjoxNTM2MzYxNDExLCJpYXQiOjE1MzYyNzQ3MTEsIm5iZiI6MTUzNjI3NDcxMSwibmFtZSI6IkFiZSBMaW5jb2xuIiwicHJlZmVycmVkX3VzZXJuYW1lIjoiQWJlTGlAbWljcm9zb2Z0LmNvbSIsIm9pZCI6IjAwMDAwMDAwLTAwMDAtMDAwMC02NmYzLTMzMzJlY2E3ZWE4MSIsInRpZCI6IjkxMjIwNDBkLTZjNjctNGM1Yi1iMTEyLTM2YTMwNGI2NmRhZCIsIm5vbmNlIjoiMTIzNTIzIiwiYWlvIjoiRGYyVVZYTDFpeCFsTUNXTVNPSkJjRmF0emNHZnZGR2hqS3Y4cTVnMHg3MzJkUjVNQjVCaXN2R1FPN1lXQnlqZDhpUURMcSFlR2JJRGFreXA1bW5PcmNkcUhlWVNubHRlcFFtUnA2QUlaOGpZIn0.1AFWW-Ck5nROwSlltm7GzZvDwUkqvhSQpm55TQsmVo9Y59cLhRXpvB8n-55HCr9Z6G_31_UbeUkoz612I2j_Sm9FFShSDDjoaLQr54CreGIJvjtmS3EkK9a7SJBbcpL1MpUtlfygow39tFjY7EVNW9plWUvRrTgVk7lYLprvfzw-CIqw3gHC-T7IK_m_xkr08INERBtaecwhTeN4chPC4W3jdmw_lIxzC48YoQ0dB1L9-ImX98Egypfrlbm0IBL5spFzL6JDZIRRJOu8vecJvj1mq-IUhGt0MacxX8jdxYLP-KUu2d9MbNKpCKJuZ7p8gwTL5B7NlUdh_dmSviPWrw" + "grantType": "refresh_token", + "refreshToken": "aorvJYubGpU6i91YnH7Mfo-AT2fIVa1zCfA_Rvq9yjVKIP3onFmmykuQ7E93y2I-9Nyj-A_sVvMufaLNL0bqnDRtgAkc0:MGUCMFrRsktMRVlWaOR70XGMFGLL0SlcCw4DiYveIiOVx1uK9BbD0gvAddsW3UTLozXKMgIxAJ3qxUvjpnlLIOaaKOoa/FuNgqJVvr9GMwDtnAtlh9iZzAkEXAMPLEREFRESHTOKEN" }, "output": { "accessToken": "aoal-YigITUDiNX1xZwOMXM5MxOWDL0E0jg9P6_C_jKQPxS_SKCP6f0kh1Up4g7TtvQqkMnD-GJiU_S1gvug6SrggAkc0:MGYCMQD3IatVjV7jAJU91kK3PkS/SfA2wtgWzOgZWDOR7sDGN9t0phCZz5It/aes/3C1Zj0CMQCKWOgRaiz6AIhza3DSXQNMLjRKXC8F8ceCsHlgYLMZ7hZidEXAMPLEACCESSTOKEN", "tokenType": "Bearer", "expiresIn": 1579729529, "refreshToken": "aorvJYubGpU6i91YnH7Mfo-AT2fIVa1zCfA_Rvq9yjVKIP3onFmmykuQ7E93y2I-9Nyj-A_sVvMufaLNL0bqnDRtgAkc0:MGUCMFrRsktMRVlWaOR70XGMFGLL0SlcCw4DiYveIiOVx1uK9BbD0gvAddsW3UTLozXKMgIxAJ3qxUvjpnlLIOaaKOoa/FuNgqJVvr9GMwDtnAtlh9iZzAkEXAMPLEREFRESHTOKEN", - "idToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhd3M6aWRlbnRpdHlfc3RvcmVfaWQiOiJkLTMzMzMzMzMzMzMiLCJzdWIiOiI3MzA0NDhmMi1lMGExLTcwYTctYzk1NC0wMDAwMDAwMDAwMDAiLCJhd3M6aW5zdGFuY2VfYWNjb3VudCI6IjExMTExMTExMTExMSIsInN0czppZGVudGl0eV9jb250ZXh0IjoiRVhBTVBMRUlERU5USVRZQ09OVEVYVCIsInN0czphdWRpdF9jb250ZXh0IjoiRVhBTVBMRUFVRElUQ09OVEVYVCIsImlzcyI6Imh0dHBzOi8vaWRlbnRpdHljZW50ZXIuYW1hem9uYXdzLmNvbS9zc29pbnMtMTExMTExMTExMTExIiwiYXdzOmlkZW50aXR5X3N0b3JlX2FybiI6ImFybjphd3M6aWRlbnRpdHlzdG9yZTo6MTExMTExMTExMTExOmlkZW50aXR5c3RvcmUvZC0zMzMzMzMzMzMzIiwiYXVkIjoiYXJuOmF3czpzc286OjEyMzQ1Njc4OTAxMjphcHBsaWNhdGlvbi9zc29pbnMtMTExMTExMTExMTExL2FwbC0yMjIyMjIyMjIyMjIiLCJhd3M6aW5zdGFuY2VfYXJuIjoiYXJuOmF3czpzc286OjppbnN0YW5jZS9zc29pbnMtMTExMTExMTExMTExIiwiYXdzOmNyZWRlbnRpYWxfaWQiOiJfWlIyTjZhVkJqMjdGUEtheWpfcEtwVjc3QVBERl80MXB4ZXRfWWpJdUpONlVJR2RBdkpFWEFNUExFQ1JFRElEIiwiYXV0aF90aW1lIjoiMjAyMC0wMS0yMlQxMjo0NToyOVoiLCJleHAiOjE1Nzk3Mjk1MjksImlhdCI6MTU3OTcyNTkyOX0.Xyah6qbk78qThzJ41iFU2yfGuRqqtKXHrJYwQ8L9Ip0", "issuedTokenType": "urn:ietf:params:oauth:token-type:refresh_token", "scope": [ "openid", @@ -1411,37 +1411,37 @@ "code": { "target": "com.amazonaws.ssooidc#AuthCode", "traits": { - "smithy.api#documentation": "

        Used only when calling this API for the Authorization Code grant type. This short-term\n code is used to identify this authorization request. The code is obtained through a redirect\n from IAM Identity Center to a redirect URI persisted in the Authorization Code GrantOptions for the\n application.

        " + "smithy.api#documentation": "

        Used only when calling this API for the Authorization Code grant type. This short-lived\n code is used to identify this authorization request. The code is obtained through a redirect\n from IAM Identity Center to a redirect URI persisted in the Authorization Code GrantOptions for the\n application.

        " } }, "refreshToken": { "target": "com.amazonaws.ssooidc#RefreshToken", "traits": { - "smithy.api#documentation": "

        Used only when calling this API for the Refresh Token grant type. This token is used to\n refresh short-term tokens, such as the access token, that might expire.

        \n

        For more information about the features and limitations of the current IAM Identity Center OIDC\n implementation, see Considerations for Using this Guide in the IAM Identity Center\n OIDC API Reference.

        " + "smithy.api#documentation": "

        Used only when calling this API for the Refresh Token grant type. This token is used to\n refresh short-lived tokens, such as the access token, that might expire.

        \n

        For more information about the features and limitations of the current IAM Identity Center OIDC\n implementation, see Considerations for Using this Guide in the IAM Identity Center\n OIDC API Reference.

        " } }, "assertion": { "target": "com.amazonaws.ssooidc#Assertion", "traits": { - "smithy.api#documentation": "

        Used only when calling this API for the JWT Bearer grant type. This value specifies the JSON\n Web Token (JWT) issued by a trusted token issuer. To authorize a trusted token issuer,\n configure the JWT Bearer GrantOptions for the application.

        " + "smithy.api#documentation": "

        Used only when calling this API for the JWT Bearer grant type. This value specifies the\n JSON Web Token (JWT) issued by a trusted token issuer. To authorize a trusted token issuer,\n configure the JWT Bearer GrantOptions for the application.

        " } }, "scope": { "target": "com.amazonaws.ssooidc#Scopes", "traits": { - "smithy.api#documentation": "

        The list of scopes for which authorization is requested. The access token that is issued\n is limited to the scopes that are granted. If the value is not specified, IAM Identity Center authorizes all\n scopes configured for the application, including the following default scopes:\n openid, aws, sts:identity_context.

        " + "smithy.api#documentation": "

        The list of scopes for which authorization is requested. The access token that is issued\n is limited to the scopes that are granted. If the value is not specified, IAM Identity Center authorizes all\n scopes configured for the application, including the following default scopes:\n openid, aws, sts:identity_context.

        " } }, "redirectUri": { "target": "com.amazonaws.ssooidc#URI", "traits": { - "smithy.api#documentation": "

        Used only when calling this API for the Authorization Code grant type. This value specifies\n the location of the client or application that has registered to receive the authorization code.\n

        " + "smithy.api#documentation": "

        Used only when calling this API for the Authorization Code grant type. This value\n specifies the location of the client or application that has registered to receive the\n authorization code.

        " } }, "subjectToken": { "target": "com.amazonaws.ssooidc#SubjectToken", "traits": { - "smithy.api#documentation": "

        Used only when calling this API for the Token Exchange grant type. This value specifies\n the subject of the exchange. The value of the subject token must be an access token issued by\n IAM Identity Center to a different client or application. The access token must have authorized scopes\n that indicate the requested application as a target audience.

        " + "smithy.api#documentation": "

        Used only when calling this API for the Token Exchange grant type. This value specifies\n the subject of the exchange. The value of the subject token must be an access token issued by\n IAM Identity Center to a different client or application. The access token must have authorized scopes that\n indicate the requested application as a target audience.

        " } }, "subjectTokenType": { @@ -1459,7 +1459,7 @@ "codeVerifier": { "target": "com.amazonaws.ssooidc#CodeVerifier", "traits": { - "smithy.api#documentation": "

        Used only when calling this API for the Authorization Code grant type. This value is generated\n by the client and presented to validate the original code challenge value the client passed at\n authorization time.

        " + "smithy.api#documentation": "

        Used only when calling this API for the Authorization Code grant type. This value is\n generated by the client and presented to validate the original code challenge value the client\n passed at authorization time.

        " } } }, @@ -1492,25 +1492,25 @@ "refreshToken": { "target": "com.amazonaws.ssooidc#RefreshToken", "traits": { - "smithy.api#documentation": "

        A token that, if present, can be used to refresh a previously issued access token that\n might have expired.

        \n

        For more\n information about the features and limitations of the current IAM Identity Center OIDC implementation,\n see Considerations for Using this Guide in the IAM Identity Center\n OIDC API Reference.

        " + "smithy.api#documentation": "

        A token that, if present, can be used to refresh a previously issued access token that\n might have expired.

        \n

        For more information about the features and limitations of the current IAM Identity Center OIDC\n implementation, see Considerations for Using this Guide in the IAM Identity Center\n OIDC API Reference.

        " } }, "idToken": { "target": "com.amazonaws.ssooidc#IdToken", "traits": { - "smithy.api#documentation": "

        A JSON Web Token (JWT) that identifies the user associated with the issued access token.\n

        " + "smithy.api#documentation": "

        A JSON Web Token (JWT) that identifies the user associated with the issued access token.\n

        " } }, "issuedTokenType": { "target": "com.amazonaws.ssooidc#TokenTypeURI", "traits": { - "smithy.api#documentation": "

        Indicates the type of tokens that are issued by IAM Identity Center. The following values are supported:\n

        \n

        * Access Token - urn:ietf:params:oauth:token-type:access_token\n

        \n

        * Refresh Token - urn:ietf:params:oauth:token-type:refresh_token\n

        " + "smithy.api#documentation": "

        Indicates the type of tokens that are issued by IAM Identity Center. The following values are supported:

        \n

        * Access Token - urn:ietf:params:oauth:token-type:access_token\n

        \n

        * Refresh Token - urn:ietf:params:oauth:token-type:refresh_token\n

        " } }, "scope": { "target": "com.amazonaws.ssooidc#Scopes", "traits": { - "smithy.api#documentation": "

        The list of scopes for which authorization is granted. The access token that is issued\n is limited to the scopes that are granted.

        " + "smithy.api#documentation": "

        The list of scopes for which authorization is granted. The access token that is issued is\n limited to the scopes that are granted.

        " } } }, @@ -1539,13 +1539,13 @@ "error": { "target": "com.amazonaws.ssooidc#Error", "traits": { - "smithy.api#documentation": "

        Single error code.\n For this exception the value will be expired_token.

        " + "smithy.api#documentation": "

        Single error code. For this exception the value will be expired_token.

        " } }, "error_description": { "target": "com.amazonaws.ssooidc#ErrorDescription", "traits": { - "smithy.api#documentation": "

        Human-readable text providing additional information, used to assist the\n client developer in understanding the error that occurred.

        " + "smithy.api#documentation": "

        Human-readable text providing additional information, used to assist the client developer\n in understanding the error that occurred.

        " } } }, @@ -1576,13 +1576,13 @@ "error": { "target": "com.amazonaws.ssooidc#Error", "traits": { - "smithy.api#documentation": "

        Single error code.\n For this exception the value will be server_error.

        " + "smithy.api#documentation": "

        Single error code. For this exception the value will be server_error.

        " } }, "error_description": { "target": "com.amazonaws.ssooidc#ErrorDescription", "traits": { - "smithy.api#documentation": "

        Human-readable text providing additional information, used to assist the\n client developer in understanding the error that occurred.

        " + "smithy.api#documentation": "

        Human-readable text providing additional information, used to assist the client developer\n in understanding the error that occurred.

        " } } }, @@ -1604,13 +1604,13 @@ "error": { "target": "com.amazonaws.ssooidc#Error", "traits": { - "smithy.api#documentation": "

        Single error code.\n For this exception the value will be invalid_client.

        " + "smithy.api#documentation": "

        Single error code. For this exception the value will be\n invalid_client.

        " } }, "error_description": { "target": "com.amazonaws.ssooidc#ErrorDescription", "traits": { - "smithy.api#documentation": "

        Human-readable text providing additional information, used to assist the\n client developer in understanding the error that occurred.

        " + "smithy.api#documentation": "

        Human-readable text providing additional information, used to assist the client developer\n in understanding the error that occurred.

        " } } }, @@ -1626,13 +1626,13 @@ "error": { "target": "com.amazonaws.ssooidc#Error", "traits": { - "smithy.api#documentation": "

        Single error code.\n For this exception the value will be invalid_client_metadata.

        " + "smithy.api#documentation": "

        Single error code. For this exception the value will be\n invalid_client_metadata.

        " } }, "error_description": { "target": "com.amazonaws.ssooidc#ErrorDescription", "traits": { - "smithy.api#documentation": "

        Human-readable text providing additional information, used to assist the\n client developer in understanding the error that occurred.

        " + "smithy.api#documentation": "

        Human-readable text providing additional information, used to assist the client developer\n in understanding the error that occurred.

        " } } }, @@ -1648,13 +1648,13 @@ "error": { "target": "com.amazonaws.ssooidc#Error", "traits": { - "smithy.api#documentation": "

        Single error code.\n For this exception the value will be invalid_grant.

        " + "smithy.api#documentation": "

        Single error code. For this exception the value will be invalid_grant.

        " } }, "error_description": { "target": "com.amazonaws.ssooidc#ErrorDescription", "traits": { - "smithy.api#documentation": "

        Human-readable text providing additional information, used to assist the\n client developer in understanding the error that occurred.

        " + "smithy.api#documentation": "

        Human-readable text providing additional information, used to assist the client developer\n in understanding the error that occurred.

        " } } }, @@ -1670,18 +1670,18 @@ "error": { "target": "com.amazonaws.ssooidc#Error", "traits": { - "smithy.api#documentation": "

        Single error code.\n For this exception the value will be invalid_redirect_uri.

        " + "smithy.api#documentation": "

        Single error code. For this exception the value will be\n invalid_redirect_uri.

        " } }, "error_description": { "target": "com.amazonaws.ssooidc#ErrorDescription", "traits": { - "smithy.api#documentation": "

        Human-readable text providing additional information, used to assist the\n client developer in understanding the error that occurred.

        " + "smithy.api#documentation": "

        Human-readable text providing additional information, used to assist the client developer\n in understanding the error that occurred.

        " } } }, "traits": { - "smithy.api#documentation": "

        Indicates that one or more redirect URI in the request is not supported for this operation.

        ", + "smithy.api#documentation": "

        Indicates that one or more redirect URI in the request is not supported for this\n operation.

        ", "smithy.api#error": "client", "smithy.api#httpError": 400 } @@ -1692,13 +1692,13 @@ "error": { "target": "com.amazonaws.ssooidc#Error", "traits": { - "smithy.api#documentation": "

        Single error code.\n For this exception the value will be invalid_request.

        " + "smithy.api#documentation": "

        Single error code. For this exception the value will be\n invalid_request.

        " } }, "error_description": { "target": "com.amazonaws.ssooidc#ErrorDescription", "traits": { - "smithy.api#documentation": "

        Human-readable text providing additional information, used to assist the\n client developer in understanding the error that occurred.

        " + "smithy.api#documentation": "

        Human-readable text providing additional information, used to assist the client developer\n in understanding the error that occurred.

        " } } }, @@ -1714,13 +1714,13 @@ "error": { "target": "com.amazonaws.ssooidc#Error", "traits": { - "smithy.api#documentation": "

        Single error code.\n For this exception the value will be invalid_request.

        " + "smithy.api#documentation": "

        Single error code. For this exception the value will be\n invalid_request.

        " } }, "error_description": { "target": "com.amazonaws.ssooidc#ErrorDescription", "traits": { - "smithy.api#documentation": "

        Human-readable text providing additional information, used to assist the\n client developer in understanding the error that occurred.

        " + "smithy.api#documentation": "

        Human-readable text providing additional information, used to assist the client developer\n in understanding the error that occurred.

        " } }, "endpoint": { @@ -1748,13 +1748,13 @@ "error": { "target": "com.amazonaws.ssooidc#Error", "traits": { - "smithy.api#documentation": "

        Single error code.\n For this exception the value will be invalid_scope.

        " + "smithy.api#documentation": "

        Single error code. For this exception the value will be invalid_scope.

        " } }, "error_description": { "target": "com.amazonaws.ssooidc#ErrorDescription", "traits": { - "smithy.api#documentation": "

        Human-readable text providing additional information, used to assist the\n client developer in understanding the error that occurred.

        " + "smithy.api#documentation": "

        Human-readable text providing additional information, used to assist the client developer\n in understanding the error that occurred.

        " } } }, @@ -1818,7 +1818,7 @@ ], "traits": { "smithy.api#auth": [], - "smithy.api#documentation": "

        Registers a client with IAM Identity Center. This allows clients to initiate device authorization.\n The output should be persisted for reuse through many authentication requests.

        ", + "smithy.api#documentation": "

        Registers a public client with IAM Identity Center. This allows clients to perform authorization using\n the authorization code grant with Proof Key for Code Exchange (PKCE) or the device\n code grant.

        ", "smithy.api#examples": [ { "title": "Call OAuth/OIDC /register-client endpoint", @@ -1888,19 +1888,19 @@ "grantTypes": { "target": "com.amazonaws.ssooidc#GrantTypes", "traits": { - "smithy.api#documentation": "

        The list of OAuth 2.0 grant types that are defined by the client. This list is used to\n restrict the token granting flows available to the client.

        " + "smithy.api#documentation": "

        The list of OAuth 2.0 grant types that are defined by the client. This list is used to\n restrict the token granting flows available to the client. Supports the following OAuth 2.0\n grant types: Authorization Code, Device Code, and Refresh Token.

        \n

        * Authorization Code - authorization_code\n

        \n

        * Device Code - urn:ietf:params:oauth:grant-type:device_code\n

        \n

        * Refresh Token - refresh_token\n

        " } }, "issuerUrl": { "target": "com.amazonaws.ssooidc#URI", "traits": { - "smithy.api#documentation": "

        The IAM Identity Center Issuer URL associated with an instance of IAM Identity Center. This value is needed for user access to resources through the client.

        " + "smithy.api#documentation": "

        The IAM Identity Center Issuer URL associated with an instance of IAM Identity Center. This value is needed for user\n access to resources through the client.

        " } }, "entitledApplicationArn": { "target": "com.amazonaws.ssooidc#ArnType", "traits": { - "smithy.api#documentation": "

        This IAM Identity Center application ARN is used to define administrator-managed configuration for public client access to resources. At\n authorization, the scopes, grants, and redirect URI available to this client will be restricted by this application resource.

        " + "smithy.api#documentation": "

        This IAM Identity Center application ARN is used to define administrator-managed configuration for\n public client access to resources. At authorization, the scopes, grants, and redirect URI\n available to this client will be restricted by this application resource.

        " } } }, @@ -1969,13 +1969,13 @@ "error": { "target": "com.amazonaws.ssooidc#Error", "traits": { - "smithy.api#documentation": "

        Single error code.\n For this exception the value will be slow_down.

        " + "smithy.api#documentation": "

        Single error code. For this exception the value will be slow_down.

        " } }, "error_description": { "target": "com.amazonaws.ssooidc#ErrorDescription", "traits": { - "smithy.api#documentation": "

        Human-readable text providing additional information, used to assist the\n client developer in understanding the error that occurred.

        " + "smithy.api#documentation": "

        Human-readable text providing additional information, used to assist the client developer\n in understanding the error that occurred.

        " } } }, @@ -2060,7 +2060,7 @@ "startUrl": { "target": "com.amazonaws.ssooidc#URI", "traits": { - "smithy.api#documentation": "

        The URL for the Amazon Web Services access portal. For more information, see Using\n the Amazon Web Services access portal in the IAM Identity Center User Guide.

        ", + "smithy.api#documentation": "

        The URL for the Amazon Web Services access portal. For more information, see Using\n the Amazon Web Services access portal in the IAM Identity Center User Guide.

        ", "smithy.api#required": {} } } @@ -2136,13 +2136,13 @@ "error": { "target": "com.amazonaws.ssooidc#Error", "traits": { - "smithy.api#documentation": "

        Single error code.\n For this exception the value will be unauthorized_client.

        " + "smithy.api#documentation": "

        Single error code. For this exception the value will be\n unauthorized_client.

        " } }, "error_description": { "target": "com.amazonaws.ssooidc#ErrorDescription", "traits": { - "smithy.api#documentation": "

        Human-readable text providing additional information, used to assist the\n client developer in understanding the error that occurred.

        " + "smithy.api#documentation": "

        Human-readable text providing additional information, used to assist the client developer\n in understanding the error that occurred.

        " } } }, @@ -2158,13 +2158,13 @@ "error": { "target": "com.amazonaws.ssooidc#Error", "traits": { - "smithy.api#documentation": "

        Single error code.\n For this exception the value will be unsupported_grant_type.

        " + "smithy.api#documentation": "

        Single error code. For this exception the value will be\n unsupported_grant_type.

        " } }, "error_description": { "target": "com.amazonaws.ssooidc#ErrorDescription", "traits": { - "smithy.api#documentation": "

        Human-readable text providing additional information, used to assist the\n client developer in understanding the error that occurred.

        " + "smithy.api#documentation": "

        Human-readable text providing additional information, used to assist the client developer\n in understanding the error that occurred.

        " } } }, diff --git a/tools/code-generation/smithy/api-descriptions/timestream-influxdb.json b/tools/code-generation/smithy/api-descriptions/timestream-influxdb.json index 5c6f1684eb2..545d0ff7a86 100644 --- a/tools/code-generation/smithy/api-descriptions/timestream-influxdb.json +++ b/tools/code-generation/smithy/api-descriptions/timestream-influxdb.json @@ -3106,6 +3106,18 @@ "traits": { "smithy.api#documentation": "

        Specifies whether the DB instance will be deployed as a standalone instance or with a Multi-AZ standby for high availability.

        " } + }, + "dbStorageType": { + "target": "com.amazonaws.timestreaminfluxdb#DbStorageType", + "traits": { + "smithy.api#documentation": "

        The Timestream for InfluxDB DB storage type that InfluxDB stores data on.

        " + } + }, + "allocatedStorage": { + "target": "com.amazonaws.timestreaminfluxdb#AllocatedStorage", + "traits": { + "smithy.api#documentation": "

        The amount of storage to allocate for your DB storage type (in gibibytes).

        " + } } }, "traits": { diff --git a/tools/code-generation/smithy/api-descriptions/transcribe-streaming.json b/tools/code-generation/smithy/api-descriptions/transcribe-streaming.json index aba0f389cca..e4956d3259d 100644 --- a/tools/code-generation/smithy/api-descriptions/transcribe-streaming.json +++ b/tools/code-generation/smithy/api-descriptions/transcribe-streaming.json @@ -70,7 +70,7 @@ "AudioChunk": { "target": "com.amazonaws.transcribestreaming#AudioChunk", "traits": { - "smithy.api#documentation": "

        An audio blob that contains the next part of the audio that you want to transcribe. The\n maximum audio chunk size is 32 KB.

        ", + "smithy.api#documentation": "

        \n An audio blob containing the next segment of audio from your application,\n with a maximum duration of 1 second. \n The maximum size in bytes varies based on audio properties.\n

        \n

        Find recommended size in Transcribing streaming best practices.\n

        \n

        \n Size calculation: Duration (s) * Sample Rate (Hz) * Number of Channels * 2 (Bytes per Sample)\n

        \n

        \n For example, a 1-second chunk of 16 kHz, 2-channel, 16-bit audio would be \n 1 * 16000 * 2 * 2 = 64000 bytes.\n

        \n

        \n For 8 kHz, 1-channel, 16-bit audio, a 1-second chunk would be \n 1 * 8000 * 1 * 2 = 16000 bytes.\n

        ", "smithy.api#eventPayload": {} } } @@ -108,7 +108,7 @@ } }, "traits": { - "smithy.api#documentation": "

        One or more arguments to the StartStreamTranscription, \n StartMedicalStreamTranscription, or StartCallAnalyticsStreamTranscription \n operation was not valid. For example, MediaEncoding or LanguageCode \n used not valid values. Check the specified parameters and try your request again.

        ", + "smithy.api#documentation": "

        One or more arguments to the StartStreamTranscription, \n StartMedicalStreamTranscription, or StartCallAnalyticsStreamTranscription \n operation was not valid. For example, MediaEncoding or LanguageCode \n used unsupported values. Check the specified parameters and try your request again.

        ", "smithy.api#error": "client", "smithy.api#httpError": 400 } @@ -119,6 +119,16 @@ "smithy.api#default": false } }, + "com.amazonaws.transcribestreaming#BucketName": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 64 + }, + "smithy.api#pattern": "^[a-z0-9][\\.\\-a-z0-9]{1,61}[a-z0-9]$" + } + }, "com.amazonaws.transcribestreaming#CallAnalyticsEntity": { "type": "structure", "members": { @@ -317,7 +327,7 @@ } }, "traits": { - "smithy.api#documentation": "

        Contains detailed information about your Call Analytics streaming session. These details are \n provided in the UtteranceEvent and CategoryEvent objects.

        ", + "smithy.api#documentation": "

        Contains detailed information about your real-time Call Analytics session. These details are \n provided in the UtteranceEvent and CategoryEvent objects.

        ", "smithy.api#streaming": {} } }, @@ -406,6 +416,76 @@ "smithy.api#documentation": "

        Provides the location, using character count, in your transcript where a match is identified. For example, \n the location of an issue or a category match within a segment.

        " } }, + "com.amazonaws.transcribestreaming#ClinicalNoteGenerationResult": { + "type": "structure", + "members": { + "ClinicalNoteOutputLocation": { + "target": "com.amazonaws.transcribestreaming#Uri", + "traits": { + "smithy.api#documentation": "

        Holds the Amazon S3 URI for the output Clinical Note.

        " + } + }, + "TranscriptOutputLocation": { + "target": "com.amazonaws.transcribestreaming#Uri", + "traits": { + "smithy.api#documentation": "

        Holds the Amazon S3 URI for the output Transcript.

        " + } + }, + "Status": { + "target": "com.amazonaws.transcribestreaming#ClinicalNoteGenerationStatus", + "traits": { + "smithy.api#documentation": "

        The status of the clinical note generation.

        \n

        Possible Values:

        \n
          \n
        • \n

          \n IN_PROGRESS\n

          \n
        • \n
        • \n

          \n FAILED\n

          \n
        • \n
        • \n

          \n COMPLETED\n

          \n
        • \n
        \n

        \n After audio streaming finishes, and you send a MedicalScribeSessionControlEvent event (with END_OF_SESSION as the Type),\n the status is set to IN_PROGRESS.\n If the status is COMPLETED, the analytics completed successfully, and you can find the\n results at the locations specified in ClinicalNoteOutputLocation and TranscriptOutputLocation.\n If the status is FAILED, FailureReason provides details about the failure.\n

        " + } + }, + "FailureReason": { + "target": "com.amazonaws.transcribestreaming#String", + "traits": { + "smithy.api#documentation": "

        If ClinicalNoteGenerationResult is FAILED, information about why it failed.

        " + } + } + }, + "traits": { + "smithy.api#documentation": "

        The details for clinical note generation,\n including status, and output locations for clinical note and aggregated transcript if the analytics completed,\n or failure reason if the analytics failed.\n

        " + } + }, + "com.amazonaws.transcribestreaming#ClinicalNoteGenerationSettings": { + "type": "structure", + "members": { + "OutputBucketName": { + "target": "com.amazonaws.transcribestreaming#BucketName", + "traits": { + "smithy.api#documentation": "

        The name of the Amazon S3 bucket where you want the output of Amazon Web Services HealthScribe post-stream analytics stored. Don't include the S3:// prefix of the specified bucket.

        \n

        HealthScribe outputs transcript and clinical note files under the prefix:\n S3://$output-bucket-name/healthscribe-streaming/session-id/post-stream-analytics/clinical-notes\n

        \n

        The role ResourceAccessRoleArn specified in the MedicalScribeConfigurationEvent must have\n permission to use the specified location. You can change Amazon S3 permissions using the \n Amazon Web Services Management Console\n . See also Permissions Required for IAM User Roles .

        ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

        The output configuration for aggregated transcript and clinical note generation.

        " + } + }, + "com.amazonaws.transcribestreaming#ClinicalNoteGenerationStatus": { + "type": "enum", + "members": { + "IN_PROGRESS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "IN_PROGRESS" + } + }, + "FAILED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "FAILED" + } + }, + "COMPLETED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "COMPLETED" + } + } + } + }, "com.amazonaws.transcribestreaming#Confidence": { "type": "double" }, @@ -421,7 +501,7 @@ "PostCallAnalyticsSettings": { "target": "com.amazonaws.transcribestreaming#PostCallAnalyticsSettings", "traits": { - "smithy.api#documentation": "

        Provides additional optional settings for your Call Analytics post-call request, including \n encryption and output locations for your redacted and unredacted transcript.

        " + "smithy.api#documentation": "

        Provides additional optional settings for your Call Analytics post-call request, including \n encryption and output locations for your redacted transcript.

        \n

        \n PostCallAnalyticsSettings provides you with the same insights as a \n Call Analytics post-call transcription. Refer to Post-call analytics for more information \n on this feature.

        " } } }, @@ -481,6 +561,9 @@ } } }, + "com.amazonaws.transcribestreaming#DateTime": { + "type": "timestamp" + }, "com.amazonaws.transcribestreaming#Double": { "type": "double", "traits": { @@ -539,6 +622,77 @@ "target": "com.amazonaws.transcribestreaming#Entity" } }, + "com.amazonaws.transcribestreaming#GetMedicalScribeStream": { + "type": "operation", + "input": { + "target": "com.amazonaws.transcribestreaming#GetMedicalScribeStreamRequest" + }, + "output": { + "target": "com.amazonaws.transcribestreaming#GetMedicalScribeStreamResponse" + }, + "errors": [ + { + "target": "com.amazonaws.transcribestreaming#BadRequestException" + }, + { + "target": "com.amazonaws.transcribestreaming#InternalFailureException" + }, + { + "target": "com.amazonaws.transcribestreaming#LimitExceededException" + }, + { + "target": "com.amazonaws.transcribestreaming#ResourceNotFoundException" + } + ], + "traits": { + "smithy.api#documentation": "

        Provides details about the specified Amazon Web Services HealthScribe streaming session.\n To view the status of the streaming session, check the StreamStatus field in the response. To get the\n details of post-stream analytics, including its status, check the PostStreamAnalyticsResult field in the response.\n

        ", + "smithy.api#http": { + "method": "GET", + "uri": "/medical-scribe-stream/{SessionId}", + "code": 200 + } + } + }, + "com.amazonaws.transcribestreaming#GetMedicalScribeStreamRequest": { + "type": "structure", + "members": { + "SessionId": { + "target": "com.amazonaws.transcribestreaming#SessionId", + "traits": { + "smithy.api#documentation": "

        The identifier of the HealthScribe streaming session you want information about.

        ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.transcribestreaming#GetMedicalScribeStreamResponse": { + "type": "structure", + "members": { + "MedicalScribeStreamDetails": { + "target": "com.amazonaws.transcribestreaming#MedicalScribeStreamDetails", + "traits": { + "smithy.api#documentation": "

        Provides details about a HealthScribe streaming session.

        " + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.transcribestreaming#IamRoleArn": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 20, + "max": 2048 + }, + "smithy.api#pattern": "^arn:(aws|aws-cn|aws-us-gov|aws-iso-{0,1}[a-z]{0,1}):iam::[0-9]{0,63}:role/[A-Za-z0-9:_/+=,@.-]{0,1024}$" + } + }, "com.amazonaws.transcribestreaming#Integer": { "type": "integer" }, @@ -657,6 +811,31 @@ } } }, + "com.amazonaws.transcribestreaming#KMSEncryptionContextMap": { + "type": "map", + "key": { + "target": "com.amazonaws.transcribestreaming#NonEmptyString" + }, + "value": { + "target": "com.amazonaws.transcribestreaming#NonEmptyString" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 10 + } + } + }, + "com.amazonaws.transcribestreaming#KMSKeyId": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 2048 + }, + "smithy.api#pattern": "^[A-Za-z0-9][A-Za-z0-9:_/+=,@.-]{0,2048}$" + } + }, "com.amazonaws.transcribestreaming#LanguageCode": { "type": "enum", "members": { @@ -732,214 +911,1003 @@ "smithy.api#enumValue": "zh-CN" } }, - "HI_IN": { + "TH_TH": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "hi-IN" + "smithy.api#enumValue": "th-TH" } }, - "TH_TH": { + "ES_ES": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "th-TH" + "smithy.api#enumValue": "es-ES" } - } - } - }, - "com.amazonaws.transcribestreaming#LanguageIdentification": { - "type": "list", - "member": { - "target": "com.amazonaws.transcribestreaming#LanguageWithScore" - } - }, - "com.amazonaws.transcribestreaming#LanguageOptions": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 1, - "max": 200 }, - "smithy.api#pattern": "^[a-zA-Z-,]+$" - } - }, - "com.amazonaws.transcribestreaming#LanguageWithScore": { - "type": "structure", - "members": { - "LanguageCode": { - "target": "com.amazonaws.transcribestreaming#LanguageCode", + "AR_SA": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

        The language code of the identified language.

        " + "smithy.api#enumValue": "ar-SA" } }, - "Score": { - "target": "com.amazonaws.transcribestreaming#Double", + "PT_PT": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#default": 0, - "smithy.api#documentation": "

        The confidence score associated with the identified language code. Confidence scores are values\n between zero and one; larger values indicate a higher confidence in the identified language.

        " + "smithy.api#enumValue": "pt-PT" } - } - }, - "traits": { - "smithy.api#documentation": "

        The language code that represents the language identified in your audio, including the associated\n confidence score. If you enabled channel identification in your request and each channel contained a \n different language, you will have more than one LanguageWithScore result.

        " - } - }, - "com.amazonaws.transcribestreaming#LimitExceededException": { - "type": "structure", - "members": { - "Message": { - "target": "com.amazonaws.transcribestreaming#String" - } - }, - "traits": { - "smithy.api#documentation": "

        Your client has exceeded one of the Amazon Transcribe limits. This is typically the audio length\n limit. Break your audio stream into smaller chunks and try your request again.

        ", - "smithy.api#error": "client", - "smithy.api#httpError": 429 - } - }, - "com.amazonaws.transcribestreaming#Long": { - "type": "long" - }, - "com.amazonaws.transcribestreaming#MatchedCategoryDetails": { - "type": "map", - "key": { - "target": "com.amazonaws.transcribestreaming#String" - }, - "value": { - "target": "com.amazonaws.transcribestreaming#PointsOfInterest" - } - }, - "com.amazonaws.transcribestreaming#MediaEncoding": { - "type": "enum", - "members": { - "PCM": { + }, + "CA_ES": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "pcm" + "smithy.api#enumValue": "ca-ES" } }, - "OGG_OPUS": { + "AR_AE": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "ogg-opus" + "smithy.api#enumValue": "ar-AE" } }, - "FLAC": { + "HI_IN": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "flac" + "smithy.api#enumValue": "hi-IN" } - } - } - }, - "com.amazonaws.transcribestreaming#MediaSampleRateHertz": { - "type": "integer", - "traits": { - "smithy.api#range": { - "min": 8000, - "max": 48000 - } - } - }, - "com.amazonaws.transcribestreaming#MedicalAlternative": { - "type": "structure", - "members": { - "Transcript": { - "target": "com.amazonaws.transcribestreaming#String", + }, + "ZH_HK": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

        Contains transcribed text.

        " + "smithy.api#enumValue": "zh-HK" } }, - "Items": { - "target": "com.amazonaws.transcribestreaming#MedicalItemList", + "NL_NL": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

        Contains words, phrases, or punctuation marks in your transcription output.

        " + "smithy.api#enumValue": "nl-NL" } }, - "Entities": { - "target": "com.amazonaws.transcribestreaming#MedicalEntityList", + "NO_NO": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

        Contains entities identified as personal health information (PHI) in your transcription \n output.

        " + "smithy.api#enumValue": "no-NO" } - } - }, - "traits": { - "smithy.api#documentation": "

        A list of possible alternative transcriptions for the input audio. Each alternative may\n contain one or more of Items, Entities, or\n Transcript.

        " - } - }, - "com.amazonaws.transcribestreaming#MedicalAlternativeList": { - "type": "list", - "member": { - "target": "com.amazonaws.transcribestreaming#MedicalAlternative" - } - }, - "com.amazonaws.transcribestreaming#MedicalContentIdentificationType": { - "type": "enum", - "members": { - "PHI": { + }, + "SV_SE": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "PHI" + "smithy.api#enumValue": "sv-SE" } - } - } - }, - "com.amazonaws.transcribestreaming#MedicalEntity": { - "type": "structure", + }, + "PL_PL": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "pl-PL" + } + }, + "FI_FI": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "fi-FI" + } + }, + "ZH_TW": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "zh-TW" + } + }, + "EN_IN": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "en-IN" + } + }, + "EN_IE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "en-IE" + } + }, + "EN_NZ": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "en-NZ" + } + }, + "EN_AB": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "en-AB" + } + }, + "EN_ZA": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "en-ZA" + } + }, + "EN_WL": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "en-WL" + } + }, + "DE_CH": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "de-CH" + } + }, + "AF_ZA": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "af-ZA" + } + }, + "EU_ES": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "eu-ES" + } + }, + "HR_HR": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "hr-HR" + } + }, + "CS_CZ": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "cs-CZ" + } + }, + "DA_DK": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "da-DK" + } + }, + "FA_IR": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "fa-IR" + } + }, + "GL_ES": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "gl-ES" + } + }, + "EL_GR": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "el-GR" + } + }, + "HE_IL": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "he-IL" + } + }, + "ID_ID": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "id-ID" + } + }, + "LV_LV": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "lv-LV" + } + }, + "MS_MY": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ms-MY" + } + }, + "RO_RO": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ro-RO" + } + }, + "RU_RU": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ru-RU" + } + }, + "SR_RS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "sr-RS" + } + }, + "SK_SK": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "sk-SK" + } + }, + "SO_SO": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "so-SO" + } + }, + "TL_PH": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "tl-PH" + } + }, + "UK_UA": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "uk-UA" + } + }, + "VI_VN": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "vi-VN" + } + }, + "ZU_ZA": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "zu-ZA" + } + } + } + }, + "com.amazonaws.transcribestreaming#LanguageIdentification": { + "type": "list", + "member": { + "target": "com.amazonaws.transcribestreaming#LanguageWithScore" + } + }, + "com.amazonaws.transcribestreaming#LanguageOptions": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 200 + }, + "smithy.api#pattern": "^[a-zA-Z-,]+$" + } + }, + "com.amazonaws.transcribestreaming#LanguageWithScore": { + "type": "structure", + "members": { + "LanguageCode": { + "target": "com.amazonaws.transcribestreaming#LanguageCode", + "traits": { + "smithy.api#documentation": "

        The language code of the identified language.

        " + } + }, + "Score": { + "target": "com.amazonaws.transcribestreaming#Double", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "

        The confidence score associated with the identified language code. Confidence scores are values\n between zero and one; larger values indicate a higher confidence in the identified language.

        " + } + } + }, + "traits": { + "smithy.api#documentation": "

        The language code that represents the language identified in your audio, including the associated\n confidence score. If you enabled channel identification in your request and each channel contained a \n different language, you will have more than one LanguageWithScore result.

        " + } + }, + "com.amazonaws.transcribestreaming#LimitExceededException": { + "type": "structure", + "members": { + "Message": { + "target": "com.amazonaws.transcribestreaming#String" + } + }, + "traits": { + "smithy.api#documentation": "

        Your client has exceeded one of the Amazon Transcribe limits. This is typically the audio length\n limit. Break your audio stream into smaller chunks and try your request again.

        ", + "smithy.api#error": "client", + "smithy.api#httpError": 429 + } + }, + "com.amazonaws.transcribestreaming#Long": { + "type": "long" + }, + "com.amazonaws.transcribestreaming#MatchedCategoryDetails": { + "type": "map", + "key": { + "target": "com.amazonaws.transcribestreaming#String" + }, + "value": { + "target": "com.amazonaws.transcribestreaming#PointsOfInterest" + } + }, + "com.amazonaws.transcribestreaming#MediaEncoding": { + "type": "enum", + "members": { + "PCM": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "pcm" + } + }, + "OGG_OPUS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ogg-opus" + } + }, + "FLAC": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "flac" + } + } + } + }, + "com.amazonaws.transcribestreaming#MediaSampleRateHertz": { + "type": "integer", + "traits": { + "smithy.api#range": { + "min": 8000, + "max": 48000 + } + } + }, + "com.amazonaws.transcribestreaming#MedicalAlternative": { + "type": "structure", + "members": { + "Transcript": { + "target": "com.amazonaws.transcribestreaming#String", + "traits": { + "smithy.api#documentation": "

        Contains transcribed text.

        " + } + }, + "Items": { + "target": "com.amazonaws.transcribestreaming#MedicalItemList", + "traits": { + "smithy.api#documentation": "

        Contains words, phrases, or punctuation marks in your transcription output.

        " + } + }, + "Entities": { + "target": "com.amazonaws.transcribestreaming#MedicalEntityList", + "traits": { + "smithy.api#documentation": "

        Contains entities identified as personal health information (PHI) in your transcription \n output.

        " + } + } + }, + "traits": { + "smithy.api#documentation": "

        A list of possible alternative transcriptions for the input audio. Each alternative may\n contain one or more of Items, Entities, or\n Transcript.

        " + } + }, + "com.amazonaws.transcribestreaming#MedicalAlternativeList": { + "type": "list", + "member": { + "target": "com.amazonaws.transcribestreaming#MedicalAlternative" + } + }, + "com.amazonaws.transcribestreaming#MedicalContentIdentificationType": { + "type": "enum", + "members": { + "PHI": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "PHI" + } + } + } + }, + "com.amazonaws.transcribestreaming#MedicalEntity": { + "type": "structure", + "members": { + "StartTime": { + "target": "com.amazonaws.transcribestreaming#Double", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "

        The start time, in milliseconds, of the utterance that was identified as PHI.

        " + } + }, + "EndTime": { + "target": "com.amazonaws.transcribestreaming#Double", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "

        The end time, in milliseconds, of the utterance that was identified as PHI.

        " + } + }, + "Category": { + "target": "com.amazonaws.transcribestreaming#String", + "traits": { + "smithy.api#documentation": "

        The category of information identified. The only category is PHI.

        " + } + }, + "Content": { + "target": "com.amazonaws.transcribestreaming#String", + "traits": { + "smithy.api#documentation": "

        The word or words identified as PHI.

        " + } + }, + "Confidence": { + "target": "com.amazonaws.transcribestreaming#Confidence", + "traits": { + "smithy.api#documentation": "

        The confidence score associated with the identified PHI entity in your audio.

        \n

        Confidence scores are values between 0 and 1. A larger value indicates a higher\n probability that the identified entity correctly matches the entity spoken in your\n media.

        " + } + } + }, + "traits": { + "smithy.api#documentation": "

        Contains entities identified as personal health information (PHI) in your\n transcription output, along with various associated attributes. Examples include\n category, confidence score, type, stability score, and start and end times.

        " + } + }, + "com.amazonaws.transcribestreaming#MedicalEntityList": { + "type": "list", + "member": { + "target": "com.amazonaws.transcribestreaming#MedicalEntity" + } + }, + "com.amazonaws.transcribestreaming#MedicalItem": { + "type": "structure", + "members": { + "StartTime": { + "target": "com.amazonaws.transcribestreaming#Double", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "

        The start time, in milliseconds, of the transcribed item.

        " + } + }, + "EndTime": { + "target": "com.amazonaws.transcribestreaming#Double", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "

        The end time, in milliseconds, of the transcribed item.

        " + } + }, + "Type": { + "target": "com.amazonaws.transcribestreaming#ItemType", + "traits": { + "smithy.api#documentation": "

        The type of item identified. Options are: PRONUNCIATION (spoken \n words) and PUNCTUATION.

        " + } + }, + "Content": { + "target": "com.amazonaws.transcribestreaming#String", + "traits": { + "smithy.api#documentation": "

        The word or punctuation that was transcribed.

        " + } + }, + "Confidence": { + "target": "com.amazonaws.transcribestreaming#Confidence", + "traits": { + "smithy.api#documentation": "

        The confidence score associated with a word or phrase in your transcript.

        \n

        Confidence scores are values between 0 and 1. A larger value indicates a higher\n probability that the identified item correctly matches the item spoken in your\n media.

        " + } + }, + "Speaker": { + "target": "com.amazonaws.transcribestreaming#String", + "traits": { + "smithy.api#documentation": "

        If speaker partitioning is enabled, Speaker labels the speaker of the\n specified item.

        " + } + } + }, + "traits": { + "smithy.api#documentation": "

        A word, phrase, or punctuation mark in your transcription output, along with various \n associated attributes, such as confidence score, type, and start and end times.

        " + } + }, + "com.amazonaws.transcribestreaming#MedicalItemList": { + "type": "list", + "member": { + "target": "com.amazonaws.transcribestreaming#MedicalItem" + } + }, + "com.amazonaws.transcribestreaming#MedicalResult": { + "type": "structure", + "members": { + "ResultId": { + "target": "com.amazonaws.transcribestreaming#String", + "traits": { + "smithy.api#documentation": "

        Provides a unique identifier for the Result.

        " + } + }, + "StartTime": { + "target": "com.amazonaws.transcribestreaming#Double", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "

        The start time, in milliseconds, of the Result.

        " + } + }, + "EndTime": { + "target": "com.amazonaws.transcribestreaming#Double", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "

        The end time, in milliseconds, of the Result.

        " + } + }, + "IsPartial": { + "target": "com.amazonaws.transcribestreaming#Boolean", + "traits": { + "smithy.api#default": false, + "smithy.api#documentation": "

        Indicates if the segment is complete.

        \n

        If IsPartial is true, the segment is not complete. If\n IsPartial is false, the segment is complete.

        " + } + }, + "Alternatives": { + "target": "com.amazonaws.transcribestreaming#MedicalAlternativeList", + "traits": { + "smithy.api#documentation": "

        A list of possible alternative transcriptions for the input audio. Each alternative may \n contain one or more of Items, Entities, or\n Transcript.

        " + } + }, + "ChannelId": { + "target": "com.amazonaws.transcribestreaming#String", + "traits": { + "smithy.api#documentation": "

        Indicates the channel identified for the Result.

        " + } + } + }, + "traits": { + "smithy.api#documentation": "

        The Result associated with a \n .

        \n

        Contains a set of transcription results from one or more audio segments, along with\n additional information per your request parameters. This can include information relating to\n alternative transcriptions, channel identification, partial result stabilization, language \n identification, and other transcription-related data.

        " + } + }, + "com.amazonaws.transcribestreaming#MedicalResultList": { + "type": "list", + "member": { + "target": "com.amazonaws.transcribestreaming#MedicalResult" + } + }, + "com.amazonaws.transcribestreaming#MedicalScribeAudioEvent": { + "type": "structure", + "members": { + "AudioChunk": { + "target": "com.amazonaws.transcribestreaming#AudioChunk", + "traits": { + "smithy.api#documentation": "

        \n An audio blob containing the next segment of audio from your application,\n with a maximum duration of 1 second. \n The maximum size in bytes varies based on audio properties.\n

        \n

        Find recommended size in Transcribing streaming best practices.\n

        \n

        \n Size calculation: Duration (s) * Sample Rate (Hz) * Number of Channels * 2 (Bytes per Sample)\n

        \n

        \n For example, a 1-second chunk of 16 kHz, 2-channel, 16-bit audio would be \n 1 * 16000 * 2 * 2 = 64000 bytes.\n

        \n

        \n For 8 kHz, 1-channel, 16-bit audio, a 1-second chunk would be \n 1 * 8000 * 1 * 2 = 16000 bytes.\n

        ", + "smithy.api#eventPayload": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

        A wrapper for your audio chunks

        \n

        For more information, see Event stream encoding.\n

        " + } + }, + "com.amazonaws.transcribestreaming#MedicalScribeChannelDefinition": { + "type": "structure", + "members": { + "ChannelId": { + "target": "com.amazonaws.transcribestreaming#MedicalScribeChannelId", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "

        Specify the audio channel you want to define.

        ", + "smithy.api#required": {} + } + }, + "ParticipantRole": { + "target": "com.amazonaws.transcribestreaming#MedicalScribeParticipantRole", + "traits": { + "smithy.api#documentation": "

        Specify the participant that you want to flag.\n The allowed options are CLINICIAN and\n PATIENT.\n

        ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

        Makes it possible to specify which speaker is on which channel.\n For example, if the clinician is the first participant to speak, you would set the ChannelId of the first\n ChannelDefinition\n in the list to 0 (to indicate the first channel) and ParticipantRole to\n CLINICIAN\n (to indicate that it's the clinician speaking).\n Then you would set the ChannelId of the second ChannelDefinition in the list to\n 1\n (to indicate the second channel) and ParticipantRole to PATIENT (to indicate that it's the patient speaking).\n

        \n

        If you don't specify a channel definition, HealthScribe will diarize the transcription and identify speaker roles for each speaker.

        " + } + }, + "com.amazonaws.transcribestreaming#MedicalScribeChannelDefinitions": { + "type": "list", + "member": { + "target": "com.amazonaws.transcribestreaming#MedicalScribeChannelDefinition" + }, + "traits": { + "smithy.api#length": { + "min": 2, + "max": 2 + } + } + }, + "com.amazonaws.transcribestreaming#MedicalScribeChannelId": { + "type": "integer", + "traits": { + "smithy.api#default": 0, + "smithy.api#range": { + "min": 0, + "max": 1 + } + } + }, + "com.amazonaws.transcribestreaming#MedicalScribeConfigurationEvent": { + "type": "structure", + "members": { + "VocabularyName": { + "target": "com.amazonaws.transcribestreaming#VocabularyName", + "traits": { + "smithy.api#documentation": "

        Specify the name of the custom vocabulary you want to use for your streaming session.\n Custom vocabulary names are case-sensitive.\n

        " + } + }, + "VocabularyFilterName": { + "target": "com.amazonaws.transcribestreaming#VocabularyFilterName", + "traits": { + "smithy.api#documentation": "

        Specify the name of the custom vocabulary filter you want to include in your streaming session.\n Custom vocabulary filter names are case-sensitive.\n

        \n

        If you include VocabularyFilterName in the MedicalScribeConfigurationEvent,\n you must also include VocabularyFilterMethod.\n

        " + } + }, + "VocabularyFilterMethod": { + "target": "com.amazonaws.transcribestreaming#MedicalScribeVocabularyFilterMethod", + "traits": { + "smithy.api#documentation": "

        Specify how you want your custom vocabulary filter applied to the streaming session.

        \n

        To replace words with ***, specify mask.\n

        \n

        To delete words, specify remove.\n

        \n

        To flag words without changing them, specify tag.\n

        " + } + }, + "ResourceAccessRoleArn": { + "target": "com.amazonaws.transcribestreaming#IamRoleArn", + "traits": { + "smithy.api#documentation": "

        The Amazon Resource Name (ARN) of an IAM role that has permissions to access the Amazon S3 output\n bucket you specified, and use your KMS key if supplied. If the role that you specify doesn’t have the\n appropriate permissions, your request fails.

        \n

        \n IAM\n role ARNs have the format\n arn:partition:iam::account:role/role-name-with-path.\n For example: arn:aws:iam::111122223333:role/Admin.\n

        \n

        For more information, see Amazon Web Services HealthScribe.

        ", + "smithy.api#required": {} + } + }, + "ChannelDefinitions": { + "target": "com.amazonaws.transcribestreaming#MedicalScribeChannelDefinitions", + "traits": { + "smithy.api#documentation": "

        Specify which speaker is on which audio channel.

        " + } + }, + "EncryptionSettings": { + "target": "com.amazonaws.transcribestreaming#MedicalScribeEncryptionSettings", + "traits": { + "smithy.api#documentation": "

        Specify the encryption settings for your streaming session.

        " + } + }, + "PostStreamAnalyticsSettings": { + "target": "com.amazonaws.transcribestreaming#MedicalScribePostStreamAnalyticsSettings", + "traits": { + "smithy.api#documentation": "

        Specify settings for post-stream analytics.

        ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

        Specify details to configure the streaming session, including channel definitions, encryption settings, post-stream analytics\n settings, resource access role ARN and vocabulary settings.\n

        \n

        Whether you are starting a new session or resuming an existing session, \n your first event must be a MedicalScribeConfigurationEvent.\n If you are resuming a session, then this event must have the same configurations that you provided to start the session.\n

        " + } + }, + "com.amazonaws.transcribestreaming#MedicalScribeEncryptionSettings": { + "type": "structure", + "members": { + "KmsEncryptionContext": { + "target": "com.amazonaws.transcribestreaming#KMSEncryptionContextMap", + "traits": { + "smithy.api#documentation": "

        A map of plain text, non-secret key:value pairs, known as encryption context pairs, that provide an added layer of\n security for your data. For more information, see KMSencryption context and Asymmetric keys in KMS\n .

        " + } + }, + "KmsKeyId": { + "target": "com.amazonaws.transcribestreaming#KMSKeyId", + "traits": { + "smithy.api#documentation": "

        The ID of the KMS key you want to use for your streaming session. You\n can specify its KMS key ID, key Amazon Resource Name (ARN), alias name, or alias ARN. When using an alias name, prefix it with \"alias/\". \n To specify a KMS key in a different Amazon Web Services account, you must use the key ARN or alias ARN.

        \n

        For example:

        \n
          \n
        • \n

          Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab

          \n
        • \n
        • \n

          Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab

          \n
        • \n
        • \n

          \n Alias name: alias/ExampleAlias

          \n
        • \n
        • \n

          \n Alias ARN: arn:aws:kms:us-east-2:111122223333:alias/ExampleAlias \n

          \n
        • \n
        \n

        \n To get the key ID and key ARN for a KMS key, use the ListKeys or DescribeKey KMS API operations. \n To get the alias name and alias ARN, use ListKeys API operation. \n

        ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

        Contains encryption related settings to be used for data encryption with Key Management Service, including KmsEncryptionContext and KmsKeyId.\n The KmsKeyId is required, while KmsEncryptionContext is optional for additional layer of security.\n

        \n

        By default, Amazon Web Services HealthScribe provides encryption at rest to protect sensitive customer data using Amazon S3-managed keys. HealthScribe uses the KMS key you specify as a second layer of\n encryption.

        \n

        \n Your ResourceAccessRoleArn\n must permission to use your KMS key.\n For more information, see Data Encryption at rest for Amazon Web Services HealthScribe.\n

        " + } + }, + "com.amazonaws.transcribestreaming#MedicalScribeInputStream": { + "type": "union", + "members": { + "AudioEvent": { + "target": "com.amazonaws.transcribestreaming#MedicalScribeAudioEvent" + }, + "SessionControlEvent": { + "target": "com.amazonaws.transcribestreaming#MedicalScribeSessionControlEvent", + "traits": { + "smithy.api#documentation": "

        Specify the lifecycle of your streaming session, such as ending the session.

        " + } + }, + "ConfigurationEvent": { + "target": "com.amazonaws.transcribestreaming#MedicalScribeConfigurationEvent", + "traits": { + "smithy.api#documentation": "

        Specify additional streaming session configurations beyond those provided in your initial start request headers. For example, specify\n channel definitions, encryption settings, and post-stream analytics settings.\n

        \n

        Whether you are starting a new session or resuming an existing session, \n your first event must be a MedicalScribeConfigurationEvent.\n

        " + } + } + }, + "traits": { + "smithy.api#documentation": "

        An encoded stream of events. The stream is encoded as HTTP/2 data frames.

        \n

        An input stream consists of the following types of events. The first element of the input stream must be the MedicalScribeConfigurationEvent event type.

        \n
          \n
        • \n

          \n MedicalScribeConfigurationEvent\n

          \n
        • \n
        • \n

          \n MedicalScribeAudioEvent\n

          \n
        • \n
        • \n

          \n MedicalScribeSessionControlEvent\n

          \n
        • \n
        ", + "smithy.api#streaming": {} + } + }, + "com.amazonaws.transcribestreaming#MedicalScribeLanguageCode": { + "type": "enum", + "members": { + "EN_US": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "en-US" + } + } + } + }, + "com.amazonaws.transcribestreaming#MedicalScribeMediaEncoding": { + "type": "enum", + "members": { + "PCM": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "pcm" + } + }, + "OGG_OPUS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ogg-opus" + } + }, + "FLAC": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "flac" + } + } + } + }, + "com.amazonaws.transcribestreaming#MedicalScribeMediaSampleRateHertz": { + "type": "integer", + "traits": { + "smithy.api#range": { + "min": 16000, + "max": 48000 + } + } + }, + "com.amazonaws.transcribestreaming#MedicalScribeParticipantRole": { + "type": "enum", + "members": { + "PATIENT": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "PATIENT" + } + }, + "CLINICIAN": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CLINICIAN" + } + } + } + }, + "com.amazonaws.transcribestreaming#MedicalScribePostStreamAnalyticsResult": { + "type": "structure", + "members": { + "ClinicalNoteGenerationResult": { + "target": "com.amazonaws.transcribestreaming#ClinicalNoteGenerationResult", + "traits": { + "smithy.api#documentation": "

        Provides the Clinical Note Generation result for post-stream analytics.

        " + } + } + }, + "traits": { + "smithy.api#documentation": "

        Contains details for the result of post-stream analytics.\n

        " + } + }, + "com.amazonaws.transcribestreaming#MedicalScribePostStreamAnalyticsSettings": { + "type": "structure", + "members": { + "ClinicalNoteGenerationSettings": { + "target": "com.amazonaws.transcribestreaming#ClinicalNoteGenerationSettings", + "traits": { + "smithy.api#documentation": "

        Specify settings for the post-stream clinical note generation.

        ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

        The settings for post-stream analytics.\n

        " + } + }, + "com.amazonaws.transcribestreaming#MedicalScribeResultStream": { + "type": "union", + "members": { + "TranscriptEvent": { + "target": "com.amazonaws.transcribestreaming#MedicalScribeTranscriptEvent", + "traits": { + "smithy.api#documentation": "

        The transcript event that contains real-time transcription results.\n

        " + } + }, + "BadRequestException": { + "target": "com.amazonaws.transcribestreaming#BadRequestException" + }, + "LimitExceededException": { + "target": "com.amazonaws.transcribestreaming#LimitExceededException" + }, + "InternalFailureException": { + "target": "com.amazonaws.transcribestreaming#InternalFailureException" + }, + "ConflictException": { + "target": "com.amazonaws.transcribestreaming#ConflictException" + }, + "ServiceUnavailableException": { + "target": "com.amazonaws.transcribestreaming#ServiceUnavailableException" + } + }, + "traits": { + "smithy.api#documentation": "

        Result stream where you will receive the output events.\n The details are provided in the MedicalScribeTranscriptEvent object.\n

        ", + "smithy.api#streaming": {} + } + }, + "com.amazonaws.transcribestreaming#MedicalScribeSessionControlEvent": { + "type": "structure", + "members": { + "Type": { + "target": "com.amazonaws.transcribestreaming#MedicalScribeSessionControlEventType", + "traits": { + "smithy.api#documentation": "

        The type of MedicalScribeSessionControlEvent.\n

        \n

        Possible Values:

        \n
          \n
        • \n

          \n END_OF_SESSION - Indicates the audio streaming is complete. After you\n send an END_OF_SESSION event, Amazon Web Services HealthScribe starts the post-stream analytics.\n The session can't be resumed after this event is sent. After Amazon Web Services HealthScribe processes the event, the real-time StreamStatus is COMPLETED.\n You get the StreamStatus and other stream details with the GetMedicalScribeStream API operation.\n For more information about different streaming statuses, see the StreamStatus description in the MedicalScribeStreamDetails. \n

          \n
        • \n
        ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

        Specify the lifecycle of your streaming session.

        " + } + }, + "com.amazonaws.transcribestreaming#MedicalScribeSessionControlEventType": { + "type": "enum", + "members": { + "END_OF_SESSION": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "END_OF_SESSION" + } + } + } + }, + "com.amazonaws.transcribestreaming#MedicalScribeStreamDetails": { + "type": "structure", + "members": { + "SessionId": { + "target": "com.amazonaws.transcribestreaming#SessionId", + "traits": { + "smithy.api#documentation": "

        The identifier of the HealthScribe streaming session.

        " + } + }, + "StreamCreatedAt": { + "target": "com.amazonaws.transcribestreaming#DateTime", + "traits": { + "smithy.api#documentation": "

        The date and time when the HealthScribe streaming session was created.

        " + } + }, + "StreamEndedAt": { + "target": "com.amazonaws.transcribestreaming#DateTime", + "traits": { + "smithy.api#documentation": "

        The date and time when the HealthScribe streaming session was ended.

        " + } + }, + "LanguageCode": { + "target": "com.amazonaws.transcribestreaming#MedicalScribeLanguageCode", + "traits": { + "smithy.api#documentation": "

        The Language Code of the HealthScribe streaming session.

        " + } + }, + "MediaSampleRateHertz": { + "target": "com.amazonaws.transcribestreaming#MedicalScribeMediaSampleRateHertz", + "traits": { + "smithy.api#documentation": "

        The sample rate (in hertz) of the HealthScribe streaming session.

        " + } + }, + "MediaEncoding": { + "target": "com.amazonaws.transcribestreaming#MedicalScribeMediaEncoding", + "traits": { + "smithy.api#documentation": "

        The Media Encoding of the HealthScribe streaming session.

        " + } + }, + "VocabularyName": { + "target": "com.amazonaws.transcribestreaming#VocabularyName", + "traits": { + "smithy.api#documentation": "

        The vocabulary name of the HealthScribe streaming session.

        " + } + }, + "VocabularyFilterName": { + "target": "com.amazonaws.transcribestreaming#VocabularyFilterName", + "traits": { + "smithy.api#documentation": "

        The name of the vocabulary filter used for the HealthScribe streaming session .

        " + } + }, + "VocabularyFilterMethod": { + "target": "com.amazonaws.transcribestreaming#MedicalScribeVocabularyFilterMethod", + "traits": { + "smithy.api#documentation": "

        The method of the vocabulary filter for the HealthScribe streaming session.

        " + } + }, + "ResourceAccessRoleArn": { + "target": "com.amazonaws.transcribestreaming#IamRoleArn", + "traits": { + "smithy.api#documentation": "

        The Amazon Resource Name (ARN) of the role used in the HealthScribe streaming session.

        " + } + }, + "ChannelDefinitions": { + "target": "com.amazonaws.transcribestreaming#MedicalScribeChannelDefinitions", + "traits": { + "smithy.api#documentation": "

        The Channel Definitions of the HealthScribe streaming session.

        " + } + }, + "EncryptionSettings": { + "target": "com.amazonaws.transcribestreaming#MedicalScribeEncryptionSettings", + "traits": { + "smithy.api#documentation": "

        The Encryption Settings of the HealthScribe streaming session.

        " + } + }, + "StreamStatus": { + "target": "com.amazonaws.transcribestreaming#MedicalScribeStreamStatus", + "traits": { + "smithy.api#documentation": "

        The streaming status of the HealthScribe streaming session.

        \n

        Possible Values:

        \n
          \n
        • \n

          \n IN_PROGRESS\n

          \n
        • \n
        • \n

          \n PAUSED\n

          \n
        • \n
        • \n

          \n FAILED\n

          \n
        • \n
        • \n

          \n COMPLETED\n

          \n
        • \n
        \n \n

        This status is specific to real-time streaming.\n A COMPLETED status doesn't mean that the post-stream analytics is complete.\n To get status of an analytics result, check the Status field for the analytics result within the\n MedicalScribePostStreamAnalyticsResult. For example, you can view the status of the \n ClinicalNoteGenerationResult.\n

        \n
        " + } + }, + "PostStreamAnalyticsSettings": { + "target": "com.amazonaws.transcribestreaming#MedicalScribePostStreamAnalyticsSettings", + "traits": { + "smithy.api#documentation": "

        The post-stream analytics settings of the HealthScribe streaming session.

        " + } + }, + "PostStreamAnalyticsResult": { + "target": "com.amazonaws.transcribestreaming#MedicalScribePostStreamAnalyticsResult", + "traits": { + "smithy.api#documentation": "

        The result of post-stream analytics for the HealthScribe streaming session.

        " + } + } + }, + "traits": { + "smithy.api#documentation": "

        Contains details about a Amazon Web Services HealthScribe streaming session.

        " + } + }, + "com.amazonaws.transcribestreaming#MedicalScribeStreamStatus": { + "type": "enum", "members": { - "StartTime": { - "target": "com.amazonaws.transcribestreaming#Double", + "IN_PROGRESS": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#default": 0, - "smithy.api#documentation": "

        The start time, in milliseconds, of the utterance that was identified as PHI.

        " + "smithy.api#enumValue": "IN_PROGRESS" } }, - "EndTime": { - "target": "com.amazonaws.transcribestreaming#Double", + "PAUSED": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#default": 0, - "smithy.api#documentation": "

        The end time, in milliseconds, of the utterance that was identified as PHI.

        " + "smithy.api#enumValue": "PAUSED" } }, - "Category": { - "target": "com.amazonaws.transcribestreaming#String", + "FAILED": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

        The category of information identified. The only category is PHI.

        " + "smithy.api#enumValue": "FAILED" } }, - "Content": { - "target": "com.amazonaws.transcribestreaming#String", + "COMPLETED": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

        The word or words identified as PHI.

        " + "smithy.api#enumValue": "COMPLETED" } - }, - "Confidence": { - "target": "com.amazonaws.transcribestreaming#Confidence", + } + } + }, + "com.amazonaws.transcribestreaming#MedicalScribeTranscriptEvent": { + "type": "structure", + "members": { + "TranscriptSegment": { + "target": "com.amazonaws.transcribestreaming#MedicalScribeTranscriptSegment", "traits": { - "smithy.api#documentation": "

        The confidence score associated with the identified PHI entity in your audio.

        \n

        Confidence scores are values between 0 and 1. A larger value indicates a higher\n probability that the identified entity correctly matches the entity spoken in your\n media.

        " + "smithy.api#documentation": "

        The TranscriptSegment associated with a MedicalScribeTranscriptEvent.\n

        " } } }, "traits": { - "smithy.api#documentation": "

        Contains entities identified as personal health information (PHI) in your\n transcription output, along with various associated attributes. Examples include\n category, confidence score, type, stability score, and start and end times.

        " - } - }, - "com.amazonaws.transcribestreaming#MedicalEntityList": { - "type": "list", - "member": { - "target": "com.amazonaws.transcribestreaming#MedicalEntity" + "smithy.api#documentation": "

        The event associated with MedicalScribeResultStream.\n

        \n

        Contains MedicalScribeTranscriptSegment, which contains segment related information.\n

        " } }, - "com.amazonaws.transcribestreaming#MedicalItem": { + "com.amazonaws.transcribestreaming#MedicalScribeTranscriptItem": { "type": "structure", "members": { - "StartTime": { + "BeginAudioTime": { "target": "com.amazonaws.transcribestreaming#Double", "traits": { "smithy.api#default": 0, "smithy.api#documentation": "

        The start time, in milliseconds, of the transcribed item.

        " } }, - "EndTime": { + "EndAudioTime": { "target": "com.amazonaws.transcribestreaming#Double", "traits": { "smithy.api#default": 0, @@ -947,91 +1915,131 @@ } }, "Type": { - "target": "com.amazonaws.transcribestreaming#ItemType", - "traits": { - "smithy.api#documentation": "

        The type of item identified. Options are: PRONUNCIATION (spoken \n words) and PUNCTUATION.

        " - } - }, - "Content": { - "target": "com.amazonaws.transcribestreaming#String", + "target": "com.amazonaws.transcribestreaming#MedicalScribeTranscriptItemType", "traits": { - "smithy.api#documentation": "

        The word or punctuation that was transcribed.

        " + "smithy.api#documentation": "

        The type of item identified. Options are: PRONUNCIATION (spoken words)\n and PUNCTUATION.\n

        " } }, "Confidence": { "target": "com.amazonaws.transcribestreaming#Confidence", "traits": { - "smithy.api#documentation": "

        The confidence score associated with a word or phrase in your transcript.

        \n

        Confidence scores are values between 0 and 1. A larger value indicates a higher\n probability that the identified item correctly matches the item spoken in your\n media.

        " + "smithy.api#documentation": "

        The confidence score associated with a word or phrase in your transcript.

        \n

        Confidence scores are values between 0 and 1. A larger value indicates a higher\n probability that the identified item correctly matches the item spoken in your media.\n

        " } }, - "Speaker": { + "Content": { "target": "com.amazonaws.transcribestreaming#String", "traits": { - "smithy.api#documentation": "

        If speaker partitioning is enabled, Speaker labels the speaker of the\n specified item.

        " + "smithy.api#documentation": "

        The word, phrase or punctuation mark that was transcribed.

        " + } + }, + "VocabularyFilterMatch": { + "target": "com.amazonaws.transcribestreaming#NullableBoolean", + "traits": { + "smithy.api#documentation": "

        Indicates whether the specified item matches a word in the vocabulary filter included in\n your configuration event. If true, there is a vocabulary filter match.\n

        " } } }, "traits": { - "smithy.api#documentation": "

        A word, phrase, or punctuation mark in your transcription output, along with various \n associated attributes, such as confidence score, type, and start and end times.

        " + "smithy.api#documentation": "

        A word, phrase, or punctuation mark in your transcription output, along with various associated\n attributes, such as confidence score, type, and start and end times.\n

        " } }, - "com.amazonaws.transcribestreaming#MedicalItemList": { + "com.amazonaws.transcribestreaming#MedicalScribeTranscriptItemList": { "type": "list", "member": { - "target": "com.amazonaws.transcribestreaming#MedicalItem" + "target": "com.amazonaws.transcribestreaming#MedicalScribeTranscriptItem" } }, - "com.amazonaws.transcribestreaming#MedicalResult": { + "com.amazonaws.transcribestreaming#MedicalScribeTranscriptItemType": { + "type": "enum", + "members": { + "PRONUNCIATION": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "pronunciation" + } + }, + "PUNCTUATION": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "punctuation" + } + } + } + }, + "com.amazonaws.transcribestreaming#MedicalScribeTranscriptSegment": { "type": "structure", "members": { - "ResultId": { + "SegmentId": { "target": "com.amazonaws.transcribestreaming#String", "traits": { - "smithy.api#documentation": "

        Provides a unique identifier for the Result.

        " + "smithy.api#documentation": "

        The identifier of the segment.

        " } }, - "StartTime": { + "BeginAudioTime": { "target": "com.amazonaws.transcribestreaming#Double", "traits": { "smithy.api#default": 0, - "smithy.api#documentation": "

        The start time, in milliseconds, of the Result.

        " + "smithy.api#documentation": "

        The start time, in milliseconds, of the segment.

        " } }, - "EndTime": { + "EndAudioTime": { "target": "com.amazonaws.transcribestreaming#Double", "traits": { "smithy.api#default": 0, - "smithy.api#documentation": "

        The end time, in milliseconds, of the Result.

        " + "smithy.api#documentation": "

        The end time, in milliseconds, of the segment.

        " } }, - "IsPartial": { - "target": "com.amazonaws.transcribestreaming#Boolean", + "Content": { + "target": "com.amazonaws.transcribestreaming#String", "traits": { - "smithy.api#default": false, - "smithy.api#documentation": "

        Indicates if the segment is complete.

        \n

        If IsPartial is true, the segment is not complete. If\n IsPartial is false, the segment is complete.

        " + "smithy.api#documentation": "

        Contains transcribed text of the segment.

        " } }, - "Alternatives": { - "target": "com.amazonaws.transcribestreaming#MedicalAlternativeList", + "Items": { + "target": "com.amazonaws.transcribestreaming#MedicalScribeTranscriptItemList", "traits": { - "smithy.api#documentation": "

        A list of possible alternative transcriptions for the input audio. Each alternative may \n contain one or more of Items, Entities, or\n Transcript.

        " + "smithy.api#documentation": "

        Contains words, phrases, or punctuation marks in your segment.

        " + } + }, + "IsPartial": { + "target": "com.amazonaws.transcribestreaming#Boolean", + "traits": { + "smithy.api#default": false, + "smithy.api#documentation": "

        Indicates if the segment is complete.

        \n

        If IsPartial is true, the segment is not complete.\n If IsPartial is false, the segment is complete.\n

        " } }, "ChannelId": { "target": "com.amazonaws.transcribestreaming#String", "traits": { - "smithy.api#documentation": "

        Indicates the channel identified for the Result.

        " + "smithy.api#documentation": "

        Indicates which audio channel is associated with the MedicalScribeTranscriptSegment.\n

        \n

        If MedicalScribeChannelDefinition is not provided in the MedicalScribeConfigurationEvent,\n then this field will not be included.\n

        " } } }, "traits": { - "smithy.api#documentation": "

        The Result associated with a \n .

        \n

        Contains a set of transcription results from one or more audio segments, along with\n additional information per your request parameters. This can include information relating to\n alternative transcriptions, channel identification, partial result stabilization, language \n identification, and other transcription-related data.

        " + "smithy.api#documentation": "

        Contains a set of transcription results, along with additional information of the segment.

        " } }, - "com.amazonaws.transcribestreaming#MedicalResultList": { - "type": "list", - "member": { - "target": "com.amazonaws.transcribestreaming#MedicalResult" + "com.amazonaws.transcribestreaming#MedicalScribeVocabularyFilterMethod": { + "type": "enum", + "members": { + "REMOVE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "remove" + } + }, + "MASK": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "mask" + } + }, + "TAG": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "tag" + } + } } }, "com.amazonaws.transcribestreaming#MedicalTranscript": { @@ -1102,6 +2110,19 @@ "smithy.api#pattern": "^[0-9a-zA-Z._-]+$" } }, + "com.amazonaws.transcribestreaming#NonEmptyString": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 2000 + }, + "smithy.api#pattern": "\\S" + } + }, + "com.amazonaws.transcribestreaming#NullableBoolean": { + "type": "boolean" + }, "com.amazonaws.transcribestreaming#NumberOfChannels": { "type": "integer", "traits": { @@ -1200,17 +2221,30 @@ "OutputEncryptionKMSKeyId": { "target": "com.amazonaws.transcribestreaming#String", "traits": { - "smithy.api#documentation": "

        The KMS key you want to use to encrypt your Call Analytics post-call\n output.

        \n

        If using a key located in the current\n Amazon Web Services account, you can specify your KMS key in one of four\n ways:

        \n
          \n
        1. \n

          Use the KMS key ID itself. For example,\n 1234abcd-12ab-34cd-56ef-1234567890ab.

          \n
        2. \n
        3. \n

          Use an alias for the KMS key ID. For example,\n alias/ExampleAlias.

          \n
        4. \n
        5. \n

          Use the Amazon Resource Name (ARN) for the KMS key ID. For\n example,\n arn:aws:kms:region:account-ID:key/1234abcd-12ab-34cd-56ef-1234567890ab.

          \n
        6. \n
        7. \n

          Use the ARN for the KMS key alias. For example,\n arn:aws:kms:region:account-ID:alias/ExampleAlias.

          \n
        8. \n
        \n

        If using a key located in a different\n Amazon Web Services account than the current Amazon Web Services account, you can specify\n your KMS key in one of two ways:

        \n
          \n
        1. \n

          Use the ARN for the KMS key ID. For example,\n arn:aws:kms:region:account-ID:key/1234abcd-12ab-34cd-56ef-1234567890ab.

          \n
        2. \n
        3. \n

          Use the ARN for the KMS key alias. For example,\n arn:aws:kms:region:account-ID:alias/ExampleAlias.

          \n
        4. \n
        \n

        Note that the user making the request must\n have permission to use the specified KMS key.

        " + "smithy.api#documentation": "

        The KMS key you want to use to encrypt your Call Analytics post-call\n output.

        \n

        If using a key located in the current\n Amazon Web Services account, you can specify your KMS key in one of four\n ways:

        \n
          \n
        1. \n

          Use the KMS key ID itself. For example,\n 1234abcd-12ab-34cd-56ef-1234567890ab.

          \n
        2. \n
        3. \n

          Use an alias for the KMS key ID. For example,\n alias/ExampleAlias.

          \n
        4. \n
        5. \n

          Use the Amazon Resource Name (ARN) for the KMS key ID. For\n example,\n arn:aws:kms:region:account-ID:key/1234abcd-12ab-34cd-56ef-1234567890ab.

          \n
        6. \n
        7. \n

          Use the ARN for the KMS key alias. For example,\n arn:aws:kms:region:account-ID:alias/ExampleAlias.

          \n
        8. \n
        \n

        If using a key located in a different\n Amazon Web Services account than the current Amazon Web Services account, you can specify\n your KMS key in one of two ways:

        \n
          \n
        1. \n

          Use the ARN for the KMS key ID. For example,\n arn:aws:kms:region:account-ID:key/1234abcd-12ab-34cd-56ef-1234567890ab.

          \n
        2. \n
        3. \n

          Use the ARN for the KMS key alias. For example,\n arn:aws:kms:region:account-ID:alias/ExampleAlias.

          \n
        4. \n
        \n

        Note that the role making the \n request must have permission to use the specified KMS key.

        " } } }, "traits": { - "smithy.api#documentation": "

        Allows you to specify additional settings for your streaming Call Analytics \n post-call request, including output locations for your redacted and unredacted \n transcript, which IAM role to use, and, optionally, which encryption key to \n use.

        \n

        \n ContentRedactionOutput, DataAccessRoleArn, and\n OutputLocation are required fields.

        " + "smithy.api#documentation": "

        Allows you to specify additional settings for your Call Analytics post-call request, \n including output locations for your redacted transcript, which IAM role to use, \n and which encryption key to use.

        \n

        \n DataAccessRoleArn and OutputLocation are required \n fields.

        \n

        \n PostCallAnalyticsSettings provides you with the same insights as a \n Call Analytics post-call transcription. Refer to Post-call analytics for more information \n on this feature.

        " } }, "com.amazonaws.transcribestreaming#RequestId": { "type": "string" }, + "com.amazonaws.transcribestreaming#ResourceNotFoundException": { + "type": "structure", + "members": { + "Message": { + "target": "com.amazonaws.transcribestreaming#String" + } + }, + "traits": { + "smithy.api#documentation": "

        The request references a resource which doesn't exist.

        ", + "smithy.api#error": "client", + "smithy.api#httpError": 404 + } + }, "com.amazonaws.transcribestreaming#Result": { "type": "structure", "members": { @@ -1412,7 +2446,7 @@ "LanguageCode": { "target": "com.amazonaws.transcribestreaming#CallAnalyticsLanguageCode", "traits": { - "smithy.api#documentation": "

        Specify the language code that represents the language spoken in your audio.

        \n

        If you're unsure of the language spoken in your audio, consider using \n IdentifyLanguage to enable automatic language identification.

        \n

        For a list of languages supported with streaming Call Analytics, refer to the \n Supported \n languages table.

        ", + "smithy.api#documentation": "

        Specify the language code that represents the language spoken in your audio.

        \n

        For a list of languages supported with real-time Call Analytics, refer to the \n Supported \n languages table.

        ", "smithy.api#httpHeader": "x-amzn-transcribe-language-code", "smithy.api#required": {} } @@ -1443,13 +2477,14 @@ "SessionId": { "target": "com.amazonaws.transcribestreaming#SessionId", "traits": { - "smithy.api#documentation": "

        Specify a name for your Call Analytics transcription session. If you don't include this parameter\n in your request, Amazon Transcribe generates an ID and returns it in the response.

        \n

        You can use a session ID to retry a streaming session.

        ", + "smithy.api#documentation": "

        Specify a name for your Call Analytics transcription session. If you don't include this parameter\n in your request, Amazon Transcribe generates an ID and returns it in the response.

        ", "smithy.api#httpHeader": "x-amzn-transcribe-session-id" } }, "AudioStream": { "target": "com.amazonaws.transcribestreaming#AudioStream", "traits": { + "smithy.api#documentation": "

        An encoded stream of audio blobs. Audio streams are encoded as either HTTP/2 or WebSocket \n data frames.

        \n

        For more information, see Transcribing streaming audio.

        ", "smithy.api#httpPayload": {}, "smithy.api#required": {} } @@ -1493,21 +2528,21 @@ "ContentIdentificationType": { "target": "com.amazonaws.transcribestreaming#ContentIdentificationType", "traits": { - "smithy.api#documentation": "

        Labels all personally identifiable information (PII) identified in your transcript.

        \n

        Content identification is performed at the segment level; PII specified in \n PiiEntityTypes is flagged upon complete transcription of an audio segment.

        \n

        You can’t set ContentIdentificationType and ContentRedactionType\n in the same request. If you set both, your request returns a\n BadRequestException.

        \n

        For more information, see Redacting or identifying personally identifiable\n information.

        ", + "smithy.api#documentation": "

        Labels all personally identifiable information (PII) identified in your transcript.

        \n

        Content identification is performed at the segment level; PII specified in \n PiiEntityTypes is flagged upon complete transcription of an audio segment. If you don't\n include PiiEntityTypes in your request, all PII is identified.

        \n

        You can’t set ContentIdentificationType and ContentRedactionType\n in the same request. If you set both, your request returns a\n BadRequestException.

        \n

        For more information, see Redacting or identifying personally identifiable\n information.

        ", "smithy.api#httpHeader": "x-amzn-transcribe-content-identification-type" } }, "ContentRedactionType": { "target": "com.amazonaws.transcribestreaming#ContentRedactionType", "traits": { - "smithy.api#documentation": "

        Redacts all personally identifiable information (PII) identified in your transcript.

        \n

        Content redaction is performed at the segment level; PII specified in \n PiiEntityTypes is redacted upon complete transcription of an audio segment.

        \n

        You can’t set ContentRedactionType and ContentIdentificationType\n in the same request. If you set both, your request returns a\n BadRequestException.

        \n

        For more information, see Redacting or identifying personally identifiable\n information.

        ", + "smithy.api#documentation": "

        Redacts all personally identifiable information (PII) identified in your transcript.

        \n

        Content redaction is performed at the segment level; PII specified in \n PiiEntityTypes is redacted upon complete transcription of an audio segment. If you don't\n include PiiEntityTypes in your request, all PII is redacted.

        \n

        You can’t set ContentRedactionType and ContentIdentificationType\n in the same request. If you set both, your request returns a BadRequestException.

        \n

        For more information, see Redacting or identifying personally identifiable\n information.

        ", "smithy.api#httpHeader": "x-amzn-transcribe-content-redaction-type" } }, "PiiEntityTypes": { "target": "com.amazonaws.transcribestreaming#PiiEntityTypes", "traits": { - "smithy.api#documentation": "

        Specify which types of personally identifiable information (PII) you want to redact in your \n transcript. You can include as many types as you'd like, or you can select \n ALL.

        \n

        To include PiiEntityTypes in your Call Analytics request, you must also include \n either ContentIdentificationType or ContentRedactionType.

        \n

        Values must be comma-separated and can include:\n BANK_ACCOUNT_NUMBER, BANK_ROUTING,\n CREDIT_DEBIT_NUMBER, CREDIT_DEBIT_CVV, \n CREDIT_DEBIT_EXPIRY, PIN, EMAIL, \n ADDRESS, NAME, PHONE, \n SSN, or ALL.

        ", + "smithy.api#documentation": "

        Specify which types of personally identifiable information (PII) you want to redact in your \n transcript. You can include as many types as you'd like, or you can select \n ALL.

        \n

        Values must be comma-separated and can include: ADDRESS, \n BANK_ACCOUNT_NUMBER, BANK_ROUTING,\n CREDIT_DEBIT_CVV, CREDIT_DEBIT_EXPIRY,\n CREDIT_DEBIT_NUMBER, EMAIL, \n NAME, PHONE, PIN, \n SSN, or ALL.

        \n

        Note that if you include PiiEntityTypes in your request, you must also include \n ContentIdentificationType or ContentRedactionType.

        \n

        If you include ContentRedactionType or \n ContentIdentificationType in your request, but do not include \n PiiEntityTypes, all PII is redacted or identified.

        ", "smithy.api#httpHeader": "x-amzn-transcribe-pii-entity-types" } } @@ -1522,7 +2557,7 @@ "RequestId": { "target": "com.amazonaws.transcribestreaming#RequestId", "traits": { - "smithy.api#documentation": "

        Provides the identifier for your Call Analytics streaming request.

        ", + "smithy.api#documentation": "

        Provides the identifier for your real-time Call Analytics request.

        ", "smithy.api#httpHeader": "x-amzn-request-id" } }, @@ -1564,7 +2599,7 @@ "CallAnalyticsTranscriptResultStream": { "target": "com.amazonaws.transcribestreaming#CallAnalyticsTranscriptResultStream", "traits": { - "smithy.api#documentation": "

        Provides detailed information about your Call Analytics streaming session.

        ", + "smithy.api#documentation": "

        Provides detailed information about your real-time Call Analytics session.

        ", "smithy.api#httpPayload": {} } }, @@ -1630,6 +2665,137 @@ "smithy.api#output": {} } }, + "com.amazonaws.transcribestreaming#StartMedicalScribeStream": { + "type": "operation", + "input": { + "target": "com.amazonaws.transcribestreaming#StartMedicalScribeStreamRequest" + }, + "output": { + "target": "com.amazonaws.transcribestreaming#StartMedicalScribeStreamResponse" + }, + "errors": [ + { + "target": "com.amazonaws.transcribestreaming#BadRequestException" + }, + { + "target": "com.amazonaws.transcribestreaming#ConflictException" + }, + { + "target": "com.amazonaws.transcribestreaming#InternalFailureException" + }, + { + "target": "com.amazonaws.transcribestreaming#LimitExceededException" + }, + { + "target": "com.amazonaws.transcribestreaming#ServiceUnavailableException" + } + ], + "traits": { + "smithy.api#documentation": "

        Starts a bidirectional HTTP/2 stream, where audio is streamed to\n Amazon Web Services HealthScribe\n and the transcription results are streamed to your application.

        \n

        When you start a stream, you first specify the stream configuration in a MedicalScribeConfigurationEvent. \n This event includes channel definitions, encryption settings, and post-stream analytics settings, such as the output configuration for aggregated transcript and clinical note generation. These are additional\n streaming session configurations beyond those provided in your initial start request headers. Whether you are starting a new session or resuming an existing session, \n your first event must be a MedicalScribeConfigurationEvent.

        \n

        \n After you send a MedicalScribeConfigurationEvent, you start AudioEvents and Amazon Web Services HealthScribe \n responds with real-time transcription results. When you are finished, to start processing the results with the post-stream analytics, send a MedicalScribeSessionControlEvent with a Type of \n END_OF_SESSION and Amazon Web Services HealthScribe starts the analytics.\n

        \n

        You can pause or resume streaming.\n To pause streaming, complete the input stream without sending the\n MedicalScribeSessionControlEvent.\n To resume streaming, call the StartMedicalScribeStream and specify the same SessionId you used to start the stream.\n

        \n

        The following parameters are required:

        \n
          \n
        • \n

          \n language-code\n

          \n
        • \n
        • \n

          \n media-encoding\n

          \n
        • \n
        • \n

          \n media-sample-rate-hertz\n

          \n
        • \n
        \n

        \n

        For more information on streaming with\n Amazon Web Services HealthScribe,\n see Amazon Web Services HealthScribe.\n

        ", + "smithy.api#http": { + "method": "POST", + "uri": "/medical-scribe-stream", + "code": 200 + } + } + }, + "com.amazonaws.transcribestreaming#StartMedicalScribeStreamRequest": { + "type": "structure", + "members": { + "SessionId": { + "target": "com.amazonaws.transcribestreaming#SessionId", + "traits": { + "smithy.api#documentation": "

        Specify an identifier for your streaming session (in UUID format).\n If you don't include a SessionId in your request,\n Amazon Web Services HealthScribe generates an ID and returns it in the response.\n

        ", + "smithy.api#httpHeader": "x-amzn-transcribe-session-id" + } + }, + "LanguageCode": { + "target": "com.amazonaws.transcribestreaming#MedicalScribeLanguageCode", + "traits": { + "smithy.api#documentation": "

        Specify the language code for your HealthScribe streaming session.

        ", + "smithy.api#httpHeader": "x-amzn-transcribe-language-code", + "smithy.api#required": {} + } + }, + "MediaSampleRateHertz": { + "target": "com.amazonaws.transcribestreaming#MedicalScribeMediaSampleRateHertz", + "traits": { + "smithy.api#documentation": "

        Specify the sample rate of the input audio (in hertz).\n Amazon Web Services HealthScribe supports a range from 16,000 Hz to 48,000 Hz.\n The sample rate you specify must match that of your audio.\n

        ", + "smithy.api#httpHeader": "x-amzn-transcribe-sample-rate", + "smithy.api#required": {} + } + }, + "MediaEncoding": { + "target": "com.amazonaws.transcribestreaming#MedicalScribeMediaEncoding", + "traits": { + "smithy.api#documentation": "

        Specify the encoding used for the input audio.

        \n

        Supported formats are:

        \n
          \n
        • \n

          FLAC

          \n
        • \n
        • \n

          OPUS-encoded audio in an Ogg container

          \n
        • \n
        • \n

          PCM (only signed 16-bit little-endian audio formats, which does not include\n WAV)\n

          \n
        • \n
        \n

        For more information, see Media\n formats.\n

        ", + "smithy.api#httpHeader": "x-amzn-transcribe-media-encoding", + "smithy.api#required": {} + } + }, + "InputStream": { + "target": "com.amazonaws.transcribestreaming#MedicalScribeInputStream", + "traits": { + "smithy.api#documentation": "

        Specify the input stream where you will send events in real time.

        \n

        The first element of the input stream must be a MedicalScribeConfigurationEvent.\n

        ", + "smithy.api#httpPayload": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.transcribestreaming#StartMedicalScribeStreamResponse": { + "type": "structure", + "members": { + "SessionId": { + "target": "com.amazonaws.transcribestreaming#SessionId", + "traits": { + "smithy.api#documentation": "

        The identifier (in UUID format) for your streaming session.

        \n

        If you already started streaming, this is same ID as the one you specified in your initial StartMedicalScribeStreamRequest.\n

        ", + "smithy.api#httpHeader": "x-amzn-transcribe-session-id" + } + }, + "RequestId": { + "target": "com.amazonaws.transcribestreaming#RequestId", + "traits": { + "smithy.api#documentation": "

        The unique identifier for your streaming request.\n

        ", + "smithy.api#httpHeader": "x-amzn-request-id" + } + }, + "LanguageCode": { + "target": "com.amazonaws.transcribestreaming#MedicalScribeLanguageCode", + "traits": { + "smithy.api#documentation": "

        The Language Code that you specified in your request.\n Same as provided in the StartMedicalScribeStreamRequest.\n

        ", + "smithy.api#httpHeader": "x-amzn-transcribe-language-code" + } + }, + "MediaSampleRateHertz": { + "target": "com.amazonaws.transcribestreaming#MedicalScribeMediaSampleRateHertz", + "traits": { + "smithy.api#documentation": "

        The sample rate (in hertz) that you specified in your request.\n Same as provided in the\n StartMedicalScribeStreamRequest\n

        ", + "smithy.api#httpHeader": "x-amzn-transcribe-sample-rate" + } + }, + "MediaEncoding": { + "target": "com.amazonaws.transcribestreaming#MedicalScribeMediaEncoding", + "traits": { + "smithy.api#documentation": "

        The Media Encoding you specified in your request.\n Same as provided in the\n StartMedicalScribeStreamRequest\n

        ", + "smithy.api#httpHeader": "x-amzn-transcribe-media-encoding" + } + }, + "ResultStream": { + "target": "com.amazonaws.transcribestreaming#MedicalScribeResultStream", + "traits": { + "smithy.api#documentation": "

        The result stream where you will receive the output events.\n

        ", + "smithy.api#httpPayload": {} + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.transcribestreaming#StartMedicalStreamTranscription": { "type": "operation", "input": { @@ -1725,7 +2891,7 @@ "SessionId": { "target": "com.amazonaws.transcribestreaming#SessionId", "traits": { - "smithy.api#documentation": "

        Specify a name for your transcription session. If you don't include this parameter in \n your request, Amazon Transcribe Medical generates an ID and returns it in the\n response.

        \n

        You can use a session ID to retry a streaming session.

        ", + "smithy.api#documentation": "

        Specify a name for your transcription session. If you don't include this parameter in \n your request, Amazon Transcribe Medical generates an ID and returns it in the\n response.

        ", "smithy.api#httpHeader": "x-amzn-transcribe-session-id" } }, @@ -1740,14 +2906,14 @@ "target": "com.amazonaws.transcribestreaming#Boolean", "traits": { "smithy.api#default": false, - "smithy.api#documentation": "

        Enables channel identification in multi-channel audio.

        \n

        Channel identification transcribes the audio on each channel independently, then appends\n the output for each channel into one transcript.

        \n

        If you have multi-channel audio and do not enable channel identification, your audio is \n transcribed in a continuous manner and your transcript is not separated by channel.

        \n

        For more information, see Transcribing multi-channel audio.

        ", + "smithy.api#documentation": "

        Enables channel identification in multi-channel audio.

        \n

        Channel identification transcribes the audio on each channel independently, then appends\n the output for each channel into one transcript.

        \n

        If you have multi-channel audio and do not enable channel identification, your audio is \n transcribed in a continuous manner and your transcript is not separated by channel.

        \n

        If you include EnableChannelIdentification in your request, you must also \n include NumberOfChannels.

        \n

        For more information, see Transcribing multi-channel audio.

        ", "smithy.api#httpHeader": "x-amzn-transcribe-enable-channel-identification" } }, "NumberOfChannels": { "target": "com.amazonaws.transcribestreaming#NumberOfChannels", "traits": { - "smithy.api#documentation": "

        Specify the number of channels in your audio stream. Up to two channels are\n supported.

        ", + "smithy.api#documentation": "

        Specify the number of channels in your audio stream. This value must be \n 2, as only two channels are supported. If your audio doesn't contain \n multiple channels, do not include this parameter in your request.

        \n

        If you include NumberOfChannels in your request, you must also \n include EnableChannelIdentification.

        ", "smithy.api#httpHeader": "x-amzn-transcribe-number-of-channels" } }, @@ -1934,7 +3100,7 @@ "SessionId": { "target": "com.amazonaws.transcribestreaming#SessionId", "traits": { - "smithy.api#documentation": "

        Specify a name for your transcription session. If you don't include this parameter in your request, \n Amazon Transcribe generates an ID and returns it in the response.

        \n

        You can use a session ID to retry a streaming session.

        ", + "smithy.api#documentation": "

        Specify a name for your transcription session. If you don't include this parameter in your request, \n Amazon Transcribe generates an ID and returns it in the response.

        ", "smithy.api#httpHeader": "x-amzn-transcribe-session-id" } }, @@ -1972,14 +3138,14 @@ "target": "com.amazonaws.transcribestreaming#Boolean", "traits": { "smithy.api#default": false, - "smithy.api#documentation": "

        Enables channel identification in multi-channel audio.

        \n

        Channel identification transcribes the audio on each channel independently, then appends the \n output for each channel into one transcript.

        \n

        If you have multi-channel audio and do not enable channel identification, your audio is \n transcribed in a continuous manner and your transcript is not separated by channel.

        \n

        For more information, see Transcribing multi-channel audio.

        ", + "smithy.api#documentation": "

        Enables channel identification in multi-channel audio.

        \n

        Channel identification transcribes the audio on each channel independently, then appends the \n output for each channel into one transcript.

        \n

        If you have multi-channel audio and do not enable channel identification, your audio is \n transcribed in a continuous manner and your transcript is not separated by channel.

        \n

        If you include EnableChannelIdentification in your request, you must also \n include NumberOfChannels.

        \n

        For more information, see Transcribing multi-channel audio.

        ", "smithy.api#httpHeader": "x-amzn-transcribe-enable-channel-identification" } }, "NumberOfChannels": { "target": "com.amazonaws.transcribestreaming#NumberOfChannels", "traits": { - "smithy.api#documentation": "

        Specify the number of channels in your audio stream. Up to two channels are\n supported.

        ", + "smithy.api#documentation": "

        Specify the number of channels in your audio stream. This value must be \n 2, as only two channels are supported. If your audio doesn't contain \n multiple channels, do not include this parameter in your request.

        \n

        If you include NumberOfChannels in your request, you must also \n include EnableChannelIdentification.

        ", "smithy.api#httpHeader": "x-amzn-transcribe-number-of-channels" } }, @@ -2001,21 +3167,21 @@ "ContentIdentificationType": { "target": "com.amazonaws.transcribestreaming#ContentIdentificationType", "traits": { - "smithy.api#documentation": "

        Labels all personally identifiable information (PII) identified in your transcript.

        \n

        Content identification is performed at the segment level; PII specified in \n PiiEntityTypes is flagged upon complete transcription of an audio segment.

        \n

        You can’t set ContentIdentificationType and ContentRedactionType\n in the same request. If you set both, your request returns a\n BadRequestException.

        \n

        For more information, see Redacting or identifying personally identifiable\n information.

        ", + "smithy.api#documentation": "

        Labels all personally identifiable information (PII) identified in your transcript.

        \n

        Content identification is performed at the segment level; PII specified in \n PiiEntityTypes is flagged upon complete transcription of an audio segment. If you don't\n include PiiEntityTypes in your request, all PII is identified.

        \n

        You can’t set ContentIdentificationType and ContentRedactionType\n in the same request. If you set both, your request returns a\n BadRequestException.

        \n

        For more information, see Redacting or identifying personally identifiable\n information.

        ", "smithy.api#httpHeader": "x-amzn-transcribe-content-identification-type" } }, "ContentRedactionType": { "target": "com.amazonaws.transcribestreaming#ContentRedactionType", "traits": { - "smithy.api#documentation": "

        Redacts all personally identifiable information (PII) identified in your transcript.

        \n

        Content redaction is performed at the segment level; PII specified in \n PiiEntityTypes is redacted upon complete transcription of an audio segment.

        \n

        You can’t set ContentRedactionType and ContentIdentificationType\n in the same request. If you set both, your request returns a\n BadRequestException.

        \n

        For more information, see Redacting or identifying personally identifiable\n information.

        ", + "smithy.api#documentation": "

        Redacts all personally identifiable information (PII) identified in your transcript.

        \n

        Content redaction is performed at the segment level; PII specified in \n PiiEntityTypes is redacted upon complete transcription of an audio segment. If you don't\n include PiiEntityTypes in your request, all PII is redacted.

        \n

        You can’t set ContentRedactionType and ContentIdentificationType\n in the same request. If you set both, your request returns a BadRequestException.

        \n

        For more information, see Redacting or identifying personally identifiable\n information.

        ", "smithy.api#httpHeader": "x-amzn-transcribe-content-redaction-type" } }, "PiiEntityTypes": { "target": "com.amazonaws.transcribestreaming#PiiEntityTypes", "traits": { - "smithy.api#documentation": "

        Specify which types of personally identifiable information (PII) you want to redact in your \n transcript. You can include as many types as you'd like, or you can select \n ALL.

        \n

        To include PiiEntityTypes in your request, you must also include either \n ContentIdentificationType or ContentRedactionType.

        \n

        Values must be comma-separated and can include:\n BANK_ACCOUNT_NUMBER, BANK_ROUTING,\n CREDIT_DEBIT_NUMBER, CREDIT_DEBIT_CVV, \n CREDIT_DEBIT_EXPIRY, PIN, EMAIL, \n ADDRESS, NAME, PHONE, \n SSN, or ALL.

        ", + "smithy.api#documentation": "

        Specify which types of personally identifiable information (PII) you want to redact in your \n transcript. You can include as many types as you'd like, or you can select \n ALL.

        \n

        Values must be comma-separated and can include: ADDRESS, \n BANK_ACCOUNT_NUMBER, BANK_ROUTING,\n CREDIT_DEBIT_CVV, CREDIT_DEBIT_EXPIRY,\n CREDIT_DEBIT_NUMBER, EMAIL, \n NAME, PHONE, PIN, \n SSN, or ALL.

        \n

        Note that if you include PiiEntityTypes in your request, you must also include \n ContentIdentificationType or ContentRedactionType.

        \n

        If you include ContentRedactionType or \n ContentIdentificationType in your request, but do not include \n PiiEntityTypes, all PII is redacted or identified.

        ", "smithy.api#httpHeader": "x-amzn-transcribe-pii-entity-types" } }, @@ -2030,14 +3196,14 @@ "target": "com.amazonaws.transcribestreaming#Boolean", "traits": { "smithy.api#default": false, - "smithy.api#documentation": "

        Enables automatic language identification for your transcription.

        \n

        If you include IdentifyLanguage, you can optionally include a list of \n language codes, using LanguageOptions, that you think may be present in \n your audio stream. Including language options can improve transcription accuracy.

        \n

        You can also include a preferred language using PreferredLanguage. Adding a \n preferred language can help Amazon Transcribe identify the language faster than if you omit this \n parameter.

        \n

        If you have multi-channel audio that contains different languages on each channel, and you've \n enabled channel identification, automatic language identification identifies the dominant language on \n each audio channel.

        \n

        Note that you must include either LanguageCode or \n IdentifyLanguage or IdentifyMultipleLanguages in your request. If you include more than one of these parameters, your transcription job\n fails.

        \n

        Streaming language identification can't be combined with custom language models or \n redaction.

        ", + "smithy.api#documentation": "

        Enables automatic language identification for your transcription.

        \n

        If you include IdentifyLanguage, you must include a list of\n language codes, using LanguageOptions, that you think may be present in \n your audio stream.

        \n

        You can also include a preferred language using PreferredLanguage. Adding a \n preferred language can help Amazon Transcribe identify the language faster than if you omit this \n parameter.

        \n

        If you have multi-channel audio that contains different languages on each channel, and you've \n enabled channel identification, automatic language identification identifies the dominant language on \n each audio channel.

        \n

        Note that you must include either LanguageCode or \n IdentifyLanguage or IdentifyMultipleLanguages in your request. If you include more than one of these parameters, your transcription job\n fails.

        \n

        Streaming language identification can't be combined with custom language models or \n redaction.

        ", "smithy.api#httpHeader": "x-amzn-transcribe-identify-language" } }, "LanguageOptions": { "target": "com.amazonaws.transcribestreaming#LanguageOptions", "traits": { - "smithy.api#documentation": "

        Specify two or more language codes that represent the languages you think may be present \n in your media; including more than five is not recommended. If you're unsure what languages are present, do\n not include this parameter.

        \n

        Including language options can improve the accuracy of language identification.

        \n

        If you include LanguageOptions in your request, you must also include \n IdentifyLanguage.

        \n

        For a list of languages supported with Amazon Transcribe streaming, refer to the \n Supported \n languages table.

        \n \n

        You can only include one language dialect per language per stream. For example, you\n cannot include en-US and en-AU in the same request.

        \n
        ", + "smithy.api#documentation": "

        Specify two or more language codes that represent the languages you think may be present \n in your media; including more than five is not recommended.

        \n

        Including language options can improve the accuracy of language identification.

        \n

        If you include LanguageOptions in your request, you must also include \n IdentifyLanguage or IdentifyMultipleLanguages.

        \n

        For a list of languages supported with Amazon Transcribe streaming, refer to the \n Supported \n languages table.

        \n \n

        You can only include one language dialect per language per stream. For example, you\n cannot include en-US and en-AU in the same request.

        \n
        ", "smithy.api#httpHeader": "x-amzn-transcribe-language-options" } }, @@ -2052,7 +3218,7 @@ "target": "com.amazonaws.transcribestreaming#Boolean", "traits": { "smithy.api#default": false, - "smithy.api#documentation": "

        Enables automatic multi-language identification in your transcription job request. Use this parameter if your stream contains more than one language. If your stream contains only one language, use IdentifyLanguage instead.

        \n

        If you include IdentifyMultipleLanguages, you can optionally include a list of language codes, using LanguageOptions, that you think may be present in your stream. Including LanguageOptions restricts IdentifyMultipleLanguages to only the language options that you specify, which can improve transcription accuracy.

        \n

        If you want to apply a custom vocabulary or a custom vocabulary filter to your automatic multiple language identification request, include VocabularyNames or VocabularyFilterNames.

        \n

        Note that you must include one of LanguageCode, IdentifyLanguage, or IdentifyMultipleLanguages in your request. If you include more than one of these parameters, your transcription job fails.

        ", + "smithy.api#documentation": "

        Enables automatic multi-language identification in your transcription job request. Use this parameter if your stream contains more than one language. If your stream contains only one language, use IdentifyLanguage instead.

        \n

        If you include IdentifyMultipleLanguages, you must include a list of language codes, using LanguageOptions, that you think may be present in your stream.

        \n

        If you want to apply a custom vocabulary or a custom vocabulary filter to your automatic multiple language identification request, include VocabularyNames or VocabularyFilterNames.

        \n

        Note that you must include one of LanguageCode, IdentifyLanguage, or IdentifyMultipleLanguages in your request. If you include more than one of these parameters, your transcription job fails.

        ", "smithy.api#httpHeader": "x-amzn-transcribe-identify-multiple-languages" } }, @@ -2153,7 +3319,7 @@ "target": "com.amazonaws.transcribestreaming#Boolean", "traits": { "smithy.api#default": false, - "smithy.api#documentation": "

        Shows whether channel identification was enabled for your transcription.

        ", + "smithy.api#documentation": "

        Shows whether channel identification was enabled for your transcription.

        ", "smithy.api#httpHeader": "x-amzn-transcribe-enable-channel-identification" } }, @@ -2295,9 +3461,15 @@ "type": "service", "version": "2017-10-26", "operations": [ + { + "target": "com.amazonaws.transcribestreaming#GetMedicalScribeStream" + }, { "target": "com.amazonaws.transcribestreaming#StartCallAnalyticsStreamTranscription" }, + { + "target": "com.amazonaws.transcribestreaming#StartMedicalScribeStream" + }, { "target": "com.amazonaws.transcribestreaming#StartMedicalStreamTranscription" }, @@ -2325,7 +3497,7 @@ "h2" ] }, - "smithy.api#documentation": "

        Amazon Transcribe streaming offers three main types of real-time transcription: \n Standard, Medical, and \n Call Analytics.

        \n
          \n
        • \n

          \n Standard transcriptions are the most common option. Refer\n to for details.

          \n
        • \n
        • \n

          \n Medical transcriptions are tailored to medical professionals \n and incorporate medical terms. A common use case for this service is transcribing doctor-patient \n dialogue in real time, so doctors can focus on their patient instead of taking notes. Refer to\n for details.

          \n
        • \n
        • \n

          \n Call Analytics transcriptions are designed for use with call\n center audio on two different channels; if you're looking for insight into customer service calls, use this \n option. Refer to for details.

          \n
        • \n
        ", + "smithy.api#documentation": "

        Amazon Transcribe streaming offers four main types of real-time transcription:\n Standard, Medical,\n Call Analytics,\n and Health Scribe.

        \n
          \n
        • \n

          \n Standard transcriptions are the most common option. Refer\n to for details.

          \n
        • \n
        • \n

          \n Medical transcriptions are tailored to medical professionals \n and incorporate medical terms. A common use case for this service is transcribing doctor-patient \n dialogue in real time, so doctors can focus on their patient instead of taking notes. Refer to\n for details.

          \n
        • \n
        • \n

          \n Call Analytics transcriptions are designed for use with call\n center audio on two different channels; if you're looking for insight into customer service calls, use this \n option. Refer to for details.

          \n
        • \n
        • \n

          \n HealthScribe transcriptions are designed to\n automatically create clinical notes from patient-clinician conversations using generative AI.\n Refer to [here] for details.

          \n
        • \n
        ", "smithy.api#title": "Amazon Transcribe Streaming Service", "smithy.rules#endpointRuleSet": { "version": "1.0", @@ -3203,6 +4375,16 @@ } } }, + "com.amazonaws.transcribestreaming#Uri": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 2000 + }, + "smithy.api#pattern": "^(s3://|http(s*)://).+$" + } + }, "com.amazonaws.transcribestreaming#UtteranceEvent": { "type": "structure", "members": { diff --git a/tools/code-generation/smithy/api-descriptions/transfer.json b/tools/code-generation/smithy/api-descriptions/transfer.json index 9ed633734e3..18d7db616bc 100644 --- a/tools/code-generation/smithy/api-descriptions/transfer.json +++ b/tools/code-generation/smithy/api-descriptions/transfer.json @@ -714,7 +714,7 @@ "iam:PassRole" ] }, - "smithy.api#documentation": "

        Creates an agreement. An agreement is a bilateral trading partner agreement, or partnership,\n between an Transfer Family server and an AS2 process. The agreement defines the file and message\n transfer relationship between the server and the AS2 process. To define an agreement, Transfer Family\n combines a server, local profile, partner profile, certificate, and other\n attributes.

        \n

        The partner is identified with the PartnerProfileId, and the AS2 process is identified with the LocalProfileId.

        " + "smithy.api#documentation": "

        Creates an agreement. An agreement is a bilateral trading partner agreement, or partnership,\n between an Transfer Family server and an AS2 process. The agreement defines the file and message\n transfer relationship between the server and the AS2 process. To define an agreement, Transfer Family\n combines a server, local profile, partner profile, certificate, and other\n attributes.

        \n

        The partner is identified with the PartnerProfileId, and the AS2 process is identified with the LocalProfileId.

        \n \n

        Specify either\n BaseDirectory or CustomDirectories, but not both. Specifying both causes the command to fail.

        \n
        " } }, "com.amazonaws.transfer#CreateAgreementRequest": { @@ -750,8 +750,7 @@ "BaseDirectory": { "target": "com.amazonaws.transfer#HomeDirectory", "traits": { - "smithy.api#documentation": "

        The landing directory (folder) for files transferred by using the AS2 protocol.

        \n

        A BaseDirectory example is\n /amzn-s3-demo-bucket/home/mydirectory.

        ", - "smithy.api#required": {} + "smithy.api#documentation": "

        The landing directory (folder) for files transferred by using the AS2 protocol.

        \n

        A BaseDirectory example is\n /amzn-s3-demo-bucket/home/mydirectory.

        " } }, "AccessRole": { @@ -784,6 +783,12 @@ "traits": { "smithy.api#documentation": "

        \n Determines whether or not unsigned messages from your trading partners will be accepted.\n

        \n
          \n
        • \n

          \n ENABLED: Transfer Family rejects unsigned messages from your trading partner.

          \n
        • \n
        • \n

          \n DISABLED (default value): Transfer Family accepts unsigned messages from your trading partner.

          \n
        • \n
        " } + }, + "CustomDirectories": { + "target": "com.amazonaws.transfer#CustomDirectoriesType", + "traits": { + "smithy.api#documentation": "

        A CustomDirectoriesType structure. This structure specifies custom directories for storing various AS2 message files. You can specify directories for the following types of files.

        \n
          \n
        • \n

          Failed files

          \n
        • \n
        • \n

          MDN files

          \n
        • \n
        • \n

          Payload files

          \n
        • \n
        • \n

          Status files

          \n
        • \n
        • \n

          Temporary files

          \n
        • \n
        " + } } }, "traits": { @@ -1487,6 +1492,49 @@ "smithy.api#output": {} } }, + "com.amazonaws.transfer#CustomDirectoriesType": { + "type": "structure", + "members": { + "FailedFilesDirectory": { + "target": "com.amazonaws.transfer#HomeDirectory", + "traits": { + "smithy.api#documentation": "

        Specifies a location to store failed AS2 message files.

        ", + "smithy.api#required": {} + } + }, + "MdnFilesDirectory": { + "target": "com.amazonaws.transfer#HomeDirectory", + "traits": { + "smithy.api#documentation": "

        Specifies a location to store MDN files.

        ", + "smithy.api#required": {} + } + }, + "PayloadFilesDirectory": { + "target": "com.amazonaws.transfer#HomeDirectory", + "traits": { + "smithy.api#documentation": "

        Specifies a location to store the payload for AS2 message files.

        ", + "smithy.api#required": {} + } + }, + "StatusFilesDirectory": { + "target": "com.amazonaws.transfer#HomeDirectory", + "traits": { + "smithy.api#documentation": "

        Specifies a location to store AS2 status messages.

        ", + "smithy.api#required": {} + } + }, + "TemporaryFilesDirectory": { + "target": "com.amazonaws.transfer#HomeDirectory", + "traits": { + "smithy.api#documentation": "

        Specifies a location to store temporary AS2 message files.

        ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

        Contains Amazon S3 locations for storing specific types of AS2 message files.

        " + } + }, "com.amazonaws.transfer#CustomStepDetails": { "type": "structure", "members": { @@ -3248,6 +3296,12 @@ "traits": { "smithy.api#documentation": "

        \n Determines whether or not unsigned messages from your trading partners will be accepted.\n

        \n
          \n
        • \n

          \n ENABLED: Transfer Family rejects unsigned messages from your trading partner.

          \n
        • \n
        • \n

          \n DISABLED (default value): Transfer Family accepts unsigned messages from your trading partner.

          \n
        • \n
        " } + }, + "CustomDirectories": { + "target": "com.amazonaws.transfer#CustomDirectoriesType", + "traits": { + "smithy.api#documentation": "

        A CustomDirectoriesType structure. This structure specifies custom directories for storing various AS2 message files. You can specify directories for the following types of files.

        \n
          \n
        • \n

          Failed files

          \n
        • \n
        • \n

          MDN files

          \n
        • \n
        • \n

          Payload files

          \n
        • \n
        • \n

          Status files

          \n
        • \n
        • \n

          Temporary files

          \n
        • \n
        " + } } }, "traits": { @@ -10014,7 +10068,7 @@ "iam:PassRole" ] }, - "smithy.api#documentation": "

        Updates some of the parameters for an existing agreement. Provide the\n AgreementId and the ServerId for the agreement that you want to\n update, along with the new values for the parameters to update.

        " + "smithy.api#documentation": "

        Updates some of the parameters for an existing agreement. Provide the\n AgreementId and the ServerId for the agreement that you want to\n update, along with the new values for the parameters to update.

        \n \n

        Specify either\n BaseDirectory or CustomDirectories, but not both. Specifying both causes the command to fail.

        \n

        If you update an agreement from using base directory to custom directories, the base directory is no longer used. Similarly, if you change from custom directories to a base directory, the custom directories are no longer used.

        \n
        " } }, "com.amazonaws.transfer#UpdateAgreementRequest": { @@ -10081,6 +10135,12 @@ "traits": { "smithy.api#documentation": "

        \n Determines whether or not unsigned messages from your trading partners will be accepted.\n

        \n
          \n
        • \n

          \n ENABLED: Transfer Family rejects unsigned messages from your trading partner.

          \n
        • \n
        • \n

          \n DISABLED (default value): Transfer Family accepts unsigned messages from your trading partner.

          \n
        • \n
        " } + }, + "CustomDirectories": { + "target": "com.amazonaws.transfer#CustomDirectoriesType", + "traits": { + "smithy.api#documentation": "

        A CustomDirectoriesType structure. This structure specifies custom directories for storing various AS2 message files. You can specify directories for the following types of files.

        \n
          \n
        • \n

          Failed files

          \n
        • \n
        • \n

          MDN files

          \n
        • \n
        • \n

          Payload files

          \n
        • \n
        • \n

          Status files

          \n
        • \n
        • \n

          Temporary files

          \n
        • \n
        " + } } }, "traits": { diff --git a/tools/code-generation/smithy/api-descriptions/verifiedpermissions.json b/tools/code-generation/smithy/api-descriptions/verifiedpermissions.json index b232e0bd31d..96d278daa11 100644 --- a/tools/code-generation/smithy/api-descriptions/verifiedpermissions.json +++ b/tools/code-generation/smithy/api-descriptions/verifiedpermissions.json @@ -109,7 +109,7 @@ "ipaddr": { "target": "com.amazonaws.verifiedpermissions#IpAddr", "traits": { - "smithy.api#documentation": "

        An attribute value of ipaddr type.

        \n

        Example: {\"ip\": \"192.168.1.100\"}\n

        " + "smithy.api#documentation": "

        An attribute value of ipaddr\n type.

        \n

        Example: {\"ip\": \"192.168.1.100\"}\n

        " } }, "decimal": { @@ -277,7 +277,7 @@ } }, "traits": { - "smithy.api#documentation": "

        Contains the information about an error resulting from a BatchGetPolicy API call.

        " + "smithy.api#documentation": "

        Contains the information about an error resulting from a BatchGetPolicy\n API call.

        " } }, "com.amazonaws.verifiedpermissions#BatchGetPolicyErrorList": { @@ -307,7 +307,7 @@ "policyStoreId": { "target": "com.amazonaws.verifiedpermissions#PolicyStoreId", "traits": { - "smithy.api#documentation": "

        The identifier of the policy store where the policy you want information about is stored.

        ", + "smithy.api#documentation": "

        The identifier of the policy store where the policy you want information about is\n stored.

        ", "smithy.api#required": {} } }, @@ -320,7 +320,7 @@ } }, "traits": { - "smithy.api#documentation": "

        Information about a policy that you include in a BatchGetPolicy API request.

        ", + "smithy.api#documentation": "

        Information about a policy that you include in a BatchGetPolicy API\n request.

        ", "smithy.api#references": [ { "resource": "com.amazonaws.verifiedpermissions#PolicyStore" @@ -371,7 +371,7 @@ "policyStoreId": { "target": "com.amazonaws.verifiedpermissions#PolicyStoreId", "traits": { - "smithy.api#documentation": "

        The identifier of the policy store where the policy you want information about is stored.

        ", + "smithy.api#documentation": "

        The identifier of the policy store where the policy you want information about is\n stored.

        ", "smithy.api#required": {} } }, @@ -412,7 +412,7 @@ } }, "traits": { - "smithy.api#documentation": "

        Contains information about a policy returned from a BatchGetPolicy API request.

        " + "smithy.api#documentation": "

        Contains information about a policy returned from a BatchGetPolicy API\n request.

        " } }, "com.amazonaws.verifiedpermissions#BatchGetPolicyOutputList": { @@ -927,13 +927,13 @@ "action": { "target": "com.amazonaws.verifiedpermissions#ActionIdentifier", "traits": { - "smithy.api#documentation": "

        Specifies the requested action to be authorized. For example,\n PhotoFlash::ReadPhoto.

        " + "smithy.api#documentation": "

        Specifies the requested action to be authorized. For example,\n PhotoFlash::ReadPhoto.

        " } }, "resource": { "target": "com.amazonaws.verifiedpermissions#EntityIdentifier", "traits": { - "smithy.api#documentation": "

        Specifies the resource that you want an authorization decision for. For example,\n PhotoFlash::Photo.

        " + "smithy.api#documentation": "

        Specifies the resource that you want an authorization decision for. For example,\n PhotoFlash::Photo.

        " } }, "context": { @@ -992,27 +992,27 @@ "decision": { "target": "com.amazonaws.verifiedpermissions#Decision", "traits": { - "smithy.api#documentation": "

        An authorization decision that indicates if the authorization request should be allowed\n or denied.

        ", + "smithy.api#documentation": "

        An authorization decision that indicates if the authorization request should be\n allowed or denied.

        ", "smithy.api#required": {} } }, "determiningPolicies": { "target": "com.amazonaws.verifiedpermissions#DeterminingPolicyList", "traits": { - "smithy.api#documentation": "

        The list of determining policies used to make the authorization decision. For example,\n if there are two matching policies, where one is a forbid and the other is a permit, then\n the forbid policy will be the determining policy. In the case of multiple matching permit\n policies then there would be multiple determining policies. In the case that no policies\n match, and hence the response is DENY, there would be no determining policies.

        ", + "smithy.api#documentation": "

        The list of determining policies used to make the authorization decision. For example,\n if there are two matching policies, where one is a forbid and the other is a permit,\n then the forbid policy will be the determining policy. In the case of multiple matching\n permit policies then there would be multiple determining policies. In the case that no\n policies match, and hence the response is DENY, there would be no determining\n policies.

        ", "smithy.api#required": {} } }, "errors": { "target": "com.amazonaws.verifiedpermissions#EvaluationErrorList", "traits": { - "smithy.api#documentation": "

        Errors that occurred while making an authorization decision. For example, a policy might\n reference an entity or attribute that doesn't exist in the request.

        ", + "smithy.api#documentation": "

        Errors that occurred while making an authorization decision. For example, a policy\n might reference an entity or attribute that doesn't exist in the request.

        ", "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "

        The decision, based on policy evaluation, from an individual authorization request in a\n BatchIsAuthorizedWithToken API request.

        " + "smithy.api#documentation": "

        The decision, based on policy evaluation, from an individual authorization request in\n a BatchIsAuthorizedWithToken API request.

        " } }, "com.amazonaws.verifiedpermissions#BatchIsAuthorizedWithTokenOutputList": { @@ -1027,6 +1027,12 @@ "smithy.api#sensitive": {} } }, + "com.amazonaws.verifiedpermissions#CedarJson": { + "type": "string", + "traits": { + "smithy.api#sensitive": {} + } + }, "com.amazonaws.verifiedpermissions#Claim": { "type": "string", "traits": { @@ -1071,7 +1077,7 @@ } }, "traits": { - "smithy.api#documentation": "

        The type of entity that a policy store maps to groups from an Amazon Cognito user \n pool identity source.

        \n

        This data type is part of a CognitoUserPoolConfiguration structure and is a request parameter in CreateIdentitySource.

        " + "smithy.api#documentation": "

        The type of entity that a policy store maps to groups from an Amazon Cognito user\n pool identity source.

        \n

        This data type is part of a CognitoUserPoolConfiguration structure and is a request parameter in CreateIdentitySource.

        " } }, "com.amazonaws.verifiedpermissions#CognitoGroupConfigurationDetail": { @@ -1085,7 +1091,7 @@ } }, "traits": { - "smithy.api#documentation": "

        The type of entity that a policy store maps to groups from an Amazon Cognito user \n pool identity source.

        \n

        This data type is part of an CognitoUserPoolConfigurationDetail structure and is a response parameter to\n GetIdentitySource.

        " + "smithy.api#documentation": "

        The type of entity that a policy store maps to groups from an Amazon Cognito user\n pool identity source.

        \n

        This data type is part of an CognitoUserPoolConfigurationDetail structure and is a response parameter to\n GetIdentitySource.

        " } }, "com.amazonaws.verifiedpermissions#CognitoGroupConfigurationItem": { @@ -1099,7 +1105,7 @@ } }, "traits": { - "smithy.api#documentation": "

        The type of entity that a policy store maps to groups from an Amazon Cognito user \n pool identity source.

        \n

        This data type is part of an CognitoUserPoolConfigurationItem structure and is a response parameter to\n ListIdentitySources.

        " + "smithy.api#documentation": "

        The type of entity that a policy store maps to groups from an Amazon Cognito user\n pool identity source.

        \n

        This data type is part of an CognitoUserPoolConfigurationItem structure and is a response parameter to\n ListIdentitySources.

        " } }, "com.amazonaws.verifiedpermissions#CognitoUserPoolConfiguration": { @@ -1121,12 +1127,12 @@ "groupConfiguration": { "target": "com.amazonaws.verifiedpermissions#CognitoGroupConfiguration", "traits": { - "smithy.api#documentation": "

        The type of entity that a policy store maps to groups from an Amazon Cognito user \n pool identity source.

        " + "smithy.api#documentation": "

        The type of entity that a policy store maps to groups from an Amazon Cognito user\n pool identity source.

        " } } }, "traits": { - "smithy.api#documentation": "

        The configuration for an identity source that represents a connection to an Amazon Cognito user pool used\n as an identity provider for Verified Permissions.

        \n

        This data type part of a Configuration structure that is\n used as a parameter to CreateIdentitySource.

        \n

        Example:\"CognitoUserPoolConfiguration\":{\"UserPoolArn\":\"arn:aws:cognito-idp:us-east-1:123456789012:userpool/us-east-1_1a2b3c4d5\",\"ClientIds\":\n [\"a1b2c3d4e5f6g7h8i9j0kalbmc\"],\"groupConfiguration\": {\"groupEntityType\": \"MyCorp::Group\"}}\n

        " + "smithy.api#documentation": "

        The configuration for an identity source that represents a connection to an Amazon Cognito user pool used\n as an identity provider for Verified Permissions.

        \n

        This data type part of a Configuration structure that is\n used as a parameter to CreateIdentitySource.

        \n

        Example:\"CognitoUserPoolConfiguration\":{\"UserPoolArn\":\"arn:aws:cognito-idp:us-east-1:123456789012:userpool/us-east-1_1a2b3c4d5\",\"ClientIds\":\n [\"a1b2c3d4e5f6g7h8i9j0kalbmc\"],\"groupConfiguration\": {\"groupEntityType\":\n \"MyCorp::Group\"}}\n

        " } }, "com.amazonaws.verifiedpermissions#CognitoUserPoolConfigurationDetail": { @@ -1135,7 +1141,7 @@ "userPoolArn": { "target": "com.amazonaws.verifiedpermissions#UserPoolArn", "traits": { - "smithy.api#documentation": "

        The Amazon Resource Name (ARN) of the Amazon Cognito user pool that contains the identities to be\n authorized.

        \n

        Example: \"userPoolArn\":\n \"arn:aws:cognito-idp:us-east-1:123456789012:userpool/us-east-1_1a2b3c4d5\"\n

        ", + "smithy.api#documentation": "

        The Amazon Resource Name (ARN) of the Amazon Cognito user pool that contains the identities to be\n authorized.

        \n

        Example: \"userPoolArn\":\n \"arn:aws:cognito-idp:us-east-1:123456789012:userpool/us-east-1_1a2b3c4d5\"\n

        ", "smithy.api#required": {} } }, @@ -1149,19 +1155,19 @@ "issuer": { "target": "com.amazonaws.verifiedpermissions#Issuer", "traits": { - "smithy.api#documentation": "

        The OpenID Connect (OIDC) issuer ID of the Amazon Cognito user pool that contains the identities to be\n authorized.

        \n

        Example: \"issuer\":\n \"https://cognito-idp.us-east-1.amazonaws.com/us-east-1_1a2b3c4d5\"\n

        ", + "smithy.api#documentation": "

        The OpenID Connect (OIDC) issuer ID of the Amazon Cognito user pool that contains\n the identities to be authorized.

        \n

        Example: \"issuer\":\n \"https://cognito-idp.us-east-1.amazonaws.com/us-east-1_1a2b3c4d5\"\n

        ", "smithy.api#required": {} } }, "groupConfiguration": { "target": "com.amazonaws.verifiedpermissions#CognitoGroupConfigurationDetail", "traits": { - "smithy.api#documentation": "

        The type of entity that a policy store maps to groups from an Amazon Cognito user \n pool identity source.

        " + "smithy.api#documentation": "

        The type of entity that a policy store maps to groups from an Amazon Cognito user\n pool identity source.

        " } } }, "traits": { - "smithy.api#documentation": "

        The configuration for an identity source that represents a connection to an Amazon Cognito user pool used\n as an identity provider for Verified Permissions.

        \n

        This data type is used as a field that is part of an ConfigurationDetail structure that is\n part of the response to GetIdentitySource.

        \n

        Example:\"CognitoUserPoolConfiguration\":{\"UserPoolArn\":\"arn:aws:cognito-idp:us-east-1:123456789012:userpool/us-east-1_1a2b3c4d5\",\"ClientIds\":\n [\"a1b2c3d4e5f6g7h8i9j0kalbmc\"],\"groupConfiguration\": {\"groupEntityType\": \"MyCorp::Group\"}}\n

        " + "smithy.api#documentation": "

        The configuration for an identity source that represents a connection to an Amazon Cognito user pool used\n as an identity provider for Verified Permissions.

        \n

        This data type is used as a field that is part of an ConfigurationDetail\n structure that is part of the response to GetIdentitySource.

        \n

        Example:\"CognitoUserPoolConfiguration\":{\"UserPoolArn\":\"arn:aws:cognito-idp:us-east-1:123456789012:userpool/us-east-1_1a2b3c4d5\",\"ClientIds\":\n [\"a1b2c3d4e5f6g7h8i9j0kalbmc\"],\"groupConfiguration\": {\"groupEntityType\":\n \"MyCorp::Group\"}}\n

        " } }, "com.amazonaws.verifiedpermissions#CognitoUserPoolConfigurationItem": { @@ -1170,7 +1176,7 @@ "userPoolArn": { "target": "com.amazonaws.verifiedpermissions#UserPoolArn", "traits": { - "smithy.api#documentation": "

        The Amazon Resource Name (ARN) of the Amazon Cognito user pool that contains the identities to be\n authorized.

        \n

        Example: \"userPoolArn\":\n \"arn:aws:cognito-idp:us-east-1:123456789012:userpool/us-east-1_1a2b3c4d5\"\n

        ", + "smithy.api#documentation": "

        The Amazon Resource Name (ARN) of the Amazon Cognito user pool that contains the identities to be\n authorized.

        \n

        Example: \"userPoolArn\":\n \"arn:aws:cognito-idp:us-east-1:123456789012:userpool/us-east-1_1a2b3c4d5\"\n

        ", "smithy.api#required": {} } }, @@ -1184,19 +1190,19 @@ "issuer": { "target": "com.amazonaws.verifiedpermissions#Issuer", "traits": { - "smithy.api#documentation": "

        The OpenID Connect (OIDC) issuer ID of the Amazon Cognito user pool that contains the identities to be\n authorized.

        \n

        Example: \"issuer\":\n \"https://cognito-idp.us-east-1.amazonaws.com/us-east-1_1a2b3c4d5\"\n

        ", + "smithy.api#documentation": "

        The OpenID Connect (OIDC) issuer ID of the Amazon Cognito user pool that contains\n the identities to be authorized.

        \n

        Example: \"issuer\":\n \"https://cognito-idp.us-east-1.amazonaws.com/us-east-1_1a2b3c4d5\"\n

        ", "smithy.api#required": {} } }, "groupConfiguration": { "target": "com.amazonaws.verifiedpermissions#CognitoGroupConfigurationItem", "traits": { - "smithy.api#documentation": "

        The type of entity that a policy store maps to groups from an Amazon Cognito user \n pool identity source.

        " + "smithy.api#documentation": "

        The type of entity that a policy store maps to groups from an Amazon Cognito user\n pool identity source.

        " } } }, "traits": { - "smithy.api#documentation": "

        The configuration for an identity source that represents a connection to an Amazon Cognito user pool used\n as an identity provider for Verified Permissions.

        \n

        This data type is used as a field that is part of the ConfigurationItem structure that is\n part of the response to ListIdentitySources.

        \n

        Example:\"CognitoUserPoolConfiguration\":{\"UserPoolArn\":\"arn:aws:cognito-idp:us-east-1:123456789012:userpool/us-east-1_1a2b3c4d5\",\"ClientIds\":\n [\"a1b2c3d4e5f6g7h8i9j0kalbmc\"],\"groupConfiguration\": {\"groupEntityType\": \"MyCorp::Group\"}}\n

        " + "smithy.api#documentation": "

        The configuration for an identity source that represents a connection to an Amazon Cognito user pool used\n as an identity provider for Verified Permissions.

        \n

        This data type is used as a field that is part of the ConfigurationItem structure\n that is part of the response to ListIdentitySources.

        \n

        Example:\"CognitoUserPoolConfiguration\":{\"UserPoolArn\":\"arn:aws:cognito-idp:us-east-1:123456789012:userpool/us-east-1_1a2b3c4d5\",\"ClientIds\":\n [\"a1b2c3d4e5f6g7h8i9j0kalbmc\"],\"groupConfiguration\": {\"groupEntityType\":\n \"MyCorp::Group\"}}\n

        " } }, "com.amazonaws.verifiedpermissions#Configuration": { @@ -1205,7 +1211,7 @@ "cognitoUserPoolConfiguration": { "target": "com.amazonaws.verifiedpermissions#CognitoUserPoolConfiguration", "traits": { - "smithy.api#documentation": "

        Contains configuration details of a Amazon Cognito user pool that Verified Permissions can use as a source of\n authenticated identities as entities. It specifies the Amazon Resource Name (ARN) of a Amazon Cognito user pool\n and one or more application client IDs.

        \n

        Example:\n \"configuration\":{\"cognitoUserPoolConfiguration\":{\"userPoolArn\":\"arn:aws:cognito-idp:us-east-1:123456789012:userpool/us-east-1_1a2b3c4d5\",\"clientIds\":\n [\"a1b2c3d4e5f6g7h8i9j0kalbmc\"],\"groupConfiguration\": {\"groupEntityType\": \"MyCorp::Group\"}}}\n

        " + "smithy.api#documentation": "

        Contains configuration details of a Amazon Cognito user pool that Verified Permissions can use as a source of\n authenticated identities as entities. It specifies the Amazon Resource Name (ARN) of a Amazon Cognito user pool\n and one or more application client IDs.

        \n

        Example:\n \"configuration\":{\"cognitoUserPoolConfiguration\":{\"userPoolArn\":\"arn:aws:cognito-idp:us-east-1:123456789012:userpool/us-east-1_1a2b3c4d5\",\"clientIds\":\n [\"a1b2c3d4e5f6g7h8i9j0kalbmc\"],\"groupConfiguration\": {\"groupEntityType\":\n \"MyCorp::Group\"}}}\n

        " } }, "openIdConnectConfiguration": { @@ -1225,7 +1231,7 @@ "cognitoUserPoolConfiguration": { "target": "com.amazonaws.verifiedpermissions#CognitoUserPoolConfigurationDetail", "traits": { - "smithy.api#documentation": "

        Contains configuration details of a Amazon Cognito user pool that Verified Permissions can use as a source of\n authenticated identities as entities. It specifies the Amazon Resource Name (ARN) of a Amazon Cognito user pool,\n the policy store entity that you want to assign to user groups,\n and one or more application client IDs.

        \n

        Example:\n \"configuration\":{\"cognitoUserPoolConfiguration\":{\"userPoolArn\":\"arn:aws:cognito-idp:us-east-1:123456789012:userpool/us-east-1_1a2b3c4d5\",\"clientIds\":\n [\"a1b2c3d4e5f6g7h8i9j0kalbmc\"],\"groupConfiguration\": {\"groupEntityType\": \"MyCorp::Group\"}}}\n

        " + "smithy.api#documentation": "

        Contains configuration details of a Amazon Cognito user pool that Verified Permissions can use as a source of\n authenticated identities as entities. It specifies the Amazon Resource Name (ARN) of a Amazon Cognito user pool,\n the policy store entity that you want to assign to user groups, and one or more\n application client IDs.

        \n

        Example:\n \"configuration\":{\"cognitoUserPoolConfiguration\":{\"userPoolArn\":\"arn:aws:cognito-idp:us-east-1:123456789012:userpool/us-east-1_1a2b3c4d5\",\"clientIds\":\n [\"a1b2c3d4e5f6g7h8i9j0kalbmc\"],\"groupConfiguration\": {\"groupEntityType\":\n \"MyCorp::Group\"}}}\n

        " } }, "openIdConnectConfiguration": { @@ -1245,7 +1251,7 @@ "cognitoUserPoolConfiguration": { "target": "com.amazonaws.verifiedpermissions#CognitoUserPoolConfigurationItem", "traits": { - "smithy.api#documentation": "

        Contains configuration details of a Amazon Cognito user pool that Verified Permissions can use as a source of\n authenticated identities as entities. It specifies the Amazon Resource Name (ARN) of a Amazon Cognito user pool,\n the policy store entity that you want to assign to user groups,\n and one or more application client IDs.

        \n

        Example:\n \"configuration\":{\"cognitoUserPoolConfiguration\":{\"userPoolArn\":\"arn:aws:cognito-idp:us-east-1:123456789012:userpool/us-east-1_1a2b3c4d5\",\"clientIds\":\n [\"a1b2c3d4e5f6g7h8i9j0kalbmc\"],\"groupConfiguration\": {\"groupEntityType\": \"MyCorp::Group\"}}}\n

        " + "smithy.api#documentation": "

        Contains configuration details of a Amazon Cognito user pool that Verified Permissions can use as a source of\n authenticated identities as entities. It specifies the Amazon Resource Name (ARN) of a Amazon Cognito user pool,\n the policy store entity that you want to assign to user groups, and one or more\n application client IDs.

        \n

        Example:\n \"configuration\":{\"cognitoUserPoolConfiguration\":{\"userPoolArn\":\"arn:aws:cognito-idp:us-east-1:123456789012:userpool/us-east-1_1a2b3c4d5\",\"clientIds\":\n [\"a1b2c3d4e5f6g7h8i9j0kalbmc\"],\"groupConfiguration\": {\"groupEntityType\":\n \"MyCorp::Group\"}}}\n

        " } }, "openIdConnectConfiguration": { @@ -1290,10 +1296,16 @@ "traits": { "smithy.api#documentation": "

        An list of attributes that are needed to successfully evaluate an authorization\n request. Each attribute in this array must include a map of a data type and its\n value.

        \n

        Example:\n \"contextMap\":{\"<KeyName1>\":{\"boolean\":true},\"<KeyName2>\":{\"long\":1234}}\n

        " } + }, + "cedarJson": { + "target": "com.amazonaws.verifiedpermissions#CedarJson", + "traits": { + "smithy.api#documentation": "

        A Cedar JSON string representation of the context needed to successfully evaluate an authorization\n request.

        \n

        Example:\n {\"cedarJson\":\"{\\\"<KeyName1>\\\": true, \\\"<KeyName2>\\\": 1234}\" }\n

        " + } } }, "traits": { - "smithy.api#documentation": "

        Contains additional details about the context of the request. Verified Permissions evaluates this\n information in an authorization request as part of the when and\n unless clauses in a policy.

        \n

        This data type is used as a request parameter for the IsAuthorized, BatchIsAuthorized, and IsAuthorizedWithToken\n operations.

        \n

        Example:\n \"context\":{\"contextMap\":{\"<KeyName1>\":{\"boolean\":true},\"<KeyName2>\":{\"long\":1234}}}\n

        " + "smithy.api#documentation": "

        Contains additional details about the context of the request. Verified Permissions evaluates this\n information in an authorization request as part of the when and\n unless clauses in a policy.

        \n

        This data type is used as a request parameter for the IsAuthorized, BatchIsAuthorized, and IsAuthorizedWithToken\n operations.

        \n

        If you're passing context as part of the request, exactly one instance of \n context must be passed. If you don't want to pass context, omit the\n context parameter from your request rather than sending context\n {}.

        \n

        Example:\n \"context\":{\"contextMap\":{\"<KeyName1>\":{\"boolean\":true},\"<KeyName2>\":{\"long\":1234}}}\n

        " } }, "com.amazonaws.verifiedpermissions#ContextMap": { @@ -2176,7 +2188,13 @@ "entityList": { "target": "com.amazonaws.verifiedpermissions#EntityList", "traits": { - "smithy.api#documentation": "

        An array of entities that are needed to successfully evaluate an authorization\n request. Each entity in this array must include an identifier for the entity, the\n attributes of the entity, and a list of any parent entities.

        " + "smithy.api#documentation": "

        An array of entities that are needed to successfully evaluate an authorization\n request. Each entity in this array must include an identifier for the entity, the\n attributes of the entity, and a list of any parent entities.

        \n \n

        If you include multiple entities with the same identifier, only the\n last one is processed in the request.

        \n
        " + } + }, + "cedarJson": { + "target": "com.amazonaws.verifiedpermissions#CedarJson", + "traits": { + "smithy.api#documentation": "

        A Cedar JSON string representation of the entities needed to successfully evaluate an authorization\n request.

        \n

        Example:\n {\"cedarJson\": \"[{\\\"uid\\\":{\\\"type\\\":\\\"Photo\\\",\\\"id\\\":\\\"VacationPhoto94.jpg\\\"},\\\"attrs\\\":{\\\"accessLevel\\\":\\\"public\\\"},\\\"parents\\\":[]}]\"}\n

        " } } }, @@ -3010,7 +3028,7 @@ "smithy.api#deprecated": { "message": "This shape has been replaced by ConfigurationDetail" }, - "smithy.api#documentation": "

        A structure that contains configuration of the identity source.

        \n

        This data type was a response parameter for the GetIdentitySource\n operation. Replaced by ConfigurationDetail.

        " + "smithy.api#documentation": "

        A structure that contains configuration of the identity source.

        \n

        This data type was a response parameter for the GetIdentitySource operation.\n Replaced by ConfigurationDetail.

        " } }, "com.amazonaws.verifiedpermissions#IdentitySourceFilter": { @@ -4147,7 +4165,7 @@ } }, "traits": { - "smithy.api#documentation": "

        Contains configuration details of an OpenID Connect (OIDC) identity provider, or\n identity source, that Verified Permissions can use to generate entities from authenticated identities. It\n specifies the issuer URL, token type that you want to use, and policy store entity\n details.

        \n

        This data type is part of a Configuration structure, which is a\n parameter to CreateIdentitySource.

        " + "smithy.api#documentation": "

        Contains configuration details of an OpenID Connect (OIDC) identity provider, or\n identity source, that Verified Permissions can use to generate entities from authenticated identities. It\n specifies the issuer URL, token type that you want to use, and policy store entity\n details.

        \n

        This data type is part of a Configuration structure, which\n is a parameter to CreateIdentitySource.

        " } }, "com.amazonaws.verifiedpermissions#OpenIdConnectConfigurationDetail": { @@ -4181,7 +4199,7 @@ } }, "traits": { - "smithy.api#documentation": "

        Contains configuration details of an OpenID Connect (OIDC) identity provider, or\n identity source, that Verified Permissions can use to generate entities from authenticated identities. It\n specifies the issuer URL, token type that you want to use, and policy store entity\n details.

        \n

        This data type is part of a ConfigurationDetail structure,\n which is a parameter to GetIdentitySource.

        " + "smithy.api#documentation": "

        Contains configuration details of an OpenID Connect (OIDC) identity provider, or\n identity source, that Verified Permissions can use to generate entities from authenticated identities. It\n specifies the issuer URL, token type that you want to use, and policy store entity\n details.

        \n

        This data type is part of a ConfigurationDetail\n structure, which is a parameter to GetIdentitySource.

        " } }, "com.amazonaws.verifiedpermissions#OpenIdConnectConfigurationItem": { @@ -4215,7 +4233,7 @@ } }, "traits": { - "smithy.api#documentation": "

        Contains configuration details of an OpenID Connect (OIDC) identity provider, or\n identity source, that Verified Permissions can use to generate entities from authenticated identities. It\n specifies the issuer URL, token type that you want to use, and policy store entity\n details.

        \n

        This data type is part of a ConfigurationItem structure,\n which is a parameter to ListIdentitySources.

        " + "smithy.api#documentation": "

        Contains configuration details of an OpenID Connect (OIDC) identity provider, or\n identity source, that Verified Permissions can use to generate entities from authenticated identities. It\n specifies the issuer URL, token type that you want to use, and policy store entity\n details.

        \n

        This data type is part of a ConfigurationItem\n structure, which is a parameter to ListIdentitySources.

        " } }, "com.amazonaws.verifiedpermissions#OpenIdConnectGroupConfiguration": { @@ -4323,7 +4341,7 @@ } }, "traits": { - "smithy.api#documentation": "

        The configuration of an OpenID Connect (OIDC) identity source for handling identity (ID)\n token claims. Contains the claim that you want to identify as the principal in an\n authorization request, and the values of the aud claim, or audiences, that\n you want to accept.

        \n

        This data type is part of a OpenIdConnectTokenSelectionDetail structure, which is a parameter of GetIdentitySource.

        " + "smithy.api#documentation": "

        The configuration of an OpenID Connect (OIDC) identity source for handling identity\n (ID) token claims. Contains the claim that you want to identify as the principal in an\n authorization request, and the values of the aud claim, or audiences, that\n you want to accept.

        \n

        This data type is part of a OpenIdConnectTokenSelectionDetail structure, which is a parameter of GetIdentitySource.

        " } }, "com.amazonaws.verifiedpermissions#OpenIdConnectIdentityTokenConfigurationItem": { @@ -4344,7 +4362,7 @@ } }, "traits": { - "smithy.api#documentation": "

        The configuration of an OpenID Connect (OIDC) identity source for handling identity (ID)\n token claims. Contains the claim that you want to identify as the principal in an\n authorization request, and the values of the aud claim, or audiences, that\n you want to accept.

        \n

        This data type is part of a OpenIdConnectTokenSelectionItem structure, which is a parameter of ListIdentitySources.

        " + "smithy.api#documentation": "

        The configuration of an OpenID Connect (OIDC) identity source for handling identity\n (ID) token claims. Contains the claim that you want to identify as the principal in an\n authorization request, and the values of the aud claim, or audiences, that\n you want to accept.

        \n

        This data type is part of a OpenIdConnectTokenSelectionItem structure, which is a parameter of ListIdentitySources.

        " } }, "com.amazonaws.verifiedpermissions#OpenIdConnectTokenSelection": { @@ -5153,7 +5171,7 @@ "cedarJson": { "target": "com.amazonaws.verifiedpermissions#SchemaJson", "traits": { - "smithy.api#documentation": "

        A JSON string representation of the schema supported by applications that use this\n policy store. To delete the schema, run PutSchema with {} for this parameter. \n For more information, see Policy store schema in the\n Amazon Verified Permissions User Guide.

        " + "smithy.api#documentation": "

        A JSON string representation of the schema supported by applications that use this\n policy store. To delete the schema, run PutSchema with {} for\n this parameter. For more information, see Policy store schema in the\n Amazon Verified Permissions User Guide.

        " } } }, @@ -5340,7 +5358,7 @@ } }, "traits": { - "smithy.api#documentation": "

        Contains information about a policy that was created by instantiating a policy template.

        " + "smithy.api#documentation": "

        Contains information about a policy that was created by instantiating a policy\n template.

        " } }, "com.amazonaws.verifiedpermissions#TemplateLinkedPolicyDefinitionItem": { @@ -5430,7 +5448,7 @@ } }, "traits": { - "smithy.api#documentation": "

        The user group entities from an Amazon Cognito user pool identity\n source.

        " + "smithy.api#documentation": "

        The user group entities from an Amazon Cognito user pool identity source.

        " } }, "com.amazonaws.verifiedpermissions#UpdateCognitoUserPoolConfiguration": { @@ -5477,7 +5495,7 @@ } }, "traits": { - "smithy.api#documentation": "

        Contains an update to replace the configuration in an existing\n identity source.

        " + "smithy.api#documentation": "

        Contains an update to replace the configuration in an existing identity source.

        " } }, "com.amazonaws.verifiedpermissions#UpdateIdentitySource": { @@ -5652,7 +5670,7 @@ } }, "traits": { - "smithy.api#documentation": "

        Contains configuration details of an OpenID Connect (OIDC) identity provider, or\n identity source, that Verified Permissions can use to generate entities from authenticated identities. It\n specifies the issuer URL, token type that you want to use, and policy store entity\n details.

        \n

        This data type is part of a UpdateConfiguration structure,\n which is a parameter to UpdateIdentitySource.

        " + "smithy.api#documentation": "

        Contains configuration details of an OpenID Connect (OIDC) identity provider, or\n identity source, that Verified Permissions can use to generate entities from authenticated identities. It\n specifies the issuer URL, token type that you want to use, and policy store entity\n details.

        \n

        This data type is part of a UpdateConfiguration\n structure, which is a parameter to UpdateIdentitySource.

        " } }, "com.amazonaws.verifiedpermissions#UpdateOpenIdConnectGroupConfiguration": { diff --git a/tools/code-generation/smithy/codegen/cpp-smoke-tests/smithy-build.json b/tools/code-generation/smithy/codegen/cpp-smoke-tests/smithy-build.json index 854fdbdac0a..42707d0bde1 100644 --- a/tools/code-generation/smithy/codegen/cpp-smoke-tests/smithy-build.json +++ b/tools/code-generation/smithy/codegen/cpp-smoke-tests/smithy-build.json @@ -1,9 +1,9 @@ { "version": "1.0", "projections": { - "mturk.2017-01-17": { + "billing.2023-09-07": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mturk.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/billing.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -12,9 +12,9 @@ } } }, - "iotanalytics.2017-11-27": { + "mediaconnect.2018-11-14": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iotanalytics.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mediaconnect.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -23,9 +23,9 @@ } } }, - "workspaces.2015-04-08": { + "transcribe-streaming.2017-10-26": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/workspaces.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/transcribe-streaming.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -34,9 +34,9 @@ } } }, - "glacier.2012-06-01": { + "cloudhsm.2014-05-30": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/glacier.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudhsm.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -45,9 +45,9 @@ } } }, - "codedeploy.2014-10-06": { + "cognito-identity-provider.2016-04-18": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codedeploy.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cognito-identity-provider.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -56,9 +56,9 @@ } } }, - "bedrock-agent.2023-06-05": { + "license-manager.2018-08-01": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/bedrock-agent.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/license-manager.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -67,9 +67,9 @@ } } }, - "cloudfront-keyvaluestore.2022-07-26": { + "neptune.2014-10-31": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudfront-keyvaluestore.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/neptune.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -78,9 +78,9 @@ } } }, - "service-catalog.2015-12-10": { + "comprehend.2017-11-27": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/service-catalog.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/comprehend.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -89,9 +89,9 @@ } } }, - "fis.2020-12-01": { + "acm.2015-12-08": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/fis.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/acm.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -100,9 +100,9 @@ } } }, - "invoicing.2024-12-01": { + "iotfleetwise.2021-06-17": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/invoicing.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iotfleetwise.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -111,9 +111,9 @@ } } }, - "databrew.2017-07-25": { + "connect.2017-08-08": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/databrew.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/connect.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -122,9 +122,9 @@ } } }, - "account.2021-02-01": { + "resource-explorer-2.2022-07-28": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/account.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/resource-explorer-2.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -133,9 +133,9 @@ } } }, - "kinesis-video-archived-media.2017-09-30": { + "chime-sdk-meetings.2021-07-15": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kinesis-video-archived-media.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/chime-sdk-meetings.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -144,9 +144,9 @@ } } }, - "ram.2018-01-04": { + "ecr.2015-09-21": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ram.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ecr.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -155,9 +155,9 @@ } } }, - "bedrock-agent-runtime.2023-07-26": { + "securitylake.2018-05-10": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/bedrock-agent-runtime.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/securitylake.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -166,9 +166,9 @@ } } }, - "resource-explorer-2.2022-07-28": { + "cloudwatch.2010-08-01": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/resource-explorer-2.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudwatch.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -177,9 +177,9 @@ } } }, - "elastic-transcoder.2012-09-25": { + "docdb-elastic.2022-11-28": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/elastic-transcoder.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/docdb-elastic.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -188,9 +188,9 @@ } } }, - "mediastore.2017-09-01": { + "migrationhuborchestrator.2021-08-28": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mediastore.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/migrationhuborchestrator.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -199,9 +199,9 @@ } } }, - "eventbridge.2015-10-07": { + "greengrass.2017-06-07": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/eventbridge.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/greengrass.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -210,9 +210,9 @@ } } }, - "mgn.2020-02-26": { + "personalize.2018-05-22": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mgn.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/personalize.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -221,9 +221,9 @@ } } }, - "chime-sdk-meetings.2021-07-15": { + "ses.2010-12-01": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/chime-sdk-meetings.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ses.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -232,9 +232,9 @@ } } }, - "directory-service.2015-04-16": { + "service-catalog-appregistry.2020-06-24": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/directory-service.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/service-catalog-appregistry.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -243,9 +243,9 @@ } } }, - "device-farm.2015-06-23": { + "supplychain.2024-01-01": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/device-farm.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/supplychain.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -254,9 +254,9 @@ } } }, - "cleanrooms.2022-02-17": { + "iot-jobs-data-plane.2017-09-29": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cleanrooms.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iot-jobs-data-plane.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -265,9 +265,9 @@ } } }, - "route53-recovery-control-config.2020-11-02": { + "voice-id.2021-09-27": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/route53-recovery-control-config.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/voice-id.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -276,9 +276,9 @@ } } }, - "greengrass.2017-06-07": { + "chime-sdk-voice.2022-08-03": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/greengrass.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/chime-sdk-voice.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -287,9 +287,9 @@ } } }, - "gamelift.2015-10-01": { + "elastic-inference.2017-07-25": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/gamelift.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/elastic-inference.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -298,9 +298,9 @@ } } }, - "mq.2017-11-27": { + "mwaa.2020-07-01": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mq.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mwaa.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -309,9 +309,9 @@ } } }, - "bcm-data-exports.2023-11-26": { + "lex-model-building-service.2017-04-19": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/bcm-data-exports.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/lex-model-building-service.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -320,9 +320,9 @@ } } }, - "sfn.2016-11-23": { + "sagemaker.2017-07-24": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sfn.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sagemaker.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -331,9 +331,9 @@ } } }, - "ecs.2014-11-13": { + "codebuild.2016-10-06": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ecs.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codebuild.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -342,9 +342,9 @@ } } }, - "timestream-influxdb.2023-01-27": { + "pca-connector-scep.2018-05-10": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/timestream-influxdb.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/pca-connector-scep.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -353,9 +353,9 @@ } } }, - "panorama.2019-07-24": { + "waf.2015-08-24": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/panorama.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/waf.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -364,9 +364,9 @@ } } }, - "braket.2019-09-01": { + "inspector-scan.2023-08-08": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/braket.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/inspector-scan.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -375,9 +375,9 @@ } } }, - "workmail.2017-10-01": { + "rolesanywhere.2018-05-10": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/workmail.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/rolesanywhere.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -386,9 +386,9 @@ } } }, - "resource-groups.2017-11-27": { + "qapps.2023-11-27": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/resource-groups.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/qapps.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -397,9 +397,9 @@ } } }, - "emr-serverless.2021-07-13": { + "sns.2010-03-31": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/emr-serverless.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sns.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -408,9 +408,9 @@ } } }, - "neptune.2014-10-31": { + "pricing.2017-10-15": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/neptune.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/pricing.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -419,9 +419,9 @@ } } }, - "ec2-instance-connect.2018-04-02": { + "elasticsearch-service.2015-01-01": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ec2-instance-connect.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/elasticsearch-service.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -430,9 +430,9 @@ } } }, - "data-pipeline.2012-10-29": { + "pinpoint.2016-12-01": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/data-pipeline.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/pinpoint.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -441,9 +441,9 @@ } } }, - "chime-sdk-identity.2021-04-20": { + "apigatewayv2.2018-11-29": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/chime-sdk-identity.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/apigatewayv2.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -452,9 +452,9 @@ } } }, - "wisdom.2020-10-19": { + "cleanrooms.2022-02-17": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/wisdom.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cleanrooms.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -463,9 +463,9 @@ } } }, - "security-ir.2018-05-10": { + "iotsecuretunneling.2018-10-05": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/security-ir.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iotsecuretunneling.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -474,9 +474,9 @@ } } }, - "accessanalyzer.2019-11-01": { + "route53profiles.2018-05-10": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/accessanalyzer.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/route53profiles.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -485,9 +485,9 @@ } } }, - "pinpoint-email.2018-07-26": { + "s3tables.2018-05-10": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/pinpoint-email.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/s3tables.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -496,9 +496,9 @@ } } }, - "direct-connect.2012-10-25": { + "privatenetworks.2021-12-03": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/direct-connect.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/privatenetworks.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -507,9 +507,9 @@ } } }, - "kafkaconnect.2021-09-14": { + "kinesis-video-signaling.2019-12-04": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kafkaconnect.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kinesis-video-signaling.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -518,9 +518,9 @@ } } }, - "osis.2022-01-01": { + "kinesis-video-archived-media.2017-09-30": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/osis.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kinesis-video-archived-media.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -529,9 +529,9 @@ } } }, - "inspector.2016-02-16": { + "global-accelerator.2018-08-08": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/inspector.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/global-accelerator.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -540,9 +540,9 @@ } } }, - "deadline.2023-10-12": { + "chime-sdk-messaging.2021-05-15": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/deadline.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/chime-sdk-messaging.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -551,9 +551,9 @@ } } }, - "apigatewayv2.2018-11-29": { + "budgets.2016-10-20": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/apigatewayv2.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/budgets.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -562,9 +562,9 @@ } } }, - "appflow.2020-08-23": { + "codedeploy.2014-10-06": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/appflow.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codedeploy.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -573,9 +573,9 @@ } } }, - "finspace-data.2020-07-13": { + "marketplace-commerce-analytics.2015-07-01": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/finspace-data.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/marketplace-commerce-analytics.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -584,9 +584,9 @@ } } }, - "lakeformation.2017-03-31": { + "managedblockchain-query.2023-05-04": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/lakeformation.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/managedblockchain-query.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -595,9 +595,9 @@ } } }, - "s3.2006-03-01": { + "connectcampaigns.2021-01-30": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/s3.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/connectcampaigns.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -606,9 +606,9 @@ } } }, - "database-migration-service.2016-01-01": { + "simspaceweaver.2022-10-28": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/database-migration-service.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/simspaceweaver.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -617,9 +617,9 @@ } } }, - "ivs-realtime.2020-07-14": { + "ebs.2019-11-02": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ivs-realtime.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ebs.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -628,9 +628,9 @@ } } }, - "machine-learning.2014-12-12": { + "redshift-data.2019-12-20": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/machine-learning.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/redshift-data.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -639,9 +639,9 @@ } } }, - "pi.2018-02-27": { + "emr.2009-03-31": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/pi.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/emr.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -650,9 +650,9 @@ } } }, - "lex-model-building-service.2017-04-19": { + "chime-sdk-media-pipelines.2021-07-15": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/lex-model-building-service.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/chime-sdk-media-pipelines.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -661,9 +661,9 @@ } } }, - "imagebuilder.2019-12-02": { + "entityresolution.2018-05-10": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/imagebuilder.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/entityresolution.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -672,9 +672,9 @@ } } }, - "supplychain.2024-01-01": { + "license-manager-user-subscriptions.2018-05-10": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/supplychain.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/license-manager-user-subscriptions.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -683,9 +683,9 @@ } } }, - "securityhub.2018-10-26": { + "rbin.2021-06-15": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/securityhub.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/rbin.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -694,9 +694,9 @@ } } }, - "appconfig.2019-10-09": { + "amplifyuibuilder.2021-08-11": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/appconfig.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/amplifyuibuilder.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -705,9 +705,9 @@ } } }, - "connectcampaignsv2.2024-04-23": { + "quicksight.2018-04-01": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/connectcampaignsv2.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/quicksight.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -716,9 +716,9 @@ } } }, - "bedrock-data-automation.2023-07-26": { + "guardduty.2017-11-28": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/bedrock-data-automation.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/guardduty.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -727,9 +727,9 @@ } } }, - "amplifybackend.2020-08-11": { + "cognito-sync.2014-06-30": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/amplifybackend.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cognito-sync.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -738,9 +738,9 @@ } } }, - "drs.2020-02-26": { + "ec2.2016-11-15": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/drs.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ec2.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -749,9 +749,9 @@ } } }, - "personalize-events.2018-03-22": { + "opsworks.2013-02-18": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/personalize-events.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/opsworks.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -760,9 +760,9 @@ } } }, - "notifications.2018-05-10": { + "pinpoint-sms-voice-v2.2022-03-31": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/notifications.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/pinpoint-sms-voice-v2.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -771,9 +771,9 @@ } } }, - "oam.2022-06-10": { + "database-migration-service.2016-01-01": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/oam.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/database-migration-service.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -782,9 +782,9 @@ } } }, - "mediapackage-vod.2018-11-07": { + "marketplace-metering.2016-01-14": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mediapackage-vod.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/marketplace-metering.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -793,9 +793,9 @@ } } }, - "pipes.2015-10-07": { + "transfer.2018-11-05": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/pipes.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/transfer.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -804,9 +804,9 @@ } } }, - "datazone.2018-05-10": { + "apptest.2022-12-06": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/datazone.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/apptest.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -815,9 +815,9 @@ } } }, - "rolesanywhere.2018-05-10": { + "ecr-public.2020-10-30": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/rolesanywhere.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ecr-public.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -826,9 +826,9 @@ } } }, - "qbusiness.2023-11-27": { + "lookoutvision.2020-11-20": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/qbusiness.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/lookoutvision.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -837,9 +837,9 @@ } } }, - "backup.2018-11-15": { + "datasync.2018-11-09": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/backup.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/datasync.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -848,9 +848,9 @@ } } }, - "route53-recovery-readiness.2019-12-02": { + "resource-groups.2017-11-27": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/route53-recovery-readiness.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/resource-groups.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -859,9 +859,9 @@ } } }, - "chime-sdk-media-pipelines.2021-07-15": { + "securityhub.2018-10-26": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/chime-sdk-media-pipelines.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/securityhub.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -870,9 +870,9 @@ } } }, - "savingsplans.2019-06-28": { + "marketplace-reporting.2018-05-10": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/savingsplans.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/marketplace-reporting.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -881,9 +881,9 @@ } } }, - "firehose.2015-08-04": { + "cloudtrail-data.2021-08-11": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/firehose.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudtrail-data.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -892,9 +892,9 @@ } } }, - "signer.2017-08-25": { + "kinesis-analytics.2015-08-14": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/signer.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kinesis-analytics.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -903,9 +903,9 @@ } } }, - "codeartifact.2018-09-22": { + "lex-runtime-v2.2020-08-07": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codeartifact.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/lex-runtime-v2.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -914,9 +914,9 @@ } } }, - "qldb.2019-01-02": { + "bedrock.2023-04-20": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/qldb.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/bedrock.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -925,9 +925,9 @@ } } }, - "qldb-session.2019-07-11": { + "mediapackage.2017-10-12": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/qldb-session.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mediapackage.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -936,9 +936,9 @@ } } }, - "ec2.2016-11-15": { + "bedrock-data-automation.2023-07-26": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ec2.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/bedrock-data-automation.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -947,9 +947,9 @@ } } }, - "inspector-scan.2023-08-08": { + "appconfigdata.2021-11-11": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/inspector-scan.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/appconfigdata.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -958,9 +958,9 @@ } } }, - "ivs.2020-07-14": { + "rds.2014-10-31": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ivs.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/rds.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -969,9 +969,9 @@ } } }, - "payment-cryptography.2021-09-14": { + "clouddirectory.2017-01-11": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/payment-cryptography.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/clouddirectory.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -980,9 +980,9 @@ } } }, - "apptest.2022-12-06": { + "marketplace-deployment.2023-01-25": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/apptest.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/marketplace-deployment.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -991,9 +991,9 @@ } } }, - "appfabric.2023-05-19": { + "snowball.2016-06-30": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/appfabric.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/snowball.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1002,9 +1002,9 @@ } } }, - "wafv2.2019-07-29": { + "elastic-transcoder.2012-09-25": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/wafv2.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/elastic-transcoder.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1013,9 +1013,9 @@ } } }, - "iot-events.2018-07-27": { + "workspaces-web.2020-07-08": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iot-events.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/workspaces-web.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1024,9 +1024,9 @@ } } }, - "swf.2012-01-25": { + "lex-models-v2.2020-08-07": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/swf.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/lex-models-v2.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1035,9 +1035,9 @@ } } }, - "iot-1click-devices-service.2018-05-14": { + "codeartifact.2018-09-22": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iot-1click-devices-service.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codeartifact.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1046,9 +1046,9 @@ } } }, - "cloudformation.2010-05-15": { + "bedrock-runtime.2023-09-30": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudformation.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/bedrock-runtime.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1057,9 +1057,9 @@ } } }, - "inspector2.2020-06-08": { + "osis.2022-01-01": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/inspector2.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/osis.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1068,9 +1068,9 @@ } } }, - "taxsettings.2018-05-10": { + "evidently.2021-02-01": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/taxsettings.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/evidently.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1079,9 +1079,9 @@ } } }, - "redshift.2012-12-01": { + "codeconnections.2023-12-01": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/redshift.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codeconnections.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1090,9 +1090,9 @@ } } }, - "workdocs.2016-05-01": { + "payment-cryptography-data.2022-02-03": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/workdocs.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/payment-cryptography-data.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1101,9 +1101,9 @@ } } }, - "sagemaker-edge.2020-09-23": { + "fsx.2018-03-01": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sagemaker-edge.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/fsx.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1112,9 +1112,9 @@ } } }, - "rbin.2021-06-15": { + "personalize-runtime.2018-05-22": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/rbin.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/personalize-runtime.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1123,9 +1123,9 @@ } } }, - "connectparticipant.2018-09-07": { + "rds-data.2018-08-01": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/connectparticipant.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/rds-data.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1136,7 +1136,7 @@ }, "iotsitewise.2019-12-02": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iotsitewise.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iotsitewise.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1145,9 +1145,9 @@ } } }, - "kinesis-video-signaling.2019-12-04": { + "iot-1click-projects.2018-05-14": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kinesis-video-signaling.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iot-1click-projects.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1156,9 +1156,9 @@ } } }, - "kinesis.2013-12-02": { + "verifiedpermissions.2021-12-01": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kinesis.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/verifiedpermissions.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1167,9 +1167,9 @@ } } }, - "mediatailor.2018-04-23": { + "kafka.2018-11-14": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mediatailor.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kafka.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1178,9 +1178,9 @@ } } }, - "ssm-contacts.2021-05-03": { + "elastic-load-balancing.2012-06-01": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ssm-contacts.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/elastic-load-balancing.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1189,9 +1189,9 @@ } } }, - "auto-scaling-plans.2018-01-06": { + "qldb-session.2019-07-11": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/auto-scaling-plans.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/qldb-session.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1200,9 +1200,9 @@ } } }, - "cloudwatch-events.2015-10-07": { + "servicediscovery.2017-03-14": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudwatch-events.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/servicediscovery.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1211,9 +1211,9 @@ } } }, - "evidently.2021-02-01": { + "panorama.2019-07-24": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/evidently.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/panorama.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1222,9 +1222,9 @@ } } }, - "lookoutmetrics.2017-07-25": { + "amp.2020-08-01": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/lookoutmetrics.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/amp.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1233,9 +1233,9 @@ } } }, - "codecommit.2015-04-13": { + "location.2020-11-19": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codecommit.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/location.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1244,9 +1244,9 @@ } } }, - "backup-gateway.2021-01-01": { + "synthetics.2017-10-11": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/backup-gateway.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/synthetics.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1255,9 +1255,9 @@ } } }, - "amp.2020-08-01": { + "emr-serverless.2021-07-13": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/amp.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/emr-serverless.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1266,9 +1266,9 @@ } } }, - "memorydb.2021-01-01": { + "iot-events.2018-07-27": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/memorydb.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iot-events.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1277,9 +1277,9 @@ } } }, - "mediapackage.2017-10-12": { + "transcribe.2017-10-26": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mediapackage.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/transcribe.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1288,9 +1288,9 @@ } } }, - "shield.2016-06-02": { + "notifications.2018-05-10": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/shield.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/notifications.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1299,9 +1299,9 @@ } } }, - "observabilityadmin.2018-05-10": { + "s3-control.2018-08-20": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/observabilityadmin.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/s3-control.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1310,9 +1310,9 @@ } } }, - "medical-imaging.2023-07-19": { + "networkflowmonitor.2023-04-19": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/medical-imaging.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/networkflowmonitor.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1321,9 +1321,9 @@ } } }, - "api-gateway.2015-07-09": { + "cost-optimization-hub.2022-07-26": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/api-gateway.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cost-optimization-hub.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1332,9 +1332,9 @@ } } }, - "marketplace-agreement.2020-03-01": { + "ssm.2014-11-06": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/marketplace-agreement.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ssm.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1343,9 +1343,9 @@ } } }, - "servicediscovery.2017-03-14": { + "machine-learning.2014-12-12": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/servicediscovery.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/machine-learning.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1354,9 +1354,9 @@ } } }, - "freetier.2023-09-07": { + "accessanalyzer.2019-11-01": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/freetier.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/accessanalyzer.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1365,9 +1365,9 @@ } } }, - "ecr.2015-09-21": { + "mgn.2020-02-26": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ecr.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mgn.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1376,9 +1376,9 @@ } } }, - "ecr-public.2020-10-30": { + "cloudwatch-events.2015-10-07": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ecr-public.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudwatch-events.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1387,9 +1387,9 @@ } } }, - "redshift-serverless.2021-04-21": { + "s3outposts.2017-07-25": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/redshift-serverless.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/s3outposts.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1398,9 +1398,9 @@ } } }, - "privatenetworks.2021-12-03": { + "opensearch.2021-01-01": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/privatenetworks.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/opensearch.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1409,9 +1409,9 @@ } } }, - "pinpoint-sms-voice-v2.2022-03-31": { + "taxsettings.2018-05-10": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/pinpoint-sms-voice-v2.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/taxsettings.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1420,9 +1420,9 @@ } } }, - "networkmonitor.2023-08-01": { + "mediapackage-vod.2018-11-07": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/networkmonitor.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mediapackage-vod.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1431,9 +1431,9 @@ } } }, - "global-accelerator.2018-08-08": { + "sso-oidc.2019-06-10": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/global-accelerator.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sso-oidc.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1442,9 +1442,9 @@ } } }, - "transcribe.2017-10-26": { + "braket.2019-09-01": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/transcribe.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/braket.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1453,9 +1453,9 @@ } } }, - "dlm.2018-01-12": { + "launch-wizard.2018-05-10": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/dlm.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/launch-wizard.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1464,9 +1464,9 @@ } } }, - "wellarchitected.2020-03-31": { + "vpc-lattice.2022-11-30": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/wellarchitected.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/vpc-lattice.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1475,9 +1475,9 @@ } } }, - "cognito-sync.2014-06-30": { + "devops-guru.2020-12-01": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cognito-sync.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/devops-guru.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1486,9 +1486,9 @@ } } }, - "vpc-lattice.2022-11-30": { + "imagebuilder.2019-12-02": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/vpc-lattice.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/imagebuilder.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1497,9 +1497,9 @@ } } }, - "location.2020-11-19": { + "cloudfront.2020-05-31": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/location.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudfront.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1508,9 +1508,9 @@ } } }, - "marketplace-entitlement-service.2017-01-11": { + "resource-groups-tagging-api.2017-01-26": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/marketplace-entitlement-service.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/resource-groups-tagging-api.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1519,9 +1519,9 @@ } } }, - "resiliencehub.2020-04-30": { + "efs.2015-02-01": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/resiliencehub.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/efs.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1530,9 +1530,9 @@ } } }, - "eks.2017-11-01": { + "sso-admin.2020-07-20": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/eks.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sso-admin.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1541,9 +1541,9 @@ } } }, - "sso.2019-06-10": { + "lookoutmetrics.2017-07-25": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sso.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/lookoutmetrics.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1552,9 +1552,9 @@ } } }, - "sagemaker-featurestore-runtime.2020-07-01": { + "rekognition.2016-06-27": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sagemaker-featurestore-runtime.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/rekognition.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1563,9 +1563,9 @@ } } }, - "serverlessapplicationrepository.2017-09-08": { + "datazone.2018-05-10": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/serverlessapplicationrepository.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/datazone.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1574,9 +1574,9 @@ } } }, - "kms.2014-11-01": { + "sso.2019-06-10": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kms.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sso.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1585,9 +1585,9 @@ } } }, - "sagemaker.2017-07-24": { + "health.2016-08-04": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sagemaker.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/health.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1596,9 +1596,9 @@ } } }, - "sagemaker-geospatial.2020-05-27": { + "workmail.2017-10-01": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sagemaker-geospatial.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/workmail.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1607,9 +1607,9 @@ } } }, - "auto-scaling.2011-01-01": { + "cloudtrail.2013-11-01": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/auto-scaling.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudtrail.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1618,9 +1618,9 @@ } } }, - "snow-device-management.2021-08-04": { + "iot-1click-devices-service.2018-05-14": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/snow-device-management.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iot-1click-devices-service.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1629,9 +1629,9 @@ } } }, - "rds-data.2018-08-01": { + "route53-recovery-readiness.2019-12-02": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/rds-data.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/route53-recovery-readiness.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1640,9 +1640,9 @@ } } }, - "grafana.2020-08-18": { + "application-auto-scaling.2016-02-06": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/grafana.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/application-auto-scaling.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1651,9 +1651,9 @@ } } }, - "iotfleethub.2020-11-03": { + "oam.2022-06-10": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iotfleethub.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/oam.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1662,9 +1662,9 @@ } } }, - "proton.2020-07-20": { + "bedrock-data-automation-runtime.2024-06-13": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/proton.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/bedrock-data-automation-runtime.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1673,9 +1673,9 @@ } } }, - "ebs.2019-11-02": { + "amplify.2017-07-25": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ebs.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/amplify.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1684,9 +1684,9 @@ } } }, - "codeguru-reviewer.2019-09-19": { + "compute-optimizer.2019-11-01": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codeguru-reviewer.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/compute-optimizer.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1695,9 +1695,9 @@ } } }, - "guardduty.2017-11-28": { + "codeguru-security.2018-05-10": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/guardduty.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codeguru-security.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1706,9 +1706,9 @@ } } }, - "comprehendmedical.2018-10-30": { + "appfabric.2023-05-19": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/comprehendmedical.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/appfabric.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1717,9 +1717,9 @@ } } }, - "iotthingsgraph.2018-09-06": { + "mediaconvert.2017-08-29": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iotthingsgraph.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mediaconvert.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1728,9 +1728,9 @@ } } }, - "customer-profiles.2020-08-15": { + "controlcatalog.2018-05-10": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/customer-profiles.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/controlcatalog.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1739,9 +1739,9 @@ } } }, - "ssm-sap.2018-05-10": { + "translate.2017-07-01": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ssm-sap.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/translate.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1750,9 +1750,9 @@ } } }, - "networkflowmonitor.2023-04-19": { + "ivs-realtime.2020-07-14": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/networkflowmonitor.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ivs-realtime.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1761,9 +1761,9 @@ } } }, - "s3outposts.2017-07-25": { + "ssm-quicksetup.2018-05-10": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/s3outposts.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ssm-quicksetup.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1772,9 +1772,9 @@ } } }, - "identitystore.2020-06-15": { + "cost-explorer.2017-10-25": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/identitystore.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cost-explorer.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1783,9 +1783,9 @@ } } }, - "macie2.2020-01-01": { + "codeguru-reviewer.2019-09-19": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/macie2.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codeguru-reviewer.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1794,9 +1794,9 @@ } } }, - "workmailmessageflow.2019-05-01": { + "customer-profiles.2020-08-15": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/workmailmessageflow.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/customer-profiles.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1805,9 +1805,9 @@ } } }, - "launch-wizard.2018-05-10": { + "codestar-connections.2019-12-01": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/launch-wizard.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codestar-connections.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1816,9 +1816,9 @@ } } }, - "iam.2010-05-08": { + "lambda.2015-03-31": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iam.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/lambda.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1827,9 +1827,9 @@ } } }, - "iot-events-data.2018-10-23": { + "kafkaconnect.2021-09-14": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iot-events-data.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kafkaconnect.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1838,9 +1838,9 @@ } } }, - "redshift-data.2019-12-20": { + "mq.2017-11-27": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/redshift-data.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mq.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1849,9 +1849,9 @@ } } }, - "sqs.2012-11-05": { + "sagemaker-geospatial.2020-05-27": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sqs.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sagemaker-geospatial.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1860,9 +1860,9 @@ } } }, - "bedrock-data-automation-runtime.2024-06-13": { + "ecs.2014-11-13": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/bedrock-data-automation-runtime.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ecs.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1871,9 +1871,9 @@ } } }, - "migrationhub-config.2019-06-30": { + "payment-cryptography.2021-09-14": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/migrationhub-config.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/payment-cryptography.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1882,9 +1882,9 @@ } } }, - "omics.2022-11-28": { + "outposts.2019-12-03": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/omics.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/outposts.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1893,9 +1893,9 @@ } } }, - "migrationhubstrategy.2020-02-19": { + "managedblockchain.2018-09-24": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/migrationhubstrategy.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/managedblockchain.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1904,9 +1904,9 @@ } } }, - "kendra-ranking.2022-10-19": { + "workspaces.2015-04-08": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kendra-ranking.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/workspaces.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1915,9 +1915,9 @@ } } }, - "route53profiles.2018-05-10": { + "ssm-sap.2018-05-10": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/route53profiles.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ssm-sap.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1926,9 +1926,9 @@ } } }, - "cloudtrail-data.2021-08-11": { + "polly.2016-06-10": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudtrail-data.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/polly.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1937,9 +1937,9 @@ } } }, - "cleanroomsml.2023-09-06": { + "codeguruprofiler.2019-07-18": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cleanroomsml.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codeguruprofiler.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1948,9 +1948,9 @@ } } }, - "comprehend.2017-11-27": { + "inspector2.2020-06-08": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/comprehend.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/inspector2.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1959,9 +1959,9 @@ } } }, - "opsworkscm.2016-11-01": { + "organizations.2016-11-28": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/opsworkscm.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/organizations.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1970,9 +1970,9 @@ } } }, - "dax.2017-04-19": { + "proton.2020-07-20": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/dax.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/proton.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1981,9 +1981,9 @@ } } }, - "route53-recovery-cluster.2019-12-02": { + "route53-recovery-control-config.2020-11-02": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/route53-recovery-cluster.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/route53-recovery-control-config.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1992,9 +1992,9 @@ } } }, - "secrets-manager.2017-10-17": { + "pinpoint-email.2018-07-26": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/secrets-manager.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/pinpoint-email.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2003,9 +2003,9 @@ } } }, - "route53resolver.2018-04-01": { + "migrationhubstrategy.2020-02-19": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/route53resolver.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/migrationhubstrategy.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2014,9 +2014,9 @@ } } }, - "elastic-inference.2017-07-25": { + "auto-scaling-plans.2018-01-06": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/elastic-inference.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/auto-scaling-plans.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2025,9 +2025,9 @@ } } }, - "marketplace-catalog.2018-09-17": { + "xray.2016-04-12": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/marketplace-catalog.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/xray.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2036,9 +2036,9 @@ } } }, - "translate.2017-07-01": { + "lightsail.2016-11-28": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/translate.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/lightsail.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2047,9 +2047,9 @@ } } }, - "health.2016-08-04": { + "sqs.2012-11-05": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/health.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sqs.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2058,9 +2058,9 @@ } } }, - "migration-hub.2017-05-31": { + "neptune-graph.2023-11-29": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/migration-hub.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/neptune-graph.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2069,9 +2069,9 @@ } } }, - "chime-sdk-messaging.2021-05-15": { + "sesv2.2019-09-27": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/chime-sdk-messaging.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sesv2.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2080,9 +2080,9 @@ } } }, - "rum.2018-05-10": { + "bedrock-agent-runtime.2023-07-26": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/rum.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/bedrock-agent-runtime.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2091,9 +2091,9 @@ } } }, - "iotsecuretunneling.2018-10-05": { + "storage-gateway.2013-06-30": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iotsecuretunneling.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/storage-gateway.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2102,9 +2102,9 @@ } } }, - "pinpoint-sms-voice.2018-09-05": { + "cloudhsm-v2.2017-04-28": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/pinpoint-sms-voice.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudhsm-v2.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2113,9 +2113,9 @@ } } }, - "ses.2010-12-01": { + "cloudsearch.2013-01-01": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ses.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudsearch.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2124,9 +2124,9 @@ } } }, - "voice-id.2021-09-27": { + "groundstation.2019-05-23": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/voice-id.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/groundstation.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2135,9 +2135,9 @@ } } }, - "bedrock-runtime.2023-09-30": { + "license-manager-linux-subscriptions.2018-05-10": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/bedrock-runtime.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/license-manager-linux-subscriptions.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2146,9 +2146,9 @@ } } }, - "kinesis-video.2017-09-30": { + "iottwinmaker.2021-11-29": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kinesis-video.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iottwinmaker.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2157,9 +2157,9 @@ } } }, - "cost-and-usage-report-service.2017-01-06": { + "batch.2016-08-10": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cost-and-usage-report-service.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/batch.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2168,9 +2168,9 @@ } } }, - "docdb-elastic.2022-11-28": { + "notificationscontacts.2018-05-10": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/docdb-elastic.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/notificationscontacts.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2179,9 +2179,9 @@ } } }, - "cloudsearch.2013-01-01": { + "sts.2011-06-15": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudsearch.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sts.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2190,9 +2190,9 @@ } } }, - "elastic-load-balancing-v2.2015-12-01": { + "iotdeviceadvisor.2020-09-18": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/elastic-load-balancing-v2.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iotdeviceadvisor.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2201,9 +2201,9 @@ } } }, - "codebuild.2016-10-06": { + "geo-routes.2020-11-19": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codebuild.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/geo-routes.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2212,9 +2212,9 @@ } } }, - "route-53.2013-04-01": { + "route-53-domains.2014-05-15": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/route-53.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/route-53-domains.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2223,9 +2223,9 @@ } } }, - "application-insights.2018-11-25": { + "drs.2020-02-26": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/application-insights.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/drs.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2234,9 +2234,9 @@ } } }, - "mediapackagev2.2022-12-25": { + "athena.2017-05-18": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mediapackagev2.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/athena.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2245,9 +2245,9 @@ } } }, - "codeconnections.2023-12-01": { + "codestar-notifications.2019-10-15": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codeconnections.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codestar-notifications.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2256,9 +2256,9 @@ } } }, - "entityresolution.2018-05-10": { + "dlm.2018-01-12": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/entityresolution.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/dlm.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2267,9 +2267,9 @@ } } }, - "verifiedpermissions.2021-12-01": { + "sagemaker-featurestore-runtime.2020-07-01": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/verifiedpermissions.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sagemaker-featurestore-runtime.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2278,9 +2278,9 @@ } } }, - "eks-auth.2023-11-26": { + "timestream-write.2018-11-01": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/eks-auth.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/timestream-write.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2289,9 +2289,9 @@ } } }, - "ssm-incidents.2018-05-10": { + "support.2013-04-15": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ssm-incidents.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/support.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2300,9 +2300,9 @@ } } }, - "geo-maps.2020-11-19": { + "connectcases.2022-10-03": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/geo-maps.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/connectcases.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2311,9 +2311,9 @@ } } }, - "fms.2018-01-01": { + "medialive.2017-10-14": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/fms.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/medialive.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2322,9 +2322,9 @@ } } }, - "cognito-identity.2014-06-30": { + "auditmanager.2017-07-25": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cognito-identity.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/auditmanager.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2333,9 +2333,9 @@ } } }, - "directory-service-data.2023-05-31": { + "internetmonitor.2021-06-03": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/directory-service-data.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/internetmonitor.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2344,9 +2344,9 @@ } } }, - "lex-runtime-service.2016-11-28": { + "sagemaker-metrics.2022-09-30": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/lex-runtime-service.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sagemaker-metrics.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2355,9 +2355,9 @@ } } }, - "iotfleetwise.2021-06-17": { + "kinesis-analytics-v2.2018-05-23": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iotfleetwise.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kinesis-analytics-v2.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2366,9 +2366,9 @@ } } }, - "chatbot.2017-10-11": { + "mediatailor.2018-04-23": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/chatbot.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mediatailor.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2377,9 +2377,9 @@ } } }, - "devops-guru.2020-12-01": { + "backup.2018-11-15": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/devops-guru.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/backup.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2388,9 +2388,9 @@ } } }, - "connect-contact-lens.2020-08-21": { + "account.2021-02-01": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/connect-contact-lens.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/account.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2399,9 +2399,9 @@ } } }, - "mwaa.2020-07-01": { + "snow-device-management.2021-08-04": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mwaa.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/snow-device-management.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2410,9 +2410,9 @@ } } }, - "appintegrations.2020-07-29": { + "timestream-influxdb.2023-01-27": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/appintegrations.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/timestream-influxdb.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2421,9 +2421,9 @@ } } }, - "opensearch.2021-01-01": { + "personalize-events.2018-03-22": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/opensearch.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/personalize-events.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2432,9 +2432,9 @@ } } }, - "codecatalyst.2022-09-28": { + "geo-places.2020-11-19": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codecatalyst.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/geo-places.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2443,9 +2443,9 @@ } } }, - "healthlake.2017-07-01": { + "elastic-load-balancing-v2.2015-12-01": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/healthlake.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/elastic-load-balancing-v2.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2454,9 +2454,9 @@ } } }, - "codeguruprofiler.2019-07-18": { + "appsync.2017-07-25": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codeguruprofiler.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/appsync.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2465,9 +2465,9 @@ } } }, - "cloudwatch-logs.2014-03-28": { + "iot.2015-05-28": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudwatch-logs.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iot.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2476,9 +2476,9 @@ } } }, - "rds.2014-10-31": { + "pinpoint-sms-voice.2018-09-05": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/rds.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/pinpoint-sms-voice.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2487,9 +2487,9 @@ } } }, - "frauddetector.2019-11-15": { + "appintegrations.2020-07-29": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/frauddetector.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/appintegrations.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2498,9 +2498,9 @@ } } }, - "service-quotas.2019-06-24": { + "arc-zonal-shift.2022-10-30": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/service-quotas.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/arc-zonal-shift.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2509,9 +2509,9 @@ } } }, - "iot-jobs-data-plane.2017-09-29": { + "inspector.2016-02-16": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iot-jobs-data-plane.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/inspector.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2520,9 +2520,9 @@ } } }, - "emr.2009-03-31": { + "detective.2018-10-26": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/emr.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/detective.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2531,9 +2531,9 @@ } } }, - "bcm-pricing-calculator.2024-06-19": { + "deadline.2023-10-12": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/bcm-pricing-calculator.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/deadline.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2542,9 +2542,9 @@ } } }, - "network-firewall.2020-11-12": { + "medical-imaging.2023-07-19": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/network-firewall.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/medical-imaging.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2553,9 +2553,9 @@ } } }, - "kinesis-analytics.2015-08-14": { + "trustedadvisor.2022-09-15": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kinesis-analytics.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/trustedadvisor.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2564,9 +2564,9 @@ } } }, - "cost-optimization-hub.2022-07-26": { + "workdocs.2016-05-01": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cost-optimization-hub.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/workdocs.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2575,9 +2575,9 @@ } } }, - "apigatewaymanagementapi.2018-11-29": { + "sagemaker-edge.2020-09-23": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/apigatewaymanagementapi.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sagemaker-edge.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2586,9 +2586,9 @@ } } }, - "lookoutvision.2020-11-20": { + "kendra-ranking.2022-10-19": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/lookoutvision.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kendra-ranking.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2597,9 +2597,9 @@ } } }, - "kinesis-analytics-v2.2018-05-23": { + "cleanroomsml.2023-09-06": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kinesis-analytics-v2.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cleanroomsml.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2608,9 +2608,9 @@ } } }, - "chime.2018-05-01": { + "eventbridge.2015-10-07": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/chime.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/eventbridge.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2619,9 +2619,9 @@ } } }, - "greengrassv2.2020-11-30": { + "redshift.2012-12-01": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/greengrassv2.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/redshift.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2630,9 +2630,9 @@ } } }, - "snowball.2016-06-30": { + "fms.2018-01-01": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/snowball.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/fms.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2641,9 +2641,9 @@ } } }, - "repostspace.2022-05-13": { + "m2.2021-04-28": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/repostspace.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/m2.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2652,9 +2652,9 @@ } } }, - "amplifyuibuilder.2021-08-11": { + "mturk.2017-01-17": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/amplifyuibuilder.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mturk.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2663,9 +2663,9 @@ } } }, - "iot-data-plane.2015-05-28": { + "dynamodb-streams.2012-08-10": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iot-data-plane.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/dynamodb-streams.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2674,9 +2674,9 @@ } } }, - "socialmessaging.2024-01-01": { + "route53resolver.2018-04-01": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/socialmessaging.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/route53resolver.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2685,9 +2685,9 @@ } } }, - "codestar-connections.2019-12-01": { + "elasticache.2015-02-02": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codestar-connections.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/elasticache.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2696,9 +2696,9 @@ } } }, - "codestar-notifications.2019-10-15": { + "ram.2018-01-04": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codestar-notifications.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ram.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2707,9 +2707,9 @@ } } }, - "forecastquery.2018-06-26": { + "support-app.2021-08-20": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/forecastquery.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/support-app.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2718,9 +2718,9 @@ } } }, - "application-auto-scaling.2016-02-06": { + "textract.2018-06-27": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/application-auto-scaling.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/textract.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2729,9 +2729,9 @@ } } }, - "appsync.2017-07-25": { + "application-insights.2018-11-25": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/appsync.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/application-insights.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2740,9 +2740,9 @@ } } }, - "sagemaker-metrics.2022-09-30": { + "tnb.2008-10-21": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sagemaker-metrics.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/tnb.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2751,9 +2751,9 @@ } } }, - "datasync.2018-11-09": { + "timestream-query.2018-11-01": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/datasync.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/timestream-query.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2762,9 +2762,9 @@ } } }, - "license-manager-user-subscriptions.2018-05-10": { + "qbusiness.2023-11-27": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/license-manager-user-subscriptions.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/qbusiness.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2773,9 +2773,9 @@ } } }, - "kafka.2018-11-14": { + "chime-sdk-identity.2021-04-20": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kafka.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/chime-sdk-identity.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2784,9 +2784,9 @@ } } }, - "dynamodb-streams.2012-08-10": { + "acm-pca.": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/dynamodb-streams.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/acm-pca.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2795,9 +2795,9 @@ } } }, - "outposts.2019-12-03": { + "apprunner.2020-05-15": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/outposts.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/apprunner.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2806,9 +2806,9 @@ } } }, - "opensearchserverless.2021-11-01": { + "glue.2017-03-31": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/opensearchserverless.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/glue.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2817,9 +2817,9 @@ } } }, - "codeguru-security.2018-05-10": { + "signer.2017-08-25": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codeguru-security.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/signer.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2828,9 +2828,9 @@ } } }, - "payment-cryptography-data.2022-02-03": { + "codecommit.2015-04-13": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/payment-cryptography-data.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codecommit.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2839,9 +2839,9 @@ } } }, - "athena.2017-05-18": { + "iot-data-plane.2015-05-28": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/athena.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iot-data-plane.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2850,9 +2850,9 @@ } } }, - "cloudhsm-v2.2017-04-28": { + "kinesis-video-media.2017-09-30": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudhsm-v2.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kinesis-video-media.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2861,9 +2861,9 @@ } } }, - "lex-models-v2.2020-08-07": { + "marketplace-entitlement-service.2017-01-11": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/lex-models-v2.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/marketplace-entitlement-service.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2872,9 +2872,9 @@ } } }, - "applicationcostprofiler.2020-09-10": { + "lex-runtime-service.2016-11-28": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/applicationcostprofiler.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/lex-runtime-service.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2883,9 +2883,9 @@ } } }, - "partnercentral-selling.2022-07-26": { + "ssm-incidents.2018-05-10": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/partnercentral-selling.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ssm-incidents.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2894,9 +2894,9 @@ } } }, - "elastic-beanstalk.2010-12-01": { + "apigatewaymanagementapi.2018-11-29": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/elastic-beanstalk.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/apigatewaymanagementapi.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2905,9 +2905,9 @@ } } }, - "qconnect.2020-10-19": { + "gamelift.2015-10-01": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/qconnect.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/gamelift.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2916,9 +2916,9 @@ } } }, - "appstream.2016-12-01": { + "service-quotas.2019-06-24": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/appstream.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/service-quotas.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2927,9 +2927,9 @@ } } }, - "detective.2018-10-26": { + "geo-maps.2020-11-19": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/detective.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/geo-maps.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2938,9 +2938,9 @@ } } }, - "groundstation.2019-05-23": { + "qconnect.2020-10-19": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/groundstation.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/qconnect.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2949,9 +2949,9 @@ } } }, - "dataexchange.2017-07-25": { + "b2bi.2022-06-23": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/dataexchange.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/b2bi.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2960,9 +2960,9 @@ } } }, - "waf.2015-08-24": { + "greengrassv2.2020-11-30": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/waf.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/greengrassv2.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2971,9 +2971,9 @@ } } }, - "ssm.2014-11-06": { + "wafv2.2019-07-29": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ssm.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/wafv2.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2982,9 +2982,9 @@ } } }, - "iottwinmaker.2021-11-29": { + "databrew.2017-07-25": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iottwinmaker.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/databrew.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2993,9 +2993,9 @@ } } }, - "billing.2023-09-07": { + "connect-contact-lens.2020-08-21": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/billing.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/connect-contact-lens.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3004,9 +3004,9 @@ } } }, - "rekognition.2016-06-27": { + "glacier.2012-06-01": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/rekognition.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/glacier.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3015,9 +3015,9 @@ } } }, - "timestream-write.2018-11-01": { + "config-service.2014-11-12": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/timestream-write.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/config-service.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3026,9 +3026,9 @@ } } }, - "cloudtrail.2013-11-01": { + "schemas.2019-12-02": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudtrail.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/schemas.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3037,9 +3037,9 @@ } } }, - "s3tables.2018-05-10": { + "appflow.2020-08-23": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/s3tables.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/appflow.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3048,9 +3048,9 @@ } } }, - "arc-zonal-shift.2022-10-30": { + "api-gateway.2015-07-09": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/arc-zonal-shift.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/api-gateway.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3059,9 +3059,9 @@ } } }, - "ivschat.2020-07-14": { + "backupsearch.2018-05-10": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ivschat.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/backupsearch.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3070,9 +3070,9 @@ } } }, - "support.2013-04-15": { + "observabilityadmin.2018-05-10": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/support.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/observabilityadmin.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3081,9 +3081,9 @@ } } }, - "quicksight.2018-04-01": { + "repostspace.2022-05-13": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/quicksight.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/repostspace.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3092,9 +3092,9 @@ } } }, - "pca-connector-ad.2018-05-10": { + "macie2.2020-01-01": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/pca-connector-ad.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/macie2.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3103,9 +3103,9 @@ } } }, - "cloud9.2017-09-23": { + "cost-and-usage-report-service.2017-01-06": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloud9.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cost-and-usage-report-service.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3114,9 +3114,9 @@ } } }, - "amplify.2017-07-25": { + "ivs.2020-07-14": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/amplify.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ivs.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3125,9 +3125,9 @@ } } }, - "mediaconnect.2018-11-14": { + "marketplace-catalog.2018-09-17": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mediaconnect.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/marketplace-catalog.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3136,9 +3136,9 @@ } } }, - "iot-1click-projects.2018-05-14": { + "route-53.2013-04-01": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iot-1click-projects.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/route-53.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3147,9 +3147,9 @@ } } }, - "lightsail.2016-11-28": { + "resiliencehub.2020-04-30": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/lightsail.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/resiliencehub.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3158,9 +3158,9 @@ } } }, - "sns.2010-03-31": { + "billingconductor.2021-07-30": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sns.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/billingconductor.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3169,9 +3169,9 @@ } } }, - "support-app.2021-08-20": { + "appconfig.2019-10-09": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/support-app.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/appconfig.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3180,9 +3180,9 @@ } } }, - "sso-admin.2020-07-20": { + "data-pipeline.2012-10-29": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sso-admin.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/data-pipeline.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3191,9 +3191,9 @@ } } }, - "codepipeline.2015-07-09": { + "s3.2006-03-01": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codepipeline.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/s3.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3202,9 +3202,9 @@ } } }, - "tnb.2008-10-21": { + "cloud9.2017-09-23": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/tnb.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloud9.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3213,9 +3213,9 @@ } } }, - "marketplace-commerce-analytics.2015-07-01": { + "applicationcostprofiler.2020-09-10": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/marketplace-commerce-analytics.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/applicationcostprofiler.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3224,9 +3224,9 @@ } } }, - "controlcatalog.2018-05-10": { + "elastic-beanstalk.2010-12-01": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/controlcatalog.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/elastic-beanstalk.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3235,9 +3235,9 @@ } } }, - "iot.2015-05-28": { + "pca-connector-ad.2018-05-10": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iot.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/pca-connector-ad.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3246,9 +3246,9 @@ } } }, - "scheduler.2021-06-30": { + "application-discovery-service.2015-11-01": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/scheduler.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/application-discovery-service.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3257,9 +3257,9 @@ } } }, - "cloudcontrol.2021-09-30": { + "iam.2010-05-08": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudcontrol.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iam.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3268,9 +3268,9 @@ } } }, - "elasticsearch-service.2015-01-01": { + "pipes.2015-10-07": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/elasticsearch-service.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/pipes.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3279,9 +3279,9 @@ } } }, - "pca-connector-scep.2018-05-10": { + "backup-gateway.2021-01-01": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/pca-connector-scep.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/backup-gateway.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3290,9 +3290,9 @@ } } }, - "lambda.2015-03-31": { + "cloudwatch-logs.2014-03-28": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/lambda.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudwatch-logs.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3301,9 +3301,9 @@ } } }, - "managedblockchain.2018-09-24": { + "kendra.2019-02-03": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/managedblockchain.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kendra.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3312,9 +3312,9 @@ } } }, - "synthetics.2017-10-11": { + "cloudcontrol.2021-09-30": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/synthetics.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudcontrol.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3323,9 +3323,9 @@ } } }, - "kinesis-video-media.2017-09-30": { + "chatbot.2017-10-11": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kinesis-video-media.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/chatbot.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3334,9 +3334,9 @@ } } }, - "route-53-domains.2014-05-15": { + "dax.2017-04-19": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/route-53-domains.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/dax.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3345,9 +3345,9 @@ } } }, - "opsworks.2013-02-18": { + "bedrock-agent.2023-06-05": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/opsworks.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/bedrock-agent.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3356,9 +3356,9 @@ } } }, - "sagemaker-a2i-runtime.2019-11-07": { + "application-signals.2024-04-15": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sagemaker-a2i-runtime.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/application-signals.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3367,9 +3367,9 @@ } } }, - "resource-groups-tagging-api.2017-01-26": { + "waf-regional.2016-11-28": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/resource-groups-tagging-api.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/waf-regional.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3378,9 +3378,9 @@ } } }, - "bedrock.2023-04-20": { + "firehose.2015-08-04": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/bedrock.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/firehose.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3389,9 +3389,9 @@ } } }, - "networkmanager.2019-07-05": { + "kinesis-video.2017-09-30": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/networkmanager.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kinesis-video.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3400,9 +3400,9 @@ } } }, - "mailmanager.2023-10-17": { + "qldb.2019-01-02": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mailmanager.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/qldb.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3411,9 +3411,9 @@ } } }, - "storage-gateway.2013-06-30": { + "cognito-identity.2014-06-30": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/storage-gateway.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cognito-identity.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3422,9 +3422,9 @@ } } }, - "marketplace-deployment.2023-01-25": { + "networkmanager.2019-07-05": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/marketplace-deployment.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/networkmanager.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3433,9 +3433,9 @@ } } }, - "elasticache.2015-02-02": { + "connectparticipant.2018-09-07": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/elasticache.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/connectparticipant.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3444,9 +3444,9 @@ } } }, - "backupsearch.2018-05-10": { + "codecatalyst.2022-09-28": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/backupsearch.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codecatalyst.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3455,9 +3455,9 @@ } } }, - "cognito-identity-provider.2016-04-18": { + "network-firewall.2020-11-12": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cognito-identity-provider.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/network-firewall.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3466,9 +3466,9 @@ } } }, - "s3-control.2018-08-20": { + "sagemaker-runtime.2017-05-13": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/s3-control.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sagemaker-runtime.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3477,9 +3477,9 @@ } } }, - "sagemaker-runtime.2017-05-13": { + "device-farm.2015-06-23": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sagemaker-runtime.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/device-farm.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3488,9 +3488,9 @@ } } }, - "geo-routes.2020-11-19": { + "codepipeline.2015-07-09": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/geo-routes.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codepipeline.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3499,9 +3499,9 @@ } } }, - "xray.2016-04-12": { + "workspaces-thin-client.2023-08-22": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/xray.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/workspaces-thin-client.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3510,9 +3510,9 @@ } } }, - "securitylake.2018-05-10": { + "lookoutequipment.2020-12-15": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/securitylake.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/lookoutequipment.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3521,9 +3521,9 @@ } } }, - "workspaces-thin-client.2023-08-22": { + "forecastquery.2018-06-26": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/workspaces-thin-client.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/forecastquery.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3532,9 +3532,9 @@ } } }, - "pricing.2017-10-15": { + "cloudfront-keyvaluestore.2022-07-26": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/pricing.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudfront-keyvaluestore.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3543,9 +3543,9 @@ } } }, - "dsql.2018-05-10": { + "scheduler.2021-06-30": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/dsql.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/scheduler.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3554,9 +3554,9 @@ } } }, - "cloudhsm.2014-05-30": { + "serverlessapplicationrepository.2017-09-08": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudhsm.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/serverlessapplicationrepository.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3565,9 +3565,9 @@ } } }, - "marketplace-metering.2016-01-14": { + "ec2-instance-connect.2018-04-02": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/marketplace-metering.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ec2-instance-connect.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3576,9 +3576,9 @@ } } }, - "license-manager-linux-subscriptions.2018-05-10": { + "sms.2016-10-24": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/license-manager-linux-subscriptions.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sms.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3587,9 +3587,9 @@ } } }, - "appconfigdata.2021-11-11": { + "shield.2016-06-02": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/appconfigdata.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/shield.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3598,9 +3598,9 @@ } } }, - "geo-places.2020-11-19": { + "migration-hub-refactor-spaces.2021-10-26": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/geo-places.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/migration-hub-refactor-spaces.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3609,9 +3609,9 @@ } } }, - "application-discovery-service.2015-11-01": { + "dataexchange.2017-07-25": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/application-discovery-service.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/dataexchange.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3620,9 +3620,9 @@ } } }, - "trustedadvisor.2022-09-15": { + "swf.2012-01-25": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/trustedadvisor.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/swf.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3631,9 +3631,9 @@ } } }, - "glue.2017-03-31": { + "comprehendmedical.2018-10-30": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/glue.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/comprehendmedical.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3642,9 +3642,9 @@ } } }, - "connectcampaigns.2021-01-30": { + "finspace-data.2020-07-13": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/connectcampaigns.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/finspace-data.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3653,9 +3653,9 @@ } } }, - "clouddirectory.2017-01-11": { + "appstream.2016-12-01": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/clouddirectory.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/appstream.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3664,9 +3664,9 @@ } } }, - "controltower.2018-05-10": { + "ssm-contacts.2021-05-03": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/controltower.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ssm-contacts.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3675,9 +3675,9 @@ } } }, - "forecast.2018-06-26": { + "wellarchitected.2020-03-31": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/forecast.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/wellarchitected.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3686,9 +3686,9 @@ } } }, - "sesv2.2019-09-27": { + "dynamodb.2012-08-10": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sesv2.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/dynamodb.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3697,9 +3697,9 @@ } } }, - "simspaceweaver.2022-10-28": { + "docdb.2014-10-31": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/simspaceweaver.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/docdb.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3708,9 +3708,9 @@ } } }, - "textract.2018-06-27": { + "migrationhub-config.2019-06-30": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/textract.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/migrationhub-config.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3719,9 +3719,9 @@ } } }, - "emr-containers.2020-10-01": { + "networkmonitor.2023-08-01": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/emr-containers.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/networkmonitor.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3730,9 +3730,9 @@ } } }, - "transcribe-streaming.2017-10-26": { + "directory-service.2015-04-16": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/transcribe-streaming.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/directory-service.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3741,9 +3741,9 @@ } } }, - "batch.2016-08-10": { + "marketplace-agreement.2020-03-01": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/batch.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/marketplace-agreement.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3752,9 +3752,9 @@ } } }, - "personalize.2018-05-22": { + "kinesis-video-webrtc-storage.2018-05-10": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/personalize.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kinesis-video-webrtc-storage.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3763,9 +3763,9 @@ } } }, - "notificationscontacts.2018-05-10": { + "finspace.2021-03-12": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/notificationscontacts.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/finspace.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3774,9 +3774,9 @@ } } }, - "neptunedata.2023-08-01": { + "invoicing.2024-12-01": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/neptunedata.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/invoicing.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3785,9 +3785,9 @@ } } }, - "m2.2021-04-28": { + "fis.2020-12-01": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/m2.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/fis.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3796,9 +3796,9 @@ } } }, - "application-signals.2024-04-15": { + "frauddetector.2019-11-15": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/application-signals.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/frauddetector.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3807,9 +3807,9 @@ } } }, - "auditmanager.2017-07-25": { + "route53-recovery-cluster.2019-12-02": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/auditmanager.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/route53-recovery-cluster.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3818,9 +3818,9 @@ } } }, - "mediastore-data.2017-09-01": { + "secrets-manager.2017-10-17": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mediastore-data.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/secrets-manager.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3829,9 +3829,9 @@ } } }, - "connect.2017-08-08": { + "partnercentral-selling.2022-07-26": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/connect.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/partnercentral-selling.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3840,9 +3840,9 @@ } } }, - "chime-sdk-voice.2022-08-03": { + "eks-auth.2023-11-26": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/chime-sdk-voice.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/eks-auth.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3851,9 +3851,9 @@ } } }, - "compute-optimizer.2019-11-01": { + "bcm-data-exports.2023-11-26": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/compute-optimizer.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/bcm-data-exports.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3862,9 +3862,9 @@ } } }, - "qapps.2023-11-27": { + "healthlake.2017-07-01": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/qapps.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/healthlake.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3873,9 +3873,9 @@ } } }, - "dynamodb.2012-08-10": { + "identitystore.2020-06-15": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/dynamodb.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/identitystore.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3884,9 +3884,9 @@ } } }, - "polly.2016-06-10": { + "memorydb.2021-01-01": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/polly.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/memorydb.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3895,9 +3895,9 @@ } } }, - "cloudsearch-domain.2013-01-01": { + "bcm-pricing-calculator.2024-06-19": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudsearch-domain.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/bcm-pricing-calculator.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3906,9 +3906,9 @@ } } }, - "workspaces-web.2020-07-08": { + "workmailmessageflow.2019-05-01": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/workspaces-web.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/workmailmessageflow.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3917,9 +3917,9 @@ } } }, - "acm-pca.": { + "mediapackagev2.2022-12-25": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/acm-pca.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mediapackagev2.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3928,9 +3928,9 @@ } } }, - "app-mesh.2019-01-25": { + "lakeformation.2017-03-31": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/app-mesh.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/lakeformation.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3939,9 +3939,9 @@ } } }, - "b2bi.2022-06-23": { + "direct-connect.2012-10-25": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/b2bi.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/direct-connect.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3950,9 +3950,9 @@ } } }, - "cloudwatch.2010-08-01": { + "neptunedata.2023-08-01": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudwatch.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/neptunedata.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3961,9 +3961,9 @@ } } }, - "sts.2011-06-15": { + "iotanalytics.2017-11-27": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sts.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iotanalytics.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3972,9 +3972,9 @@ } } }, - "managedblockchain-query.2023-05-04": { + "emr-containers.2020-10-01": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/managedblockchain-query.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/emr-containers.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3983,9 +3983,9 @@ } } }, - "cost-explorer.2017-10-25": { + "security-ir.2018-05-10": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cost-explorer.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/security-ir.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3994,9 +3994,9 @@ } } }, - "docdb.2014-10-31": { + "cloudsearch-domain.2013-01-01": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/docdb.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudsearch-domain.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4005,9 +4005,9 @@ } } }, - "efs.2015-02-01": { + "redshift-serverless.2021-04-21": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/efs.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/redshift-serverless.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4016,9 +4016,9 @@ } } }, - "budgets.2016-10-20": { + "iotfleethub.2020-11-03": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/budgets.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iotfleethub.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4027,9 +4027,9 @@ } } }, - "kendra.2019-02-03": { + "keyspaces.2022-02-10": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kendra.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/keyspaces.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4038,9 +4038,9 @@ } } }, - "medialive.2017-10-14": { + "iotthingsgraph.2018-09-06": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/medialive.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iotthingsgraph.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4049,9 +4049,9 @@ } } }, - "migration-hub-refactor-spaces.2021-10-26": { + "savingsplans.2019-06-28": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/migration-hub-refactor-spaces.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/savingsplans.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4060,9 +4060,9 @@ } } }, - "elastic-load-balancing.2012-06-01": { + "eks.2017-11-01": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/elastic-load-balancing.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/eks.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4071,9 +4071,9 @@ } } }, - "service-catalog-appregistry.2020-06-24": { + "service-catalog.2015-12-10": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/service-catalog-appregistry.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/service-catalog.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4082,9 +4082,9 @@ } } }, - "neptune-graph.2023-11-29": { + "socialmessaging.2024-01-01": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/neptune-graph.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/socialmessaging.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4093,9 +4093,9 @@ } } }, - "fsx.2018-03-01": { + "chime.2018-05-01": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/fsx.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/chime.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4104,9 +4104,9 @@ } } }, - "artifact.2018-05-10": { + "controltower.2018-05-10": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/artifact.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/controltower.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4115,9 +4115,9 @@ } } }, - "apprunner.2020-05-15": { + "auto-scaling.2011-01-01": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/apprunner.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/auto-scaling.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4126,9 +4126,9 @@ } } }, - "robomaker.2018-06-29": { + "sagemaker-a2i-runtime.2019-11-07": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/robomaker.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sagemaker-a2i-runtime.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4137,9 +4137,9 @@ } } }, - "iotdeviceadvisor.2020-09-18": { + "forecast.2018-06-26": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iotdeviceadvisor.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/forecast.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4148,9 +4148,9 @@ } } }, - "marketplace-reporting.2018-05-10": { + "iot-wireless.2020-11-22": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/marketplace-reporting.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iot-wireless.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4159,9 +4159,9 @@ } } }, - "connectcases.2022-10-03": { + "rum.2018-05-10": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/connectcases.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/rum.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4170,9 +4170,9 @@ } } }, - "timestream-query.2018-11-01": { + "connectcampaignsv2.2024-04-23": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/timestream-query.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/connectcampaignsv2.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4181,9 +4181,9 @@ } } }, - "ssm-quicksetup.2018-05-10": { + "pi.2018-02-27": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ssm-quicksetup.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/pi.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4192,9 +4192,9 @@ } } }, - "organizations.2016-11-28": { + "omics.2022-11-28": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/organizations.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/omics.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4203,9 +4203,9 @@ } } }, - "lookoutequipment.2020-12-15": { + "directory-service-data.2023-05-31": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/lookoutequipment.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/directory-service-data.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4214,9 +4214,9 @@ } } }, - "iot-wireless.2020-11-22": { + "iot-events-data.2018-10-23": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iot-wireless.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iot-events-data.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4225,9 +4225,9 @@ } } }, - "sso-oidc.2019-06-10": { + "wisdom.2020-10-19": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sso-oidc.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/wisdom.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4236,9 +4236,9 @@ } } }, - "waf-regional.2016-11-28": { + "kinesis.2013-12-02": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/waf-regional.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kinesis.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4247,9 +4247,9 @@ } } }, - "migrationhuborchestrator.2021-08-28": { + "mediastore.2017-09-01": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/migrationhuborchestrator.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mediastore.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4258,9 +4258,9 @@ } } }, - "license-manager.2018-08-01": { + "freetier.2023-09-07": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/license-manager.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/freetier.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4269,9 +4269,9 @@ } } }, - "kinesis-video-webrtc-storage.2018-05-10": { + "app-mesh.2019-01-25": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kinesis-video-webrtc-storage.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/app-mesh.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4280,9 +4280,9 @@ } } }, - "finspace.2021-03-12": { + "migration-hub.2017-05-31": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/finspace.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/migration-hub.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4291,9 +4291,9 @@ } } }, - "lex-runtime-v2.2020-08-07": { + "opsworkscm.2016-11-01": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/lex-runtime-v2.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/opsworkscm.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4302,9 +4302,9 @@ } } }, - "pinpoint.2016-12-01": { + "cloudformation.2010-05-15": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/pinpoint.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudformation.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4313,9 +4313,9 @@ } } }, - "transfer.2018-11-05": { + "robomaker.2018-06-29": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/transfer.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/robomaker.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4324,9 +4324,9 @@ } } }, - "config-service.2014-11-12": { + "amplifybackend.2020-08-11": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/config-service.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/amplifybackend.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4335,9 +4335,9 @@ } } }, - "cloudfront.2020-05-31": { + "kms.2014-11-01": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudfront.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kms.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4346,9 +4346,9 @@ } } }, - "sms.2016-10-24": { + "mediastore-data.2017-09-01": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sms.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mediastore-data.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4357,9 +4357,9 @@ } } }, - "keyspaces.2022-02-10": { + "grafana.2020-08-18": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/keyspaces.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/grafana.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4368,9 +4368,9 @@ } } }, - "acm.2015-12-08": { + "mailmanager.2023-10-17": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/acm.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mailmanager.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4379,9 +4379,9 @@ } } }, - "pcs.2023-02-10": { + "sfn.2016-11-23": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/pcs.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sfn.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4390,9 +4390,9 @@ } } }, - "internetmonitor.2021-06-03": { + "ivschat.2020-07-14": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/internetmonitor.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ivschat.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4401,9 +4401,9 @@ } } }, - "schemas.2019-12-02": { + "pcs.2023-02-10": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/schemas.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/pcs.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4412,9 +4412,9 @@ } } }, - "mediaconvert.2017-08-29": { + "opensearchserverless.2021-11-01": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mediaconvert.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/opensearchserverless.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4423,9 +4423,9 @@ } } }, - "personalize-runtime.2018-05-22": { + "artifact.2018-05-10": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/personalize-runtime.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/artifact.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4434,9 +4434,9 @@ } } }, - "billingconductor.2021-07-30": { + "dsql.2018-05-10": { "imports": [ - "/codebuild/output/src2107336122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/billingconductor.json" + "/codebuild/output/src2075653407/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/dsql.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { diff --git a/tools/scripts/codegen/legacy_c2j_cpp_gen.py b/tools/scripts/codegen/legacy_c2j_cpp_gen.py index 3a880349703..de16bd0c9de 100644 --- a/tools/scripts/codegen/legacy_c2j_cpp_gen.py +++ b/tools/scripts/codegen/legacy_c2j_cpp_gen.py @@ -29,8 +29,6 @@ PARTITIONS_FILE_LOCATION = "../partitions/partitions.json" # Relative to models dir DEFAULTS_FILE_LOCATION = "../defaults/sdk-default-configuration.json" # Relative to models dir DEFAULT_GENERATOR_LOCATION = "code-generation/generator/" -GENERATOR_TARGET_DIR = "target" -GENERATOR_JAR = GENERATOR_TARGET_DIR + "/aws-client-generator-1.0-SNAPSHOT-jar-with-dependencies.jar" CORE_COMPONENT_TO_MODEL = {"defaults": DEFAULTS_FILE_LOCATION, "partitions": PARTITIONS_FILE_LOCATION} @@ -47,6 +45,7 @@ class LegacyC2jCppGen(object): """A wrapper for AWS SDK for C++ clients and core components generator """ + GENERATOR_JAR = "target/aws-client-generator-1.0-SNAPSHOT-jar-with-dependencies.jar" def __init__(self, args: dict, c2j_models: dict): self.debug = args.get("debug", False) @@ -162,7 +161,7 @@ def _init_common_java_cli(self, output_filename = "STDOUT" model_filepath = self.path_to_api_definitions + "/" + model_files.c2j_model - generator_jar = self.path_to_generator + "/" + GENERATOR_JAR + generator_jar = self.path_to_generator + "/" + self.GENERATOR_JAR run_command = list() run_command.append("java") run_command += ["-jar", generator_jar] @@ -186,22 +185,22 @@ def generate_client(self, service_name: str, model_files: ServiceModel, output_dir: str, - tmp_dir: str): + tmp_dir: str) -> (str, int): """ Generate a single AWS SDK CPP client :param service_name: name of the c2j service model :param model_files: a ServiceModel descriptor with c2j model and endpoints rules filenames :param output_dir: a destination directory where to extract the generated client :param tmp_dir: optional, a temporary directory to be used by the c2j codegen, a pipe redirection is default. - :return: + :return: service_name, status """ run_command, output_filename = self._init_common_java_cli(service_name, model_files, tmp_dir, self.raw_generator_arguments) - output_zip_file = self._run_generator_once(service_name, run_command, output_filename) + output_zip_file = self.run_generator_once(service_name, run_command, output_filename) dir_to_delete = f"{output_dir}/aws-cpp-sdk-{service_name}" dir_to_extract = f"{output_dir}/" - service_name, status = self._extract_zip(output_zip_file, service_name, dir_to_extract, dir_to_delete) + service_name, status = self.extract_zip(output_zip_file, service_name, dir_to_extract, dir_to_delete) return service_name, status @@ -226,12 +225,12 @@ def _generate_client_endpoint_tests(self, self.raw_generator_arguments) run_command.append("--generate-tests") - output_zip_file = self._run_generator_once(service_name, run_command, output_filename) + output_zip_file = self.run_generator_once(service_name, run_command, output_filename) if not os.path.exists(output_dir): os.makedirs(output_dir) dir_to_delete = f"{output_dir}/{service_name}-gen-tests" - return self._extract_zip(output_zip_file, f"{service_name}-gen-tests", output_dir, dir_to_delete) + return self.extract_zip(output_zip_file, f"{service_name}-gen-tests", output_dir, dir_to_delete) def _generate_single_service(self, service_name: str, @@ -246,7 +245,7 @@ def _generate_single_service(self, return service_name, status - def _run_generator_once(self, service_name: str, run_command: list, output_filename: str): + def run_generator_once(self, service_name: str, run_command: list, output_filename: str): """Helper function to call generator once in a subprocess :param service_name: argument used purely for tracing/logging @@ -278,7 +277,7 @@ def _run_generator_once(self, service_name: str, run_command: list, output_filen return output_zip_file @staticmethod - def _extract_zip(zip_bytes: io.BytesIO, service_name: str, output_dir: str, dir_to_delete: str): + def extract_zip(zip_bytes: io.BytesIO, service_name: str, output_dir: str, dir_to_delete: str): """Extract bytes containing zip file to output_dir :param zip_bytes: raw bytes containing zip (opened file or io.BytesIO) @@ -330,7 +329,7 @@ def _generate_core_component(self, output_filename = "STDOUT" full_model_file_path = f"{self.path_to_api_definitions}/{model_file_path}" - generator_jar = self.path_to_generator + "/" + GENERATOR_JAR + generator_jar = self.path_to_generator + "/" + self.GENERATOR_JAR run_command = list() run_command.append("java") run_command += ["-jar", generator_jar] @@ -342,6 +341,6 @@ def _generate_core_component(self, for key, val in kwargs.items(): run_command += [f"--{key}", val] - output_zip_file = self._run_generator_once(f"core/{component_name}", run_command, output_filename) + output_zip_file = self.run_generator_once(f"core/{component_name}", run_command, output_filename) - return self._extract_zip(output_zip_file, f"core/{component_name}", output_dir, None) + return self.extract_zip(output_zip_file, f"core/{component_name}", output_dir, None) diff --git a/tools/scripts/codegen/protocol_tests_gen.py b/tools/scripts/codegen/protocol_tests_gen.py index b15be2d54af..d817255d686 100644 --- a/tools/scripts/codegen/protocol_tests_gen.py +++ b/tools/scripts/codegen/protocol_tests_gen.py @@ -6,8 +6,10 @@ """ This is a module to handle protocol tests generation. """ +import json import os import pathlib +import re import sys from concurrent.futures import ProcessPoolExecutor, wait, FIRST_COMPLETED, ALL_COMPLETED @@ -17,28 +19,52 @@ PROTOCOL_TESTS_BASE_DIR = "tools/code-generation/protocol-tests" PROTOCOL_TESTS_CLIENT_MODELS = PROTOCOL_TESTS_BASE_DIR + "/api-descriptions" PROTOCOL_TESTS_ENDPOINT_RULES = "endpoint-rule-set.json" # Dummy endpoint ruleset -PROTOCOL_TESTS_INPUT_MODELS = PROTOCOL_TESTS_BASE_DIR + "/input" -PROTOCOL_TESTS_OUTPUT_MODELS = PROTOCOL_TESTS_BASE_DIR + "/output" +PROTOCOL_TESTS_DEFINITION_SETS = ["input", "output"] PROTOCOL_TESTS_GENERATED_CLIENTS_DIR = "generated/protocol-tests/test-clients" +PROTOCOL_GENERATED_TESTS_DIR = "generated/protocol-tests/tests" UNSUPPORTED_CLIENTS = {"rpcv2protocol" # RPC V2 CBOR support is not implemented on this SDK } +UNSUPPORTED_TESTS = {"smithy-rpc-v2-cbor"} + +# Regexp to parse C2J model filename to extract service name and date version +TEST_DEFINITION_FILENAME_PATTERN = re.compile( + "^" + "(?P.+)" + ".json$" +) class ProtocolTestsGen(object): """A wrapper for Protocol tests generator for C++ SDK """ + class ProtoTestC2jClientModelMetadata: + def __init__(self, filename: str, model_path: str, md: dict): + self.service_name = SERVICE_MODEL_FILENAME_PATTERN.match(filename).group("service") + self.model_path = model_path + self.md = md + + class ProtocolTestModel: + def __init__(self, test_type: str, test_name: str, c2j_test_model: str, c2j_client_md): + self.test_type = test_type # ex: input our output + self.service_name = c2j_client_md.service_name + self.test_name = test_name + # File paths to model files + self.c2j_test_model = c2j_test_model + self.c2j_client_model = c2j_client_md.model_path + def __init__(self, args: dict): sdk_root_dir = pathlib.Path(__file__).parents[3] + self.debug = args.get("debug", False) self.client_models_dir = str(pathlib.Path(f"{sdk_root_dir}/{PROTOCOL_TESTS_CLIENT_MODELS}").resolve()) - self.input_tests_dir = str(pathlib.Path(f"{sdk_root_dir}/{PROTOCOL_TESTS_INPUT_MODELS}").resolve()) - self.output_tests_dir = str(pathlib.Path(f"{sdk_root_dir}/{PROTOCOL_TESTS_OUTPUT_MODELS}").resolve()) + self.test_definitions_dir = str(pathlib.Path(f"{sdk_root_dir}/{PROTOCOL_TESTS_BASE_DIR}").resolve()) self.generated_test_clients_dir = str( pathlib.Path(f"{sdk_root_dir}/{PROTOCOL_TESTS_GENERATED_CLIENTS_DIR}").resolve()) + self.generated_tests_dir = str(pathlib.Path(f"{sdk_root_dir}/{PROTOCOL_GENERATED_TESTS_DIR}").resolve()) self.c2j_client_generator = LegacyC2jCppGen(args, dict()) self.c2j_client_generator.path_to_api_definitions = self.client_models_dir @@ -46,6 +72,11 @@ def __init__(self, pathlib.Path(f"{sdk_root_dir}/{PROTOCOL_TESTS_BASE_DIR}").resolve()) self.c2j_client_generator.output_location = PROTOCOL_TESTS_GENERATED_CLIENTS_DIR + self.c2j_tests_generator = LegacyC2jCppGen(args, dict()) + self.c2j_tests_generator.path_to_api_definitions = "" + self.c2j_tests_generator.path_to_endpoint_rules = "" + self.c2j_tests_generator.output_location = PROTOCOL_GENERATED_TESTS_DIR + def generate(self, executor: ProcessPoolExecutor, max_workers: int): """ Generate protocol tests (test clients and a corresponding set of tests) @@ -53,8 +84,9 @@ def generate(self, executor: ProcessPoolExecutor, max_workers: int): :param max_workers: :return: """ - return self._generate_test_clients(executor, max_workers) - # TODO: self._generate_tests() + if self._generate_test_clients(executor, max_workers) == 0: + return self._generate_tests(executor, max_workers) + return -1 def _generate_test_clients(self, executor: ProcessPoolExecutor, max_workers: int): self.c2j_client_generator.build_generator(self.c2j_client_generator.path_to_generator) @@ -70,11 +102,10 @@ def _generate_test_clients(self, executor: ProcessPoolExecutor, max_workers: int new_done, pending = wait(pending, return_when=FIRST_COMPLETED) done.update(new_done) - task = executor.submit(self.c2j_client_generator.generate_client, + task = executor.submit(self._generate_test_client, service, model_files, - PROTOCOL_TESTS_GENERATED_CLIENTS_DIR, - None) + PROTOCOL_TESTS_GENERATED_CLIENTS_DIR) pending.add(task) new_done, _ = wait(pending, return_when=ALL_COMPLETED) @@ -92,7 +123,7 @@ def _generate_test_clients(self, executor: ProcessPoolExecutor, max_workers: int if len(failures): print(f"Code generation failed, processed {len(done)} packages. " - f"Encountered {len(failures)} failures:\n") # Including defaults and partitions + f"Encountered {len(failures)} failures:\n") for failure in failures: print(failure) @@ -100,6 +131,13 @@ def _generate_test_clients(self, executor: ProcessPoolExecutor, max_workers: int return -1 return 0 + def _generate_test_client(self, + service_name: str, + model_files: ServiceModel, + output_dir: str): + service_name, status = self.c2j_client_generator.generate_client(service_name, model_files, output_dir, None) + return service_name, status + def _collect_test_client_models(self) -> dict: service_models = dict() model_files = os.listdir(self.client_models_dir) @@ -111,6 +149,7 @@ def _collect_test_client_models(self) -> dict: service_model_name = match.group("service") _ = match.group("date") if service_model_name in UNSUPPORTED_CLIENTS: + print(f"Skipping protocol tests client generation: {filename}") continue use_smithy = ModelUtils.is_smithy_enabled(service_model_name, self.client_models_dir, filename) @@ -118,6 +157,152 @@ def _collect_test_client_models(self) -> dict: PROTOCOL_TESTS_ENDPOINT_RULES, None, use_smithy) return service_models - def _generate_tests(self): - # WIP - pass + def _get_client_models_metadata(self) -> list: + models = list() + model_files = os.listdir(self.client_models_dir) + for filename in sorted(model_files): + if not os.path.isfile("/".join([self.client_models_dir, filename])): + continue + model_abspath = str(pathlib.Path(f"{self.client_models_dir}/{filename}").resolve()) + with open(model_abspath, 'r') as file_content: + try: + c2j_model = json.load(file_content) + model_metadata = self.ProtoTestC2jClientModelMetadata(filename, model_abspath, + c2j_model.get("metadata")) + models.append(model_metadata) + except Exception as exc: + print(f"ERROR: unexpected file content in protocol tests clients dir {self.client_models_dir}. " + f"Expected c2j client model, but json metadata kew is missing: {exc}") + return models + + def _collect_test_definition_models(self) -> dict: + all_test_clients_md = self._get_client_models_metadata() + + test_models = dict() # ex: "{input: {ec2: ProtocolTestModel}, output: {ec2: ProtocolTestModel}}" + + for test_def_group in PROTOCOL_TESTS_DEFINITION_SETS: + model_files = os.listdir(f"{self.test_definitions_dir}/{test_def_group}") + for filename in model_files: + if not os.path.isfile(f"{self.test_definitions_dir}/{test_def_group}/{filename}"): + continue + match = TEST_DEFINITION_FILENAME_PATTERN.match(filename) + + test_def_name = match.group("name") + if test_def_name in UNSUPPORTED_TESTS: + print(f"Skipping protocol tests generation: {test_def_group}/{filename}") + continue + + test_def_path = str(pathlib.Path(f"{self.test_definitions_dir}/{test_def_group}/{filename}").resolve()) + + def _get_corresponding_test_client(test_clients_md: list, test_path: str) -> list: + # Get c2j client models matching the test suite + # more than 1 is possible (ex: xml and xml with namespace clients for a single test suite) + result = list() + with open(test_path, 'r') as file_content: + try: + proto_test_model = json.load(file_content) + proto_test_md = proto_test_model[0].get("metadata") + for c2j_md in test_clients_md: + for field_to_match in ["apiVersion", "protocols", "jsonVersion", "targetPrefix"]: + if proto_test_md.get(field_to_match, None) != c2j_md.md.get(field_to_match, None): + break + else: + result.append(c2j_md) + except Exception as exc: + print(f"ERROR: unexpected file content in protocol tests {test_def_path}. " + f"Expected c2j protocol test, but json metadata kew is missing: {exc}") + return result + + test_clients_for_suite = _get_corresponding_test_client(all_test_clients_md, test_def_path) + + if test_clients_for_suite is None or len(test_clients_for_suite) == 0: + raise Exception(f"ERROR: Unable to find C2J client model for the test suite: {test_def_path}") + + for index, client_md in enumerate(test_clients_for_suite): + if index == 0: + test_def_key = test_def_name + else: + test_def_key = f"{test_def_name}-{index}" + assert test_models.get(test_def_group, dict()).get(test_def_key, None) is None, \ + f"This test suite {test_def_group}/{test_def_key} already exists: {test_models}" + if self.debug: + print("Protocol test generation task:\t" + f"{test_def_path.split('/')[-1]} with {client_md.model_path.split('/')[-1]}") + if test_def_group not in test_models: + test_models[test_def_group] = dict() + test_models[test_def_group][test_def_key] = self.ProtocolTestModel(test_type=test_def_group, + test_name=test_def_key, + c2j_test_model=test_def_path, + c2j_client_md=client_md) + return test_models + + def _generate_tests(self, executor: ProcessPoolExecutor, max_workers: int): + test_models = self._collect_test_definition_models() + + pending = set() + done = set() + sys.stdout.flush() + for test_def_group, test_suites in test_models.items(): + os.makedirs(test_def_group, exist_ok=True) + + for protocol, test_models in test_suites.items(): + while len(pending) >= max_workers: + new_done, pending = wait(pending, return_when=FIRST_COMPLETED) + done.update(new_done) + + task = executor.submit(self._generate_single_protocol_test, + test_models) + pending.add(task) + + new_done, _ = wait(pending, return_when=ALL_COMPLETED) + done.update(new_done) + + failures = set() + for result in done: + try: + service, status = result.result() # will rethrow any exceptions + if status != 0: + raise RuntimeError(f"Protocol test client {service} (re)generation failed: {status}") + except Exception as exc: + failures.add(f"Protocol test client (re)generation failed with error.\n Exception: {exc}\n" + f"stderr: {getattr(exc, 'stderr', None)}") + + if len(failures): + print(f"Code generation failed, processed {len(done)} packages. " + f"Encountered {len(failures)} failures:\n") + for failure in failures: + print(failure) + + if len(failures): + return -1 + return 0 + + def _generate_single_protocol_test(self, models: ProtocolTestModel): + """Call java generator to generate a single protocol test suite + + :param test_group: ex: "input" or "output" + :param name: ex: "ec2", "json", "xml" + :param models: ProtocolTestModel + :return: + """ + generator_jar = self.c2j_tests_generator.path_to_generator + "/" + self.c2j_tests_generator.GENERATOR_JAR + run_command = list() + run_command.append("java") + run_command += ["-jar", generator_jar] + run_command += ["--inputfile", models.c2j_client_model] + run_command += ["--protocol-tests", models.c2j_test_model] + run_command += ["--protocol-tests-type", models.test_type] + run_command += ["--protocol-tests-name", models.test_name] + run_command += ["--service", models.service_name] + run_command += ["--outputfile", "STDOUT"] + run_command.append("--generate-tests") + + name_for_logging = f"protocol test {models.test_type}/{models.test_name}" + output_zip_file = self.c2j_tests_generator.run_generator_once(name_for_logging, + run_command, "STDOUT") + dir_to_delete = f"{self.generated_tests_dir}/{models.test_type}/{models.test_name}" + dir_to_extract = f"{self.generated_tests_dir}/{models.test_type}" + name_for_logging, status = self.c2j_tests_generator.extract_zip(output_zip_file, name_for_logging, + dir_to_extract, dir_to_delete) + + return name_for_logging, status